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
Emil Miler 5fe0a398f4 Install video drivers
Most PCs have an AMD GPU, but some replacements only have Intel.
The intel-specific packages can later be excluded, albeit it doesn't
hurt to have them installed.

Intel-only hosts:
- MU02
- MU03
2023-11-17 16:40:53 +01:00
files Add session cleanup script 2023-10-04 10:15:41 +02:00
group_vars Do not install full gnome-apps 2023-11-06 18:23:01 +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

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