Ansible
From Wildsong
I learned Ansible in 2016 when engaged in configuring Linux computer to be phone systems. It feels like I have forgotten 100% of the skills I learned. Usually things come back to me quickly, and I hope this will be no different.
Now I will be using it to set up Raspberry Pi computers as svxlink repeater controllers.
Installation
Using Bellman as the test server, as usual. Ansible is just a Python thing so all you need do is create a conda environment and install it. Just two commands,
conda create -n ansible ansible conda activate ansible ansible --version ansible [core 2.16.6] config file = None configured module search path = ['/home/bwilson/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /home/bwilson/miniconda3/envs/ansible/lib/python3.12/site-packages/ansible ansible collection location = /home/bwilson/.ansible/collections:/usr/share/ansible/collections executable location = /home/bwilson/miniconda3/envs/ansible/bin/ansible python version = 3.12.3 | packaged by conda-forge | (main, Apr 15 2024, 18:38:13) [GCC 12.3.0] (/home/bwilson/miniconda3/envs/ansible/bin/python3.12) jinja version = 3.1.3 libyaml = True
Goals for Repeater Linking project
Starting point: Raspberry Pi 4 with standard "light" installation of Raspios 32-bit Debian Buster, needs to have SSH enabled
Ansible playbook
- Set up credentials (adduser and copy in ssh credential files)
- Install WiFi credentials
- Configure ssh (change the port)
- Install wireguard and configure it
- Set up sound card settings for a Syba UAUD USB sound card
- Install svxlink and configure it
I need to pull config files from Mick's image.
- /etc/svxlink
- SSID settings
- link account
Tid bits
Connect to remote server and dump out everything you know about it:
ansible -i inventory hostname -m setup