1
0
mirror of https://github.com/gjkcz/ansible-void.git synced 2024-11-01 00:45:59 +01:00
Ansible files for managing classroom machines at GJK.
Go to file
2023-10-04 10:15:41 +02:00
files Add session cleanup script 2023-10-04 10:15:41 +02:00
group_vars Add fd to the list of installed packages 2023-09-27 14:43:16 +02:00
ansible.cfg Initial commit 2023-04-29 19:51:14 +02:00
hosts Initial commit 2023-04-29 19:51:14 +02:00
readme.md Add more playbook execution examples 2023-06-09 09:22:46 +02:00
reboot.yaml Initial commit 2023-04-29 19:51:14 +02:00
setup.yaml Add session cleanup script 2023-10-04 10:15:41 +02:00
shutdown.yaml Fix naming of shutdown.yaml 2023-09-05 21:15:58 +02:00

Ansible files for managing classroom machines at GJK.

There are two classrooms, POV and POM. All machines are running Void Linux with Gnome in dual-boot with Windows.

GDM configuration can be found at https://help.gnome.org/admin/system-admin-guide/stable/index.html.en.

New client installation

There are several differences in the hardware. System installation is usually done in EFI, though MBR still exists on older machines in POV.

  • Install Void
  • Update xbps: xbps-install -Su xbps
  • Install python3 and avahi: xbps-install python3 avahi
  • Enable avahi service: ln -s /etc/sv/avai-deamon/ /var/service/
  • Import your SSH key to /root/.ssh/authorized_keys

Void has sshd enabled by default as well as having prohibit-password set for root. Post-installation setup can be automated using a script or USB keyboard injector.

Running a playbook

Here are some examples for running a playbook.

ansible-playbook setup.yaml
ansible-playbook -l teachers setup.yaml
ansible-playbook -l VU00.local setup.yaml
ansible-playbook --key-file ~/.ssh/keys/gjk-ansible setup.yaml

Tags can be used to execute or exclude specific parts of the playbook.

ansible-playbook -t grub setup.yaml
ansible-playbook -t [grub, software] setup.yaml
ansible-playbook --skip-tags software setup.yaml

SSH configuration

You should setup your ssh to avoid unnecessary settings when running a playbook, for example:

Host VU* MU*
	User root
	IdentityFile ~/.ssh/keys/gjk-ansible
	StrictHostKeyChecking no
	UserKnownHostsFile=/dev/null