Installing and Configuring R10K for Puppet 6 Open Source / Community and GitLab
In this video I cover the necessary installation steps and configuration for installing R10K on the open source version of Puppet Server 6. This installation assumes that you already have a running Puppet Master and a running GitLab server with the initial control-repo repository already created.
Here are the steps from the video:
# sudo -s
# /opt/puppetlabs/puppet/bin/gem install r10k
# /opt/puppetlabs/puppet/bin/r10k
# mkdir /etc/puppetlabs/puppetserver/ssh
# ssh-keygen -m PEM -t rsa -b 2048 -P '' -f /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa
# chown puppet:puppet /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa*
# chown puppet:puppet -R /etc/puppetlabs/puppetserver/
# chmod 755 /etc/puppetlabs/puppetserver/ssh/
# chmod 600 /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa*
# mkdir /etc/puppetlabs/r10k
# vi /etc/puppetlabs/r10k/r10k.yaml
cachedir: '/var/cache/r10k'
sources:
control-repo:
remote: 'git@git.stopitsomemore.com:puppet/control-repo.git'
basedir: '/etc/puppetlabs/code/environments'
Git Server:
Control-repo \ Setings \ CI/CD, Deploy Keys from the public key: /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa.pub
# chown puppet:puppet -R /etc/puppetlabs/code/
# mkdir /var/cache/r10k
# chown puppet:puppet -R /var/cache/r10k/
# mkdir /opt/puppetlabs/server/data/puppetserver/.ssh
# vi /opt/puppetlabs/server/data/puppetserver/.ssh/config
host git.stopitsomemore.com
HostName git.stopitsomemore.com
IdentityFile /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa
User git
# chmod 700 /opt/puppetlabs/server/data/puppetserver/.ssh
# chmod 600 /opt/puppetlabs/server/data/puppetserver/.ssh/config
# ssh git.stopitsomemore.com --- generates the known_hosts file
# cp /root/.ssh/known_hosts /opt/puppetlabs/server/data/puppetserver/.ssh/
# chown puppet:puppet -R /opt/puppetlabs/server/data/puppetserver/
# useradd --create-home --shell /bin/bash --user-group --password erijfEFSEF3554jfe gitlab-runner
# vi /home/gitlab-runner/puppet_deploy.sh
sudo -n -H -u puppet bash -c "/opt/puppetlabs/puppet/bin/r10k deploy environment $1 --verbose --puppetfile"
# chown gitlab-runner:gitlab-runner -R /home/gitlab-runner/
# chmod +x /home/gitlab-runner/puppet_deploy.sh