tl;dr: How do I manage modules for a Puppet Master, like I do using requirements.txt
for Python or using Bower for JavaScript?
Here's an example.
Say I want to install the puppetlabs/firewall module, but I don't want to commit its source to source control.
https://forge.puppet.com/puppetlabs/firewall advises the following:
puppet module install puppetlabs-firewall --version 1.8.1
However, this seems... off to me, somehow. I'm not saying code-smell, but maybe my code-nose twitched a little, you know what I'm saying?
Especially since I was really hoping to use the puppetmaster
module to get rid of our ticky-tacky little fabric+jenkins+bash+cron mess that currently manages our Puppet Masters.
I'd hoped to find something like a puppetmodule provider for package resources that would allow me to automate Puppet Module installation on our Puppet Master.
Is it as simple as adding all the modules I need as dependencies in the puppetmaster
module's modulefile? https://github.com/fsalum/puppet-puppetmaster/blob/master/Modulefile
That feels hacky.
Anyway, I'm used to stuff like requirements.txt
in Python and Bower in JavaScript.
BTW, I tried searching the forums for this, but I ended up with answers like the following:
Best way to manage third-party / custom-built software with Puppet?
How to install packages from source code with Puppet?
What does Puppet Master have like requirements.txt
or Bower that I can use for Puppet modules?