Ansible files for managing classroom machines at GJK.
Go to file
Emil Miler c93fdec7de Enable some GNOME extensions by default 2023-11-17 18:55:38 +01:00
files Enable some GNOME extensions by default 2023-11-17 18:55:38 +01:00
group_vars Add new software 2023-11-17 17:53:50 +01: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 Update readme 2023-11-01 15:52:24 +01:00
reboot.yaml Initial commit 2023-04-29 19:51:14 +02:00
setup.yaml Install video drivers 2023-11-17 16:40:53 +01:00
shutdown.yaml Fix naming of shutdown.yaml 2023-09-05 21:15:58 +02:00

readme.md

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/
  • Enable sshd service: ln -s /etc/sv/sshd/ /var/service
  • Import your SSH key to /root/.ssh/authorized_keys

Void has prohibit-password for root in the default sshd configuration. 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