Add a module
Modules are self-contained, shareable bundles of code and data. Each module manages a specific task in your infrastructure, like installing and configuring a piece of software. You can write your own modules or download pre-built modules from the Forge. While you can use any module available on the Forge, PE customers can take advantage of supported modules. These modules are designed to make common services easier, and are tested and maintained by Puppet. A lot of your infrastructure will be supported by modules, so it is important to learn how to install, build, and use them.
To get you started working with modules, install the
puppetlabs/apache module, which automates installing, configuring, and
- Go to the apache module in the Forge.
Follow the instructions in the r10k or Code Manager drop
down to add the module declaration to your Puppetfile.
If you don’t specify options, Code Manager installs the latest version and does not update it automatically. To always have the latest version installed, specify
:latestand it will update automatically when a new version is released. To install a specific version of the module that does not update automatically, specify the version number as a string.
For example, to install version 5.4.0 of the
apachemodule that will not update, and its dependencies, use the following code:
mod 'puppetlabs/apache', '5.4.0' mod 'puppetlabs/stdlib', '4.13.1' mod 'puppetlabs/concat', '2.2.1'
puppetlabs/concatmodules are dependencies of the Apache module. You can see the dependencies for each module by clicking the Dependencies tab on a module’s Forge page.
SSH into your master and deploy code by running the
puppet-code deploy --allcommand.
You have just installed a Puppet module!
apache task in the console
When you successfully install a module, you can start running tasks that are included
in the module from the console. The
puppetlabs/apache module contains a
task that allows you to perform apache service
To see the task in the console:
If you don't see the
apache task, try refreshing the console in the browser. If it
still does not populate, double check the
is in your Puppetfile and try again.