From 7ec27384ab97e3c4eebb06a7e45bb6acdde40102 Mon Sep 17 00:00:00 2001 From: "Skiba, Jan" Date: Mon, 19 Oct 2026 14:42:32 +0200 Subject: [PATCH] itcc: add blaze-validator to the omics ingest module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the ITCC blaze data-model validator next to the uploader. It fetches from the local Blaze over the compose network (BLAZE_URL), while the resource links in its UI point at the browser-facing route (PUBLIC_BLAZE_URL = Blaze's traefik /itcc-localdatamanagement mapping) — the two URLs differ because everything external is relative to ${HOST}. The UI is exposed like the uploader's: /itcc-validator with basic auth (auth middleware) and strip-prefix. --- itcc/modules/itcc-omics-ingest.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/itcc/modules/itcc-omics-ingest.yaml b/itcc/modules/itcc-omics-ingest.yaml index fbb88a1..de3c50b 100644 --- a/itcc/modules/itcc-omics-ingest.yaml +++ b/itcc/modules/itcc-omics-ingest.yaml @@ -33,6 +33,30 @@ services: - "traefik.http.middlewares.itcc-uploader-stripprefix.stripprefix.prefixes=/itcc-uploader" - "traefik.http.routers.itcc-uploader.middlewares=auth,itcc-uploader-stripprefix" + # Validates the local Blaze store against the ITCC core data model and shows + # the findings under https://${HOST}/itcc-validator. It fetches from Blaze + # over the compose network, while the resource links in its UI must point at + # the route the *browser* can reach: Blaze's Traefik route below maps + # /itcc-localdatamanagement onto the same store (strip-prefix + basic auth), + # so the two URLs differ and are configured separately. + blaze-validator: + image: docker.verbis.dkfz.de/cache/samply/itcc-blaze-validator:develop + environment: + # Bare base URL — the validator appends /fhir itself. + BLAZE_URL: http://bridgehead-itcc-blaze:8080 + PUBLIC_BLAZE_URL: https://${HOST}/itcc-localdatamanagement + VALIDATOR_PORT: "8091" + depends_on: + - "blaze" + labels: + - "traefik.enable=true" + - "traefik.http.routers.itcc-validator.rule=Host(`${HOST}`) && PathPrefix(`/itcc-validator`)" + - "traefik.http.routers.itcc-validator.service=itcc-validator" + - "traefik.http.routers.itcc-validator.tls=true" + - "traefik.http.services.itcc-validator.loadbalancer.server.port=8091" + - "traefik.http.middlewares.itcc-validator-stripprefix.stripprefix.prefixes=/itcc-validator" + - "traefik.http.routers.itcc-validator.middlewares=auth,itcc-validator-stripprefix" + patientlist-db: image: postgres:${POSTGRES_TAG} container_name: bridgehead-patientlist-db