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.
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 dosystemctl 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.