Ansible Playbook for my Desktop Raspi Cluster
- Followed the Arch Linux AARCH64 installation instructions here.
- Before unmounting each sdcard, edited the new systems
/etc/systemd/network/eth.network
to contain a 0-4 address like the example below. - Addresses were determined by running
sudo nmap -sL X.X.X.X\X
to find an appropriate address block since I do not have control over my dhcp server. - Because I am running on AARCH64, in order for me to run molecule tests
I needed to obtain a AARCH64 docker image of ArchLinux. Unfortunately, the images
that exist seem either sketchy, or are woefully outdated. That is why I have
created my own image based on a (well built) outdated one I found on
dockerhub. To build this image, in the root context of this repo,
run
docker build -t bubba/archlinux:aarch64 .
. - Copy ssh keys to hosts via
ssh-copy-id alarm@host
. The ArchLinux AARCH64 image does not have ssh-keypass installed, thus ansible will not run with passwords. - The images do not have a python interpreter installed. It is nessicary to
log into each node to update the os and install python. REMEMBER: run
pacman-key --init
andpacman-key --populate archlinuxarm
before running updates. - Because the default
alarm
user does not have sudo rights, first run this:ansible-playbook -i hosts.ini site.yml -u alarm --become-method=su -K --tags first_run
. This will add a user with sudo rights, ssh keys, etc. - After the first run, this command will run the rest of the playbook:
ansible-playbook -i hosts.ini site.yml -u bubba -K
. "Bubba" is the user that is set by default. - For AUR support an ansible galaxy package was uses. To install:
ansible-galaxy install kewlfft.aur
.
[Match]
Name=eth*
[Network]
Address=10.1.10.9/24
Gateway=10.1.10.1
DNS=10.1.10.1
#DNS=8.8.8.8