Ansible

From Wildsong
Jump to navigationJump to search

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

  1. Set up credentials (adduser and copy in ssh credential files)
  2. Install WiFi credentials
  3. Configure ssh (change the port)
  4. Install wireguard and configure it
  5. Set up sound card settings for a Syba UAUD USB sound card
  6. 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