docs(infra): document Compose profile + down/up symmetry gotcha #67

Merged
julien merged 1 commits from docs/infra/compose-profiles-down-gotcha into main 2026-05-09 21:40:29 +02:00
Owner

Summary

docker compose -f infra/local/dev.compose.yml down -v left pgweb and Jaeger running, with no error and no obvious diagnostic — they kept eating memory until the next reboot. Reason: Compose only operates on services whose profile is currently active. Bringing them up with --profile dbtools / --profile observability requires the same flag(s) on down, otherwise they're invisible to that command.

Document the gotcha in infra/README.md "Local-dev stack" → "Operational tips", with the two pragmatic resolutions:

  1. Pass the same flags on each command (most explicit).
  2. Set COMPOSE_PROFILES=dbtools,observability once in the shell or infra/local/.env, and let it propagate to every up / down / ps invocation.

Test plan

  • Bring up the full stack: docker compose -f infra/local/dev.compose.yml --profile dbtools --profile observability up -d.
  • docker compose -f infra/local/dev.compose.yml down -v (no flags) — confirms pgweb + jaeger keep running.
  • Run the documented "complete" command — confirms everything is gone.
  • Repeat with COMPOSE_PROFILES set; same outcome.
## Summary `docker compose -f infra/local/dev.compose.yml down -v` left pgweb and Jaeger running, with no error and no obvious diagnostic — they kept eating memory until the next reboot. Reason: Compose only operates on services whose profile is currently active. Bringing them up with `--profile dbtools` / `--profile observability` requires the same flag(s) on `down`, otherwise they're invisible to that command. Document the gotcha in `infra/README.md` "Local-dev stack" → "Operational tips", with the two pragmatic resolutions: 1. Pass the same flags on each command (most explicit). 2. Set `COMPOSE_PROFILES=dbtools,observability` once in the shell or `infra/local/.env`, and let it propagate to every `up` / `down` / `ps` invocation. ## Test plan - [ ] Bring up the full stack: `docker compose -f infra/local/dev.compose.yml --profile dbtools --profile observability up -d`. - [ ] `docker compose -f infra/local/dev.compose.yml down -v` (no flags) — confirms pgweb + jaeger keep running. - [ ] Run the documented "complete" command — confirms everything is gone. - [ ] Repeat with `COMPOSE_PROFILES` set; same outcome.
julien added 1 commit 2026-05-09 21:32:05 +02:00
docs(infra): document Compose profile + down/up symmetry gotcha
CI / commits (pull_request) Successful in 1m41s
CI / scan (pull_request) Successful in 1m50s
CI / check (pull_request) Successful in 1m51s
CI / a11y (pull_request) Successful in 1m8s
CI / perf (pull_request) Successful in 2m4s
c5b2c1fc48
`docker compose down -v` left pgweb and jaeger running (under
`--profile dbtools` / `--profile observability` respectively), with
no obvious diagnostic. Reason: Compose only operates on services
whose profile is currently active — if you brought them up with a
flag, you must `down` with the same flag, otherwise they are
invisible to that command.

Document the gotcha in `infra/README.md` "Local-dev stack" →
"Operational tips", with the two pragmatic resolutions: pass the
same flags on each command, or set `COMPOSE_PROFILES` once and
let it propagate.
julien merged commit 4d2d4d652a into main 2026-05-09 21:40:29 +02:00
julien deleted branch docs/infra/compose-profiles-down-gotcha 2026-05-09 21:40:29 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: julien/apf_portal#67