From e9b27c4368fe5a02df17eb44ee34a5d0ac2bd894 Mon Sep 17 00:00:00 2001
From: "p.delpy@dkfz-heidelberg.de"
Date: Mon, 2 Jun 2025 10:23:01 +0200
Subject: [PATCH] feature: enable pscc bh within cce project
---
cce/modules/pscc-compose.yml | 65 ++++++++++++++++++++++++++++++++++++
cce/modules/pscc-setup.sh | 5 +++
cce/vars | 3 ++
3 files changed, 73 insertions(+)
create mode 100644 cce/modules/pscc-compose.yml
create mode 100644 cce/modules/pscc-setup.sh
diff --git a/cce/modules/pscc-compose.yml b/cce/modules/pscc-compose.yml
new file mode 100644
index 0000000..7c7bb17
--- /dev/null
+++ b/cce/modules/pscc-compose.yml
@@ -0,0 +1,65 @@
+version: "3.7"
+
+services:
+ blaze-pscc:
+ image: docker.verbis.dkfz.de/cache/samply/blaze:${BLAZE_TAG}
+ container_name: bridgehead-pscc-blaze
+ environment:
+ BASE_URL: "http://bridgehead-pscc-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}
+ ENFORCE_REFERENTIAL_INTEGRITY: "false"
+ volumes:
+ - "blaze-data-pscc:/app/data"
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers.blaze_pscc.rule=PathPrefix(`/pscc-localdatamanagement`)"
+ - "traefik.http.middlewares.pscc_b_strip.stripprefix.prefixes=/pscc-localdatamanagement"
+ - "traefik.http.services.blaze_pscc.loadbalancer.server.port=8080"
+ - "traefik.http.routers.blaze_pscc.middlewares=pscc_b_strip"
+ - "traefik.http.routers.blaze_pscc.tls=true"
+
+ focus-pscc:
+ image: docker.verbis.dkfz.de/cache/samply/focus:${FOCUS_TAG}
+ container_name: bridgehead-pscc-focus
+ environment:
+ API_KEY: ${FOCUS_BEAM_SECRET_SHORT}
+ BEAM_APP_ID_LONG: focus.${PROXY_ID_PSCC}
+ PROXY_ID: ${PROXY_ID_PSCC}
+ BLAZE_URL: "http://bridgehead-pscc-blaze:8080/fhir/"
+ BEAM_PROXY_URL: http://beam-proxy-pscc:8081
+ RETRY_COUNT: ${FOCUS_RETRY_COUNT}
+ EPSILON: 0.28
+ ENDPOINT_TYPE: ${FOCUS_ENDPOINT_TYPE:-blaze}
+ depends_on:
+ - "beam-proxy"
+ - "blaze"
+
+ beam-proxy-pscc:
+ image: docker.verbis.dkfz.de/cache/samply/beam-proxy:${BEAM_TAG}
+ container_name: bridgehead-pscc-beam-proxy
+ environment:
+ BROKER_URL: ${BROKER_URL_PSCC}
+ PROXY_ID: ${PROXY_ID_PSCC}
+ 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/pscc/root.crt.pem:/conf/root.crt.pem:ro
+
+
+volumes:
+ blaze-data-pscc:
+
+secrets:
+ proxy.pem:
+ file: /etc/bridgehead/pki/${SITE_ID}.priv.pem
diff --git a/cce/modules/pscc-setup.sh b/cce/modules/pscc-setup.sh
new file mode 100644
index 0000000..5dafbfd
--- /dev/null
+++ b/cce/modules/pscc-setup.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+if [ -n "$ENABLE_PSCC" ];then
+ OVERRIDE+=" -f ./$PROJECT/modules/pscc-compose.yml"
+fi
\ No newline at end of file
diff --git a/cce/vars b/cce/vars
index 7d0c1a3..5e2b3fc 100644
--- a/cce/vars
+++ b/cce/vars
@@ -1,6 +1,9 @@
BROKER_ID=test-no-real-data.broker.samply.de
+BROKER_ID_PSCC=test-no-real-data.broker.samply.de
BROKER_URL=https://${BROKER_ID}
+BROKER_URL_PSCC=https://${BROKER_ID}
PROXY_ID=${SITE_ID}.${BROKER_ID}
+PROXY_ID_PSCC=${SITE_ID}.${BROKER_ID_PSCC}
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=manoj.waikar@dkfz-heidelberg.de