Estou supondo que você está dizendo ao Foreman para importar de um mestre de marionetes, se assim fosse eu sugeriria configurar o seu diretório de fantoches assim:
puppet
puppet/manifests
puppet/manifests/site.pp
puppet/manifests/nodes/default.pp
puppet/manifests/nodes/{server-type}.pp
...
puppet/modules
puppet/modules/{module1}
puppet/modules/{module1}/files
puppet/modules/{module1}/manefests
puppet/modules/{module1}/templates
...
etc
você incluiria essa linha no arquivo site.pp:
import 'nodes/*'
Em default.pp, crie seu servidor base:
node default {
#this is where you put all of the puppet directives you want on every server.
#for example if you wanted screen on all of your servers
package{ "screen": ensure -> installed; }
}
Então, em outro arquivo em nós, digamos, web.pp, você poderia incluir isso e, em seguida, definir as diretivas para todos os servidores da Web da seguinte forma:
node /^web0[1-9]\.example\.com$/ inherits default {
#this will inherit all of the settings in the default node and then do anything else you add.
#like installing nginx
package { "nginx": ensure -> installed; }
}
Você pode até herdar herdações como neste arquivo db.pp:
node db inherits default {
#install postgresql-9.3
package { "postgresql-9.3": ensure -> installed; }
}
node /^db0[1-9]\.example\.com$/ inherits db {
#This block can even be empty unless you need something here.
}