lmn-client/edubox.yml
2023-02-07 19:15:50 +01:00

49 lines
1.7 KiB
YAML

---
## This playbook deploys a series of minimal systemd-nspawn containers
## for educational use on a host, for example to learn ansible!
## All containers use an apt cache on the host system and forward port
## 22 (ssh), 80 (http) and 443 (https) to ports >= 10000, 10100 and 10200
## respectively. A user 'ansible' in the 'sudo' group is prepared,
## either with empty password or an initial password to be set below.
##
## Modifications of the initial containers are kept in an overlay
## directory next to the container images in '/var/lib/machines/'.
## This allows to visit and compare the work of students on the host.
## To manage the containers after installation, run the playbook with
## one of the the following tags:
##
## --tags=start start all containers
## --tags=stop stop all containers
## --tags=reset reset all containers to the initial image
## --tags=purge purge all containers
##
- name: apply configuration to the edubox
hosts: all # eduboxes
remote_user: ansible
become: yes
vars:
contname: cont
## Password for the user 'ansible' in the container,
## leave empty to log in without password:
contpwd: ""
## Adjust the number of containers here:
containers: "{{ range(0, 9 + 1) | list }}"
extra_pkgs: [apt-cacher-ng]
pre_tasks:
- name: enable apt-cacher-ng
lineinfile:
path: /etc/apt/apt.conf.d/30proxy
line: 'Acquire::http::Proxy "http://localhost:3142/";'
create: yes
- name: enable and start systemd-networkd on the host
systemd:
name: systemd-networkd
state: started
enabled: yes
roles:
- up2date-debian
- educontainer