ci(obs): reference #603 in keep-in-sync comments; add obs-glitchtip to health assertion
Some checks failed
CI / Unit & Component Tests (pull_request) Has been cancelled
CI / OCR Service Tests (pull_request) Has been cancelled
CI / Backend Unit Tests (pull_request) Has been cancelled
CI / fail2ban Regex (pull_request) Has been cancelled
CI / Compose Bucket Idempotency (pull_request) Has been cancelled

This commit is contained in:
2026-05-16 09:35:43 +02:00
parent 6720a5aeb2
commit b194b565f6

View File

@@ -124,7 +124,7 @@ jobs:
# --env-file order: obs.env first (git-tracked defaults), obs-secrets.env # --env-file order: obs.env first (git-tracked defaults), obs-secrets.env
# second (CI-written secrets). Later files win on duplicate keys, so # second (CI-written secrets). Later files win on duplicate keys, so
# obs-secrets.env overrides POSTGRES_HOST set in obs.env. # obs-secrets.env overrides POSTGRES_HOST set in obs.env.
# Keep in sync with the equivalent step in nightly.yml. # Keep in sync with the equivalent step in nightly.yml (#603).
run: | run: |
docker compose \ docker compose \
-f /opt/familienarchiv/docker-compose.observability.yml \ -f /opt/familienarchiv/docker-compose.observability.yml \
@@ -138,7 +138,7 @@ jobs:
# Non-secret config from obs.env (git-tracked); secrets from obs-secrets.env # Non-secret config from obs.env (git-tracked); secrets from obs-secrets.env
# (written fresh from Gitea secrets above). --env-file order: obs.env first, # (written fresh from Gitea secrets above). --env-file order: obs.env first,
# obs-secrets.env second — later file wins on duplicate keys. # obs-secrets.env second — later file wins on duplicate keys.
# Keep in sync with the equivalent step in nightly.yml. # Keep in sync with the equivalent step in nightly.yml (#603).
run: | run: |
docker compose \ docker compose \
-f /opt/familienarchiv/docker-compose.observability.yml \ -f /opt/familienarchiv/docker-compose.observability.yml \
@@ -150,13 +150,13 @@ jobs:
# docker compose up --wait covers services WITH healthcheck directives only. # docker compose up --wait covers services WITH healthcheck directives only.
# obs-promtail, obs-cadvisor, obs-node-exporter, and obs-glitchtip-worker have # obs-promtail, obs-cadvisor, obs-node-exporter, and obs-glitchtip-worker have
# no healthcheck — they are considered "started" as soon as the process runs. # no healthcheck — they are considered "started" as soon as the process runs.
# This step explicitly asserts the four healthchecked critical services are # This step explicitly asserts the five healthchecked critical services are
# healthy before the smoke test proceeds. # healthy before the smoke test proceeds.
# Keep in sync with the equivalent step in nightly.yml. # Keep in sync with the equivalent step in nightly.yml (#603).
run: | run: |
set -e set -e
unhealthy="" unhealthy=""
for svc in obs-loki obs-prometheus obs-grafana obs-tempo; do for svc in obs-loki obs-prometheus obs-grafana obs-tempo obs-glitchtip; do
status=$(docker inspect "$svc" --format '{{.State.Health.Status}}' 2>/dev/null || echo "missing") status=$(docker inspect "$svc" --format '{{.State.Health.Status}}' 2>/dev/null || echo "missing")
if [ "$status" != "healthy" ]; then if [ "$status" != "healthy" ]; then
echo "::error::$svc is not healthy (status: $status)" echo "::error::$svc is not healthy (status: $status)"