This commit is contained in:
54
README.md
54
README.md
@@ -6,10 +6,16 @@
|
|||||||
|
|
||||||
## Synopsis
|
## 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.
|
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
|
## 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).
|
* 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.
|
* 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
|
### Firewall
|
||||||
|
|
||||||
* open firewall ports depending on choices above
|
* 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)
|
permissions and selinux context (todo)
|
||||||
* start services as required
|
* 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
|
## Support
|
||||||
|
|
||||||
@@ -57,7 +64,18 @@ All parameters are listed in `params.pp` and inherited from there. Variable par
|
|||||||
|
|
||||||
## Module Deployment
|
## 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
|
## 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/)
|
[contact Us](https://confdroid.com/contact/)
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.
|
ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.
|
||||||
|
|||||||
Reference in New Issue
Block a user