diff --git a/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md b/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md index b511487..5d665b2 100644 --- a/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md +++ b/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md @@ -55,4 +55,27 @@ puppetserver ca sign --certname fedora.bunny-lab.io At this point, you want to ensure that the device being managed by the agent is able to pull down configurations from the Puppet Server. You will know if it worked by getting a message similar to `Notice: Applied catalog in X.XX seconds` after running the following command: ``` sh puppet agent --test -``` \ No newline at end of file +``` + +### Install PuppetDB (Onto Puppet Server) +At this point, we will install PuppetDB, which will add extra reporting and management functionality for Puppet to the Puppet server. +``` sh +# Install PuppetDB +yum install -y puppetdb + +# Install PuppetDB Module +puppet module install puppetlabs-puppetdb +``` + +Now we need to configure a manifest file on the Puppet Server running PuppetDB, in this case, the same exact server that runs the Puppet Server itself. Create the following file if it does not already exist: +```json title="/etc/puppetlabs/code/environments/production/manifests/site.pp" +node 'lab-puppet-01.bunny-lab.io' { + # Include the puppetdb class with custom parameters + class { 'puppetdb': + listen_address => '0.0.0.0', # Allows access from all network interfaces + } + + # Configure the Puppet Server to use PuppetDB + include puppetdb::master::config +} +```