Files
computer-playbook/compose
kevinveenbirkenbachandClaude Opus 5 e17d004e17 fix(swarm-lab): answer lab AAAA queries locally
address=/<zone>/<ipv4> covers only A records, so every AAAA lookup for
the lab zone was forwarded to the public resolvers. When the manager
node lost its upstream mid-run, glibc callers (Playwright request
contexts) paid the full resolver timeout per lookup: 20s each, which
blew the 30s request budget and the 60s persona budget.

local=/<zone>/ makes dnsmasq authoritative for the zone, so AAAA is
answered as NODATA from config instead of leaving the lab. Same idiom
the tor onion template already uses.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-22 11:36:00 +02:00
..

Compose Configuration 🧩

This directory holds the static configuration assets consumed by the top-level compose.yml of the local development and CI testing stack.

Scope 📋

  • The directory MUST contain only files that are bind-mounted into a service defined in compose.yml.
  • The directory MUST NOT host application configuration that belongs to an Ansible role. Per-role compose payloads live under roles/<role>/templates/.
  • The directory MUST NOT host workflow scripts, test fixtures, or build helpers. Those belong under scripts/ or tests/.

Layout 🗂️

Each compose service that needs static configuration owns a sub-directory whose name matches the service. New service-specific config MUST go into the matching sub-directory rather than at the compose/ root.

For the rules that govern compose.yml itself (env-variable contract, profile gating, resource caps), see compose.yml.md.