Skip to content

incollisionwith/incollisionwith-puppet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

incollisionwith-puppet, a Puppet module for incollisionwith

This puppet module installs and configures incollisionwith.

Getting started

First, install Puppet (apt-get install puppet) and then follow the instructions for setting up librarian-puppet. In summary:

apt-get install librarian-puppet git pwgen iptables-persistent -y
cd /usr/share/puppet
librarian-puppet init

Your Puppetfile (/usr/share/puppet/Puppetfile) should contain something like:

forge 'https://forgeapi.puppetlabs.com'

mod 'incollisionwith', :git => 'https://github.com/incollisionwith/incollisionwith-puppet.git'

You'll need to make sure there's no metadata line.

This puppet module uses hiera to provide deployment-specific configuration data. Edit /etc/puppet/code/hiera/common.yaml to contain:

icw::secret_key: [secret]
icw::amqp_password: [secret]

# Firewall rules
firewall::allow_ssh_from: ['163.1.124.0/23', '129.67.100.0/22']
firewall::allow_http_from: ['163.1.0.0/16', '129.67.0.0/16']


icw::server_name: incollisionwith.uk

You'll want to replace each [secret] with a randomly-generated secret (using e.g. pwgen 32). You can do this with the following script:

while grep "\[secret\]" /etc/puppet/code/hiera/common.yaml; do
    sed -i "0,/\[secret]/{s/\[secret\]/$(pwgen 32 1)/}" /etc/puppet/code/hiera/common.yaml ;
done

Finally, create your main Puppet manifest, /etc/puppet/manifests/site.pp:

node default {
    include incollisionwith
}

When this is all done, run:

cd /usr/share/puppet/
librarian-puppet install
puppet apply /etc/puppet/manifests/site.pp

(librarian-puppet needs to be run in /usr/share/puppet/ as it works relative to the current directory)

And on subsequent runs:

cd /usr/share/puppet/
librarian-puppet update incollisionwith
puppet apply /etc/puppet/manifests/site.pp

If it doesn't succeed first time, create an issue with the error, and try it another time or two.

You'll want to configure DNS (or your VM host's /etc/hosts file) to resolve the server names given in the hiera data above to the machine on which you've installed the IdM.

About

Puppet module for incollisionwith

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published