Commit Graph
5 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5.5 792f7cde48 Add the host bootstrap: deploy user, key, docker access, stack root
bootstrap.yml prepares a host as an admin via -u; new-deploy-key.sh makes the
key pair and refuses to write inside the repo. CI deploys refuse the bootstrap
playbook, since the dispatch API ignores the dropdown.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:07:31 +02:00
Lucas WintherandClaude Opus 5.5 78b227f32d Add a start flag, and let --check survive a first deploy
-e start=false (mode sync in CI) lands the payload and starts nothing, for
migrations. A check run on a never-deployed stack now skips Compose with a note
instead of failing on the missing directory.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:04:56 +02:00
Lucas WintherandClaude Opus 5.5 c9a4d56851 Escalate stack_dirs from the task, not the file module
become was indented as a module parameter, so any entry setting owner or
group failed. metrics' grafana-data is one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:02:27 +02:00
Lucas WintherandClaude Opus 5.5 fbfdb5b375 Connect as remote_user rather than ansible_user
An inventory ansible_user outranks a command-line -u, so -u was silently
ignored. A config default sits below it, which lets a bootstrap run as an
admin account.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 15:02:27 +02:00
Lucas WintherandClaude Opus 5 7b52e9af9e 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) <noreply@anthropic.com>
2026-09-16 03:58:01 +02:00