29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
**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](https://docs.bunny-lab.io/Servers%20%26%20Workflows/Linux/Automation/Puppet/Puppet/) documentation to do so before continuing with the Puppet Bolt deployment.
|
|
|
|
## Initial Preparation
|
|
``` sh
|
|
# 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
|
|
|
|
# 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.
|
|
``` sh
|
|
bolt plan show --project /etc/puppetlabs/bolt
|
|
```
|