Context
Three layers of drift, in priority order:
1️⃣ Eclipse EDC components (preferred — eclipse-edc org)
Built on EDC v0.16.0 (ADR-020, 2026-02-19). Upstream:
2️⃣ Metaform JAD/CFM sources (Metaform org)
Our ghcr.io/ma3u/health-dataspace/jad-* and cfm-* images are source-built (ADR-005) from Metaform repos: jad, cfm-edc, cfm-fulcrum. Build commit per image: UNKNOWN — must be inventoried (images float on :latest). CFM agents are compiled against the EDC BOM, so tier 1 and tier 2 must move together.
3️⃣ OSS baseline (repo-verified versions)
| Component |
Local (docker-compose*) |
Azure (scripts/azure/env.sh) |
Note |
| PostgreSQL |
postgres:17.7-alpine |
postgres:16 |
⚠️ version skew local vs Azure |
| Neo4j |
neo4j:5-community |
neo4j:5-community |
evaluate 2025.x LTS line |
| Keycloak |
quay.io/keycloak/keycloak:latest |
:latest |
unpinned |
| Vault |
hashicorp/vault:latest |
:latest |
unpinned (in-memory dev mode) |
| NATS |
nats:alpine |
:alpine |
unpinned |
| Traefik |
traefik:v3.4 |
— |
pinned ✅ |
| Node.js |
proxy engines >=20, CI node-version: 20 |
— |
⚠️ Node 20 LTS reached maintenance EOL 2026-04-30 → move to 22 LTS |
| Python (crawler/enricher) |
requires-python >=3.12 |
— |
fine; revisit with 3.13 |
| Java / Gradle |
via Metaform source builds |
— |
versions UNKNOWN in this repo — inventory in Phase A; check EDC v0.18 JDK baseline |
Plan
Phase A — Inventory & pin (no upgrades)
Phase B — EDC v0.18.0 (tier 1) + Metaform rebuild (tier 2)
Phase C — OSS baseline (tier 3)
Phase D — Validate & roll out
Risks
- EDC v0.16 → v0.18 spans two minors; management-API paths have moved between alpha versions before
- CFM agents break if the connector moves without a lockstep Metaform rebuild (ADR-005)
- Neo4j major-line move risks GDS/vector-index regressions — spike first, ADR before migrating
Related
ADR-005 · ADR-020 · ADR-022/024 · ADR-027 · issue #8 (closed) · planning item docs/planning/future/issue-97-edc-upgrade.md
Context
Three layers of drift, in priority order:
1️⃣ Eclipse EDC components (preferred — eclipse-edc org)
Built on EDC v0.16.0 (ADR-020, 2026-02-19). Upstream:
2️⃣ Metaform JAD/CFM sources (Metaform org)
Our
ghcr.io/ma3u/health-dataspace/jad-*andcfm-*images are source-built (ADR-005) from Metaform repos:jad,cfm-edc,cfm-fulcrum. Build commit per image: UNKNOWN — must be inventoried (images float on:latest). CFM agents are compiled against the EDC BOM, so tier 1 and tier 2 must move together.3️⃣ OSS baseline (repo-verified versions)
docker-compose*)scripts/azure/env.sh)postgres:17.7-alpinepostgres:16neo4j:5-communityneo4j:5-communityquay.io/keycloak/keycloak:latest:latesthashicorp/vault:latest:latestnats:alpine:alpinetraefik:v3.4engines >=20, CInode-version: 20requires-python >=3.12Plan
Phase A — Inventory & pin (no upgrades)
Record source commitInventoried (PR chore(deps): issue #97 Phase A — pin all image versions + ADR-029 #100): all 11 images built 2026-04-11, no OCI labels → source commits unrecoverable; digests recorded in ADR-029. Known-commit rebuild + mandatory labels moved to Phase B:latest/:alpinewith immutable tags indocker-compose*.yml+scripts/azure/env.sh(PR chore(deps): issue #97 Phase A — pin all image versions + ADR-029 #100: keycloak 26.6.0, vault 2.0, nats 2.14.3-alpine, neo4j 5.26.28-community, curl 8.21.0, ghcr images digest-pinned; mvhd-ui/proxy stay :latest by design)Phase B — EDC v0.18.0 (tier 1) + Metaform rebuild (tier 2)
docs/planning/current/issue-97-phase-b-analysis.md; gate additionally found: v5alpha→v5beta + enforced OAuth, mandatory NATS events, mandatory siglet serviceRebuildSuperseded: consume Metaform's public per-commit images (ghcr.io/metaform/jad/*@4a7e5bd0) — promoted to the default stack in PR feat(edc)!: promote EDC 0.18 JAD launchers — Phase B gate green (issue #97) #102 after a green gate. CFM agents unchanged (compatible; managers re-pinned to working digests after GHCR tag-drift find)Phase C — OSS baseline (tier 3)
ui+services/neo4j-proxyengines, CIsetup-node, local dev note (repo already runs under Node 25 locally — the vitest storage polyfill inui/__tests__/setup.tscovers Node ≥22 webstorage)Phase D — Validate & roll out
./scripts/run-dsp-tck.sh+./scripts/run-ehds-tests.shgreen--project=liveincl. J730–J749 federated journeys:latestcaching + CI-SP write pattern, docs/gotchas.md), ADR-027 off-hours schedule intactRisks
Related
ADR-005 · ADR-020 · ADR-022/024 · ADR-027 · issue #8 (closed) · planning item
docs/planning/future/issue-97-edc-upgrade.md