This guide will teach you how to install the Puppetlabs Puppet Server service with r10k for code management, and demo some example Puppet manifests.
Grab the Puppetlabs release package (this will set up the Puppetlabs repository):
Debian/Ubuntu: wget "https://apt.puppet.com/puppet-release-$(lsb_release -cs).deb"
RHEL and clones: . /etc/os-release; wget https://yum.puppet.com/puppet-release-el-${VERSION_ID%.*}.noarch.rpm"
Install the package:
Debian/Ubuntu: dpkg -i puppet-release-$(lsb_release -cs).deb"
RHEL and clones: rpm -i puppet-release-el-${VERSION_ID%.*}.noarch.rpm"
Install the Puppet Server package:
Debian/Ubuntu: apt update && apt install -y puppetserver
RHEL and clones: dnf updateinfo && dnf install -y puppetserver
R10k is a beautiful tool that makes it really easy to manage a Puppet code repository with multiple environments. To get started, install the gem:
/opt/puppetlabs/bin/gem install r10k
Now we need to configure r10k so it knows what repository to pull your code from and where to put it. Create a directory under your puppetlabs config:
mkdir /etc/puppetlabs/r10k
Then open up/create the r10k config file in your favorite editor (e.g. vim):
vim /etc/puppetlabs/r10k/r10k.yaml