diff --git a/dnpm/dnpm-compose-beamconnect.yml b/dnpm/dnpm-compose-beamconnect.yml new file mode 100644 index 0000000..57c46eb --- /dev/null +++ b/dnpm/dnpm-compose-beamconnect.yml @@ -0,0 +1,29 @@ +version: "3.7" + +services: + beam-proxy: + environment: + APP_2_ID: dnpm + APP_2_KEY: ${DNPM_BEAM_SECRET_SHORT} + + dnpm-beam-connect: + depends_on: [ beam-proxy ] + image: samply/beam-connect:sites-without-auth + environment: + PROXY_URL: http://beam-proxy:8081 + PROXY_APIKEY: ${DNPM_BEAM_SECRET_SHORT} + APP_ID: dnpm.${PROXY_ID} + DISCOVERY_URL: ${DNPM_DISCOVERY_URL} + LOCAL_TARGETS_FILE: /run/secrets/connect_targets.json + HTTP_PROXY: http://forward_proxy:3128 + HTTPS_PROXY: http://forward_proxy:3128 + NO_PROXY: beam-proxy,dnpm-backend + RUST_LOG: ${RUST_LOG:-info} + secrets: + - connect_targets.json + ports: + - 8062:8062 + +secrets: + connect_targets.json: + file: /etc/bridgehead/dnpm/local_targets.json diff --git a/dnpm/dnpm-compose-bwhc.yml b/dnpm/dnpm-compose-bwhc.yml new file mode 100644 index 0000000..1953ca5 --- /dev/null +++ b/dnpm/dnpm-compose-bwhc.yml @@ -0,0 +1,48 @@ +version: "3.7" + +services: + dnpm-frontend: + depends_on: [ dnpm-backend ] + build: + context: ./dnpm/origin + dockerfile: Frontend.Dockerfile + args: + NUXT_HOST: 0.0.0.0 + NUXT_PORT: 3000 + BACKEND_PROTOCOL: http + BACKEND_HOSTNAME: localhost + BACKEND_PORT: 9000 + DNPM_BWHC_FRONTEND_ZIP: ${DNPM_BWHC_FRONTEND_ZIP} + ports: + - 3000:3000 + environment: + BACKEND_PROTOCOL: http + BACKEND_HOSTNAME: localhost + BACKEND_PORT: 9000 + no_proxy: dnpm-backend + + dnpm-backend: + build: + context: ./dnpm/origin + dockerfile: Backend.Dockerfile + args: + BWHC_BASE_DIR: /bwhc-backend + DNPM_BWHC_BACKEND_ZIP: ${DNPM_BWHC_BACKEND_ZIP} + ports: + - 9000:9000 + environment: + APPLICATION_SECRET: ${DNPM_APPLICATION_SECRET} + ZPM_SITE: ${ZPM_SITE} + noproxy: dnpm-frontend,connect + # PLAY_HTTP_PORT: 9000 + # PLAY_HTTP_ADDRESS: 0.0.0.0 + volumes: + - ./origin/logback.xml:/bwhc-backend/logback.xml:ro + - /etc/bridgehead/dnpm/bwhcConnectorConfig.xml:/bwhc-backend/bwhcConnectorConfig.xml:ro + - /etc/bridgehead/dnpm/production.conf:/bwhc-backend/production.conf:ro + - bwhc_data:/bwhc-backend/data/ + - bwhc_hgnc_data:/bwhc-backend/hgnc_data/ + +volumes: + bwhc_data: + bwhc_hgnc_data: diff --git a/dnpm/dnpm-compose.yml b/dnpm/dnpm-compose.yml deleted file mode 100644 index 1904123..0000000 --- a/dnpm/dnpm-compose.yml +++ /dev/null @@ -1,104 +0,0 @@ -version: "3.7" - -secrets: - connect_targets.json: - file: /etc/bridgehead/dnpm/local_targets.json - -services: -# traefik: -# command: -# - --entrypoints.dnpm-frontend.address=:3000 -# - --entrypoints.dnpm-backend.address=:9000 -# ports: -# - 3000:3000 -# - 9000:9000 - beam-proxy: - environment: - APP_2_ID: dnpm - APP_2_KEY: ${DNPM_BEAM_SECRET_SHORT} - - dnpm-beam-connect: - depends_on: [ beam-proxy ] - image: samply/beam-connect:sites-without-auth - environment: - PROXY_URL: http://beam-proxy:8081 - PROXY_APIKEY: ${DNPM_BEAM_SECRET_SHORT} - APP_ID: dnpm.${PROXY_ID} - DISCOVERY_URL: ${DNPM_DISCOVERY_URL} - LOCAL_TARGETS_FILE: /run/secrets/connect_targets.json - HTTP_PROXY: http://forward_proxy:3128 - HTTPS_PROXY: http://forward_proxy:3128 - NO_PROXY: proxy,dnpm-backend - RUST_LOG: ${RUST_LOG:-info} - secrets: - - connect_targets.json -# Enable this if you disable the internal DNPM backend/frontend -# ports: -# - 8062:8062 -# or the same via traefik: -# labels: -# - "traefik.enable=true" -# - "traefik.http.routers.connector.rule=PathPrefix(`/dnpm-connector`)" -# - "traefik.http.services.connector.loadbalancer.server.port=8062" -# - "traefik.http.routers.connector.tls=true" - - dnpm-frontend: - depends_on: [ dnpm-backend ] - build: - context: ./dnpm/origin - dockerfile: Frontend.Dockerfile - args: - NUXT_HOST: 0.0.0.0 - NUXT_PORT: 3000 - BACKEND_PROTOCOL: http - BACKEND_HOSTNAME: localhost - BACKEND_PORT: 9000 - DNPM_BWHC_FRONTEND_ZIP: ${DNPM_BWHC_FRONTEND_ZIP} - ports: - - 3000:3000 - environment: - BACKEND_PROTOCOL: http - BACKEND_HOSTNAME: localhost - BACKEND_PORT: 9000 - no_proxy: dnpm-backend -# labels: -# - "traefik.enable=true" -# - "traefik.http.routers.dnpm-frontend.entrypoints=dnpm-frontend" -# - "traefik.http.routers.dnpm-frontend.tls=true" -# - "traefik.http.services.dnpm-frontend.loadbalancer.server.port=3000" -## - "traefik.http.routers.dashboard.entrypoints=websecure" -## - "traefik.http.routers.dashboard.service=api@internal" -## - "traefik.http.routers.dashboard.tls=true" -## - "traefik.http.routers.dashboard.middlewares=auth" -## - "traefik.http.routers.dnpm-frontend.service=dnpm-frontend" - - dnpm-backend: - build: - context: ./dnpm/origin - dockerfile: Backend.Dockerfile - args: - BWHC_BASE_DIR: /bwhc-backend - DNPM_BWHC_BACKEND_ZIP: ${DNPM_BWHC_BACKEND_ZIP} - ports: - - 9000:9000 - environment: - APPLICATION_SECRET: ${DNPM_APPLICATION_SECRET} - ZPM_SITE: ${ZPM_SITE} - noproxy: dnpm-frontend,connect - # PLAY_HTTP_PORT: 9000 - # PLAY_HTTP_ADDRESS: 0.0.0.0 - volumes: - - ./origin/logback.xml:/bwhc-backend/logback.xml:ro - - /etc/bridgehead/dnpm/bwhcConnectorConfig.xml:/bwhc-backend/bwhcConnectorConfig.xml:ro - - /etc/bridgehead/dnpm/production.conf:/bwhc-backend/production.conf:ro - - bwhc_data:/bwhc-backend/data/ - - bwhc_hgnc_data:/bwhc-backend/hgnc_data/ -# labels: -# - "traefik.enable=true" -# - "traefik.http.routers.connector.rule=PathPrefix(`/dnpm-backend`)" -# - "traefik.http.services.connector.loadbalancer.server.port=9000" -# - "traefik.http.routers.connector.tls=true" - -volumes: - bwhc_data: - bwhc_hgnc_data: diff --git a/dnpm/dnpm-setup.sh b/dnpm/dnpm-setup.sh index f8893a3..360a7cc 100644 --- a/dnpm/dnpm-setup.sh +++ b/dnpm/dnpm-setup.sh @@ -2,10 +2,14 @@ function dnpmSetup() { if [ -e /etc/bridgehead/dnpm/local_targets.json ]; then - log INFO "DNPM setup detected -- will start DNPM Connector." - source /etc/bridgehead/dnpm/shared-but-secret-vars || fail_and_report 1 "Unable to load /etc/bridgehead/dnpm/shared-but-secret-vars" - OVERRIDE+="-f ./dnpm/dnpm-compose.yml" + log INFO "DNPM setup detected (Beam.Connect) -- will start Beam.Connect for DNPM." + OVERRIDE+=" -f ./dnpm/dnpm-compose-beamconnect.yml" DNPM_APPLICATION_SECRET="$(echo \"This is a salt string to generate one consistent password. It is not required to be secret.\" | openssl rsautl -sign -inkey /etc/bridgehead/pki/${SITE_ID}.priv.pem | base64 | head -c 30)" DNPM_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)" + if [ -e /etc/bridgehead/dnpm/bwhcConnectorConfig.xml ]; then + log INFO "DNPM setup detected (with Frontend/Backend) -- will start BWHC Frontend/Backend." + source /etc/bridgehead/dnpm/shared-but-secret-vars || fail_and_report 1 "Unable to load /etc/bridgehead/dnpm/shared-but-secret-vars" + OVERRIDE+=" -f ./dnpm/dnpm-compose-bwhc.yml" + fi fi }