/puppet

Rhizomatica Puppet repository

Primary LanguageRoffGNU Affero General Public License v3.0AGPL-3.0

Rhizomatica Puppet repository

This is a puppet recipe to install and prepare an installation of RCCN on a Debian 9/10 system.

INSTALLATION:

Install Debian 9 or 10 (stretch/buster) amd64 from https://www.debian.org/distrib/netinst

  • During the Install process, create a user 'rhizomatica'
  • Partition as you please, otherwise "Guided - use entire disk"
  • As above, otherwise "All files in one partition" is fine.
  • Setup a minimal system. You don't need a desktop environment. I suggest you install SSH server and standard system utilities.
  • Boot into the new system, login, locally or via ssh.
  • Get root with su - if needed and run the following:

root@host~# apt-get install git puppet puppetmaster

(Accept all the additional packages)

root@host:~# cd /etc/puppet/code

root@host:/etc/puppet/code# mkdir environments

root@host:/etc/puppet/code# mkdir hiera

root@host:/etc/puppet/code# cd environments

root@host:/etc/puppet/code/environments# git clone https://github.com/Rhizomatica/puppet.git production

root@host:/etc/puppet/code/environments# cd prodution

root@host:/etc/puppet/code/environments/production# git submodule init

root@host:/etc/puppet/code/environments/production# git submodule update

root@host:/etc/puppet/code/environments/production# cp hiera.yaml /etc/puppet

root@host:/etc/puppet/code/environments/production# cp hieradata/* /etc/puppet/code/hiera

root@host:/etc/puppet/code/environments/production# cd /etc/puppet/code/hiera

root@host:/etc/puppet/code/hiera# cp site_template.yaml $(hostname -f | awk '{print tolower($0)}').yaml

root@host:/etc/puppet/code/hiera# cd

root@host:~# echo "127.0.0.1 puppet" >> /etc/hosts

root@host:~# systemctl restart puppetmaster

You are now ready to run the puppet agent to prepare and configure your system.

We use ignoreschedules here to make sure that everything happens on these initial runs, you should not need it afterwards.

root@host:~# puppet agent --test --ignoreschedules

This may take a while, it has to fetch all the packages and install them, Some package installations will fail, so when it is finished you need to do it once more:

root@host:~# puppet agent --test --ignoreschedules

Done! Now you can run the final RCCN setup step, but before you do this, take a quick look at CAVEATS below.:

root@host:~# cd /var/rhizomatica/rccn

root@host:/var/rhizomatica/rccn# python ./install.py -f

Now reboot your system and file a bug report about whatever is still not working.

Thanks for testing RCCN!


CAVEATS:

  • Because you don't have the key to our private repo, you will not have any sounds in /usr/share/freeswitch/sounds/rccn/. TIC is not publically distributing the sound files used on the TIC network. Someone needs to make some generic sounds.

  • You might want to do systemctl restart osmo-nitb before running the install.py, as if the NITB has never run, the sqlite HLR database will not exist yet. - What's more, systemd is not starting the NITB on reboot. You need to do systemctl start osmo-nitb manually. :-/ Same goes for freeswitch. FIXES??

  • After install and reboot, considering add the user rhizomatica to the sudo group: usermod -aG sudo rhizomatica

  • After install, you do not really need the puppet master service running, so consider disabling it.