# Overview
This subordinate charm can be used to apply system level policy on top
of any Juju charms deployed, using Puppet. As described by the project
[website](https://puppetlabs.com/):
> Puppet Open Source is a flexible, customizable framework available under
> the Apache 2.0 license designed to help system administrators automate the
> many repetitive tasks they regularly perform. As a declarative, model-based
> approach to IT automation, it lets you define the desired state - or the
> "what" - of your infrastructure using the Puppet configuration language.
# Usage
This example will show how to deploy puppet on top of the WordPress+MySQL example.
## Installing WordPress and MySQL
juju deploy wordpress
juju deploy mysql
juju add-relation mysql wordpress
## Adding Puppet to WordPress and MySQL
juju deploy puppet
juju add-relation puppet wordpress
juju add-relation puppet mysql
## Specifying an external puppetmaster
If you have an external puppetmaster, note that you will have to use
some method to classify nodes automatically. The yaml from 'juju status'
should be parsable into an external node classifier.
juju set puppet external-puppetmaster=puppet.yourdomain.com
# Setting up and configuring a puppetmaster
For environments without an existing puppetmaster, first deploy a new one:
juju deploy puppetmaster
Next, you will need to setup Puppet classes 'mysql' and 'wordpress':
juju ssh puppetmaster/0
This next command will result in all nodes being put into a class
that is named after their primary service, so the example will have,
as suggested, two classes, 'mysql' and 'wordpress'.
juju add-relation puppetmaster:puppetmaster puppet:puppetmaster
# Conclusion
That should end up with puppet agent running on the WordPress and
MySQL nodes, pointed at either your external puppetmaster, or the
newly deployed puppetmaster.
| 2013/05/23 Marco Ceppi John Patterson 2013-05-22 Moved README to Markdown and added a bit more description (revno 14) |
| 2013/03/29 Mark Mims maintainer change (revno 13) |
| 2012/05/22 Clint Byrum setting maintainer (revno 12) |
| 2012/05/12 Clint Byrum bumping revision to enable upgrades (revno 11) |
| 2012/05/12 Clint Byrum fixing start/stop hooks (revno 10) |
| 2012/05/12 Clint Byrum make config-changed executable (revno 9) |
| 2012/04/16 Clint Byrum adding a copyright file (revno 8) |
| 2012/04/16 Clint Byrum make it ok for puppet --test to fail since classes may come later (revno 7) |
| 2012/04/16 Clint Byrum adding a README (revno 6) |