mirror of
https://github.com/samply/bridgehead.git
synced 2026-04-18 00:20:15 +02:00
Compare commits
47 Commits
fix/altern
...
ovis
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87bc6fada3 | ||
|
|
c504cddff0 | ||
|
|
04757fbc76 | ||
|
|
5099fdbaf4 | ||
|
|
9ca6d0f178 | ||
|
|
c8bb9259db | ||
|
|
d010ad8bcb | ||
|
|
875ce8d71a | ||
|
|
3cb1d70416 | ||
|
|
fd2cf2dead | ||
|
|
1e1d0e99d0 | ||
|
|
8e52874b5f | ||
|
|
e2103666ce | ||
|
|
f6ba693b25 | ||
|
|
d4a2f72f91 | ||
|
|
91dcc3f18e | ||
|
|
55d629c343 | ||
|
|
d955627da7 | ||
|
|
e292a67ded | ||
|
|
014933ab61 | ||
|
|
6ef1fb7b87 | ||
|
|
191f5f24da | ||
|
|
921bac11d2 | ||
|
|
b7f787890e | ||
|
|
1755298c07 | ||
|
|
1981a08a30 | ||
|
|
72021fefc4 | ||
|
|
3d4f2a4fea | ||
|
|
47b5bb0d80 | ||
|
|
87e8c786ae | ||
|
|
1a0d12f1a4 | ||
|
|
57308d0c2c | ||
|
|
fb027b79e5 | ||
|
|
d1624c1068 | ||
|
|
f3009f347e | ||
|
|
d386766e13 | ||
|
|
4c8f7cb119 | ||
|
|
28a93b191c | ||
|
|
324c2b336d | ||
|
|
e8cb85eade | ||
|
|
c59c425ad4 | ||
|
|
e3f7f5d32b | ||
|
|
1b01bd81ff | ||
|
|
86a2b78d8f | ||
|
|
cf1ba43d39 | ||
|
|
3b49faaeb4 | ||
|
|
5ba9efe8d3 |
104
ccp/modules/ovis-compose.yml
Normal file
104
ccp/modules/ovis-compose.yml
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ovis-traefik-forward-auth:
|
||||||
|
image: docker.verbis.dkfz.de/cache/oauth2-proxy/oauth2-proxy:latest
|
||||||
|
environment:
|
||||||
|
- http_proxy=http://forward_proxy:3128
|
||||||
|
- https_proxy=http://forward_proxy:3128
|
||||||
|
- OAUTH2_PROXY_PROVIDER=oidc
|
||||||
|
- OAUTH2_PROXY_SKIP_PROVIDER_BUTTON=true
|
||||||
|
- OAUTH2_PROXY_OIDC_ISSUER_URL=${OIDC_PRIVATE_URL}
|
||||||
|
- OAUTH2_PROXY_CLIENT_ID=${OIDC_PRIVATE_CLIENT_ID}
|
||||||
|
- OAUTH2_PROXY_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
||||||
|
- OAUTH2_PROXY_COOKIE_SECRET=${OVIS_AUTH_COOKIE_SECRET}
|
||||||
|
- OAUTH2_PROXY_COOKIE_NAME=_BRIDGEHEAD_oauth2_ovis
|
||||||
|
- OAUTH2_PROXY_COOKIE_DOMAINS=.${HOST}
|
||||||
|
- OAUTH2_PROXY_COOKIE_REFRESH=4m
|
||||||
|
- OAUTH2_PROXY_COOKIE_EXPIRE=24h
|
||||||
|
- OAUTH2_PROXY_HTTP_ADDRESS=:4180
|
||||||
|
- OAUTH2_PROXY_REVERSE_PROXY=true
|
||||||
|
- OAUTH2_PROXY_WHITELIST_DOMAINS=.${HOST}
|
||||||
|
- OAUTH2_PROXY_UPSTREAMS=static://202
|
||||||
|
- OAUTH2_PROXY_EMAIL_DOMAINS=*
|
||||||
|
- OAUTH2_PROXY_SCOPE=openid profile email
|
||||||
|
- OAUTH2_PROXY_SET_AUTHORIZATION_HEADER=true
|
||||||
|
- OAUTH2_PROXY_SET_XAUTHREQUEST=true
|
||||||
|
- OAUTH2_PROXY_ALLOWED_GROUPS=${OIDC_USER_GROUP}
|
||||||
|
- OAUTH2_PROXY_OIDC_GROUPS_CLAIM=${OIDC_GROUP_CLAIM}
|
||||||
|
- OAUTH2_PROXY_PROXY_PREFIX=/oauth2-ovis
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.services.ovis-traefik-forward-auth.loadbalancer.server.port=4180"
|
||||||
|
- "traefik.http.routers.ovis-traefik-forward-auth.rule=Host(`${HOST}`) && PathPrefix(`/oauth2-ovis`)"
|
||||||
|
- "traefik.http.routers.ovis-traefik-forward-auth.tls=true"
|
||||||
|
- "traefik.http.middlewares.traefik-forward-auth-ovis.forwardauth.address=http://ovis-traefik-forward-auth:4180"
|
||||||
|
- "traefik.http.middlewares.traefik-forward-auth-ovis.forwardauth.authResponseHeaders=Authorization"
|
||||||
|
depends_on:
|
||||||
|
forward_proxy:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
ovis-backend-database-mongodb:
|
||||||
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-mongodb:latest
|
||||||
|
container_name: bridgehead-ccp-ovis-mongo
|
||||||
|
|
||||||
|
ovis-backend-mongodb-data-preprocessing:
|
||||||
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-preprocessor:latest
|
||||||
|
container_name: bridgehead-ccp-ovis-preprocessing
|
||||||
|
environment:
|
||||||
|
ADDRESS: mongodb://ovis-backend-database-mongodb:27017
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- ovis-backend-database-mongodb
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "node -e \"require('http').get('http://localhost:9000/health', res => process.exit(res.statusCode===200?0:1)).on('error', () => process.exit(1));\""]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 6
|
||||||
|
start_period: 5s
|
||||||
|
|
||||||
|
ovis-backend-data-import:
|
||||||
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-data-import-ccp:latest
|
||||||
|
container_name: bridgehead-ccp-ovis-import
|
||||||
|
depends_on:
|
||||||
|
ovis-backend-mongodb-data-preprocessing:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
FHIR_SERVER_URL: http://bridgehead-ccp-blaze:8080/fhir
|
||||||
|
|
||||||
|
ovis-backend-apollo:
|
||||||
|
image: docker.verbis.dkfz.de/ovis/ovis-backend-apollo:latest
|
||||||
|
container_name: bridgehead-ccp-ovis-backend
|
||||||
|
environment:
|
||||||
|
ADDRESS: mongodb://ovis-backend-database-mongodb:27017
|
||||||
|
depends_on:
|
||||||
|
- ovis-backend-database-mongodb
|
||||||
|
- ovis-backend-mongodb-data-preprocessing
|
||||||
|
- ovis-backend-data-import
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "test -d /app/node_modules/mongodb"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
# Internal only - no direct Traefik exposure. GraphQL is accessed via frontend internal proxy.
|
||||||
|
|
||||||
|
ovis-frontend:
|
||||||
|
image: docker.verbis.dkfz.de/ovis/ovis-frontend:latest
|
||||||
|
container_name: bridgehead-ccp-ovis-frontend
|
||||||
|
environment:
|
||||||
|
OVIS_PUBLIC_BASE_PATH: /ccp-ovis
|
||||||
|
PUBLIC_LOGIN_ENABLED: "false"
|
||||||
|
PUBLIC_OVIS_IMPORT: ccp
|
||||||
|
ORIGIN: https://${HOST}
|
||||||
|
depends_on:
|
||||||
|
ovis-backend-apollo:
|
||||||
|
condition: service_healthy
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.middlewares.ovis-frontend-ccp-slash-redirect.redirectregex.regex=^https?://([^/]+)/ccp-ovis$"
|
||||||
|
- "traefik.http.middlewares.ovis-frontend-ccp-slash-redirect.redirectregex.replacement=https://$${1}/ccp-ovis/"
|
||||||
|
- "traefik.http.middlewares.ovis-frontend-ccp-slash-redirect.redirectregex.permanent=true"
|
||||||
|
- "traefik.http.routers.ovis-frontend-ccp.tls=true"
|
||||||
|
- "traefik.http.routers.ovis-frontend-ccp.rule=PathPrefix(`/ccp-ovis`)"
|
||||||
|
- "traefik.http.routers.ovis-frontend-ccp.middlewares=traefik-forward-auth-ovis,ovis-frontend-ccp-slash-redirect"
|
||||||
|
- "traefik.http.services.ovis-frontend-ccp.loadbalancer.server.port=5173"
|
||||||
9
ccp/modules/ovis-setup.sh
Normal file
9
ccp/modules/ovis-setup.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
if [ -n "$ENABLE_OVIS" ]; then
|
||||||
|
log INFO "OVIS setup detected -- will start OVIS services with local oauth2-proxy middleware."
|
||||||
|
OVERRIDE+=" -f ./$PROJECT/modules/ovis-compose.yml"
|
||||||
|
add_private_oidc_redirect_url "/oauth2-ovis/callback"
|
||||||
|
add_private_oidc_redirect_url "/ccp-ovis*"
|
||||||
|
OVIS_AUTH_COOKIE_SECRET="$(generate_simple_password 'ovisCookieSecret' | head -c 16)"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user