Skip to content

Instantly share code, notes, and snippets.

@clburlison
Last active January 31, 2016 02:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clburlison/9166507ebcf651ac59b9 to your computer and use it in GitHub Desktop.
Save clburlison/9166507ebcf651ac59b9 to your computer and use it in GitHub Desktop.
Using Puppet Settings inside Puppet Code

So this took me a while to figure out. Puppet Code can use settings from puppet but they need to be defined by settings::LOOPUP_THING_HERE. As such, here a quick reference for myself.

You can retrevie your settings with:

sudo /usr/bin/puppet config print
sudo /opt/puppetlabs/bin/puppet config print

And for testing:

sudo puppet apply -ve 'notify {"My value lookup here: ${::settings::environmentpath}":}'
cfacter = false
confdir = /etc/puppet
vardir = /var/lib/puppet
name = config
logdir = /var/lib/puppet/log
log_level = notice
disable_warnings = []
priority =
trace = false
profile = false
autoflush = true
syslogfacility = daemon
statedir = /var/lib/puppet/state
rundir = /var/lib/puppet/run
genconfig = false
genmanifest = false
configprint =
color = ansi
mkusers = false
manage_internal_file_permissions = true
onetime = false
path = none
libdir = /var/lib/puppet/lib
ignoreimport = false
environment = production
environmentpath = /etc/puppet/environments
always_cache_features = false
diff_args = -u
diff = diff
show_diff = false
daemonize = true
maximum_uid = 4294967290
route_file = /etc/puppet/routes.yaml
node_terminus = plain
node_cache_terminus =
data_binding_terminus = hiera
hiera_config = /etc/puppet/hieradata/production/hiera.yaml
binder = false
binder_config =
catalog_terminus = compiler
catalog_cache_terminus =
facts_terminus = facter
inventory_terminus = facter
default_file_terminus = rest
httplog = /var/lib/puppet/log/http.log
http_proxy_host = none
http_proxy_port = 3128
http_proxy_user = none
http_proxy_password = none
http_keepalive_timeout = 4
http_debug = false
filetimeout = 15
environment_timeout = 0
queue_type = stomp
queue_source = stomp://localhost:61613/
async_storeconfigs = false
thin_storeconfigs = false
config_version =
zlib = true
prerun_command =
postrun_command =
freeze_main = false
stringify_facts = true
trusted_node_data = false
immutable_node_data = false
preview_outputdir = /var/lib/puppet/preview
module_repository = https://forgeapi.puppetlabs.com
module_working_dir = /var/lib/puppet/puppet-module
module_skeleton_dir = /var/lib/puppet/puppet-module/skeleton
forge_authorization =
module_groups =
certname = elcap-testvm.localdomain
certdnsnames =
dns_alt_names =
csr_attributes = /etc/puppet/csr_attributes.yaml
certdir = /etc/puppet/ssl/certs
ssldir = /etc/puppet/ssl
publickeydir = /etc/puppet/ssl/public_keys
requestdir = /etc/puppet/ssl/certificate_requests
privatekeydir = /etc/puppet/ssl/private_keys
privatedir = /etc/puppet/ssl/private
passfile = /etc/puppet/ssl/private/password
hostcsr = /etc/puppet/ssl/csr_elcap-testvm.localdomain.pem
hostcert = /etc/puppet/ssl/certs/elcap-testvm.localdomain.pem
hostprivkey = /etc/puppet/ssl/private_keys/elcap-testvm.localdomain.pem
hostpubkey = /etc/puppet/ssl/public_keys/elcap-testvm.localdomain.pem
localcacert = /etc/puppet/ssl/certs/ca.pem
ssl_client_ca_auth =
ssl_server_ca_auth =
hostcrl = /etc/puppet/ssl/crl.pem
certificate_revocation = true
certificate_expire_warning = 5184000
digest_algorithm = md5
ca_name = Puppet CA: elcap-testvm.localdomain
cadir = /etc/puppet/ssl/ca
cacert = /etc/puppet/ssl/ca/ca_crt.pem
cakey = /etc/puppet/ssl/ca/ca_key.pem
capub = /etc/puppet/ssl/ca/ca_pub.pem
cacrl = /etc/puppet/ssl/ca/ca_crl.pem
caprivatedir = /etc/puppet/ssl/ca/private
csrdir = /etc/puppet/ssl/ca/requests
signeddir = /etc/puppet/ssl/ca/signed
capass = /etc/puppet/ssl/ca/private/ca.pass
serial = /etc/puppet/ssl/ca/serial
autosign = /etc/puppet/autosign.conf
allow_duplicate_certs = false
ca_ttl = 157680000
req_bits = 4096
keylength = 4096
cert_inventory = /etc/puppet/ssl/ca/inventory.txt
config_file_name = puppet.conf
config = /etc/puppet/puppet.conf
pidfile = /var/lib/puppet/run/main.pid
bindaddress = 0.0.0.0
user = puppet
group = puppet
manifestdir = /etc/puppet/manifests
manifest = /etc/puppet/environments/production/manifests
default_manifest = ./manifests
disable_per_environment_manifest = false
code =
masterlog = /var/lib/puppet/log/puppetmaster.log
masterhttplog = /var/lib/puppet/log/masterhttp.log
masterport = 8140
node_name = cert
bucketdir = /var/lib/puppet/bucket
rest_authconfig = /etc/puppet/auth.conf
ca = true
basemodulepath = /etc/puppet/modules:/usr/share/puppet/modules
modulepath = /etc/puppet/environments/production/modules:/etc/puppet/modules:/usr/share/puppet/modules
ssl_client_header = HTTP_X_CLIENT_DN
ssl_client_verify_header = HTTP_X_CLIENT_VERIFY
yamldir = /var/lib/puppet/yaml
server_datadir = /var/lib/puppet/server_data
reports = store
reportdir = /var/lib/puppet/reports
reporturl = http://localhost:3000/reports/upload
fileserverconfig = /etc/puppet/fileserver.conf
strict_hostname_checking = false
rrddir = /var/lib/puppet/rrd
rrdinterval = 1800
devicedir = /var/lib/puppet/devices
deviceconfig = /etc/puppet/device.conf
node_name_value = elcap-testvm.localdomain
node_name_fact =
localconfig = /var/lib/puppet/state/localconfig
statefile = /var/lib/puppet/state/state.yaml
clientyamldir = /var/lib/puppet/client_yaml
client_datadir = /var/lib/puppet/client_data
classfile = /var/lib/puppet/state/classes.txt
resourcefile = /var/lib/puppet/state/resources.txt
puppetdlog = /var/lib/puppet/log/puppetd.log
server = puppet
use_srv_records = false
srv_domain = localdomain
ignoreschedules = false
default_schedules = true
puppetport = 8139
noop = false
runinterval = 1800
listen = false
ca_server = puppet
ca_port = 8140
catalog_format =
preferred_serialization_format = pson
report_serialization_format = pson
legacy_query_parameter_serialization = false
agent_catalog_run_lockfile = /var/lib/puppet/state/agent_catalog_run.lock
agent_disabled_lockfile = /var/lib/puppet/state/agent_disabled.lock
usecacheonfailure = true
use_cached_catalog = false
ignoremissingtypes = false
ignorecache = false
dynamicfacts = memorysize,memoryfree,swapsize,swapfree
splaylimit = 1800
splay = false
clientbucketdir = /var/lib/puppet/clientbucket
configtimeout = 120
report_server = puppet
report_port = 8140
inventory_server = puppet
inventory_port = 8140
report = true
lastrunfile = /var/lib/puppet/state/last_run_summary.yaml
lastrunreport = /var/lib/puppet/state/last_run_report.yaml
graph = false
graphdir = /var/lib/puppet/state/graphs
http_compression = false
waitforcert = 120
ordering = title-hash
archive_files = false
archive_file_server = puppet
plugindest = /var/lib/puppet/lib
pluginsource = puppet://puppet/plugins
pluginfactdest = /var/lib/puppet/facts.d
pluginfactsource = puppet://puppet/pluginfacts
pluginsync = true
pluginsignore = .svn CVS .git
factpath = /var/lib/puppet/lib/facter
tagmap = /etc/puppet/tagmail.conf
sendmail = /usr/sbin/sendmail
reportfrom = report@elcap-testvm.localdomain
smtpserver = none
smtpport = 25
smtphelo = elcap-testvm.localdomain
dblocation = /var/lib/puppet/state/clientconfigs.sqlite3
dbadapter = sqlite3
dbmigrate = false
dbname = puppet
dbserver = localhost
dbport =
dbuser = puppet
dbpassword = puppet
dbconnections =
dbsocket =
railslog = /var/lib/puppet/log/rails.log
rails_loglevel = info
couchdb_url = http://127.0.0.1:5984/puppet
tags =
evaltrace = false
summarize = false
external_nodes = none
ldapssl = false
ldaptls = false
ldapserver = ldap
ldapport = 389
ldapstring = (&(objectclass=puppetClient)(cn=%s))
ldapclassattrs = puppetclass
ldapstackedattrs = puppetvar
ldapattrs = all
ldapparentattr = parentnode
ldapuser =
ldappassword =
ldapbase =
storeconfigs = false
storeconfigs_backend = active_record
templatedir = /var/lib/puppet/templates
allow_variables_with_dashes = false
parser = current
max_errors = 10
max_warnings = 10
max_deprecations = 10
strict_variables = false
document_all = false
cfacter = false
confdir = /etc/puppetlabs/puppet
codedir = /etc/puppetlabs/code
vardir = /opt/puppetlabs/puppet/cache
name = config
logdir = /var/log/puppetlabs/puppet
log_level = notice
disable_warnings = []
priority =
trace = false
profile = false
autoflush = true
syslogfacility = daemon
statedir = /opt/puppetlabs/puppet/cache/state
rundir = /var/run/puppetlabs
genconfig = false
genmanifest = false
configprint =
color = ansi
mkusers = false
manage_internal_file_permissions = true
onetime = false
path = none
libdir = /opt/puppetlabs/puppet/cache/lib
environment = production
environmentpath = /etc/puppetlabs/code/environments
always_cache_features = false
diff_args = -u
diff = diff
show_diff = false
daemonize = true
maximum_uid = 4294967290
route_file = /etc/puppetlabs/puppet/routes.yaml
node_terminus = plain
node_cache_terminus =
data_binding_terminus = hiera
hiera_config = /etc/puppetlabs/code/hiera.yaml
binder_config =
catalog_terminus = compiler
catalog_cache_terminus =
facts_terminus = facter
default_file_terminus = rest
http_proxy_host = none
http_proxy_port = 3128
http_proxy_user = none
http_proxy_password = none
http_keepalive_timeout = 4
http_debug = false
http_connect_timeout = 120
http_read_timeout =
filetimeout = 15
environment_timeout = 0
environment_data_provider = none
prerun_command =
postrun_command =
freeze_main = false
trusted_server_facts = false
preview_outputdir = /opt/puppetlabs/puppet/cache/preview
app_management = false
module_repository = https://forgeapi.puppetlabs.com
module_working_dir = /opt/puppetlabs/puppet/cache/puppet-module
module_skeleton_dir = /opt/puppetlabs/puppet/cache/puppet-module/skeleton
forge_authorization =
module_groups =
certname = vmx8zwpslm.attlocal.net
dns_alt_names =
csr_attributes = /etc/puppetlabs/puppet/csr_attributes.yaml
certdir = /etc/puppetlabs/puppet/ssl/certs
ssldir = /etc/puppetlabs/puppet/ssl
publickeydir = /etc/puppetlabs/puppet/ssl/public_keys
requestdir = /etc/puppetlabs/puppet/ssl/certificate_requests
privatekeydir = /etc/puppetlabs/puppet/ssl/private_keys
privatedir = /etc/puppetlabs/puppet/ssl/private
passfile = /etc/puppetlabs/puppet/ssl/private/password
hostcsr = /etc/puppetlabs/puppet/ssl/csr_vmx8zwpslm.attlocal.net.pem
hostcert = /etc/puppetlabs/puppet/ssl/certs/vmx8zwpslm.attlocal.net.pem
hostprivkey = /etc/puppetlabs/puppet/ssl/private_keys/vmx8zwpslm.attlocal.net.pem
hostpubkey = /etc/puppetlabs/puppet/ssl/public_keys/vmx8zwpslm.attlocal.net.pem
localcacert = /etc/puppetlabs/puppet/ssl/certs/ca.pem
ssl_client_ca_auth =
ssl_server_ca_auth =
hostcrl = /etc/puppetlabs/puppet/ssl/crl.pem
certificate_revocation = true
digest_algorithm = md5
ca_name = Puppet CA: vmx8zwpslm.attlocal.net
cadir = /etc/puppetlabs/puppet/ssl/ca
cacert = /etc/puppetlabs/puppet/ssl/ca/ca_crt.pem
cakey = /etc/puppetlabs/puppet/ssl/ca/ca_key.pem
capub = /etc/puppetlabs/puppet/ssl/ca/ca_pub.pem
cacrl = /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem
caprivatedir = /etc/puppetlabs/puppet/ssl/ca/private
csrdir = /etc/puppetlabs/puppet/ssl/ca/requests
signeddir = /etc/puppetlabs/puppet/ssl/ca/signed
capass = /etc/puppetlabs/puppet/ssl/ca/private/ca.pass
serial = /etc/puppetlabs/puppet/ssl/ca/serial
autosign = /etc/puppetlabs/puppet/autosign.conf
allow_duplicate_certs = false
ca_ttl = 157680000
req_bits = 4096
keylength = 4096
cert_inventory = /etc/puppetlabs/puppet/ssl/ca/inventory.txt
config_file_name = puppet.conf
config = /etc/puppetlabs/puppet/puppet.conf
pidfile = /var/run/puppetlabs/main.pid
bindaddress = 0.0.0.0
manifest = /etc/puppetlabs/code/environments/production/manifests
modulepath = /etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/environments/production/site:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
config_version = /etc/puppetlabs/code/environments/production/scripts/config_version.sh /etc/puppetlabs/code/environments production
user = puppet
group = puppet
default_manifest = ./manifests
disable_per_environment_manifest = false
code =
masterhttplog = /var/log/puppetlabs/puppet/masterhttp.log
masterport = 8140
node_name = cert
bucketdir = /opt/puppetlabs/puppet/cache/bucket
rest_authconfig = /etc/puppetlabs/puppet/auth.conf
ca = true
trusted_oid_mapping_file = /etc/puppetlabs/puppet/custom_trusted_oid_mapping.yaml
basemodulepath = /etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
ssl_client_header = HTTP_X_CLIENT_DN
ssl_client_verify_header = HTTP_X_CLIENT_VERIFY
yamldir = /opt/puppetlabs/puppet/cache/yaml
server_datadir = /opt/puppetlabs/puppet/cache/server_data
reports = store
reportdir = /opt/puppetlabs/puppet/cache/reports
reporturl = http://localhost:3000/reports/upload
fileserverconfig = /etc/puppetlabs/puppet/fileserver.conf
strict_hostname_checking = false
devicedir = /opt/puppetlabs/puppet/cache/devices
deviceconfig = /etc/puppetlabs/puppet/device.conf
node_name_value = vmx8zwpslm.attlocal.net
node_name_fact =
statefile = /opt/puppetlabs/puppet/cache/state/state.yaml
clientyamldir = /opt/puppetlabs/puppet/cache/client_yaml
client_datadir = /opt/puppetlabs/puppet/cache/client_data
classfile = /opt/puppetlabs/puppet/cache/state/classes.txt
resourcefile = /opt/puppetlabs/puppet/cache/state/resources.txt
puppetdlog = /var/log/puppetlabs/puppet/puppetd.log
server = puppet
use_srv_records = false
srv_domain = attlocal.net
ignoreschedules = false
default_schedules = true
noop = false
runinterval = 1800
ca_server = puppet
ca_port = 8140
preferred_serialization_format = pson
agent_catalog_run_lockfile = /opt/puppetlabs/puppet/cache/state/agent_catalog_run.lock
agent_disabled_lockfile = /opt/puppetlabs/puppet/cache/state/agent_disabled.lock
usecacheonfailure = true
use_cached_catalog = false
ignoremissingtypes = false
ignorecache = false
splaylimit = 1800
splay = false
clientbucketdir = /opt/puppetlabs/puppet/cache/clientbucket
configtimeout = 120
report_server = puppet
report_port = 8140
report = true
lastrunfile = /opt/puppetlabs/puppet/cache/state/last_run_summary.yaml
lastrunreport = /opt/puppetlabs/puppet/cache/state/last_run_report.yaml
graph = false
graphdir = /opt/puppetlabs/puppet/cache/state/graphs
waitforcert = 120
ordering = manifest
archive_files = false
archive_file_server = puppet
plugindest = /opt/puppetlabs/puppet/cache/lib
pluginsource = puppet:///plugins
pluginfactdest = /opt/puppetlabs/puppet/cache/facts.d
pluginfactsource = puppet:///pluginfacts
pluginsync = true
pluginsignore = .svn CVS .git
factpath = /opt/puppetlabs/puppet/cache/lib/facter:/opt/puppetlabs/puppet/cache/facts
tags =
evaltrace = false
summarize = false
external_nodes = none
ldapssl = false
ldaptls = false
ldapserver = ldap
ldapport = 389
ldapstring = (&(objectclass=puppetClient)(cn=%s))
ldapclassattrs = puppetclass
ldapstackedattrs = puppetvar
ldapattrs = all
ldapparentattr = parentnode
ldapuser =
ldappassword =
ldapbase =
storeconfigs = false
storeconfigs_backend = puppetdb
max_errors = 10
max_warnings = 10
max_deprecations = 10
strict_variables = false
document_all = false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment