Manage simple dockerized Puppet agents
APACHE-2.0 License
This module is used to configure simple Dockerized agent nodes for the classroom environment in Puppet Labs training courses. Unless you are an instructor, this is probably not the module you are looking for. It makes certain assumptions about the environment and is only flexible within the design specs of our training courses.
That being said, you're welcome to poke through it and see how we set things up.
include dockeragent
# This will manage 5 containerized agents.
range(1,5).each |$n| {
dockeragent::node { "agent${n}.${::fqdn}":
ports => ["${n}0080:80"],
}
}
One thing that containerized agents are sometimes used for is simulating the load of running an environment against a Puppet master. To facilitate that, we've included a handful of very simple sample testing profiles. They don't really do anything useful other than provide the master with a reasonable, if small, catalog to compile.
node default {
include dockeragent::sample::wordpress
include dockeragent::sample::vhosts
}
The modules used by these classes are not set as dependencies, so they will not
be installed automatically by puppet module install
. If you want to use them,
you'll want to install them separately:
dockeragent::sample::wordpress
:
hunner/wordpress
puppetlabs/apache
puppetlabs/mysql
dockeragent::sample::vhosts
:
puppetlabs/apache
For another take on the idea of load testing the Puppet master, see https://github.com/puppetlabs/clamps.