Files
computer-playbook/compose
kevinveenbirkenbachandClaude Opus 5 1d79bf2d58 fix(cache): give the package-cache a static address on the bridge
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>
2026-08-10 18:00:56 +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.