How to Use Puppet for Configuration Management on Linux
Puppet is a powerful configuration management tool that lets you define your Breeze server infrastructure as code. It ensures every server stays in the desired state automatically.
Installing Puppet Agent
On your Breeze instance running Ubuntu or Debian, install the Puppet agent:
wget https://apt.puppet.com/puppet8-release-$(lsb_release -cs).deb
sudo dpkg -i puppet8-release-$(lsb_release -cs).deb
sudo apt update && sudo apt install -y puppet-agent
export PATH=/opt/puppetlabs/bin:$PATH
Writing a Puppet Manifest
Puppet manifests use a declarative syntax. Create a file at /etc/puppetlabs/code/environments/production/manifests/site.pp:
node default {
package { 'nginx':
ensure => installed,
}
service { 'nginx':
ensure => running,
enable => true,
require => Package['nginx'],
}
file { '/var/www/html/index.html':
ensure => file,
content => '<h1>Managed by Puppet</h1>',
owner => 'www-data',
mode => '0644',
}
}
Applying the Configuration
Run Puppet in standalone mode to apply the manifest:
sudo puppet apply /etc/puppetlabs/code/environments/production/manifests/site.pp
Key Concepts
- Resources — individual units like packages, files, and services
- Classes — reusable groups of resources
- Modules — shareable bundles of manifests and data
- Facter — collects system facts for conditional logic
Puppet ensures your Breeze servers remain consistent even as your fleet grows.