files | ||
group_vars | ||
roles/ssh | ||
ansible.cfg | ||
hosts | ||
readme.md | ||
reboot.yaml | ||
setup.yaml | ||
shutdown.yaml |
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
andavahi
: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