mirror of
https://github.com/samply/bridgehead.git
synced 2026-04-17 22:00:14 +02:00
Compare commits
12 Commits
feature/cc
...
feature/ml
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f304a40d68 | ||
|
|
aa97a863bd | ||
|
|
0c92ddaa1b | ||
|
|
0740452150 | ||
|
|
0ecb93027f | ||
|
|
4658a115c2 | ||
|
|
d8a1920ef9 | ||
|
|
ae1d184c9c | ||
|
|
72634ec69d | ||
|
|
e5fa8d044d | ||
|
|
017620e870 | ||
|
|
d83e58ae7f |
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -n "${DS_DIRECTORY_USER_NAME}" ] || [ -n "${DS_DIRECTORY_USER_TOKEN}" ]; then
|
||||
if [ -n "${DS_DIRECTORY_USER_NAME}" ]; then
|
||||
log INFO "Directory sync setup detected -- will start directory sync service."
|
||||
OVERRIDE+=" -f ./$PROJECT/modules/directory-sync-compose.yml"
|
||||
fi
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [ -n "$ENABLE_OSIRIS2FHIR" ]; then
|
||||
log INFO "OSIRIS2FHIR-REST setup detected -- will start osiris2fhir module."
|
||||
OVERRIDE+=" -f ./pscc/modules/osiris2fhir-compose.yml"
|
||||
LOCAL_SALT="$(echo \"local-random-salt\" | openssl pkeyutl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 30)"
|
||||
fi
|
||||
@@ -32,7 +32,7 @@ services:
|
||||
BEAM_PROXY_URL: http://beam-proxy:8081
|
||||
RETRY_COUNT: ${FOCUS_RETRY_COUNT}
|
||||
EPSILON: 0.28
|
||||
QUERIES_TO_CACHE: '/queries_to_cache.conf'
|
||||
QUERIES_TO_CACHE: "/queries_to_cache.conf"
|
||||
ENDPOINT_TYPE: ${FOCUS_ENDPOINT_TYPE:-blaze}
|
||||
volumes:
|
||||
- /srv/docker/bridgehead/itcc/queries_to_cache.conf:/queries_to_cache.conf:ro
|
||||
@@ -41,12 +41,13 @@ services:
|
||||
- "blaze"
|
||||
|
||||
beam-proxy:
|
||||
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:${BEAM_TAG}
|
||||
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop-sockets
|
||||
container_name: bridgehead-beam-proxy
|
||||
environment:
|
||||
BROKER_URL: ${BROKER_URL}
|
||||
PROXY_ID: ${PROXY_ID}
|
||||
APP_focus_KEY: ${FOCUS_BEAM_SECRET_SHORT}
|
||||
APP_omics-endpoint_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
|
||||
@@ -59,7 +60,6 @@ services:
|
||||
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
|
||||
- /srv/docker/bridgehead/itcc/root.crt.pem:/conf/root.crt.pem:ro
|
||||
|
||||
|
||||
volumes:
|
||||
blaze-data:
|
||||
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
if [ -n "$ENABLE_OMICS" ];then
|
||||
OVERRIDE+=" -f ./$PROJECT/modules/itcc-omics-ingest.yaml"
|
||||
GENERATE_API_KEY="$(generate_simple_password 'omics')"
|
||||
PATIENTLIST_POSTGRES_PASSWORD=="$(generate_simple_password 'mainzelliste')"
|
||||
fi
|
||||
@@ -1,8 +1,20 @@
|
||||
services:
|
||||
omics-endpoint:
|
||||
image: ghcr.io/samply/itcc-omics-ingest:main
|
||||
image: ghcr.io/samply/itcc-omics-ingest:fix-task
|
||||
environment:
|
||||
- API_KEY=${GENERATE_API_KEY}
|
||||
API_KEY: ${GENERATE_API_KEY}
|
||||
RUST_LOG: debug
|
||||
BEAM_ID: "omics-endpoint.${PROXY_ID}"
|
||||
BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}"
|
||||
BEAM_URL: http://beam-proxy:8081
|
||||
ML_URL: http://mainzelliste:8080
|
||||
BLAZE_URL: http://bridgehead-itcc-blaze:8080/fhir/
|
||||
DWH_SOCKET_ID: "${DWH_SOCKET_ID}"
|
||||
DWH_TASK_ID: "${DWH_TASK_ID}"
|
||||
ENABLE_SOCKETS: true
|
||||
PARTNER_ID: itcc-inform
|
||||
ML_API_KEY: ${GENERATE_API_KEY}
|
||||
|
||||
volumes:
|
||||
- /var/cache/bridgehead/omics/data:/data/uploads
|
||||
labels:
|
||||
@@ -12,3 +24,58 @@ services:
|
||||
- "traefik.http.routers.omics.tls=true"
|
||||
- "traefik.http.middlewares.omics-stripprefix.stripprefix.prefixes=/api"
|
||||
- "traefik.http.routers.omics.middlewares=omics-stripprefix"
|
||||
|
||||
db:
|
||||
image: postgres:15
|
||||
container_name: db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: mainzelliste
|
||||
POSTGRES_USER: ${ML_DB_USER}
|
||||
POSTGRES_PASSWORD: ${PATIENTLIST_POSTGRES_PASSWORD}
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- db_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${ML_DB_USER} -d mainzelliste"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 10s
|
||||
|
||||
mainzelliste:
|
||||
image: medicalinformatics/mainzelliste:latest
|
||||
container_name: mainzelliste
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- 7887:8080
|
||||
|
||||
environment:
|
||||
ML_API_KEY: ${GENERATE_API_KEY}
|
||||
ML_DB_HOST: db
|
||||
ML_DB_PORT: "5432"
|
||||
ML_DB_NAME: mainzelliste
|
||||
ML_DB_USER: ${ML_DB_USER}
|
||||
ML_DB_PASS: ${PATIENTLIST_POSTGRES_PASSWORD}
|
||||
ML_DB_DRIVER: org.postgresql.Driver
|
||||
ML_DB_TYPE: postgresql
|
||||
ML_LOG_LEVEL: INFO
|
||||
ML_ALLOWEDREMOTEADDRESSES: "127.0.0.1,::1,172.16.0.0/12"
|
||||
|
||||
secrets:
|
||||
- mainzelliste.docker.conf
|
||||
- source: symmetric_key
|
||||
target: /etc/resources/keys/symmetric_key.der
|
||||
|
||||
volumes:
|
||||
db_data:
|
||||
secrets:
|
||||
mainzelliste.docker.conf:
|
||||
file: /etc/bridgehead/mainzelliste/mainzelliste.docker.conf
|
||||
|
||||
symmetric_key:
|
||||
file: /etc/bridgehead/mainzelliste/keyset_siv.json
|
||||
|
||||
@@ -7,6 +7,9 @@ SUPPORT_EMAIL=arturo.macias@dkfz-heidelberg.de
|
||||
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
|
||||
BROKER_URL_FOR_PREREQ=$BROKER_URL
|
||||
PUBLIC_ENVIRONMENT=prod
|
||||
DWH_SOCKET_ID=socket.itcc-datalake.${BROKER_ID}
|
||||
DWH_TASK_ID=task.itcc-datalake.${BROKER_ID}
|
||||
ML_DB_USER=mainzelliste
|
||||
|
||||
for module in $PROJECT/modules/*.sh
|
||||
do
|
||||
|
||||
@@ -12,8 +12,7 @@ services:
|
||||
BASE_URL: "http://bridgehead-kr-blaze:8080"
|
||||
JAVA_TOOL_OPTIONS: "-Xmx${BLAZE_MEMORY_CAP:-4096}m"
|
||||
DB_RESOURCE_CACHE_SIZE: ${BLAZE_RESOURCE_CACHE_CAP:-2500000}
|
||||
DB_BLOCK_CACHE_SIZE: ${BLAZE_MEMORY_CAP}
|
||||
CQL_EXPR_CACHE_SIZE: ${BLAZE_CQL_CACHE_CAP:-32}
|
||||
DB_BLOCK_CACHE_SIZE: $BLAZE_MEMORY_CAP
|
||||
ENFORCE_REFERENTIAL_INTEGRITY: "false"
|
||||
volumes:
|
||||
- "blaze-data:/app/data"
|
||||
|
||||
6
kr/modules/export-and-qb.curl-templates
Normal file
6
kr/modules/export-and-qb.curl-templates
Normal file
@@ -0,0 +1,6 @@
|
||||
# Full Excel Export
|
||||
curl --location --request POST 'https://${HOST}/ccp-exporter/request?query=Patient&query-format=FHIR_PATH&template-id=ccp&output-format=EXCEL' \
|
||||
--header 'x-api-key: ${EXPORT_API_KEY}'
|
||||
|
||||
# QB
|
||||
curl --location --request POST 'https://${HOST}/ccp-reporter/generate?template-id=ccp'
|
||||
@@ -4,41 +4,32 @@ services:
|
||||
deploy:
|
||||
replicas: 1 #reactivate if lens is in use
|
||||
container_name: lens_federated-search
|
||||
image: docker.verbis.dkfz.de/ccp/kr-explorer:main
|
||||
environment:
|
||||
PUBLIC_SPOT_URL: https://${HOST}/prod
|
||||
image: docker.verbis.dkfz.de/ccp/lens:${SITE_ID}
|
||||
labels:
|
||||
- "traefik.http.services.lens.loadbalancer.server.port=3000"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.lens.rule=Host(`${HOST}`)"
|
||||
- "traefik.http.routers.lens.tls=true"
|
||||
- "traefik.http.routers.landing.rule=PathPrefix(`/`)"
|
||||
- "traefik.http.services.landing.loadbalancer.server.port=80"
|
||||
- "traefik.http.routers.landing.tls=true"
|
||||
|
||||
spot:
|
||||
image: samply/rustyspot:latest
|
||||
image: docker.verbis.dkfz.de/ccp-private/central-spot
|
||||
environment:
|
||||
BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}"
|
||||
BEAM_PROXY_URL: http://beam-proxy:8081
|
||||
BEAM_APP_ID: "spot.${SITE_ID}.${BROKER_ID}"
|
||||
CORS_ORIGIN: "https://${HOST}"
|
||||
SITES: ${SITES}
|
||||
TRANSFORM: LENS
|
||||
PROJECT: kr
|
||||
BIND_ADDR: 0.0.0.0:8055
|
||||
BEAM_URL: http://beam-proxy:8081
|
||||
BEAM_PROXY_ID: ${SITE_ID}
|
||||
BEAM_BROKER_ID: ${BROKER_ID}
|
||||
BEAM_APP_ID: "focus"
|
||||
PROJECT_METADATA: "kr_supervisors"
|
||||
depends_on:
|
||||
- "beam-proxy"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.services.spot.loadbalancer.server.port=8055"
|
||||
- "traefik.http.services.spot.loadbalancer.server.port=8080"
|
||||
- "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(`/prod`)"
|
||||
- "traefik.http.middlewares.stripprefix_spot.stripprefix.prefixes=/prod"
|
||||
- "traefik.http.routers.spot.rule=Host(`${HOST}`) && PathPrefix(`/backend`)"
|
||||
- "traefik.http.middlewares.stripprefix_spot.stripprefix.prefixes=/backend"
|
||||
- "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}
|
||||
- "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot"
|
||||
|
||||
@@ -3,7 +3,7 @@ version: "3.7"
|
||||
services:
|
||||
obds2fhir-rest:
|
||||
container_name: bridgehead-obds2fhir-rest
|
||||
image: docker.verbis.dkfz.de/samply/obds2fhir-rest:main
|
||||
image: docker.verbis.dkfz.de/ccp/obds2fhir-rest:main
|
||||
environment:
|
||||
IDTYPE: BK_${IDMANAGEMENT_FRIENDLY_ID}_L-ID
|
||||
MAINZELLISTE_APIKEY: ${IDMANAGER_LOCAL_PATIENTLIST_APIKEY}
|
||||
|
||||
2
kr/vars
2
kr/vars
@@ -3,7 +3,7 @@ BROKER_URL=https://${BROKER_ID}
|
||||
PROXY_ID=${SITE_ID}.${BROKER_ID}
|
||||
FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
||||
FOCUS_RETRY_COUNT=${FOCUS_RETRY_COUNT:-64}
|
||||
SUPPORT_EMAIL=p.delpy@dkfz-heidelberg.de
|
||||
SUPPORT_EMAIL=arturo.macias@dkfz-heidelberg.de
|
||||
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
|
||||
BROKER_URL_FOR_PREREQ=$BROKER_URL
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
services:
|
||||
osiris2fhir:
|
||||
container_name: bridgehead-osiris2fhir
|
||||
image: docker.verbis.dkfz.de/ccp/osiris2fhir
|
||||
environment:
|
||||
FHIR_PROFILE: ${PROJECT:-pscc}
|
||||
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
||||
SALT: ${LOCAL_SALT}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.osiris2fhir.rule=PathPrefix(`/osiris2fhir`)"
|
||||
- "traefik.http.middlewares.osiris2fhir_strip.stripprefix.prefixes=/osiris2fhir"
|
||||
- "traefik.http.services.osiris2fhir.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.osiris2fhir.tls=true"
|
||||
- "traefik.http.routers.osiris2fhir.middlewares=osiris2fhir_strip,auth"
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [ -n "$ENABLE_OSIRIS2FHIR" ]; then
|
||||
log INFO "OSIRIS2FHIR-REST setup detected -- will start osiris2fhir module."
|
||||
OVERRIDE+=" -f ./pscc/modules/osiris2fhir-compose.yml"
|
||||
LOCAL_SALT="$(echo \"local-random-salt\" | openssl pkeyutl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 30)"
|
||||
fi
|
||||
Reference in New Issue
Block a user