Use funções, perfis e Hiera para gerenciar diferentes configurações, com módulos mistos. Confira esta introdução da PuppetLabs: link .
No Foreman, você pode agrupar hosts por organizações, ambientes e grupos. Eu não tenho certeza como a versão controle a configuração do Foreman embora. O Foreman usa um servidor de banco de dados para suas configurações.
Crie pacotes para todos os módulos e, para o Hiera, com base na hierarquia do Foreman.