Root cause of the compose-smoke failure (found in the runner logs):
oz-init-1 | CommandError: Yaml file
`/app/setup_configuration/data.yaml` does not exist.
The ubuntu-latest runner runs the job inside a container, so
`docker compose up` starts the stack as SIBLING containers via the host
daemon. A relative bind mount (./openzaak/setup_configuration) resolves to
a path inside the job container that the daemon can't see, so Docker mounts
an empty dir and the init container can't find data.yaml. The same trap hit
nrc-init (data.yaml), flowable-init (the BPMN) and keycloak (realm import).
Fix: bake the assets into small derived images instead of bind-mounting:
- infra/openzaak/Dockerfile -> register-referentie/openzaak:dev
- infra/opennotificaties/Dockerfile-> register-referentie/opennotificaties:dev
- infra/keycloak/Dockerfile -> register-referentie/keycloak:dev
- flowable-init: build.dockerfile_inline bakes workflows/registratie.bpmn
Base versions stay build args (OPENZAAK_TAG / OPENNOTIFICATIES_TAG), so the
pinning is unchanged. Applied to both the consolidated compose and the
per-service composes, so local Podman and CI use one mechanism — no bind
mounts, no SELinux `:z`, no world-readable requirement.
Verified locally: `podman build` of the OpenZaak and BPMN images produces
the file at the expected in-container path.
Docs: docs/runbooks/gitea-actions-gotchas.md explains the DinD bind-mount
trap and the bake fix; openzaak.md and ci.md point at it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
956 B
YAML
31 lines
956 B
YAML
# Keycloak (S-02) with four pre-seeded realms imported at boot:
|
|
# digid · eherkenning · eidas · medewerker
|
|
# Dev mode, H2 in-memory store, realm JSONs imported from ./realms.
|
|
#
|
|
# docker compose -f infra/keycloak/docker-compose.yml up -d
|
|
# curl -s -o /dev/null -w '%{http_code}\n' \
|
|
# http://localhost:8180/realms/digid/.well-known/openid-configuration # -> 200
|
|
#
|
|
# Admin console: http://localhost:8180/ (admin / admin — dev only)
|
|
services:
|
|
keycloak:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: register-referentie/keycloak:dev
|
|
command: ["start-dev", "--import-realm"]
|
|
environment:
|
|
KC_BOOTSTRAP_ADMIN_USERNAME: admin
|
|
KC_BOOTSTRAP_ADMIN_PASSWORD: admin
|
|
# Older var names too, harmless on 26.x:
|
|
KEYCLOAK_ADMIN: admin
|
|
KEYCLOAK_ADMIN_PASSWORD: admin
|
|
KC_HEALTH_ENABLED: "true"
|
|
KC_HTTP_ENABLED: "true"
|
|
ports:
|
|
- "8180:8080"
|
|
networks: [cg]
|
|
|
|
networks:
|
|
cg:
|