Compare commits

..

16 Commits

Author SHA1 Message Date
Torben Brenner
70df0cded0 fix: use RECEIVER_PROXY_ID instead of $1 2025-09-09 08:43:04 +02:00
Torben Brenner
f17ff3fcd8 fix: added missing -f arg 2025-09-09 08:43:04 +02:00
Torben Brenner
c23ef2f251 fix: don't attach to network use project instead 2025-09-09 08:43:04 +02:00
Torben Brenner
4b4dab0fec fix: add beam-send to project network 2025-09-09 08:43:04 +02:00
Torben Brenner
7717b0c528 fix: make a persistent send secret per bridgehead 2025-09-09 08:43:04 +02:00
Torben Brenner
6195f698dc refactor: beam file send is only an executable command 2025-09-09 08:43:04 +02:00
Torben Brenner
b64d848760 feat: added commands for beam-file send mode 2025-09-09 08:43:04 +02:00
Torben Brenner
ae738aa98f fix: pass outdir path as separate token 2025-09-09 08:43:04 +02:00
Torben Brenner
efb381246f fix: added quotes to data directory option 2025-09-09 08:43:04 +02:00
Torben Brenner
3d336bf233 fix: now properly reading variables for the check 2025-09-09 08:43:04 +02:00
Torben Brenner
c9a6a03628 prototype: module for beam-file 2025-09-09 08:42:53 +02:00
Tim Schumacher
8a35785a24 feat: add scout module (#339) 2025-09-02 13:23:34 +02:00
Jan
e0754853d8 feat(dnpm): change to new api-gateway image (#337) 2025-08-19 16:35:52 +02:00
Jan
4407a87644 chore: add more options to transfair (#325) 2025-08-19 16:32:41 +02:00
Jan
d0851d80a0 fix: adapt to transfair cli changes (#319) 2025-08-19 15:48:05 +02:00
djuarezgf
ada3226044 Replace hardcoded image: ...:develop references with version variables (#335)
* added: Teiler Dashboard Version

* added: MTBA Version

* added: beam proxy tag version
2025-07-30 11:21:10 +02:00
20 changed files with 128 additions and 16 deletions

View File

@@ -19,7 +19,7 @@ services:
HTTP_RELATIVE_PATH: "/bbmri-teiler"
teiler-dashboard:
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:develop
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:${TEILER_DASHBOARD_TAG}
container_name: bridgehead-teiler-dashboard
labels:
- "traefik.enable=true"

View File

@@ -176,6 +176,13 @@ case "$ACTION" in
;;
postRun | postUpdate)
;;
send-file)
loadVars
log "WARNING" "Your are about to send a file to another bridgehead in your network!"
read -p "Please name the bridgehead you want to send the file to (proxy-id): " RECEIVER_PROXY_ID
read -p "Continue? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1
exec $COMPOSE -p $PROJECT -f ./modules/beam-file-compose.yml --profile beam-file-sender run beam-file-sender send --to beamfile.$RECEIVER_PROXY_ID /data/outfile
;;
*)
printUsage
exit 1

View File

@@ -19,7 +19,7 @@ services:
HTTP_RELATIVE_PATH: "/cce-teiler"
teiler-dashboard:
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:develop
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:${TEILER_DASHBOARD_TAG}
container_name: bridgehead-teiler-dashboard
labels:
- "traefik.enable=true"

View File

@@ -3,8 +3,7 @@ version: "3.7"
services:
opal:
container_name: bridgehead-opal
#image: docker.verbis.dkfz.de/ccp/dktk-opal:latest
image: docker.verbis.dkfz.de/ccp/dktk-opal:test
image: docker.verbis.dkfz.de/ccp/dktk-opal:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.opal_ccp.rule=PathPrefix(`/opal`)"

View File

@@ -58,7 +58,7 @@ services:
dnpm-backend:
container_name: bridgehead-dnpm-backend
image: ghcr.io/dnpm-dip/backend:${DNPM_IMAGE_TAG:-latest}
image: ghcr.io/dnpm-dip/api-gateway:latest
environment:
- LOCAL_SITE=${ZPM_SITE}:${SITE_NAME} # Format: {Site-ID}:{Site-name}, e.g. UKT:Tübingen
- RD_RANDOM_DATA=${DNPM_SYNTH_NUM:--1}

View File

@@ -2,7 +2,7 @@ version: "3.7"
services:
mtba:
image: docker.verbis.dkfz.de/cache/samply/mtba:develop
image: docker.verbis.dkfz.de/cache/samply/mtba:${MTBA_TAG}
container_name: bridgehead-mtba
environment:
BLAZE_STORE_URL: http://blaze:8080

View File

@@ -19,7 +19,7 @@ services:
HTTP_RELATIVE_PATH: "/ccp-teiler"
teiler-dashboard:
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:develop
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:${TEILER_DASHBOARD_TAG}
container_name: bridgehead-teiler-dashboard
labels:
- "traefik.enable=true"

View File

@@ -39,12 +39,13 @@ services:
- "blaze"
beam-proxy:
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop
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}
APP_beamfilesend_KEY: ${BEAM_FILE_SEND_SECRET}
PRIVKEY_FILE: /run/secrets/proxy.pem
ALL_PROXY: http://forward_proxy:3128
TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs

View File

@@ -5,6 +5,7 @@ FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | h
FOCUS_RETRY_COUNT=${FOCUS_RETRY_COUNT:-64}
SUPPORT_EMAIL=support-ccp@dkfz-heidelberg.de
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
BEAM_FILE_SEND_SECRET="$(echo \"beam-file-send-salt\" | openssl pkeyutl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 30)"
BROKER_URL_FOR_PREREQ=$BROKER_URL
@@ -23,4 +24,6 @@ do
source $module
done
transfairSetup
transfairSetup
scoutSetup
beamFileSetup

View File

@@ -40,7 +40,7 @@ services:
- "blaze"
beam-proxy:
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:${BEAM_TAG}
container_name: bridgehead-beam-proxy
environment:
BROKER_URL: ${BROKER_URL}

View File

@@ -19,7 +19,7 @@ services:
HTTP_RELATIVE_PATH: "/kr-teiler"
teiler-dashboard:
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:develop
image: docker.verbis.dkfz.de/cache/samply/teiler-dashboard:${TEILER_DASHBOARD_TAG}
container_name: bridgehead-teiler-dashboard
labels:
- "traefik.enable=true"

View File

@@ -58,7 +58,7 @@ services:
dnpm-backend:
container_name: bridgehead-dnpm-backend
image: ghcr.io/dnpm-dip/backend:${DNPM_IMAGE_TAG:-latest}
image: ghcr.io/dnpm-dip/api-gateway:latest
environment:
- LOCAL_SITE=${ZPM_SITE}:${SITE_NAME} # Format: {Site-ID}:{Site-name}, e.g. UKT:Tübingen
- RD_RANDOM_DATA=${DNPM_SYNTH_NUM:--1}

View File

@@ -0,0 +1,35 @@
# NOTE: Current implementation is restricted to a bridgehead only being able to either upload or download data
services:
beam-file-sender:
image: samply/beam-file:${BEAM_FILE_TAG}
container_name: bridgehead-beam-file-sender
environment:
- BEAM_ID=beamfilesend.${PROXY_ID}
- BEAM_SECRET=${BEAM_FILE_SEND_SECRET}
- BEAM_URL=http://beam-proxy:8081
- BIND_ADDR=0.0.0.0:8085
- API_KEY=${BEAM_FILE_API_KEY}
# Only uncomment if your are sure what to do
# ports:
# - 8085:8085
volumes:
- /var/cache/bridgehead/beam-file-out/:/data
profiles: ["beam-file-sender"]
beam-file-receiver:
image: samply/beam-file:${BEAM_FILE_TAG}
container_name: bridgehead-beam-file-receiver
environment:
- BEAM_ID=beamfile.${PROXY_ID}
- BEAM_SECRET=${BEAM_FILE_SECRET}
- BEAM_URL=http://beam-proxy:8081
- API_KEY=${BEAM_FILE_API_KEY}
command: ["receive", "save", "--outdir", "/data"]
volumes:
- /var/cache/bridgehead/beam-file/:/data
profiles: ["beam-file-receiver"]
beam-proxy:
environment:
APP_beamfile_KEY: ${BEAM_FILE_SECRET}
profiles: ["beam-file-receiver"]

View File

@@ -0,0 +1,11 @@
#!/bin/bash -e
function beamFileSetup() {
if [ -n "$ENABLE_BEAM_FILE_RECEIVER" ]; then
echo "Starting beam file in receiver mode"
OVERRIDE+=" -f ./modules/beam-file-compose.yml --profile beam-file-receiver"
BEAM_FILE_SECRET="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
BEAM_FILE_API_KEY="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
log INFO "Beam File in Receiver Mode available uses ApiKey ${BEAM_FILE_API_KEY}"
fi
}

40
modules/scout-compose.yml Normal file
View File

@@ -0,0 +1,40 @@
volumes:
scout-blaze-data:
services:
traefik:
labels:
- "traefik.http.middlewares.additional-users-auth.basicauth.users=${SCOUT_BASIC_AUTH_USERS}"
scout-blaze:
image: docker.verbis.dkfz.de/cache/samply/blaze:${BLAZE_TAG}
container_name: bridgehead-scout-blaze
environment:
BASE_URL: "http://bridgehead-scout-blaze:8080"
ENFORCE_REFERENTIAL_INTEGRITY: "false"
volumes:
- "scout-blaze-data:/app/data"
labels:
- "traefik.enable=true"
- "traefik.http.routers.scout-blaze.rule=PathPrefix(`/scout-blaze`)"
- "traefik.http.middlewares.scout-blaze-stripprefix.stripprefix.prefixes=/scout-blaze"
- "traefik.http.services.scout-blaze.loadbalancer.server.port=8080"
- "traefik.http.routers.scout-blaze.middlewares=scout-blaze-stripprefix,additional-users-auth"
- "traefik.http.routers.scout-blaze.tls=true"
scout:
image: samply/scout:main
container_name: bridgehead-scout
configs:
- scout.toml
labels:
- "traefik.enable=true"
- "traefik.http.routers.scout.rule=PathPrefix(`/scout`)"
- "traefik.http.services.scout.loadbalancer.server.port=8080"
- "traefik.http.routers.scout.middlewares=additional-users-auth"
- "traefik.http.routers.scout.tls=true"
configs:
scout.toml:
content: |
fhir_base_url = "http://scout-blaze:8080/fhir"

8
modules/scout-setup.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/bash -e
function scoutSetup() {
if [[ -n "$ENABLE_SCOUT" && -n "$SCOUT_BASIC_AUTH_USERS" ]]; then
echo "Starting scout."
OVERRIDE+=" -f ./modules/scout-compose.yml"
fi
}

View File

@@ -10,7 +10,7 @@ services:
- TTP_GW_SOURCE
- TTP_GW_EPIX_DOMAIN
- TTP_GW_GPAS_DOMAIN
- TTP_TYPE
- TTP_GW_GPAS_URL
- TTP_AUTH
- PROJECT_ID_SYSTEM
- FHIR_REQUEST_URL=${FHIR_REQUEST_URL}
@@ -26,6 +26,7 @@ services:
- TLS_DISABLE=${TRANSFAIR_TLS_DISABLE:-false}
- NO_PROXY=${TRANSFAIR_NO_PROXIES}
- ALL_PROXY=http://forward_proxy:3128
command: dic ${TTP_TYPE}
volumes:
- /var/cache/bridgehead/${PROJECT}/transfair:/transfair
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro

View File

@@ -1,4 +1,6 @@
FOCUS_TAG=develop
BEAM_TAG=develop
BLAZE_TAG=main
POSTGRES_TAG=15.13-alpine
POSTGRES_TAG=15.13-alpine
TEILER_DASHBOARD_TAG=develop
MTBA_TAG=develop

View File

@@ -1,4 +1,6 @@
FOCUS_TAG=main
BEAM_TAG=main
BLAZE_TAG=0.32
POSTGRES_TAG=15.13-alpine
POSTGRES_TAG=15.13-alpine
TEILER_DASHBOARD_TAG=main
MTBA_TAG=main

View File

@@ -1,4 +1,7 @@
FOCUS_TAG=develop
BEAM_TAG=develop
BLAZE_TAG=main
POSTGRES_TAG=15.13-alpine
POSTGRES_TAG=15.13-alpine
TEILER_DASHBOARD_TAG=develop
MTBA_TAG=develop
BEAM_FILE_TAG=task-based-files