From 954d46efb1f98b978d706ba295d2eed76f9ee41b Mon Sep 17 00:00:00 2001 From: Patrick Skowronek Date: Fri, 5 Jan 2024 11:58:42 +0100 Subject: [PATCH 1/8] Added test root certs and logic for beam to use test brokers --- bbmri/modules/eric-compose.yml | 2 +- bbmri/modules/eric-setup.sh | 7 +++++++ bbmri/modules/eric.test.root.crt.pem | 20 ++++++++++++++++++++ bbmri/modules/gbn-compose.yml | 2 +- bbmri/modules/gbn-setup.sh | 6 ++++++ bbmri/modules/gbn.test.root.crt.pem | 20 ++++++++++++++++++++ 6 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 bbmri/modules/eric.test.root.crt.pem create mode 100644 bbmri/modules/gbn.test.root.crt.pem diff --git a/bbmri/modules/eric-compose.yml b/bbmri/modules/eric-compose.yml index 2bf7dd6..3d31d84 100644 --- a/bbmri/modules/eric-compose.yml +++ b/bbmri/modules/eric-compose.yml @@ -32,5 +32,5 @@ services: - "forward_proxy" volumes: - /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro - - /srv/docker/bridgehead/bbmri/modules/eric.root.crt.pem:/conf/root.crt.pem:ro + - /srv/docker/bridgehead/bbmri/modules/${ERIC_ROOT_CERT}.root.crt.pem:/conf/root.crt.pem:ro diff --git a/bbmri/modules/eric-setup.sh b/bbmri/modules/eric-setup.sh index 364281b..b45741e 100644 --- a/bbmri/modules/eric-setup.sh +++ b/bbmri/modules/eric-setup.sh @@ -6,6 +6,13 @@ if [ "${ENABLE_ERIC}" == "true" ]; then # Set required variables ERIC_BROKER_ID=broker.bbmri.samply.de + ERIC_ROOT_CERT=eric + + if [ "{$ENABLE_TEST}" == "true" ]; then + ERIC_BROKER_ID=broker-test.bbmri-test.samply.de + ERIC_ROOT_CERT=eric.test + fi + ERIC_BROKER_URL=https://${ERIC_BROKER_ID} ERIC_PROXY_ID=${SITE_ID}.${ERIC_BROKER_ID} ERIC_FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)" diff --git a/bbmri/modules/eric.test.root.crt.pem b/bbmri/modules/eric.test.root.crt.pem new file mode 100644 index 0000000..2c4f9f1 --- /dev/null +++ b/bbmri/modules/eric.test.root.crt.pem @@ -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----- \ No newline at end of file diff --git a/bbmri/modules/gbn-compose.yml b/bbmri/modules/gbn-compose.yml index 47b1d36..921fd89 100644 --- a/bbmri/modules/gbn-compose.yml +++ b/bbmri/modules/gbn-compose.yml @@ -32,5 +32,5 @@ services: - "forward_proxy" volumes: - /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro - - /srv/docker/bridgehead/bbmri/modules/gbn.root.crt.pem:/conf/root.crt.pem:ro + - /srv/docker/bridgehead/bbmri/modules/${GBN_ROOT_CERT}.root.crt.pem:/conf/root.crt.pem:ro diff --git a/bbmri/modules/gbn-setup.sh b/bbmri/modules/gbn-setup.sh index d3edd74..b375416 100644 --- a/bbmri/modules/gbn-setup.sh +++ b/bbmri/modules/gbn-setup.sh @@ -6,6 +6,12 @@ if [ "${ENABLE_GBN}" == "true" ]; then # Set required variables GBN_BROKER_ID=broker.bbmri.de + GBN_ROOT_CERT=gbn + if [ "{$ENABLE_TEST}" == "true" ]; then + GBN_BROKER_ID=broker-test.bbmri.de + GBN_ROOT_CERT=gbn.test + fi + GBN_BROKER_URL=https://${GBN_BROKER_ID} GBN_PROXY_ID=${SITE_ID}.${GBN_BROKER_ID} GBN_FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)" diff --git a/bbmri/modules/gbn.test.root.crt.pem b/bbmri/modules/gbn.test.root.crt.pem new file mode 100644 index 0000000..b83e03d --- /dev/null +++ b/bbmri/modules/gbn.test.root.crt.pem @@ -0,0 +1,20 @@ +-----BEGIN CERTIFICATE----- +MIIDNTCCAh2gAwIBAgIUQJjusHYR89Xas+kRbg41aHZxfmcwDQYJKoZIhvcNAQEL +BQAwFjEUMBIGA1UEAxMLQnJva2VyLVJvb3QwHhcNMjMwODIxMDk1MDI1WhcNMzMw +ODE4MDk1MDU1WjAWMRQwEgYDVQQDEwtCcm9rZXItUm9vdDCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAMP0jt2tSk23Bu+QeogqlFwjbMnqwRcWGKAOF4ch +aOK2B5u/BnpqIZDZbhfSIJTv8DPe3+nA2VqRfSiW3HbV0auqxx1ii2ZmHYbvO2P/ +Jj6hyIiYYGqCMRVXk7iB+DfMysQEaSJO/7lJSprlVQCl0u7MAQ4q/szVNwcCm2Xi +iE00Wlota2xTYjnJHYjeaLZL4kQsjqW2aCWHG4q77Z4NXT+lXN9XXedgoXLhuwWl +UyHhXPjyCVu1iFzsXwSTodPAETGoInRYMqMA7PrbHZu1b2Jz0BwCQ+bark1td+Mf +l3uP0QduhZnH6zGO0KyUFRzeiesgabv5bgUeSSsIOVjnLJUCAwEAAaN7MHkwDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFME99nPh1Vuo +7eRaymL2Ps7qGxIdMB8GA1UdIwQYMBaAFME99nPh1Vuo7eRaymL2Ps7qGxIdMBYG +A1UdEQQPMA2CC0Jyb2tlci1Sb290MA0GCSqGSIb3DQEBCwUAA4IBAQB0WG0xT00R +5CA0tVHaNo8bQuAXytu566TspKc5vVd3r6mglj/MiSSQG2MVz+GUU6LnnApgln1P +pvZuyaldB0QdTTLeJVMr/eFtZonlxqcxkj+VW2Y7mRHT7Xx9GQvzKYvSK5m/+xzH +pAQl8AirgkoZ5b+ltlzM0pDAH204xj3/skmGqM/o0FKzRtpetHYkZPiquHCmO2Cp +nTMkv7c2qu5t2Dm5q0Tmb7ZRoA1yIYhDn/UfhTAVWQnoMfXK8oB9nkRRb7pAfOXo +W1K4A+oWqKrJwfIH/Ycnw7hu8hPuGOyIN/PLnLpJp9M2I67vywp5lIvFib4UukyJ +wJw6/iTienIA +-----END CERTIFICATE----- \ No newline at end of file From 2074461ee770fd7199fa9d4ced41ca2fefaf2df9 Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Mon, 8 Jan 2024 13:03:12 +0100 Subject: [PATCH 2/8] Use new variable ENVIRONMENT in /etc/bridgehead; defaults to "production". --- bbmri/modules/eric-setup.sh | 24 ++++++++++++++++-------- bridgehead | 3 +++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/bbmri/modules/eric-setup.sh b/bbmri/modules/eric-setup.sh index b45741e..fc689e8 100644 --- a/bbmri/modules/eric-setup.sh +++ b/bbmri/modules/eric-setup.sh @@ -4,15 +4,23 @@ if [ "${ENABLE_ERIC}" == "true" ]; then log INFO "BBMRI-ERIC setup detected -- will start services for BBMRI-ERIC." OVERRIDE+=" -f ./$PROJECT/modules/eric-compose.yml" - # Set required variables - ERIC_BROKER_ID=broker.bbmri.samply.de - ERIC_ROOT_CERT=eric + # The environment needs to be defined in /etc/bridgehead + case "$ENVIRONMENT" in + "production") + ERIC_BROKER_ID=broker.bbmri.samply.de + ERIC_ROOT_CERT=eric + ;; + "test") + ERIC_BROKER_ID=broker-test.bbmri-test.samply.de + ERIC_ROOT_CERT=eric.test + ;; + *) + report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" + ERIC_BROKER_ID=broker.bbmri.samply.de + ERIC_ROOT_CERT=eric + ;; + esac - if [ "{$ENABLE_TEST}" == "true" ]; then - ERIC_BROKER_ID=broker-test.bbmri-test.samply.de - ERIC_ROOT_CERT=eric.test - fi - ERIC_BROKER_URL=https://${ERIC_BROKER_ID} ERIC_PROXY_ID=${SITE_ID}.${ERIC_BROKER_ID} ERIC_FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)" diff --git a/bridgehead b/bridgehead index 8db9735..cfaabcc 100755 --- a/bridgehead +++ b/bridgehead @@ -66,6 +66,9 @@ loadVars() { detectCompose setHostname setupProxy + + # Set some project-independent default values + : ${ENVIRONMENT:=production} } case "$ACTION" in From 00cae67fa116726d29dfab24e0614c0679de7308 Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Mon, 8 Jan 2024 15:49:28 +0100 Subject: [PATCH 3/8] Add missing switch-case for gbn --- bbmri/modules/gbn-setup.sh | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/bbmri/modules/gbn-setup.sh b/bbmri/modules/gbn-setup.sh index b375416..d45170f 100644 --- a/bbmri/modules/gbn-setup.sh +++ b/bbmri/modules/gbn-setup.sh @@ -4,13 +4,22 @@ if [ "${ENABLE_GBN}" == "true" ]; then log INFO "GBN setup detected -- will start services for German Biobank Node." OVERRIDE+=" -f ./$PROJECT/modules/gbn-compose.yml" - # Set required variables - GBN_BROKER_ID=broker.bbmri.de - GBN_ROOT_CERT=gbn - if [ "{$ENABLE_TEST}" == "true" ]; then - GBN_BROKER_ID=broker-test.bbmri.de - GBN_ROOT_CERT=gbn.test - fi + # The environment needs to be defined in /etc/bridgehead + case "$ENVIRONMENT" in + "production") + ERIC_BROKER_ID=broker.bbmri.samply.de + ERIC_ROOT_CERT=eric + ;; + "test") + ERIC_BROKER_ID=broker-test.bbmri-test.samply.de + ERIC_ROOT_CERT=eric.test + ;; + *) + report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" + ERIC_BROKER_ID=broker.bbmri.samply.de + ERIC_ROOT_CERT=eric + ;; + esac GBN_BROKER_URL=https://${GBN_BROKER_ID} GBN_PROXY_ID=${SITE_ID}.${GBN_BROKER_ID} From 29fb0e7099aac6b9a8bdb1cafa5c39481169ea5c Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Mon, 8 Jan 2024 15:49:46 +0100 Subject: [PATCH 4/8] Use focus tag depending on ENVIRONMENT --- bbmri/modules/eric-compose.yml | 2 +- bbmri/modules/gbn-compose.yml | 2 +- bridgehead | 13 +++++++++++++ ccp/docker-compose.yml | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/bbmri/modules/eric-compose.yml b/bbmri/modules/eric-compose.yml index 3d31d84..b7a1cd4 100644 --- a/bbmri/modules/eric-compose.yml +++ b/bbmri/modules/eric-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: focus-eric: - image: docker.verbis.dkfz.de/cache/samply/focus:main + image: docker.verbis.dkfz.de/cache/samply/focus:${FOCUS_TAG} container_name: bridgehead-focus-eric environment: API_KEY: ${ERIC_FOCUS_BEAM_SECRET_SHORT} diff --git a/bbmri/modules/gbn-compose.yml b/bbmri/modules/gbn-compose.yml index 921fd89..f1c624f 100644 --- a/bbmri/modules/gbn-compose.yml +++ b/bbmri/modules/gbn-compose.yml @@ -2,7 +2,7 @@ version: "3.7" services: focus-gbn: - image: docker.verbis.dkfz.de/cache/samply/focus:main + image: docker.verbis.dkfz.de/cache/samply/focus:${FOCUS_TAG} container_name: bridgehead-focus-gbn environment: API_KEY: ${GBN_FOCUS_BEAM_SECRET_SHORT} diff --git a/bridgehead b/bridgehead index cfaabcc..8231792 100755 --- a/bridgehead +++ b/bridgehead @@ -69,6 +69,19 @@ loadVars() { # Set some project-independent default values : ${ENVIRONMENT:=production} + + case "$ENVIRONMENT" in + "production") + FOCUS_TAG=main + ;; + "test") + FOCUS_TAG=develop + ;; + *) + report_error 7 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" + FOCUS_TAG=main + ;; + esac } case "$ACTION" in diff --git a/ccp/docker-compose.yml b/ccp/docker-compose.yml index f41ef09..d92ccfb 100644 --- a/ccp/docker-compose.yml +++ b/ccp/docker-compose.yml @@ -19,7 +19,7 @@ services: - "traefik.http.routers.blaze_ccp.tls=true" focus: - image: docker.verbis.dkfz.de/cache/samply/focus:main + image: docker.verbis.dkfz.de/cache/samply/focus:${FOCUS_TAG} container_name: bridgehead-focus environment: API_KEY: ${FOCUS_BEAM_SECRET_SHORT} From 00030a6141ad089f3816fddf65245c7ffc43a42c Mon Sep 17 00:00:00 2001 From: Enola Knezevic Date: Mon, 8 Jan 2024 16:15:46 +0100 Subject: [PATCH 5/8] GBN variable names --- bbmri/modules/gbn-setup.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bbmri/modules/gbn-setup.sh b/bbmri/modules/gbn-setup.sh index d45170f..9e8897c 100644 --- a/bbmri/modules/gbn-setup.sh +++ b/bbmri/modules/gbn-setup.sh @@ -7,17 +7,17 @@ if [ "${ENABLE_GBN}" == "true" ]; then # The environment needs to be defined in /etc/bridgehead case "$ENVIRONMENT" in "production") - ERIC_BROKER_ID=broker.bbmri.samply.de - ERIC_ROOT_CERT=eric + GBN_BROKER_ID=broker.bbmri.samply.de + GBN_ROOT_CERT=gbn ;; "test") - ERIC_BROKER_ID=broker-test.bbmri-test.samply.de - ERIC_ROOT_CERT=eric.test + GBN_BROKER_ID=broker-test.bbmri-test.samply.de + GBN_ROOT_CERT=gbn.test ;; *) report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" - ERIC_BROKER_ID=broker.bbmri.samply.de - ERIC_ROOT_CERT=eric + GBN_BROKER_ID=broker.bbmri.samply.de + GBN_ROOT_CERT=gbn ;; esac From 417c15843550e5defdda6f1b891a0aa5defa891a Mon Sep 17 00:00:00 2001 From: Enola Knezevic Date: Mon, 8 Jan 2024 16:26:07 +0100 Subject: [PATCH 6/8] GBN broker IDs --- bbmri/modules/gbn-setup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bbmri/modules/gbn-setup.sh b/bbmri/modules/gbn-setup.sh index 9e8897c..efcb5a1 100644 --- a/bbmri/modules/gbn-setup.sh +++ b/bbmri/modules/gbn-setup.sh @@ -7,16 +7,16 @@ if [ "${ENABLE_GBN}" == "true" ]; then # The environment needs to be defined in /etc/bridgehead case "$ENVIRONMENT" in "production") - GBN_BROKER_ID=broker.bbmri.samply.de + GBN_BROKER_ID=broker.bbmri.de GBN_ROOT_CERT=gbn ;; "test") - GBN_BROKER_ID=broker-test.bbmri-test.samply.de + GBN_BROKER_ID=broker-test.bbmri.de GBN_ROOT_CERT=gbn.test ;; *) report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" - GBN_BROKER_ID=broker.bbmri.samply.de + GBN_BROKER_ID=broker.bbmri.de GBN_ROOT_CERT=gbn ;; esac From c4018aae08b3f52c3864f3a518a5cbac5d809db5 Mon Sep 17 00:00:00 2001 From: Patrick Skowronek Date: Tue, 9 Jan 2024 07:53:44 +0100 Subject: [PATCH 7/8] fixed gbn broker url --- bbmri/modules/gbn-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bbmri/modules/gbn-setup.sh b/bbmri/modules/gbn-setup.sh index efcb5a1..b09c208 100644 --- a/bbmri/modules/gbn-setup.sh +++ b/bbmri/modules/gbn-setup.sh @@ -11,7 +11,7 @@ if [ "${ENABLE_GBN}" == "true" ]; then GBN_ROOT_CERT=gbn ;; "test") - GBN_BROKER_ID=broker-test.bbmri.de + GBN_BROKER_ID=broker.test.bbmri.de GBN_ROOT_CERT=gbn.test ;; *) From 5ba1a1a82029e1156e78cd3baad8ad08fe17276a Mon Sep 17 00:00:00 2001 From: Martin Lablans Date: Tue, 9 Jan 2024 11:43:57 +0100 Subject: [PATCH 8/8] Fix variable visibility --- bbmri/modules/eric-setup.sh | 12 ++++++------ bbmri/modules/gbn-setup.sh | 12 ++++++------ bridgehead | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/bbmri/modules/eric-setup.sh b/bbmri/modules/eric-setup.sh index fc689e8..d2f36bb 100644 --- a/bbmri/modules/eric-setup.sh +++ b/bbmri/modules/eric-setup.sh @@ -7,17 +7,17 @@ if [ "${ENABLE_ERIC}" == "true" ]; then # The environment needs to be defined in /etc/bridgehead case "$ENVIRONMENT" in "production") - ERIC_BROKER_ID=broker.bbmri.samply.de - ERIC_ROOT_CERT=eric + export ERIC_BROKER_ID=broker.bbmri.samply.de + export ERIC_ROOT_CERT=eric ;; "test") - ERIC_BROKER_ID=broker-test.bbmri-test.samply.de - ERIC_ROOT_CERT=eric.test + export ERIC_BROKER_ID=broker-test.bbmri-test.samply.de + export ERIC_ROOT_CERT=eric.test ;; *) report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" - ERIC_BROKER_ID=broker.bbmri.samply.de - ERIC_ROOT_CERT=eric + export ERIC_BROKER_ID=broker.bbmri.samply.de + export ERIC_ROOT_CERT=eric ;; esac diff --git a/bbmri/modules/gbn-setup.sh b/bbmri/modules/gbn-setup.sh index b09c208..5ab1325 100644 --- a/bbmri/modules/gbn-setup.sh +++ b/bbmri/modules/gbn-setup.sh @@ -7,17 +7,17 @@ if [ "${ENABLE_GBN}" == "true" ]; then # The environment needs to be defined in /etc/bridgehead case "$ENVIRONMENT" in "production") - GBN_BROKER_ID=broker.bbmri.de - GBN_ROOT_CERT=gbn + export GBN_BROKER_ID=broker.bbmri.de + export GBN_ROOT_CERT=gbn ;; "test") - GBN_BROKER_ID=broker.test.bbmri.de - GBN_ROOT_CERT=gbn.test + export GBN_BROKER_ID=broker.test.bbmri.de + export GBN_ROOT_CERT=gbn.test ;; *) report_error 6 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" - GBN_BROKER_ID=broker.bbmri.de - GBN_ROOT_CERT=gbn + export GBN_BROKER_ID=broker.bbmri.de + export GBN_ROOT_CERT=gbn ;; esac diff --git a/bridgehead b/bridgehead index 8231792..8922174 100755 --- a/bridgehead +++ b/bridgehead @@ -72,14 +72,14 @@ loadVars() { case "$ENVIRONMENT" in "production") - FOCUS_TAG=main + export FOCUS_TAG=main ;; "test") - FOCUS_TAG=develop + export FOCUS_TAG=develop ;; *) report_error 7 "Environment \"$ENVIRONMENT\" is unknown. Assuming production. FIX THIS!" - FOCUS_TAG=main + export FOCUS_TAG=main ;; esac }