Files
2026-10-15 20:44:05 -03:00

40 lines
1.5 KiB
YAML

- name: End of the build (SSH settings of the ICPC image, cleanup, power off)
hosts: all
become: yes
tasks:
# build.sh replaced these settings to log in during the build
- name: Restore the SSH settings of the ICPC image
copy:
dest: /etc/ssh/sshd_config.d/icpc.conf
mode: '0644'
content: |
PasswordAuthentication no
DenyGroups judges teams
- name: Remove the SSH settings of the build
file:
path: /etc/ssh/sshd_config.d/00-build.conf
state: absent
- name: Empty the package cache
command: apt-get clean
changed_when: false
# Last task, in one go because Ansible may be using sudo through the team
# account (first build) or the icpc account (next builds):
# - icpc, the administrator account, gets the new password
# - team, the account of the teams, gets its new password if one is given
# - team leaves the sudo group (the ICPC image gives it sudo with the
# public password "contest")
- name: Set the passwords, remove team from sudo and power off
shell: |
set -e
echo "icpc:$ADMIN_PASS" | chpasswd
if [ -n "$TEAM_PASS" ]; then echo "team:$TEAM_PASS" | chpasswd; fi
if id -nG team | grep -qw sudo; then gpasswd -d team sudo; fi
systemd-run --on-active=5 systemctl poweroff
environment:
ADMIN_PASS: "{{ admin_pass }}"
TEAM_PASS: "{{ team_pass | default('') }}"
no_log: true