1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.6 KiB
Markdown

Ansible files for managing classroom machines at GJK.
There are two classrooms, POV and POM. All machines are running [Void Linux](https://voidlinux.org/) with [Gnome](https://www.gnome.org/) 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
```