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]>
26 lines
984 B
YAML
26 lines
984 B
YAML
---
|
|
# Every stack, in dependency order. Each imported playbook also runs on its own
|
|
# — see AGENTS.md, rule 2.
|
|
#
|
|
# ansible-playbook playbooks/site.yml # converge everything
|
|
# ansible-playbook playbooks/site.yml --tags metrics # one stack
|
|
# ansible-playbook playbooks/site.yml -e pull=always # update everything
|
|
#
|
|
# Order matters. The reverse proxy owns proxy-net and the vhost configuration
|
|
# that every other stack registers against, so it goes first; banner.yml writes
|
|
# into the proxy's html directory, so it goes second.
|
|
|
|
- name: Reverse proxy
|
|
ansible.builtin.import_playbook: reverse-proxy.yml
|
|
- name: Default vhost banner
|
|
ansible.builtin.import_playbook: banner.yml
|
|
- name: Metrics
|
|
ansible.builtin.import_playbook: metrics.yml
|
|
|
|
- name: Static site
|
|
ansible.builtin.import_playbook: static-site.yml
|
|
- name: Webapp
|
|
ansible.builtin.import_playbook: webapp.yml
|
|
- name: Webapp staging
|
|
ansible.builtin.import_playbook: webapp-staging.yml
|