Files
docs/Servers & Workflows/Linux/Automation/Puppet/Puppet Bolt.md

1.4 KiB

Purpose: Puppet Bolt can be leveraged in an Ansible-esque manner to connect to and enroll devices such as Windows Servers, Linux Servers, and various workstations. To this end, it could be used to run ad-hoc tasks or enroll devices into a centralized Puppet server. (e.g. LAB-PUPPET-01.bunny-lab.io)

!!! note "Assumptions" This deployment assumes you are deploying Puppet bolt onto the same server as Puppet. If you have not already, follow the Puppet Deployment documentation to do so before continuing with the Puppet Bolt deployment.

Initial Preparation

# Install Bolt Repository
sudo rpm -Uvh https://yum.puppet.com/puppet-tools-release-el-9.noarch.rpm
sudo yum install -y puppet-bolt

# Verify Installation
bolt --version

# Clone Puppet Bolt Repository into Bolt Directory
sudo git clone https://git.bunny-lab.io/GitOps/Puppet-Bolt.git /etc/puppetlabs/bolt
sudo chown -R $(whoami):$(whoami) /etc/puppetlabs/bolt
sudo chmod -R 644 /etc/puppetlabs/bolt
sudo chmod -R u+rwx,g+rx,o+rx /etc/puppetlabs/bolt/modules/bolt

# Initialize Bolt Project
cd /etc/puppetlabs/bolt
bolt project init puppet_bolt

Validate Bolt Project is Initialized

If the command below is successful, you will see the custom bolt::enroll_agent plan listed.

bolt plan show --project /etc/puppetlabs/bolt