boma/playbooks
sjat 03d33f83dd fix(O1): scaffold docker_host role so make lint passes on main
playbooks/site.yml imports the docker_host role, but it didn't exist, so
ansible-lint's syntax-check failed on a clean checkout — breaking CLAUDE.md's
"main must always work" / "Never skip lint" (top open finding O1 from the
2026-06-11 review).

Scaffold docker_host as a proper placeholder via the prescribed mechanism
(make new-role): filled meta/main.yml + README, an honest no-task tasks/main.yml
documenting planned scope (Docker engine + Compose, daemon hardening, nftables.d
container rules per ADR-004/020), and the standard molecule scenario. This
preserves site.yml's full-standard-state intent rather than dropping the play.

Update STATUS.md (docker_host moves from "Not in git" to "scaffolded, no tasks")
and the role/playbook READMEs to match.

make lint: 0 failures, 0 warnings; check-tags OK.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:53:55 +02:00
..
bootstrap.yml Add core Ansible scaffold, tooling, and pre-commit guards 2026-05-30 14:10:01 +02:00
README.md fix(O1): scaffold docker_host role so make lint passes on main 2026-06-11 14:53:55 +02:00
site.yml fix(O1): scaffold docker_host role so make lint passes on main 2026-06-11 14:53:55 +02:00
workstation.yml Add dev_env role: zsh/tmux/nvim for workstation-class hosts 2026-06-11 13:50:11 +02:00

playbooks/

Top-level orchestration playbooks. No inline vars — configuration comes from group_vars/ / host_vars/ (see CLAUDE.md).

  • site.yml — full standard state: applies base to all hosts and docker_host to docker hosts. Note: base is only partially built (its firewall concern) and docker_host is scaffolded with no tasks yet, so this is incomplete — see STATUS.md.
  • workstation.yml — applies the dev_env role (interactive developer environment) to the control group; built and applied to ubongo (see STATUS.md).
  • bootstrap.yml — first-run setup for a host that may not have Python yet; self-contained (does not depend on the roles).

Run via make check PLAYBOOK=<name> then make deploy PLAYBOOK=<name>.