Add the compose_stack role, inventory and playbooks

One role that syncs a payload and brings the stack up, configured entirely
through stack_* variables, plus six playbooks that each demonstrate one part
of that contract. Every playbook runs standalone and is tagged with its
stack name, so site.yml --tags <stack> works.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Lucas Winther
2026-09-16 03:58:01 +02:00
co-authored by Claude Opus 5
parent 7cdf9b854b
commit 7b52e9af9e
16 changed files with 606 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
---
# Two example hosts. Connection settings live in group_vars/all.yml, and key
# material lives nowhere in this repository — see docs/secrets.md.
#
# The names here must match the directory names under server/: the compose_stack
# role resolves a payload as server/{{ inventory_hostname }}/{{ stack_name }}.
all:
hosts:
# Public entry point: the reverse proxy and its certificates.
edge:
ansible_host: edge.example.com
# Everything behind it.
app:
ansible_host: app.example.com