Puppet Cheat Sheet
Puppet Cheat Sheet
Puppet CLI
Bootstrap client
Display facts:
Injecting Facts:
cat /var/lib/puppet/classes.txt
cd /var/lib/puppet
for i in $(find clientbucket/ -name paths); do
echo "$(stat -c %y $i | sed 's/\..*//') $(cat $i)";
done | sort -n
Disable agent
Managing Nodes
Managing Modules
Inspecting Resources/Types
puppet describe -l
puppet resource <type name>
# Querying Examples
puppet resource user john.smith
puppet resource service apache
puppet resource mount /data
puppet resource file /etc/motd
puppet resource package wget
# Trigger puppet run from master
puppet kick <name>
puppet kick -p 5 <names> # 5 parallel
Debugging deployment and rules on a local machine. This only makes sense in "one
time" mode running in one of the following variants:
Puppet DSL
Snippets
if file_exists('somefile.txt') == 1 { }
Merging Arrays
Exceptions
Conditions
if $var == 'value' {
}
case $::lsbdistcodename {
'squeeze': {
}
'wheezy', 'jessie': {
}
default {
}
}
ERB Syntax
ERB Tags
Using Variables
Conditions
Augeas
augeas { "sshd_config":
changes => [
"set /files/etc/ssh/sshd_config/PermitRootLogin no",
],
}
Testing
Validate manifest
Validate ERBs
erb -x -T '-' <template> | ruby -c
Misc