devops: fix observability stack bind mounts failing in DooD runner #598
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The nightly and release CI jobs start the observability stack via
docker compose -f docker-compose.observability.yml up. In Docker-out-of-Docker (DooD), the job container's workspace lives at/workspace/marcel/familienarchiv/, but only/var/run/docker.sockis volume-mapped to the host — no workspace directory is shared.When Docker Compose resolves relative bind mounts like
./infra/observability/prometheus/prometheus.yml, it passes that absolute path to the host daemon. The host has no such path, so it auto-creates an empty directory there. The container then fails to start because the mount target is a directory, not a file:Five mounts are affected:
prometheus.ymlloki-config.ymlpromtail-config.ymltempo.ymlgrafana/provisioning/Fix
docker-compose.observability.yml: Make the config base path configurable via${OBS_CONFIG_DIR:-./infra/observability}. Keeps working out-of-the-box for localdocker compose up.nightly.yml: Before starting the observability stack,docker cpthe config tree from the job container to a stable host path (/srv/familienarchiv-staging/obs-configs). AddOBS_CONFIG_DIR=/srv/familienarchiv-staging/obs-configsto.env.staging.release.yml: Same pattern with/srv/familienarchiv-production/obs-configs.Related
infra/minio/bootstrap.shby baking into a custom image (#506)