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]>
21 lines
837 B
YAML
21 lines
837 B
YAML
---
|
|
ansible_user: deploy
|
|
# Override per host in inventory/host_vars/<host>.yml if sshd moves off 22.
|
|
ansible_port: 22
|
|
|
|
# Path to the deploy private key, produced by scripts/load-ssh-key.sh. The key
|
|
# itself is never stored in this repository — see docs/secrets.md.
|
|
ansible_ssh_private_key_file: "{{ lookup('ansible.builtin.env', 'SSH_KEY_PATH') }}"
|
|
|
|
# Where stacks live on the hosts. A stack deploys to {{ stack_root }}/<stack>
|
|
# unless its playbook overrides stack_dest.
|
|
stack_root: /srv/stacks
|
|
|
|
# Image pull policy, overridden per run with `-e pull=always` to update a stack.
|
|
# See "Deploy versus update" in the README.
|
|
pull: policy
|
|
|
|
# Repository root, so playbooks and the role can find payloads under server/
|
|
# regardless of the directory ansible-playbook was invoked from.
|
|
repo_root: "{{ (inventory_dir ~ '/../..') | realpath }}"
|