mirror of
https://github.com/samply/bridgehead.git
synced 2025-06-16 20:40:15 +02:00
Changes made for EHDS2
The EHDS2 project has initiated a use case for antibiotic resistance under the control of the ECDC. This branch caters for the ECDC requirements. Specifically, it contains the ETL to transform the ECDC CSV format to FHIR, plus additional configuration options that have been packaged into the bbmri project.
This commit is contained in:
@ -1,6 +1,6 @@
|
|||||||
version: "3.7"
|
version: "3.7"
|
||||||
|
|
||||||
# This includes only the shared persistence for BBMRI-ERIC and GBN. Federation components are included as modules, see vars.
|
# This includes only the shared persistence for BBMRI-ERIC and GBN and EHDS2. Federation components are included as modules, see vars.
|
||||||
|
|
||||||
services:
|
services:
|
||||||
blaze:
|
blaze:
|
||||||
|
59
bbmri/modules/ehds2-compose.yml
Normal file
59
bbmri/modules/ehds2-compose.yml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
focus-ehds2:
|
||||||
|
image: docker.verbis.dkfz.de/cache/samply/focus:${FOCUS_TAG}
|
||||||
|
container_name: bridgehead-focus-ehds2
|
||||||
|
environment:
|
||||||
|
API_KEY: ${EHDS2_FOCUS_BEAM_SECRET_SHORT}
|
||||||
|
BEAM_APP_ID_LONG: focus.${EHDS2_PROXY_ID}
|
||||||
|
PROXY_ID: ${EHDS2_PROXY_ID}
|
||||||
|
BLAZE_URL: "http://blaze:8080/fhir/"
|
||||||
|
BEAM_PROXY_URL: http://beam-proxy-ehds2:8081
|
||||||
|
RETRY_COUNT: ${FOCUS_RETRY_COUNT}
|
||||||
|
depends_on:
|
||||||
|
- "beam-proxy-ehds2"
|
||||||
|
- "blaze"
|
||||||
|
|
||||||
|
beam-proxy-ehds2:
|
||||||
|
image: docker.verbis.dkfz.de/cache/samply/beam-proxy:develop
|
||||||
|
container_name: bridgehead-beam-proxy-ehds2
|
||||||
|
environment:
|
||||||
|
BROKER_URL: ${EHDS2_BROKER_URL}
|
||||||
|
PROXY_ID: ${EHDS2_PROXY_ID}
|
||||||
|
APP_focus_KEY: ${EHDS2_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/bbmri/modules/${EHDS2_ROOT_CERT}.root.crt.pem:/conf/root.crt.pem:ro
|
||||||
|
|
||||||
|
# Convert ECDC CSV file into FHIR and push to Blaze
|
||||||
|
transfair:
|
||||||
|
container_name: transfair
|
||||||
|
image: samply/transfair
|
||||||
|
environment:
|
||||||
|
FHIR_INPUT_URL: "http://source_blaze:8080/fhir"
|
||||||
|
FHIR_OUTPUT_URL: "http://bridgehead-bbmri-blaze:8080/fhir"
|
||||||
|
PROFILE: "amr2fhir"
|
||||||
|
#WRITE_BUNDLES_TO_FILE: "true"
|
||||||
|
AMR_FILE_PATH: "/app/data"
|
||||||
|
restart: on-failure
|
||||||
|
command: sh -c "sleep 60 && rm -rf /app/test/* && java -jar transFAIR.jar && tail -f /dev/null"
|
||||||
|
#command: sh -c "rm -rf /app/test/* && java -jar transFAIR.jar"
|
||||||
|
volumes:
|
||||||
|
- /home/gerhard/Projects/EHDS2/PrototypeSpring2024/test/:/app/test/
|
||||||
|
- /home/gerhard/Projects/EHDS2/PrototypeSpring2024/Data/:/app/data/
|
||||||
|
|
||||||
|
# Report on the data pushed to Blaze by TransFAIR
|
||||||
|
blazectl:
|
||||||
|
container_name: blazectl
|
||||||
|
image: samply/blazectl
|
||||||
|
command: sh -c "sleep 300 && echo Source store && blazectl --server http://bridgehead-bbmri-blaze:8080/fhir count-resources && tail -f /dev/null"
|
||||||
|
|
28
bbmri/modules/ehds2-setup.sh
Normal file
28
bbmri/modules/ehds2-setup.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "${ENABLE_EHDS2}" == "true" ]; then
|
||||||
|
log INFO "EHDS2 setup detected -- will start services for German Biobank Node."
|
||||||
|
OVERRIDE+=" -f ./$PROJECT/modules/ehds2-compose.yml"
|
||||||
|
|
||||||
|
# The environment needs to be defined in /etc/bridgehead
|
||||||
|
case "$ENVIRONMENT" in
|
||||||
|
"production")
|
||||||
|
export EHDS2_BROKER_ID=broker.bbmri.samply.de
|
||||||
|
export EHDS2_ROOT_CERT=ehds2
|
||||||
|
;;
|
||||||
|
"test")
|
||||||
|
export EHDS2_BROKER_ID=broker.test.bbmri.samply.de
|
||||||
|
export EHDS2_ROOT_CERT=ehds2.test
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!"
|
||||||
|
export EHDS2_BROKER_ID=broker.bbmri.samply.de
|
||||||
|
export EHDS2_ROOT_CERT=ehds2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
EHDS2_BROKER_URL=https://${EHDS2_BROKER_ID}
|
||||||
|
EHDS2_PROXY_ID=${SITE_ID}.${EHDS2_BROKER_ID}
|
||||||
|
EHDS2_FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
|
||||||
|
EHDS2_SUPPORT_EMAIL=feedback@germanbiobanknode.de
|
||||||
|
fi
|
20
bbmri/modules/ehds2.root.crt.pem
Normal file
20
bbmri/modules/ehds2.root.crt.pem
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDNTCCAh2gAwIBAgIUMy/n0zFRihhVR3aAD54LumzeYdwwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwFjEUMBIGA1UEAxMLQnJva2VyLVJvb3QwHhcNMjIxMDI1MDczNTA4WhcNMzIx
|
||||||
|
MDIyMDczNTM3WjAWMRQwEgYDVQQDEwtCcm9rZXItUm9vdDCCASIwDQYJKoZIhvcN
|
||||||
|
AQEBBQADggEPADCCAQoCggEBAL3qWliHIlIT1Qlsyq/NKJ1uj6/AF0STNg5NTNpb
|
||||||
|
Xqe5rmUqs6jmQepputGStBVe5TthFw56whISv9FqD5s1PZUGyFikW1pJUnF7ZYRf
|
||||||
|
MfrJHRi1vUnD3Gw36FCot+i6BAxfw/rdp9hoqFZ6erRkULLaYZ5S2cDHN0DWc18V
|
||||||
|
3VgZ66ah8QXSx7ERRNa/eWRkHrPIYhyVSoKuyZfvbVgsYZADSlviCgIHPrGLerLr
|
||||||
|
ylNUyuTxJ5RKStOwPn7A+Jp7nRT+MRh9BphA7s6NuK9h+eVe1DiLbIETWyCEfN3Y
|
||||||
|
INpunatn3QDhqOIfNcuBArjsAj7mg8l5KNba8nUP4v0EJYECAwEAAaN7MHkwDgYD
|
||||||
|
VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMvc5Fizz1vO
|
||||||
|
MEG3MIsy7UY69ZNIMB8GA1UdIwQYMBaAFMvc5Fizz1vOMEG3MIsy7UY69ZNIMBYG
|
||||||
|
A1UdEQQPMA2CC0Jyb2tlci1Sb290MA0GCSqGSIb3DQEBCwUAA4IBAQBb8a5su820
|
||||||
|
h8JStJC+KpvXmDrGkwx9bHlEZMgQQejIrwPLEbA32KBvNxdoUxF9q1Y773MKdqbc
|
||||||
|
cCJwzQXE/NPZ13hCGrEIXs8DgH52GhEB5592k5/bRNcAvUwbZSXPPiT0rgq/eUOt
|
||||||
|
BYhgN0ov7h1MC5L6CYB/rQwqck7JPlmrXTkh2gix4/dEdBRzsHsn/xlo8ay5QYHG
|
||||||
|
rx2Adit76eZu/MJoJNzl1r8MPxLqyAie3KcIU54A+UMozLrWEQP/TyOyWZdjUjJt
|
||||||
|
cBYgkKJTjwdRhc+ehI3kFo7b/a/Z/jl9szKsAPHozMixSi8lGnsYwN80oqeRvT7h
|
||||||
|
wcMUK+igv3/K
|
||||||
|
-----END CERTIFICATE-----
|
20
bbmri/modules/ehds2.test.root.crt.pem
Normal file
20
bbmri/modules/ehds2.test.root.crt.pem
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDNTCCAh2gAwIBAgIUJ0g7k2vrdAwNTU38S1/mU8NO26MwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwFjEUMBIGA1UEAxMLQnJva2VyLVJvb3QwHhcNMjMwNzEwMTIyMzQxWhcNMzMw
|
||||||
|
NzA3MTIyNDExWjAWMRQwEgYDVQQDEwtCcm9rZXItUm9vdDCCASIwDQYJKoZIhvcN
|
||||||
|
AQEBBQADggEPADCCAQoCggEBALMvc/fApbsAl+/NXDszNgffNR5llAb9CfxzdnRn
|
||||||
|
ryoBqZdPevBYZZfKBARRKjFbXRDdPWbE7erDeo1LiCM6PObXCuT9wmGWJtvfkmqW
|
||||||
|
3Z/a75e4r360kceMEGVn4kWpi9dz8s7+oXVZURjW2r13h6pq6xQNZDNlXmpR8wHG
|
||||||
|
58TSrQC4n1vzdSwMWdptgOA8Sw8adR7ZJI1yNZpmynB2QolKKNESI7FcSKC/+b+H
|
||||||
|
LoPkseAwQG9yJo23qEw1GZS67B47iKIqX2wp9VLQobHw7ncrhKXQLSWq973k/Swp
|
||||||
|
7lBdfOsTouf72flLiF1HbdOLcFDmWgIbf5scj2HaQe8b/UcCAwEAAaN7MHkwDgYD
|
||||||
|
VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHYxBJiJZieW
|
||||||
|
e6G1vwn6Q36/crgNMB8GA1UdIwQYMBaAFHYxBJiJZieWe6G1vwn6Q36/crgNMBYG
|
||||||
|
A1UdEQQPMA2CC0Jyb2tlci1Sb290MA0GCSqGSIb3DQEBCwUAA4IBAQCN6WVNYpWJ
|
||||||
|
6Z1Ee+otLZYMXhjyR6NUQ5s0aHiug97gB8mTiNlgXiiTgipCbofEmENgh1inYrPC
|
||||||
|
WfdXxqOaekSXCQW6nSO1KtBzEYtkN5LrN1cjKqt51P2DbkllinK37wwCS2Kfup1+
|
||||||
|
yjhTRxrehSIfsMVK6bTUeSoc8etkgwErZpORhlpqZKWhmOwcMpgsYJJOLhUetqc1
|
||||||
|
UNe/254bc0vqHEPT6VI/86c7qAmk1xR0RUfrnKAEqZtUeuoj2fe1L/6yOB16fxt5
|
||||||
|
3V3oim7EO6eZCTjDo9fU5DaFiqSMe7WVdr03Na0cWet60XKRH/xaiC6gMWdHWcbh
|
||||||
|
vZdXnV1qjlM2
|
||||||
|
-----END CERTIFICATE-----
|
11
bbmri/vars
11
bbmri/vars
@ -4,6 +4,9 @@
|
|||||||
# Makes only sense for German Biobanks
|
# Makes only sense for German Biobanks
|
||||||
: ${ENABLE_GBN:=false}
|
: ${ENABLE_GBN:=false}
|
||||||
|
|
||||||
|
# Makes only sense for EHDS2 project
|
||||||
|
: ${ENABLE_EHDS2:=false}
|
||||||
|
|
||||||
FOCUS_RETRY_COUNT=32
|
FOCUS_RETRY_COUNT=32
|
||||||
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
|
PRIVATEKEYFILENAME=/etc/bridgehead/pki/${SITE_ID}.priv.pem
|
||||||
|
|
||||||
@ -20,6 +23,10 @@ if [ -n "$GBN_SUPPORT_EMAIL" ]; then
|
|||||||
SUPPORT_EMAIL=$GBN_SUPPORT_EMAIL
|
SUPPORT_EMAIL=$GBN_SUPPORT_EMAIL
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$EHDS2_SUPPORT_EMAIL" ]; then
|
||||||
|
SUPPORT_EMAIL=$EHDS2_SUPPORT_EMAIL
|
||||||
|
fi
|
||||||
|
|
||||||
function do_enroll {
|
function do_enroll {
|
||||||
COUNT=0
|
COUNT=0
|
||||||
if [ "$ENABLE_ERIC" == "true" ]; then
|
if [ "$ENABLE_ERIC" == "true" ]; then
|
||||||
@ -30,6 +37,10 @@ function do_enroll {
|
|||||||
do_enroll_inner $GBN_PROXY_ID $GBN_SUPPORT_EMAIL
|
do_enroll_inner $GBN_PROXY_ID $GBN_SUPPORT_EMAIL
|
||||||
COUNT=$((COUNT+1))
|
COUNT=$((COUNT+1))
|
||||||
fi
|
fi
|
||||||
|
if [ "$ENABLE_EHDS2" == "true" ]; then
|
||||||
|
do_enroll_inner $EHDS2_PROXY_ID $EHDS2_SUPPORT_EMAIL
|
||||||
|
COUNT=$((COUNT+1))
|
||||||
|
fi
|
||||||
if [ $COUNT -ge 2 ]; then
|
if [ $COUNT -ge 2 ]; then
|
||||||
echo
|
echo
|
||||||
echo "You just received $COUNT certificate signing requests (CSR). Please send $COUNT e-mails, with 1 CSR each, to the respective e-mail address."
|
echo "You just received $COUNT certificate signing requests (CSR). Please send $COUNT e-mails, with 1 CSR each, to the respective e-mail address."
|
||||||
|
Reference in New Issue
Block a user