Deploying the Puppet code
Deployment of the Puppet code is, most times, a matter of updating modules, manifests, and Hiera data on the relevant directories of the Puppet Master.
We deal with two logically different kinds of code that involve different management patterns, which are:
Our modules, manifests, and data
The public modules we are using
We can manage them in various ways. Some of them are:
Eventually using Git submodules for each Puppet module in Git
Using the
puppet module
command for the public modules published on the ForgeUsing tools such as
librarian-puppet
andr10k
Using other tools or custom procedures that we may write specifically for our needs
Using librarian-puppet for deployments
The librarian-puppet
tool (http://librarian-puppet.com) was developed to manage the installation of a set of modules from the Puppet Forge or any Git repository. It is based on Puppetfile
, where the modules and the versions to install are defined:
forge "http://forge.puppetlabs.com" # Install a module...