From 6923ead6ce3347ee98aba2b23177d522593d0b30 Mon Sep 17 00:00:00 2001 From: Martin Jurk <96107909+Martin1088@users.noreply.github.com> Date: Wed, 28 Jan 2026 14:28:09 +0100 Subject: [PATCH] feat: itcc lens2 (#365) --- itcc/docker-compose.yml | 3 +-- itcc/modules/itcc-omics-ingest.sh | 6 +++++ itcc/modules/itcc-omics-ingest.yaml | 14 ++++++++++ itcc/modules/lens-compose.yml | 40 +++++++++++++++++++---------- itcc/vars | 2 ++ 5 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 itcc/modules/itcc-omics-ingest.sh create mode 100644 itcc/modules/itcc-omics-ingest.yaml diff --git a/itcc/docker-compose.yml b/itcc/docker-compose.yml index f69c13d2..49edff0a 100644 --- a/itcc/docker-compose.yml +++ b/itcc/docker-compose.yml @@ -15,7 +15,7 @@ services: - "blaze-data:/app/data" labels: - "traefik.enable=true" - - "traefik.http.routers.blaze_itcc.rule=PathPrefix(`/itcc-localdatamanagement`)" + - "traefik.http.routers.blaze_itcc.rule=Host(`${HOST}`) && PathPrefix(`/itcc-localdatamanagement`)" - "traefik.http.middlewares.itcc_b_strip.stripprefix.prefixes=/itcc-localdatamanagement" - "traefik.http.services.blaze_itcc.loadbalancer.server.port=8080" - "traefik.http.routers.blaze_itcc.middlewares=itcc_b_strip,auth" @@ -34,7 +34,6 @@ services: EPSILON: 0.28 QUERIES_TO_CACHE: '/queries_to_cache.conf' ENDPOINT_TYPE: ${FOCUS_ENDPOINT_TYPE:-blaze} - CQL_PROJECTS_ENABLED: "itcc" volumes: - /srv/docker/bridgehead/itcc/queries_to_cache.conf:/queries_to_cache.conf:ro depends_on: diff --git a/itcc/modules/itcc-omics-ingest.sh b/itcc/modules/itcc-omics-ingest.sh new file mode 100644 index 00000000..a078140a --- /dev/null +++ b/itcc/modules/itcc-omics-ingest.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +if [ -n "$ENABLE_OMICS" ];then + OVERRIDE+=" -f ./$PROJECT/modules/itcc-omics-ingest.yaml" + GENERATE_API_KEY="$(generate_simple_password 'omics')" +fi \ No newline at end of file diff --git a/itcc/modules/itcc-omics-ingest.yaml b/itcc/modules/itcc-omics-ingest.yaml new file mode 100644 index 00000000..81084331 --- /dev/null +++ b/itcc/modules/itcc-omics-ingest.yaml @@ -0,0 +1,14 @@ +services: + omics-endpoint: + image: ghcr.io/samply/itcc-omics-ingest:main + environment: + - API_KEY=${GENERATE_API_KEY} + volumes: + - /var/cache/bridgehead/omics/data:/data/uploads + labels: + - "traefik.http.routers.omics.rule=Host(`${HOST}`) && PathPrefix(`/api/omics`)" + - "traefik.enable=true" + - "traefik.http.services.omics.loadbalancer.server.port=6080" + - "traefik.http.routers.omics.tls=true" + - "traefik.http.middlewares.omics-stripprefix.stripprefix.prefixes=/api" + - "traefik.http.routers.omics.middlewares=omics-stripprefix" diff --git a/itcc/modules/lens-compose.yml b/itcc/modules/lens-compose.yml index d19c372d..5a5b78cc 100644 --- a/itcc/modules/lens-compose.yml +++ b/itcc/modules/lens-compose.yml @@ -1,33 +1,47 @@ version: "3.7" services: - landing: - container_name: lens_federated-search - image: docker.verbis.dkfz.de/ccp/lens:${SITE_ID} + itcc-explorer: + container_name: lens_itcc_explorer + image: samply/itcc-explorer:main + environment: + HOST: "0.0.0.0" + BIND_ADDR: "0.0.0.0:3000" + PUBLIC_ENVIRONMENT: ${PUBLIC_ENVIRONMENT} labels: - "traefik.enable=true" - - "traefik.http.routers.landing.rule=PathPrefix(`/`)" - - "traefik.http.services.landing.loadbalancer.server.port=80" - - "traefik.http.routers.landing.tls=true" + - "traefik.http.routers.itcc.rule=Host(`${HOST}`) && PathPrefix(`/`)" + - "traefik.http.routers.itcc.entrypoints=websecure" + - "traefik.http.services.itcc.loadbalancer.server.port=3000" + - "traefik.http.routers.itcc.tls=true" spot: - image: docker.verbis.dkfz.de/ccp-private/central-spot + image: samply/rustyspot:latest environment: BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" - BEAM_URL: http://beam-proxy:8081 + BEAM_PROXY_URL: http://beam-proxy:8081 BEAM_PROXY_ID: ${SITE_ID} BEAM_BROKER_ID: ${BROKER_ID} - BEAM_APP_ID: "focus" - PROJECT_METADATA: "itcc" + BEAM_APP_ID: "spot.${SITE_ID}.${BROKER_ID}" + CORS_ORIGIN: "https://${HOST}" + SITES: ${SITES} + TRANSFORM: LENS + PROJECT: "itcc" + BIND_ADDR: 0.0.0.0:8055 depends_on: - "beam-proxy" labels: - "traefik.enable=true" - - "traefik.http.services.spot.loadbalancer.server.port=8080" + - "traefik.http.services.spot.loadbalancer.server.port=8055" - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowmethods=GET,OPTIONS,POST" + - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowheaders=content-type" - "traefik.http.middlewares.corsheaders2.headers.accesscontrolalloworiginlist=https://${HOST}" - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowcredentials=true" - "traefik.http.middlewares.corsheaders2.headers.accesscontrolmaxage=-1" - - "traefik.http.routers.spot.rule=Host(`${HOST}`) && PathPrefix(`/backend`)" - - "traefik.http.middlewares.stripprefix_spot.stripprefix.prefixes=/backend" + - "traefik.http.routers.spot.rule=Host(`${HOST}`) && PathPrefix(`/prod`)" + - "traefik.http.middlewares.stripprefix_spot.stripprefix.prefixes=/prod" - "traefik.http.routers.spot.tls=true" - "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot,auth" + + beam-proxy: + environment: + APP_spot_KEY: ${FOCUS_BEAM_SECRET_SHORT} diff --git a/itcc/vars b/itcc/vars index b03403b8..662703ed 100644 --- a/itcc/vars +++ b/itcc/vars @@ -6,6 +6,8 @@ FOCUS_RETRY_COUNT=${FOCUS_RETRY_COUNT:-64} SUPPORT_EMAIL=arturo.macias@dkfz-heidelberg.de PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem BROKER_URL_FOR_PREREQ=$BROKER_URL +PUBLIC_ENVIRONMENT=prod +SITES=itcc-inform,itcc-ither,itcc-mappyacts,itcc-profyle,itcc-smpaeds,itcc-zero for module in $PROJECT/modules/*.sh do