# these commands go on the puppetmaster server
# put in /etc/puppet/manifests/site.pp
# process server roles
node default {
case $serverrole {
app_server: {
include general
include apache
include rails
}
db_server: {
include general
include database
include replication
}
default: {
}
}
}
# put these settings in config for each client
[puppetd]
pluginsync = true
server = myserver.mydomain.com
certname = general
# put on each client, /etc/puppet/customfacts.yml
serverrole: app_server
datacenter: rackspace
# put on the server
# put in /etc/puppet/custom/plugins/facter/custom_facts.rb
require 'yaml'
if File.exist?("/etc/puppet/custom_facts.yml")
YAML.load_file("/etc/puppet/custom_facts.yml").each do |key, value|
Facter.add(key.to_sym) do
setcode { value }
end
end
end