Changes for metadata feedback

These changes fall into the following categories:

* Integration of the feedback components into Traefik.
* Small tweaks to Bridgehead parameters needed by metadata feedback.
* Reverting changes made to some files for testing purposes.
This commit is contained in:
DavidCroftDKFZ 2025-02-04 14:55:08 +01:00
parent 634d4e2a4b
commit 9977578aa5
6 changed files with 99 additions and 43 deletions

View File

@ -22,6 +22,7 @@ services:
BROKER_URL: ${ERIC_BROKER_URL} BROKER_URL: ${ERIC_BROKER_URL}
PROXY_ID: ${ERIC_PROXY_ID} PROXY_ID: ${ERIC_PROXY_ID}
APP_focus_KEY: ${ERIC_FOCUS_BEAM_SECRET_SHORT} APP_focus_KEY: ${ERIC_FOCUS_BEAM_SECRET_SHORT}
APP_feedback-agent_KEY: App1Secret
PRIVKEY_FILE: /run/secrets/proxy.pem PRIVKEY_FILE: /run/secrets/proxy.pem
ALL_PROXY: http://forward_proxy:3128 ALL_PROXY: http://forward_proxy:3128
TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs

View File

@ -7,10 +7,10 @@ services:
environment: environment:
JAVA_OPTS: "-Xms1G -Xmx8G -XX:+UseG1GC" JAVA_OPTS: "-Xms1G -Xmx8G -XX:+UseG1GC"
LOG_LEVEL: "INFO" LOG_LEVEL: "INFO"
EXPORTER_API_KEY: "${EXPORTER_API_KEY}" # Set in exporter-setup.sh EXPORTER_API_KEY: "${EXPORTER_API_KEY}"
CROSS_ORIGINS: "https://${HOST}" CROSS_ORIGINS: "https://${HOST}"
EXPORTER_DB_USER: "exporter" EXPORTER_DB_USER: "exporter"
EXPORTER_DB_PASSWORD: "${EXPORTER_DB_PASSWORD}" # Set in exporter-setup.sh EXPORTER_DB_PASSWORD: "${EXPORTER_DB_PASSWORD}"
EXPORTER_DB_URL: "jdbc:postgresql://exporter-db:5432/exporter" EXPORTER_DB_URL: "jdbc:postgresql://exporter-db:5432/exporter"
HTTP_RELATIVE_PATH: "/ccp-exporter" HTTP_RELATIVE_PATH: "/ccp-exporter"
SITE: "${SITE_ID}" SITE: "${SITE_ID}"
@ -31,7 +31,7 @@ services:
container_name: bridgehead-ccp-exporter-db container_name: bridgehead-ccp-exporter-db
environment: environment:
POSTGRES_USER: "exporter" POSTGRES_USER: "exporter"
POSTGRES_PASSWORD: "${EXPORTER_DB_PASSWORD}" # Set in exporter-setup.sh POSTGRES_PASSWORD: "${EXPORTER_DB_PASSWORD}"
POSTGRES_DB: "exporter" POSTGRES_DB: "exporter"
volumes: volumes:
# Consider removing this volume once we find a solution to save Lens-queries to be executed in the explorer. # Consider removing this volume once we find a solution to save Lens-queries to be executed in the explorer.
@ -46,7 +46,7 @@ services:
CROSS_ORIGINS: "https://${HOST}" CROSS_ORIGINS: "https://${HOST}"
HTTP_RELATIVE_PATH: "/ccp-reporter" HTTP_RELATIVE_PATH: "/ccp-reporter"
SITE: "${SITE_ID}" SITE: "${SITE_ID}"
EXPORTER_API_KEY: "${EXPORTER_API_KEY}" # Set in exporter-setup.sh EXPORTER_API_KEY: "${EXPORTER_API_KEY}"
EXPORTER_URL: "http://exporter:8092" EXPORTER_URL: "http://exporter:8092"
LOG_FHIR_VALIDATION: "false" LOG_FHIR_VALIDATION: "false"
HTTP_SERVLET_REQUEST_SCHEME: "https" HTTP_SERVLET_REQUEST_SCHEME: "https"

View File

@ -0,0 +1,59 @@
version: "3.7"
services:
feedback-agent-ui:
image: "samply/feedback-agent-ui"
environment:
- VUE_APP_EXPORTER_URL=https://localhost/ccp-exporter
- VUE_APP_FB_BACKEND_URL=http://localhost:8072
labels:
- traefik.enable=true
# HTTPS
- traefik.http.routers.feedback_agent_ui_ccp_https.rule=PathPrefix(`/ccp-feedback-agent-ui`)
- traefik.http.services.feedback_agent_ui_ccp_https.loadbalancer.server.port=8096
- traefik.http.routers.feedback_agent_ui_ccp_https.entrypoints=websecure
- traefik.http.routers.feedback_agent_ui_ccp_https.tls=true
feedback-agent:
image: "samply/feedback-agent"
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://feedback-agent-db:5432/compose-postgres
- SPRING_DATASOURCE_USERNAME=compose-postgres
- SPRING_DATASOURCE_PASSWORD=compose-postgres
- SPRING_JPA_HIBERNATE_DDL_AUTO=update
- BEAM_PROXY_URI=http://beam-proxy-eric:8081
- FEEDBACK_HUB_URL=http://feedback-hub-be:8071
- BLAZE_BASE_URL=http://blaze:8080/fhir
- FEEDBACK_AGENT_SECRET=App1Secret
- FEEDBACK_AGENT_BEAM_ID=feedback-agent.${ERIC_PROXY_ID}
- FEEDBACK_HUB_BEAM_ID=feedback-hub.feedback-central.${ERIC_BROKER_ID}
- EXPORTER_API_KEY=${EXPORTER_API_KEY}
- CORS_ALLOWED_ORIGINS="https://${HOST}
networks:
# Only needed for local testing.
- feedback
- default
labels:
- traefik.enable=true
# HTTPS
- traefik.http.routers.feedback_agent_ccp_https.rule=PathPrefix(`/ccp-feedback-agent`)
- traefik.http.services.feedback_agent_ccp_https.loadbalancer.server.port=8072
- traefik.http.routers.feedback_agent_ccp_https.entrypoints=websecure
- traefik.http.middlewares.feedback_agent_ccp_https_strip.stripprefix.prefixes=/ccp-feedback-agent
- traefik.http.routers.feedback_agent_ccp_https.middlewares=feedback_agent_ccp_https_strip
- traefik.http.routers.feedback_agent_ccp_https.tls=true
feedback-agent-db:
image: 'postgres:13.1-alpine'
container_name: feedback-agent-db
environment:
- POSTGRES_USER=compose-postgres
- POSTGRES_PASSWORD=compose-postgres
# This is needed when you run both agent and hub locally in a test
# environment. Not necessary in production, though it probably won't
# cause any problems.
networks:
# Network to connect agent and hub.
feedback:
name: feedback
driver: bridge

View File

@ -4,7 +4,7 @@
# Makes only sense for German Biobanks # Makes only sense for German Biobanks
: ${ENABLE_GBN:=false} : ${ENABLE_GBN:=false}
FOCUS_RETRY_COUNT=32 FOCUS_RETRY_COUNT=256
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
OIDC_USER_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})" OIDC_USER_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})"

View File

@ -20,45 +20,40 @@ services:
- "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,auth" - "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,auth"
- "traefik.http.routers.blaze_ccp.tls=true" - "traefik.http.routers.blaze_ccp.tls=true"
# Modification needed for running in a test mode focus:
# Commented out so that the Bridgehead can run without Beam. image: docker.verbis.dkfz.de/cache/samply/focus:0.4.4
container_name: bridgehead-focus
environment:
API_KEY: ${FOCUS_BEAM_SECRET_SHORT}
BEAM_APP_ID_LONG: focus.${PROXY_ID}
PROXY_ID: ${PROXY_ID}
BLAZE_URL: "http://bridgehead-ccp-blaze:8080/fhir/"
BEAM_PROXY_URL: http://beam-proxy:8081
RETRY_COUNT: ${FOCUS_RETRY_COUNT}
EPSILON: 0.28
depends_on:
# - "beam-proxy"
- "beam-proxy"
- "blaze"
# focus: beam-proxy:
# image: docker.verbis.dkfz.de/cache/samply/focus:0.4.4 image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop
# container_name: bridgehead-focus container_name: bridgehead-beam-proxy
# environment: environment:
# API_KEY: ${FOCUS_BEAM_SECRET_SHORT} BROKER_URL: ${BROKER_URL}
# BEAM_APP_ID_LONG: focus.${PROXY_ID} PROXY_ID: ${PROXY_ID}
# PROXY_ID: ${PROXY_ID} APP_focus_KEY: ${FOCUS_BEAM_SECRET_SHORT}
# BLAZE_URL: "http://bridgehead-ccp-blaze:8080/fhir/" PRIVKEY_FILE: /run/secrets/proxy.pem
# BEAM_PROXY_URL: http://beam-proxy:8081 ALL_PROXY: http://forward_proxy:3128
# RETRY_COUNT: ${FOCUS_RETRY_COUNT} TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs
# EPSILON: 0.28 ROOTCERT_FILE: /conf/root.crt.pem
# depends_on: secrets:
## - "beam-proxy" - proxy.pem
# - "blaze" depends_on:
- "forward_proxy"
# Modification needed for running in a test mode volumes:
# Commented out so that the Bridgehead can run without Beam. - /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
- /srv/docker/bridgehead/ccp/root.crt.pem:/conf/root.crt.pem:ro
# beam-proxy:
# image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop
# container_name: bridgehead-beam-proxy
# environment:
# BROKER_URL: ${BROKER_URL}
# PROXY_ID: ${PROXY_ID}
# APP_focus_KEY: ${FOCUS_BEAM_SECRET_SHORT}
# PRIVKEY_FILE: /run/secrets/proxy.pem
# ALL_PROXY: http://forward_proxy:3128
# TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs
# ROOTCERT_FILE: /conf/root.crt.pem
# secrets:
# - proxy.pem
# depends_on:
# - "forward_proxy"
# volumes:
# - /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
# - /srv/docker/bridgehead/ccp/root.crt.pem:/conf/root.crt.pem:ro
volumes: volumes:

View File

@ -58,3 +58,4 @@ services:
HOST: ${HOST} HOST: ${HOST}
PROJECT: ${PROJECT} PROJECT: ${PROJECT}
SITE_NAME: ${SITE_NAME} SITE_NAME: ${SITE_NAME}
ENVIRONMENT: ${ENVIRONMENT}