Puppet Reference
August 3, 2018
Applying configuration
sudo puppet agent -t --noop- Pull config from puppet master, pretend to make changessudo puppet agent -t- Pull config from puppet master, make changes
When did it last run?
date --date="@$(sudo cat /var/lib/puppet/state/last_run_summary.yaml | grep last_run | xargs | cut -f2 -d )"
Modules
puppet module list- list modulespuppet module install puppetlabs-postgresql --version 4.9.0- install forge module into local puppet masterpuppet job run --nodes pasture-db.puppet.vm- check specified nodes and bring them upto correct puppet config
Certificates
puppet cert list- list certificates on puppet masterpuppet cert sign hostname- allow access from specified hostname
Writing Manifests and Classes
puppet config print modulepath- show the path that puppet looks for modules onpuppet parser validate init.pp- check the file syntax for basic errors
Simple Module
init.pp
class cowsay {
package { 'cowsay':
ensure => present,
provider => 'gem',
}
include cowsay::fortune
}
fortune.pp
class cowsay::fortune {
package { 'fortune-mod':
ensure => present,
}
}
Package, File, Service Example
class pasture {
package { 'pasture':
ensure => present,
provider => gem,
before => File['/etc/pasture_config.yaml'],
}
file { '/etc/pasture_config.yaml':
source => 'puppet:///modules/pasture/pasture_config.yaml',
notify => Service['pasture'],
}
file { '/etc/systemd/system/pasture.service':
source => 'puppet:///modules/pasture/pasture.service',
notify => Service['pasture'],
}
service { 'pasture':
ensure => running,
}
}


