diff --git a/README.md b/README.md index 1731f54..2ac19f4 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,16 @@ ## Synopsis -This Puppet module configures settings for Puppet master , agents and R10k, the full bundle. Puppetdb has been outsourced to a [module](https://gitlab.confdroid.com/puppet/puppetdb_cd) on its own, due to complexity +This Puppet module configures settings a full Puppet environment, i.e. Puppet master, Puppet agents pointed to the master. + +Optionally: +* R10k to connect to a control repo and manage +puppet modules +* webhook listener to trigger r10k when a puppet module has been updated. +* PuppetDB for exporting and storing resources. The syntax is specifically for Puppet Core 8 and Rocky 9, although might work elsewhere as well. -This module is also designed to work with External Node Classifiers (ENC), for instance Foreman. +This module is also designed to work with Foreman as External Node Classifier (ENC), although it does not install Foreman. ## WARNING @@ -22,20 +28,6 @@ This module is also designed to work with External Node Classifiers (ENC), for i * if the host FQDN matches your specified Puppet master via `$pt_pm_fqdn`, it installs and configures a puppetmaster ready for serving with Foreman as ENC ( Foreman not yet included). * Any other system becomes a puppet agent. -### R10k service (optional) - -* install r10k service on your puppetmaster. - If you set `$pt_use_r10k`to `true`, it also installs r10k to connect to a control repo and manage the code available to clients via Puppetfile. - -### R10k Web hook - -* installs a webhook listener - If you set `$pt_use_r10k_webhook`to `true`, it also installs a simple webhook listener to watch for post_hooks from gitlab, and triggers the r10k deployment. - -### Puppetdb -* to do -* install node.rb from the foreman for puppetdb - ### Firewall * open firewall ports depending on choices above @@ -45,6 +37,21 @@ This module is also designed to work with External Node Classifiers (ENC), for i permissions and selinux context (todo) * start services as required +### Optional + +#### R10k service + +* install r10k service on your puppetmaster. + If you set `$pt_use_r10k`to `true`, it also installs r10k to connect to a control repo and manage the code available to clients via Puppetfile. + +#### R10k Web hook + +* installs a webhook listener + If you set `$pt_use_r10k_webhook`to `true`, it also installs a simple webhook listener to watch for post_hooks from gitlab, and triggers the r10k deployment. + +#### Puppetdb +* to do +* install node.rb from the foreman for puppetdb ## Support @@ -57,7 +64,18 @@ All parameters are listed in `params.pp` and inherited from there. Variable par ## Module Deployment -ALmost every puppet setup is done in very custom ways, and hence the way the modules are deployed to nodes are different. This module assumes [Foreman][def] as ENC, so the modules just have to be present on the master node and Foreman will take care for it. +### native Puppet deployment: via site.pp or nodes.pp + +```ruby +include cd_puppet + +``` +### through Foreman + +* ensure the module is present on the puppetmaster running Foreman in the module path, i.e. /etc/puppetlabs/code/environments/production/ . use r10k or clone the module there through git +* import the module in Foreman +* assign `puppet_cd::params` to the nodes in question, typically a host group. +* overwrite the value for `$pt_pm_fqdn`to match your puppetmaster's fqdn. **This will overwrite the puppet.conf with the settings set in params.pp. It is highly recommended to use a test system first to see and fine tune those settings!** Any node not matching this fqdn will become an agent. ## Tests @@ -72,6 +90,8 @@ ALmost every puppet setup is done in very custom ways, and hence the way the mod [contact Us](https://confdroid.com/contact/) +## Documentation + ## Disclaimer ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.