mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-11 21:26:44 +00:00
The frontend proxies to the package-cache by name, and nginx resolves a literal proxy_pass hostname once while parsing the config and keeps it for the worker's lifetime; the resolver only re-resolves targets that contain a variable. The package-cache was the one cache service without a pinned address, so recreating it left the frontend dialling a dead one, answering 502 to everything and reporting unhealthy. That surfaces far from its cause: pip.conf deliberately keeps the real index URL and extra_hosts points pypi.org at the frontend, so a pip install reports no versions at all and looks like a network fault. Pins it the way the registry-cache and the frontend are already pinned, and carries the address into the runner slots. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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/ortests/.
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.