From 0bbc73e1ba7539350036f121c64419b186edbbcd Mon Sep 17 00:00:00 2001 From: "p.delpy@dkfz-heidelberg.de" Date: Tue, 12 Aug 2025 13:56:28 +0200 Subject: [PATCH 1/7] feat: add pscc - fix rebase issues --- bridgehead | 3 ++ lib/prepare-system.sh | 3 ++ minimal/docker-compose.yml | 1 + pscc/docker-compose.yml | 65 +++++++++++++++++++++++++++++++++++ pscc/modules/lens-compose.yml | 34 ++++++++++++++++++ pscc/modules/lens-setup.sh | 5 +++ pscc/root.crt.pem | 20 +++++++++++ pscc/vars | 14 ++++++++ 8 files changed, 145 insertions(+) create mode 100644 pscc/docker-compose.yml create mode 100644 pscc/modules/lens-compose.yml create mode 100644 pscc/modules/lens-setup.sh create mode 100644 pscc/root.crt.pem create mode 100644 pscc/vars diff --git a/bridgehead b/bridgehead index 1951a7f..1cb1e30 100755 --- a/bridgehead +++ b/bridgehead @@ -35,6 +35,9 @@ case "$PROJECT" in cce) #nothing extra to do ;; + pscc) + #nothing extra to do + ;; itcc) #nothing extra to do ;; diff --git a/lib/prepare-system.sh b/lib/prepare-system.sh index b6aba52..a4f68d2 100755 --- a/lib/prepare-system.sh +++ b/lib/prepare-system.sh @@ -55,6 +55,9 @@ case "$PROJECT" in cce) site_configuration_repository_middle="git.verbis.dkfz.de/cce-sites/" ;; + pscc) + site_configuration_repository_middle="git.verbis.dkfz.de/pscc-sites/" + ;; itcc) site_configuration_repository_middle="git.verbis.dkfz.de/itcc-sites/" ;; diff --git a/minimal/docker-compose.yml b/minimal/docker-compose.yml index 159276a..5c78ed6 100644 --- a/minimal/docker-compose.yml +++ b/minimal/docker-compose.yml @@ -59,3 +59,4 @@ services: PROJECT: ${PROJECT} SITE_NAME: ${SITE_NAME} ENVIRONMENT: ${ENVIRONMENT} + profiles: [deactivated] diff --git a/pscc/docker-compose.yml b/pscc/docker-compose.yml new file mode 100644 index 0000000..19fcf39 --- /dev/null +++ b/pscc/docker-compose.yml @@ -0,0 +1,65 @@ +version: "3.7" + +services: + blaze: + 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:/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,auth" + - "traefik.http.routers.blaze_pscc.tls=true" + + focus: + image: docker.verbis.dkfz.de/cache/samply/focus:${FOCUS_TAG} + 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-pscc-blaze:8080/fhir/" + BEAM_PROXY_URL: http://beam-proxy:8081 + RETRY_COUNT: ${FOCUS_RETRY_COUNT} + EPSILON: 0.28 + ENDPOINT_TYPE: ${FOCUS_ENDPOINT_TYPE:-blaze} + depends_on: + - "beam-proxy" + - "blaze" + + beam-proxy: + image: docker.verbis.dkfz.de/cache/samply/beam-proxy:${BEAM_TAG} + 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/pscc/root.crt.pem:/conf/root.crt.pem:ro + + +volumes: + blaze-data: + +secrets: + proxy.pem: + file: /etc/bridgehead/pki/${SITE_ID}.priv.pem diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml new file mode 100644 index 0000000..79559ae --- /dev/null +++ b/pscc/modules/lens-compose.yml @@ -0,0 +1,34 @@ +version: "3.7" +services: + landing: + container_name: lens_federated-search + image: docker.verbis.dkfz.de/dashboard/pscc-explorer + labels: + - "traefik.enable=true" + - "traefik.http.routers.landing.rule=PathPrefix(`/`)" + - "traefik.http.services.landing.loadbalancer.server.port=5173" + - "traefik.http.routers.landing.middlewares=auth" + - "traefik.http.routers.landing.tls=true" + +# spot: +# image: docker.verbis.dkfz.de/ccp-private/central-spot +# environment: +# BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" +# BEAM_URL: http://beam-proxy:8081 +# BEAM_PROXY_ID: ${SITE_ID} +# BEAM_BROKER_ID: ${BROKER_ID} +# BEAM_APP_ID: "focus" +# PROJECT_METADATA: "cce_supervisors" +# depends_on: +# - "beam-proxy" +# labels: +# - "traefik.enable=true" +# - "traefik.http.services.spot.loadbalancer.server.port=8080" +# - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowmethods=GET,OPTIONS,POST" +# - "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.tls=true" +# - "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot" diff --git a/pscc/modules/lens-setup.sh b/pscc/modules/lens-setup.sh new file mode 100644 index 0000000..c19dc4b --- /dev/null +++ b/pscc/modules/lens-setup.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +if [ -n "$ENABLE_LENS" ];then + OVERRIDE+=" -f ./$PROJECT/modules/lens-compose.yml" +fi \ No newline at end of file diff --git a/pscc/root.crt.pem b/pscc/root.crt.pem new file mode 100644 index 0000000..1f1265a --- /dev/null +++ b/pscc/root.crt.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDNTCCAh2gAwIBAgIUW34NEb7bl0+Ywx+I1VKtY5vpAOowDQYJKoZIhvcNAQEL +BQAwFjEUMBIGA1UEAxMLQnJva2VyLVJvb3QwHhcNMjQwMTIyMTMzNzEzWhcNMzQw +MTE5MTMzNzQzWjAWMRQwEgYDVQQDEwtCcm9rZXItUm9vdDCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAL5UegLXTlq3XRRj8LyFs3aF0tpRPVoW9RXp5kFI +TnBvyO6qjNbMDT/xK+4iDtEX4QQUvsxAKxfXbe9i1jpdwjgH7JHaSGm2IjAiKLqO +OXQQtguWwfNmmp96Ql13ArLj458YH08xMO/w2NFWGwB/hfARa4z/T0afFuc/tKJf +XbGCG9xzJ9tmcG45QN8NChGhVvaTweNdVxGWlpHxmi0Mn8OM9CEuB7nPtTTiBuiu +pRC2zVVmNjVp4ktkAqL7IHOz+/F5nhiz6tOika9oD3376Xj055lPznLcTQn2+4d7 +K7ZrBopCFxIQPjkgmYRLfPejbpdUjK1UVJw7hbWkqWqH7JMCAwEAAaN7MHkwDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFGjvRcaIP4HM +poIguUAK9YL2n7fbMB8GA1UdIwQYMBaAFGjvRcaIP4HMpoIguUAK9YL2n7fbMBYG +A1UdEQQPMA2CC0Jyb2tlci1Sb290MA0GCSqGSIb3DQEBCwUAA4IBAQCbzycJSaDm +AXXNJqQ88djrKs5MDXS8RIjS/cu2ayuLaYDe+BzVmUXNA0Vt9nZGdaz63SLLcjpU +fNSxBfKbwmf7s30AK8Cnfj9q4W/BlBeVizUHQsg1+RQpDIdMrRQrwkXv8mfLw+w5 +3oaXNW6W/8KpBp/H8TBZ6myl6jCbeR3T8EMXBwipMGop/1zkbF01i98Xpqmhx2+l +n+80ofPsSspOo5XmgCZym8CD/m/oFHmjcvOfpOCvDh4PZ+i37pmbSlCYoMpla3u/ +7MJMP5lugfLBYNDN2p+V4KbHP/cApCDT5UWLOeAWjgiZQtHH5ilDeYqEc1oPjyJt +Rtup0MTxSJtN +-----END CERTIFICATE----- \ No newline at end of file diff --git a/pscc/vars b/pscc/vars new file mode 100644 index 0000000..7849cbe --- /dev/null +++ b/pscc/vars @@ -0,0 +1,14 @@ +BROKER_ID=test-no-real-data.broker.samply.de +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=denis.koether@dkfz-heidelberg.de +PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem +BROKER_URL_FOR_PREREQ=$BROKER_URL + +for module in $PROJECT/modules/*.sh +do + log DEBUG "sourcing $module" + source $module +done From 11ac7d5a3a2e877f085888b751a3ae6e121585b2 Mon Sep 17 00:00:00 2001 From: Pierre Delpy Date: Wed, 17 Sep 2025 14:30:20 +0200 Subject: [PATCH 2/7] add rusty spot --- pscc/modules/lens-compose.yml | 55 +++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml index 79559ae..bdd8c4d 100644 --- a/pscc/modules/lens-compose.yml +++ b/pscc/modules/lens-compose.yml @@ -10,25 +10,36 @@ services: - "traefik.http.routers.landing.middlewares=auth" - "traefik.http.routers.landing.tls=true" -# spot: -# image: docker.verbis.dkfz.de/ccp-private/central-spot -# environment: -# BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" -# BEAM_URL: http://beam-proxy:8081 -# BEAM_PROXY_ID: ${SITE_ID} -# BEAM_BROKER_ID: ${BROKER_ID} -# BEAM_APP_ID: "focus" -# PROJECT_METADATA: "cce_supervisors" -# depends_on: -# - "beam-proxy" -# labels: -# - "traefik.enable=true" -# - "traefik.http.services.spot.loadbalancer.server.port=8080" -# - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowmethods=GET,OPTIONS,POST" -# - "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.tls=true" -# - "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot" + spot: + image: samply/rustyspot:main + platform: linux/amd64 + ports: + - "8055:8055" + environment: + HTTP_PROXY: ${http_proxy} + HTTPS_PROXY: ${https_proxy} + NO_PROXY: beam-proxy + BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" + BEAM_PROXY_URL: http://beam-proxy:8081 + BEAM_APP_ID: "focus" + CORS_ORIGIN: "https://${GUI_HOST}" + SITES: "pscc-dkfz" + TRANSFORM: LENS + BIND_ADDR: 0.0.0.0:8055 + RUST_LOG: "debug" + LOG_FILE: /logs/requests.log + volumes: + - ./logs:/logs + depends_on: + - "beam-proxy" + labels: + - "traefik.enable=true" + - "traefik.http.services.spot.loadbalancer.server.port=8080" + - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowmethods=GET,OPTIONS,POST" + - "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.tls=true" + - "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot" \ No newline at end of file From 0b00576d1838d0364c3500231d7f3d89187f9eab Mon Sep 17 00:00:00 2001 From: Pierre Delpy Date: Thu, 18 Sep 2025 08:37:28 +0200 Subject: [PATCH 3/7] fix central spot deployment --- pscc/modules/lens-compose.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml index bdd8c4d..5e31dbd 100644 --- a/pscc/modules/lens-compose.yml +++ b/pscc/modules/lens-compose.yml @@ -16,13 +16,11 @@ services: ports: - "8055:8055" environment: - HTTP_PROXY: ${http_proxy} - HTTPS_PROXY: ${https_proxy} - NO_PROXY: beam-proxy BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" BEAM_PROXY_URL: http://beam-proxy:8081 - BEAM_APP_ID: "focus" - CORS_ORIGIN: "https://${GUI_HOST}" + BEAM_APP_ID: "spot.${SITE_ID}.${BROKER_ID}" + #CORS_ORIGIN: "https://${GUI_HOST}" + CORS_ORIGIN: "https://127.0.0.1" SITES: "pscc-dkfz" TRANSFORM: LENS BIND_ADDR: 0.0.0.0:8055 @@ -34,12 +32,16 @@ services: - "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.accesscontrolalloworiginlist=https://${HOST}" + #- "traefik.http.middlewares.corsheaders2.headers.accesscontrolalloworiginlist=https://${HOST}" + - "traefik.http.middlewares.corsheaders2.headers.accesscontrolalloworiginlist=http://localhost:3000" - "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.tls=true" - - "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot" \ No newline at end of file + - "traefik.http.routers.spot.middlewares=corsheaders2,stripprefix_spot" + beam-proxy: + environment: + APP_spot_KEY: ${FOCUS_BEAM_SECRET_SHORT} From dadb91400cf346d3ea5538fbca04f0533dba5943 Mon Sep 17 00:00:00 2001 From: Pierre Delpy Date: Mon, 22 Sep 2025 08:14:38 +0200 Subject: [PATCH 4/7] fix spot and use proper lens --- pscc/modules/lens-compose.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml index 5e31dbd..e25e2e9 100644 --- a/pscc/modules/lens-compose.yml +++ b/pscc/modules/lens-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: landing: container_name: lens_federated-search - image: docker.verbis.dkfz.de/dashboard/pscc-explorer + image: docker.verbis.dkfz.de/ccp/lens:${SITE_ID} labels: - "traefik.enable=true" - "traefik.http.routers.landing.rule=PathPrefix(`/`)" @@ -19,9 +19,8 @@ services: BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" BEAM_PROXY_URL: http://beam-proxy:8081 BEAM_APP_ID: "spot.${SITE_ID}.${BROKER_ID}" - #CORS_ORIGIN: "https://${GUI_HOST}" - CORS_ORIGIN: "https://127.0.0.1" - SITES: "pscc-dkfz" + CORS_ORIGIN: "https://${HOST}" + SITES: "${SITE_ID}" TRANSFORM: LENS BIND_ADDR: 0.0.0.0:8055 RUST_LOG: "debug" @@ -34,8 +33,7 @@ services: - "traefik.enable=true" - "traefik.http.services.spot.loadbalancer.server.port=8055" - "traefik.http.middlewares.corsheaders2.headers.accesscontrolallowmethods=GET,OPTIONS,POST" - #- "traefik.http.middlewares.corsheaders2.headers.accesscontrolalloworiginlist=https://${HOST}" - - "traefik.http.middlewares.corsheaders2.headers.accesscontrolalloworiginlist=http://localhost:3000" + - "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`)" From dbdf5f48b46bc97cf14e336efcdbd93949e3c4fe Mon Sep 17 00:00:00 2001 From: Pierre Delpy Date: Tue, 23 Sep 2025 08:02:43 +0200 Subject: [PATCH 5/7] fix lens and spot deployment --- minimal/docker-compose.yml | 1 - pscc/docker-compose.yml | 2 ++ pscc/modules/lens-compose.yml | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/minimal/docker-compose.yml b/minimal/docker-compose.yml index 5c78ed6..159276a 100644 --- a/minimal/docker-compose.yml +++ b/minimal/docker-compose.yml @@ -59,4 +59,3 @@ services: PROJECT: ${PROJECT} SITE_NAME: ${SITE_NAME} ENVIRONMENT: ${ENVIRONMENT} - profiles: [deactivated] diff --git a/pscc/docker-compose.yml b/pscc/docker-compose.yml index 19fcf39..f3343d4 100644 --- a/pscc/docker-compose.yml +++ b/pscc/docker-compose.yml @@ -56,6 +56,8 @@ services: - /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro - /srv/docker/bridgehead/pscc/root.crt.pem:/conf/root.crt.pem:ro + landing: + profiles: [deactivated] volumes: blaze-data: diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml index e25e2e9..79871ee 100644 --- a/pscc/modules/lens-compose.yml +++ b/pscc/modules/lens-compose.yml @@ -1,6 +1,6 @@ version: "3.7" services: - landing: + lens: container_name: lens_federated-search image: docker.verbis.dkfz.de/ccp/lens:${SITE_ID} labels: @@ -13,8 +13,6 @@ services: spot: image: samply/rustyspot:main platform: linux/amd64 - ports: - - "8055:8055" environment: BEAM_SECRET: "${FOCUS_BEAM_SECRET_SHORT}" BEAM_PROXY_URL: http://beam-proxy:8081 @@ -25,6 +23,7 @@ services: BIND_ADDR: 0.0.0.0:8055 RUST_LOG: "debug" LOG_FILE: /logs/requests.log + PROJECT: pscc volumes: - ./logs:/logs depends_on: From e7c637762e0dd4fb335d9178f17335c75a5430d3 Mon Sep 17 00:00:00 2001 From: Pierre Delpy Date: Tue, 23 Sep 2025 08:07:21 +0200 Subject: [PATCH 6/7] fix port --- pscc/modules/lens-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml index 79871ee..192500c 100644 --- a/pscc/modules/lens-compose.yml +++ b/pscc/modules/lens-compose.yml @@ -6,7 +6,7 @@ services: labels: - "traefik.enable=true" - "traefik.http.routers.landing.rule=PathPrefix(`/`)" - - "traefik.http.services.landing.loadbalancer.server.port=5173" + - "traefik.http.services.landing.loadbalancer.server.port=3000" - "traefik.http.routers.landing.middlewares=auth" - "traefik.http.routers.landing.tls=true" From 4486e92fddd13207e63e8713fee99669907b6a88 Mon Sep 17 00:00:00 2001 From: Pierre Delpy Date: Wed, 24 Sep 2025 09:43:37 +0200 Subject: [PATCH 7/7] fix spot query and logs --- pscc/modules/lens-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pscc/modules/lens-compose.yml b/pscc/modules/lens-compose.yml index 192500c..563e5b5 100644 --- a/pscc/modules/lens-compose.yml +++ b/pscc/modules/lens-compose.yml @@ -25,7 +25,8 @@ services: LOG_FILE: /logs/requests.log PROJECT: pscc volumes: - - ./logs:/logs + - /etc/bridgehead/logs:/logs + - /etc/bridgehead/query:/query:ro depends_on: - "beam-proxy" labels: