mirror of
https://github.com/samply/bridgehead.git
synced 2025-09-13 22:40:25 +02:00
Compare commits
5 Commits
test/keycl
...
test/opal5
Author | SHA1 | Date | |
---|---|---|---|
|
e419a6ee78 | ||
|
a2e7330cee | ||
|
9c8d0ee8f5 | ||
|
fcad7104f0 | ||
|
7e13e251f8 |
@@ -85,6 +85,8 @@ The following URLs need to be accessible (prefix with `https://`):
|
|||||||
* hub.docker.com
|
* hub.docker.com
|
||||||
* registry-1.docker.io
|
* registry-1.docker.io
|
||||||
* production.cloudflare.docker.com
|
* production.cloudflare.docker.com
|
||||||
|
* GitHub Container Registry - (for use of DNPM:DIP)
|
||||||
|
* ghcr.io
|
||||||
* To report bridgeheads operational status
|
* To report bridgeheads operational status
|
||||||
* healthchecks.verbis.dkfz.de
|
* healthchecks.verbis.dkfz.de
|
||||||
* only for DKTK/CCP
|
* only for DKTK/CCP
|
||||||
@@ -95,7 +97,7 @@ The following URLs need to be accessible (prefix with `https://`):
|
|||||||
* only for German Biobank Node
|
* only for German Biobank Node
|
||||||
* broker.bbmri.de
|
* broker.bbmri.de
|
||||||
|
|
||||||
> 📝 This URL list is subject to change. Instead of the individual names, we highly recommend whitelisting wildcard domains: *.dkfz.de, github.com, *.docker.com, *.docker.io, *.samply.de, *.bbmri.de.
|
> 📝 This URL list is subject to change. Instead of the individual names, we highly recommend whitelisting wildcard domains: *.dkfz.de, github.com, *.docker.com, *.docker.io, *.ghcr.io, *.samply.de, *.bbmri.de.
|
||||||
|
|
||||||
> 📝 Ubuntu's pre-installed uncomplicated firewall (ufw) is known to conflict with Docker, more info [here](https://github.com/chaifeng/ufw-docker).
|
> 📝 Ubuntu's pre-installed uncomplicated firewall (ufw) is known to conflict with Docker, more info [here](https://github.com/chaifeng/ufw-docker).
|
||||||
|
|
||||||
|
@@ -3,7 +3,8 @@ version: "3.7"
|
|||||||
services:
|
services:
|
||||||
opal:
|
opal:
|
||||||
container_name: bridgehead-opal
|
container_name: bridgehead-opal
|
||||||
image: docker.verbis.dkfz.de/ccp/dktk-opal:latest
|
#image: docker.verbis.dkfz.de/ccp/dktk-opal:latest
|
||||||
|
image: docker.verbis.dkfz.de/ccp/dktk-opal:test
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.opal_ccp.rule=PathPrefix(`/opal`)"
|
- "traefik.http.routers.opal_ccp.rule=PathPrefix(`/opal`)"
|
||||||
|
@@ -43,7 +43,7 @@ services:
|
|||||||
- "traefik.http.routers.dnpm-auth.tls=true"
|
- "traefik.http.routers.dnpm-auth.tls=true"
|
||||||
|
|
||||||
dnpm-portal:
|
dnpm-portal:
|
||||||
image: ghcr.io/dnpm-dip/portal:{DNPM_IMAGE_TAG:-latest}
|
image: ghcr.io/dnpm-dip/portal:${DNPM_IMAGE_TAG:-latest}
|
||||||
container_name: bridgehead-dnpm-portal
|
container_name: bridgehead-dnpm-portal
|
||||||
environment:
|
environment:
|
||||||
- NUXT_API_URL=http://dnpm-backend:9000/
|
- NUXT_API_URL=http://dnpm-backend:9000/
|
||||||
@@ -58,7 +58,7 @@ services:
|
|||||||
|
|
||||||
dnpm-backend:
|
dnpm-backend:
|
||||||
container_name: bridgehead-dnpm-backend
|
container_name: bridgehead-dnpm-backend
|
||||||
image: ghcr.io/dnpm-dip/backend:{DNPM_IMAGE_TAG:-latest}
|
image: ghcr.io/dnpm-dip/backend:${DNPM_IMAGE_TAG:-latest}
|
||||||
environment:
|
environment:
|
||||||
- LOCAL_SITE=${ZPM_SITE}:${SITE_NAME} # Format: {Site-ID}:{Site-name}, e.g. UKT:Tübingen
|
- LOCAL_SITE=${ZPM_SITE}:${SITE_NAME} # Format: {Site-ID}:{Site-name}, e.g. UKT:Tübingen
|
||||||
- RD_RANDOM_DATA=${DNPM_SYNTH_NUM:--1}
|
- RD_RANDOM_DATA=${DNPM_SYNTH_NUM:--1}
|
||||||
|
@@ -14,6 +14,7 @@ services:
|
|||||||
MAGICPL_CONNECTOR_APIKEY: ${IDMANAGER_READ_APIKEY}
|
MAGICPL_CONNECTOR_APIKEY: ${IDMANAGER_READ_APIKEY}
|
||||||
MAGICPL_CENTRAL_PATIENTLIST_APIKEY: ${IDMANAGER_CENTRAL_PATIENTLIST_APIKEY}
|
MAGICPL_CENTRAL_PATIENTLIST_APIKEY: ${IDMANAGER_CENTRAL_PATIENTLIST_APIKEY}
|
||||||
MAGICPL_CONTROLNUMBERGENERATOR_APIKEY: ${IDMANAGER_CONTROLNUMBERGENERATOR_APIKEY}
|
MAGICPL_CONTROLNUMBERGENERATOR_APIKEY: ${IDMANAGER_CONTROLNUMBERGENERATOR_APIKEY}
|
||||||
|
MAGICPL_OIDC_PROVIDER: ${OIDC_PRIVATE_URL}
|
||||||
depends_on:
|
depends_on:
|
||||||
- patientlist
|
- patientlist
|
||||||
- traefik-forward-auth
|
- traefik-forward-auth
|
||||||
@@ -71,12 +72,14 @@ services:
|
|||||||
- https_proxy=http://forward_proxy:3128
|
- https_proxy=http://forward_proxy:3128
|
||||||
- OAUTH2_PROXY_PROVIDER=oidc
|
- OAUTH2_PROXY_PROVIDER=oidc
|
||||||
- OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true
|
- OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true
|
||||||
- OAUTH2_PROXY_OIDC_ISSUER_URL=https://login.verbis.dkfz.de/realms/master
|
- OAUTH2_PROXY_OIDC_ISSUER_URL=${OIDC_PRIVATE_URL}
|
||||||
- OAUTH2_PROXY_CLIENT_ID=bridgehead-${SITE_ID}
|
- OAUTH2_PROXY_CLIENT_ID=${OIDC_PRIVATE_CLIENT_ID}
|
||||||
- OAUTH2_PROXY_CLIENT_SECRET=${IDMANAGER_AUTH_CLIENT_SECRET}
|
- OAUTH2_PROXY_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
||||||
- OAUTH2_PROXY_COOKIE_SECRET=${IDMANAGER_AUTH_COOKIE_SECRET}
|
- OAUTH2_PROXY_COOKIE_SECRET=${IDMANAGER_AUTH_COOKIE_SECRET}
|
||||||
- OAUTH2_PROXY_COOKIE_NAME=_BRIDGEHEAD_oauth2_idm
|
- OAUTH2_PROXY_COOKIE_NAME=_BRIDGEHEAD_oauth2_idm
|
||||||
- OAUTH2_PROXY_COOKIE_DOMAINS=.${HOST}
|
- OAUTH2_PROXY_COOKIE_DOMAINS=.${HOST}
|
||||||
|
- OAUTH2_PROXY_COOKIE_REFRESH=4m
|
||||||
|
- OAUTH2_PROXY_COOKIE_EXPIRE=24h
|
||||||
- OAUTH2_PROXY_HTTP_ADDRESS=:4180
|
- OAUTH2_PROXY_HTTP_ADDRESS=:4180
|
||||||
- OAUTH2_PROXY_REVERSE_PROXY=true
|
- OAUTH2_PROXY_REVERSE_PROXY=true
|
||||||
- OAUTH2_PROXY_WHITELIST_DOMAINS=.${HOST}
|
- OAUTH2_PROXY_WHITELIST_DOMAINS=.${HOST}
|
||||||
@@ -87,8 +90,8 @@ services:
|
|||||||
- OAUTH2_PROXY_SET_AUTHORIZATION_HEADER=true
|
- OAUTH2_PROXY_SET_AUTHORIZATION_HEADER=true
|
||||||
- OAUTH2_PROXY_SET_XAUTHREQUEST=true
|
- OAUTH2_PROXY_SET_XAUTHREQUEST=true
|
||||||
# Keycloak has an expiration time of 60s therefore oauth2-proxy needs to refresh after that
|
# Keycloak has an expiration time of 60s therefore oauth2-proxy needs to refresh after that
|
||||||
- OAUTH2_PROXY_COOKIE_REFRESH=60s
|
- OAUTH2_PROXY_ALLOWED_GROUPS=${OIDC_PSP_GROUP}
|
||||||
- OAUTH2_PROXY_ALLOWED_GROUPS=DKTK-CCP-PPSN
|
- OAUTH2_PROXY_OIDC_GROUPS_CLAIM=${OIDC_GROUP_CLAIM}
|
||||||
- OAUTH2_PROXY_PROXY_PREFIX=/oauth2-idm
|
- OAUTH2_PROXY_PROXY_PREFIX=/oauth2-idm
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
|
@@ -14,6 +14,8 @@ function idManagementSetup() {
|
|||||||
|
|
||||||
# Ensure old ids are working !!!
|
# Ensure old ids are working !!!
|
||||||
export IDMANAGEMENT_FRIENDLY_ID=$(legacyIdMapping "$SITE_ID")
|
export IDMANAGEMENT_FRIENDLY_ID=$(legacyIdMapping "$SITE_ID")
|
||||||
|
|
||||||
|
add_private_oidc_redirect_url "/oauth2-idm/callback"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,8 +22,14 @@ services:
|
|||||||
HTTP_RELATIVE_PATH: "/mtba"
|
HTTP_RELATIVE_PATH: "/mtba"
|
||||||
OIDC_ADMIN_GROUP: "${OIDC_ADMIN_GROUP}"
|
OIDC_ADMIN_GROUP: "${OIDC_ADMIN_GROUP}"
|
||||||
OIDC_CLIENT_ID: "${OIDC_PRIVATE_CLIENT_ID}"
|
OIDC_CLIENT_ID: "${OIDC_PRIVATE_CLIENT_ID}"
|
||||||
OIDC_CLIENT_SECRET: "${OIDC_CLIENT_SECRET}"
|
# TODO: Add following variables after moving to Authentik:
|
||||||
OIDC_URL: "${OIDC_URL}"
|
#OIDC_CLIENT_SECRET: "${OIDC_CLIENT_SECRET}"
|
||||||
|
#OIDC_URL: "${OIDC_URL}"
|
||||||
|
# TODO: Remove following variables after moving to Authentik:
|
||||||
|
# Please add KECLOAK_CLIENT_SECRET in ccp.conf
|
||||||
|
OIDC_CLIENT_SECRET: "${KEYCLOAK_CLIENT_SECRET}"
|
||||||
|
OIDC_URL: "https://login.verbis.dkfz.de/realms/test-realm-01"
|
||||||
|
OIDC_ADMIN_URL: "https://login.verbis.dkfz.de/admin/realms/test-realm-01"
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
|
7
ccp/vars
7
ccp/vars
@@ -10,12 +10,11 @@ BROKER_URL_FOR_PREREQ=$BROKER_URL
|
|||||||
|
|
||||||
OIDC_USER_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})"
|
OIDC_USER_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})"
|
||||||
OIDC_ADMIN_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})_Verwalter"
|
OIDC_ADMIN_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})_Verwalter"
|
||||||
|
OIDC_PSP_GROUP="DKTK_CCP_$(capitalize_first_letter ${SITE_ID})_PSP"
|
||||||
OIDC_PRIVATE_CLIENT_ID=${SITE_ID}-private
|
OIDC_PRIVATE_CLIENT_ID=${SITE_ID}-private
|
||||||
OIDC_PUBLIC_CLIENT_ID=${SITE_ID}-public
|
OIDC_PUBLIC_CLIENT_ID=${SITE_ID}-public
|
||||||
#OIDC_URL="https://sso.verbis.dkfz.de/application/o/${OIDC_PUBLIC_CLIENT_ID}/"
|
OIDC_URL="https://sso.verbis.dkfz.de/application/o/${OIDC_PUBLIC_CLIENT_ID}/"
|
||||||
#OIDC_PRIVATE_URL="https://sso.verbis.dkfz.de/application/o/${OIDC_PRIVATE_CLIENT_ID}/"
|
OIDC_PRIVATE_URL="https://sso.verbis.dkfz.de/application/o/${OIDC_PRIVATE_CLIENT_ID}/"
|
||||||
OIDC_URL="https://login.verbis.dkfz.de/realms/test-realm-01"
|
|
||||||
OIDC_PRIVATE_URL="https://login.verbis.dkfz.de/realms/test-realm-01"
|
|
||||||
OIDC_GROUP_CLAIM="groups"
|
OIDC_GROUP_CLAIM="groups"
|
||||||
|
|
||||||
for module in $PROJECT/modules/*.sh
|
for module in $PROJECT/modules/*.sh
|
||||||
|
@@ -327,7 +327,7 @@ function sync_secrets() {
|
|||||||
-e ALL_PROXY=$HTTPS_PROXY_FULL_URL \
|
-e ALL_PROXY=$HTTPS_PROXY_FULL_URL \
|
||||||
-e PROXY_ID=$proxy_id \
|
-e PROXY_ID=$proxy_id \
|
||||||
-e BROKER_URL=$broker_url \
|
-e BROKER_URL=$broker_url \
|
||||||
-e OIDC_PROVIDER=secret-sync-central.secret-sync.$broker_id \
|
-e OIDC_PROVIDER=secret-sync-central.test-secret-sync.$broker_id \
|
||||||
-e SECRET_DEFINITIONS=$secret_sync_args \
|
-e SECRET_DEFINITIONS=$secret_sync_args \
|
||||||
docker.verbis.dkfz.de/cache/samply/secret-sync-local:latest
|
docker.verbis.dkfz.de/cache/samply/secret-sync-local:latest
|
||||||
|
|
||||||
|
@@ -43,7 +43,7 @@ services:
|
|||||||
- "traefik.http.routers.dnpm-auth.tls=true"
|
- "traefik.http.routers.dnpm-auth.tls=true"
|
||||||
|
|
||||||
dnpm-portal:
|
dnpm-portal:
|
||||||
image: ghcr.io/dnpm-dip/portal:{DNPM_IMAGE_TAG:-latest}
|
image: ghcr.io/dnpm-dip/portal:${DNPM_IMAGE_TAG:-latest}
|
||||||
container_name: bridgehead-dnpm-portal
|
container_name: bridgehead-dnpm-portal
|
||||||
environment:
|
environment:
|
||||||
- NUXT_API_URL=http://dnpm-backend:9000/
|
- NUXT_API_URL=http://dnpm-backend:9000/
|
||||||
@@ -58,7 +58,7 @@ services:
|
|||||||
|
|
||||||
dnpm-backend:
|
dnpm-backend:
|
||||||
container_name: bridgehead-dnpm-backend
|
container_name: bridgehead-dnpm-backend
|
||||||
image: ghcr.io/dnpm-dip/backend:{DNPM_IMAGE_TAG:-latest}
|
image: ghcr.io/dnpm-dip/backend:${DNPM_IMAGE_TAG:-latest}
|
||||||
environment:
|
environment:
|
||||||
- LOCAL_SITE=${ZPM_SITE}:${SITE_NAME} # Format: {Site-ID}:{Site-name}, e.g. UKT:Tübingen
|
- LOCAL_SITE=${ZPM_SITE}:${SITE_NAME} # Format: {Site-ID}:{Site-name}, e.g. UKT:Tübingen
|
||||||
- RD_RANDOM_DATA=${DNPM_SYNTH_NUM:--1}
|
- RD_RANDOM_DATA=${DNPM_SYNTH_NUM:--1}
|
||||||
|
Reference in New Issue
Block a user