mirror of
https://github.com/samply/bridgehead.git
synced 2025-06-30 23:20:21 +02:00
Compare commits
4 Commits
feature/re
...
feature/au
Author | SHA1 | Date | |
---|---|---|---|
2c74878c23 | |||
0e4eb9d99d | |||
b94e8dbce6 | |||
e1e3163a7c |
@ -1,6 +1,25 @@
|
|||||||
version: "3.7"
|
version: "3.7"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
rstudio:
|
||||||
|
container_name: bridgehead-rstudio
|
||||||
|
image: docker.verbis.dkfz.de/ccp/dktk-rstudio:latest
|
||||||
|
environment:
|
||||||
|
#DEFAULT_USER: "rstudio" # This line is kept for informational purposes
|
||||||
|
PASSWORD: "${RSTUDIO_ADMIN_PASSWORD}" # It is required, even if the authentication is disabled
|
||||||
|
DISABLE_AUTH: "true" # https://rocker-project.org/images/versioned/rstudio.html#how-to-use
|
||||||
|
HTTP_RELATIVE_PATH: "/rstudio"
|
||||||
|
ALL_PROXY: "http://forward_proxy:3128" # https://rocker-project.org/use/networking.html
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.rstudio_ccp.rule=PathPrefix(`/rstudio`)"
|
||||||
|
- "traefik.http.services.rstudio_ccp.loadbalancer.server.port=8787"
|
||||||
|
- "traefik.http.middlewares.rstudio_ccp_strip.stripprefix.prefixes=/rstudio"
|
||||||
|
- "traefik.http.routers.rstudio_ccp.tls=true"
|
||||||
|
- "traefik.http.routers.rstudio_ccp.middlewares=oidcAuth,rstudio_ccp_strip"
|
||||||
|
networks:
|
||||||
|
- rstudio
|
||||||
|
|
||||||
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
|
||||||
@ -75,6 +94,7 @@ services:
|
|||||||
- /tmp/bridgehead/opal-map/:/map/:ro
|
- /tmp/bridgehead/opal-map/:/map/:ro
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
|
- rstudio
|
||||||
|
|
||||||
traefik:
|
traefik:
|
||||||
labels:
|
labels:
|
||||||
@ -83,9 +103,11 @@ services:
|
|||||||
- "traefik.http.middlewares.oidcAuth.forwardAuth.authResponseHeaders=X-Auth-Request-Access-Token,Authorization"
|
- "traefik.http.middlewares.oidcAuth.forwardAuth.authResponseHeaders=X-Auth-Request-Access-Token,Authorization"
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
|
- rstudio
|
||||||
forward_proxy:
|
forward_proxy:
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
|
- rstudio
|
||||||
|
|
||||||
beam-proxy:
|
beam-proxy:
|
||||||
environment:
|
environment:
|
||||||
@ -143,3 +165,6 @@ secrets:
|
|||||||
file: /tmp/bridgehead/opal-cert.pem
|
file: /tmp/bridgehead/opal-cert.pem
|
||||||
opal-key.pem:
|
opal-key.pem:
|
||||||
file: /tmp/bridgehead/opal-key.pem
|
file: /tmp/bridgehead/opal-key.pem
|
||||||
|
|
||||||
|
networks:
|
||||||
|
rstudio:
|
||||||
|
@ -15,6 +15,7 @@ if [ "$ENABLE_DATASHIELD" == true ]; then
|
|||||||
TOKEN_MANAGER_OPAL_PASSWORD="$(generate_password \"Token Manager in Opal\")"
|
TOKEN_MANAGER_OPAL_PASSWORD="$(generate_password \"Token Manager in Opal\")"
|
||||||
OPAL_DB_PASSWORD="$(echo \"Opal DB\" | generate_simple_password)"
|
OPAL_DB_PASSWORD="$(echo \"Opal DB\" | generate_simple_password)"
|
||||||
OPAL_ADMIN_PASSWORD="$(generate_password \"admin password for Opal\")"
|
OPAL_ADMIN_PASSWORD="$(generate_password \"admin password for Opal\")"
|
||||||
|
RSTUDIO_ADMIN_PASSWORD="$(generate_password \"admin password for R-Studio\")"
|
||||||
DATASHIELD_CONNECT_SECRET="$(echo \"DataShield Connect\" | generate_simple_password)"
|
DATASHIELD_CONNECT_SECRET="$(echo \"DataShield Connect\" | generate_simple_password)"
|
||||||
TOKEN_MANAGER_SECRET="$(echo \"Token Manager\" | generate_simple_password)"
|
TOKEN_MANAGER_SECRET="$(echo \"Token Manager\" | generate_simple_password)"
|
||||||
if [ ! -e /tmp/bridgehead/opal-cert.pem ]; then
|
if [ ! -e /tmp/bridgehead/opal-cert.pem ]; then
|
||||||
|
4
ccp/vars
4
ccp/vars
@ -12,7 +12,9 @@ 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_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://login.verbis.dkfz.de/realms/test-realm-01"
|
OIDC_URL="https://sso.verbis.dkfz.de/application/o/${SITE_ID}/"
|
||||||
|
# OIDC_PUBLIC_CLIENT_ID=bridgehead-test-public
|
||||||
|
# OIDC_URL="https://sso.verbis.dkfz.de/application/o/bridgehead-test-public/"
|
||||||
OIDC_GROUP_CLAIM="groups"
|
OIDC_GROUP_CLAIM="groups"
|
||||||
|
|
||||||
for module in $PROJECT/modules/*.sh
|
for module in $PROJECT/modules/*.sh
|
||||||
|
@ -301,19 +301,34 @@ function sync_secrets() {
|
|||||||
if [[ $secret_sync_args == "" ]]; then
|
if [[ $secret_sync_args == "" ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$PROJECT" == "bbmri" ]; then
|
||||||
|
# If the project is BBMRI, use the BBMRI-ERIC broker and not the GBN broker
|
||||||
|
proxy_id=$ERIC_PROXY_ID
|
||||||
|
broker_url=$ERIC_BROKER_URL
|
||||||
|
broker_id=$ERIC_BROKER_ID
|
||||||
|
root_crt_file="/srv/docker/bridgehead/bbmri/modules/${ERIC_ROOT_CERT}.root.crt.pem"
|
||||||
|
else
|
||||||
|
proxy_id=$PROXY_ID
|
||||||
|
broker_url=$BROKER_URL
|
||||||
|
broker_id=$BROKER_ID
|
||||||
|
root_crt_file="/srv/docker/bridgehead/$PROJECT/root.crt.pem"
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p /var/cache/bridgehead/secrets/ || fail_and_report 1 "Failed to create '/var/cache/bridgehead/secrets/'. Please run sudo './bridgehead install $PROJECT' again."
|
mkdir -p /var/cache/bridgehead/secrets/ || fail_and_report 1 "Failed to create '/var/cache/bridgehead/secrets/'. Please run sudo './bridgehead install $PROJECT' again."
|
||||||
touch /var/cache/bridgehead/secrets/oidc
|
touch /var/cache/bridgehead/secrets/oidc
|
||||||
|
echo $PRIVATEKEYFILENAME
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-v /var/cache/bridgehead/secrets/oidc:/usr/local/cache \
|
-v /var/cache/bridgehead/secrets/oidc:/usr/local/cache \
|
||||||
-v $PRIVATEKEYFILENAME:/run/secrets/privkey.pem:ro \
|
-v $PRIVATEKEYFILENAME:/run/secrets/privkey.pem:ro \
|
||||||
-v /srv/docker/bridgehead/$PROJECT/root.crt.pem:/run/secrets/root.crt.pem:ro \
|
-v $root_crt_file:/run/secrets/root.crt.pem:ro \
|
||||||
-v /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro \
|
-v /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro \
|
||||||
-e TLS_CA_CERTIFICATES_DIR=/conf/trusted-ca-certs \
|
-e TLS_CA_CERTIFICATES_DIR=/conf/trusted-ca-certs \
|
||||||
-e NO_PROXY=localhost,127.0.0.1 \
|
-e NO_PROXY=localhost,127.0.0.1 \
|
||||||
-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.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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user