Puppet Module Management - lifuzu/cafe GitHub Wiki

###Install module:

sudo puppet module install username-modulename

like:

sudo puppet module install puppetlabs-stdlib

###List all installed modules:

sudo puppet module list

###Search module:

sudo puppet module search modulename

like:

sudo puppet module search cron

###Module command help:

sudo puppet help module

###Create a new module:

sudo puppet module generate username-modulename

like:

sudo puppet module generate puppet-cron

###Build the new module:

sudo puppet module build username-modulename

like:

sudo puppet module build puppet-cron

###Puppet module folder structure:

.../modules/<modulename>/manifests/init.pp
.../modules/<modulename>/files/
.../modules/<modulename>/templates/
.../modules/<modulename>/lib/
.../modules/<modulename>/spec/

like: /etc/puppet/modules/cron/manifests/init.pp

...
source	=> "puppet:///modules/cron/${conf_file}",	# refer to the config file on puppetmaster
content	-> template("ntp/${conf_file}.erb"),		# refer to the config template on puppetmaster

###Declare module in the main manifest: /etc/puppet/manifests/site.pp

include cron

###Print config module path

sudo puppet master --configprint modulepath

###Run puppet with the manifest for standalone

sudo puppet apply /some/path/of/manifest.pp

like:

sudo puppet apply /tmp/puppet-cron.pp

###Run puppet with the master/agent model Add some statements in .../manifests/site.pp, like: /etc/puppet/manifests/site.pp

node default {
  include cron
  cron::daily{
    'cleanup_space_daily':
      minute    => '0',
      hour      => '4',
      user      => 'username_here',
      command   => 'any_command_here';
  }
}

(with module cron support, you can get it at: https://github.com/lifuzu/puppet-cron)

###Create RDoc for modules

sudo puppet doc --mode rdoc --outputdir ~/moduledocs --modulepath /etc/puppetlabs/puppet/modules

###Run puppet on agent

sudo puppet agent --test
sudo puppet agent status
sudo puppet agent stop

##REFERENCE: http://docs.puppetlabs.com/learning/index.html
http://docs.puppetlabs.com/puppet/3/reference/modules_installing.html

⚠️ **GitHub.com Fallback** ⚠️