iac/ansible/site.yaml
Sergei Poljanski f2aa6375fd ansible: retire Minecraft Fossils
The Fabric server holds 8.8 GB of asxpio-services' 15 GB of RAM, more
than everything else on the host together, and the XMPP server moves
here next. Save the world, remove its containers and the daily restart
timer.

The world stays in /opt/minecraft-fossils/data, and in the restic
backups, until it is deleted by hand.

Assisted-by: Claude:opus-5-5
2026-11-12 20:54:22 +04:00

52 lines
1.5 KiB
YAML

---
# Everything the deploy pipeline manages. Idempotent: a run with nothing
# to change touches nothing and restarts nothing.
#
# ansible-playbook site.yaml --check --diff # dry run
# ansible-playbook site.yaml --tags traefik # one service
#
# Host bootstrap (WireGuard, SSH hardening, s3fs, swap) is in playbooks/
# and is run by hand.
- name: Host baseline
hosts: asxpio
become: true
roles:
- { role: base, tags: [base] }
- name: asxpio-ops services
hosts: ops_servers
become: true
roles:
- { role: traefik, tags: [traefik] }
- { role: crawler_alert, tags: [crawler_alert] }
- name: asxpio-services services
hosts: services_servers
become: true
roles:
- { role: sillytavern, tags: [sillytavern] }
- { role: minecraft, tags: [minecraft] }
- { role: minecraft_fossils, tags: [minecraft_fossils] } # retired: stops it
# Late: restarting Forgejo briefly cuts the runner off from its job log
- name: Forgejo
hosts: ops_servers
become: true
roles:
- { role: forgejo, tags: [forgejo] }
- name: Backups
hosts: asxpio
become: true
roles:
- { role: restic_backup, tags: [restic] }
# Last: when the pipeline changes the runner it recreates the container
# that is running the pipeline. Everything else is done by then; that job
# ends as failed and the next run confirms the result.
- name: Forgejo runner
hosts: services_servers
become: true
roles:
- { role: forgejo_runner, tags: [forgejo_runner] }