1
0
mirror of https://github.com/gjkcz/ansible-void.git synced 2024-12-22 19:26:38 +01:00
ansible-void/readme.md
2024-05-29 15:12:47 +02:00

50 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/`
- 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
```