Modules
Install module on Puppet master
/opt/puppetlabs/bin/puppet module install <name of module>
Uninstall module on Puppet master
/opt/puppetlabs/bin/puppet module uninstall <name of module>
Resource: https://www.puppetcookbook.com/posts/installing-modules-from-the-puppet-forge.html
List installed Modules
puppet module list
Resource: https://puppet.com/docs/puppet/5.3/modules_installing.html
Show module path
Run this on the puppet master:
puppet config print modulepath
Resource: https://puppet.com/docs/puppet/5.5/dirs_modulepath.html
Change module install path
By default, puppet module install installs modules into the first directory
in the Puppet modulepath, which defaults to $codedir/environments/production/modules.
To change this, set the modulepath in /etc/puppetlabs/code/environments/{environment_name}/environment.conf
Manifests
Validate syntax of manifest
puppet parser validate /etc/puppetlabs/code/environments/production/modules/hello_world/manifests/init.pp
Do a dry run of a manifest
puppet apply --noop /etc/puppetlabs/code/environments/production/modules/hello_world/manifests/init.pp
List all agents connected to server
puppetserver ca list --all
For puppermasters (older):
puppet cert list --all
Get the information from site.pp:
grep -io 'node .* ' /etc/puppet/manifests/site.pp
Resources: https://www.linuxnix.com/puppet-list-all-the-nodes-in-puppet-master/
Remove agent from server
puppetserver ca clean --certname <name of node>
Install multiple dependencies
init.pp:
class base (){
  class{'::base::config':}
}
packages.pp:
class base::packages inherits base {
 [
    'cmake',
    'jdk',
    'vim',
  ].each |$pkg| {
    package { $pkg:
      ensure   => latest,
      name     => $pkg,
      provider => 'yum'
    }
  }
}
Output machine info
notify { 'Machine Information':
  name     => 'mach_info',
  message  => "Running on ${::hostname} in the ${::environment} environment",
  withpath => true,
}
Show the run interval for a puppet agent
puppet agent --configprint runinterval
Resource: https://ask.puppet.com/question/2451/how-do-you-change-the-runinterval/
Provision with development environment
puppet agent -t --environment development