Compare commits

..

2 Commits

Author SHA1 Message Date
408483fc54 commit to trigger the switch 2023-08-16 09:59:15 +02:00
e66b84b590 refactor: switch sites to main 2023-08-16 09:48:42 +02:00
13 changed files with 22 additions and 96 deletions

View File

@ -1,5 +1,5 @@
# Bridgehead # Bridgehead
The Bridgehead is a secure, low-effort solution to connect your research institution to a federated research network. It bundles interoperable, open-source software components into a turnkey package for installation on one of your secure servers. The Bridgehead is pre-configured with sane defaults, centrally monitored and with an absolute minimum of "moving parts" on your side, making it an extremely low-maintenance gateway to data sharing. The Bridgehead is a secure, low-effort solution to connect your research institution to a federated research network. It bundles interoperable, open-source software components into a turnkey package for installation on one of your secure servers. The Bridgehead is pre-configured with sane defaults, centrally monitored and with an absolute minimum of "moving parts" on your side, making it an extremely low-maintenance gateway to data sharing.
This repository is the starting point for any information and tools you will need to deploy a Bridgehead. If you have questions, please [contact us](mailto:verbis-support@dkfz-heidelberg.de). This repository is the starting point for any information and tools you will need to deploy a Bridgehead. If you have questions, please [contact us](mailto:verbis-support@dkfz-heidelberg.de).
@ -21,7 +21,7 @@ This repository is the starting point for any information and tools you will nee
- [HTTPS Access](#https-access) - [HTTPS Access](#https-access)
- [TLS terminating proxies](#tls-terminating-proxies) - [TLS terminating proxies](#tls-terminating-proxies)
- [File structure](#file-structure) - [File structure](#file-structure)
- [BBMRI-ERIC Directory entry needed](#bbmri-eric-directory-entry-needed) - [BBMRI-ERIC Directory](#bbmri-eric-directory)
4. [Things you should know](#things-you-should-know) 4. [Things you should know](#things-you-should-know)
- [Auto-Updates](#auto-updates) - [Auto-Updates](#auto-updates)
- [Auto-Backups](#auto-backups) - [Auto-Backups](#auto-backups)
@ -56,8 +56,6 @@ We recommend to install Docker(-compose) from its official sources as described
Note for Ubuntu: Please note that snap versions of Docker are not supported. Note for Ubuntu: Please note that snap versions of Docker are not supported.
Note for git and Docker: if you have a local proxy, you will need to adjust your setup appropriately, see [git proxy](https://gist.github.com/evantoli/f8c23a37eb3558ab8765) and [docker proxy](https://docs.docker.com/network/proxy/).
### Network ### Network
A running Bridgehead requires an outgoing HTTPS proxy to communicate with the central components. A running Bridgehead requires an outgoing HTTPS proxy to communicate with the central components.
@ -237,21 +235,6 @@ Even within your internal network, the Bridgehead enforces HTTPS for all service
All of the Bridgehead's outgoing connections are secured by transport encryption (TLS) and a Bridgehead will refuse to connect if certificate verification fails. If your local forward proxy server performs TLS termination, please place its CA certificate in `/etc/bridgehead/trusted-ca-certs` as a `.pem` file, e.g. `/etc/bridgehead/trusted-ca-certs/mylocalca.pem`. Then, all Bridgehead components will pick up this certificate and trust it for outgoing connections. All of the Bridgehead's outgoing connections are secured by transport encryption (TLS) and a Bridgehead will refuse to connect if certificate verification fails. If your local forward proxy server performs TLS termination, please place its CA certificate in `/etc/bridgehead/trusted-ca-certs` as a `.pem` file, e.g. `/etc/bridgehead/trusted-ca-certs/mylocalca.pem`. Then, all Bridgehead components will pick up this certificate and trust it for outgoing connections.
To find the certificate file, first run the following:
```
curl -v https://broker.bbmri.samply.de/v1/health
```
In the output, look out for the line:
```
successfully set certificate verify locations:
```
Here a file will be mentioned, perhaps in the directory /etc/ssl/certs. The exact location will depend on your operating system. This is the file that you need to copy.
### File structure ### File structure
- `/srv/docker/bridgehead` contains this git repository with the shell scripts and *project-specific configuration*. In here, all files are identical for all sites. You should not make any changes here. - `/srv/docker/bridgehead` contains this git repository with the shell scripts and *project-specific configuration*. In here, all files are identical for all sites. You should not make any changes here.
@ -264,29 +247,28 @@ Here a file will be mentioned, perhaps in the directory /etc/ssl/certs. The exac
Your Bridgehead's actual data is not stored in the above directories, but in named docker volumes, see `docker volume ls` and `docker volume inspect <volume_name>`. Your Bridgehead's actual data is not stored in the above directories, but in named docker volumes, see `docker volume ls` and `docker volume inspect <volume_name>`.
### BBMRI-ERIC Directory entry needed ### BBMRI-ERIC Directory
If you run a biobank, you should be listed together with your collections with in the [Directory](https://directory.bbmri-eric.eu), a BBMRI-ERIC project that catalogs biobanks. If you run a biobank, you should register with the [Directory](https://directory.bbmri-eric.eu), a BBMRI-ERIC project that catalogs biobanks.
To do this, contact the BBMRI-ERIC national node for the country where your biobank is based, see [the list of nodes](http://www.bbmri-eric.eu/national-nodes/). To do this, contact the BBMRI-ERIC national node for the country where your biobank is based, see [the list of nodes](http://www.bbmri-eric.eu/national-nodes/).
Once you have added your biobank to the Directory you got persistent identifier (PID) for your biobank and unique identifiers (IDs) for your collections. The collection IDs are necessary for the biospecimens assigning to the collections and later in the data flows between BBMRI-ERIC tools. In case you cannot distribute all your biospecimens within collections via assigning the collection IDs, **you should choose one of your sample collections as a default collection for your biobank**. This collection will be automatically used to label any samples that have not been assigned a collection ID in your ETL process. Make a note of this default collection ID, you will need it later on in the installation process. Once you have registered, **you should choose one of your sample collections as a default collection for your biobank**. This is the collection that will be automatically used to label any samples that have not been assigned a collection ID in your ETL process. Make a note of this ID, you will need it later on in the installation process.
### Directory sync tool The Bridgehead's **Directory Sync** is an optional feature that keeps the Directory up to date with your local data, e.g. number of samples. Conversely, it also updates the local FHIR store with the latest contact details etc. from the Directory. You must explicitly set your country specific directory url, username and password to enable this feature.
The Bridgehead's **Directory Sync** is an optional feature that keeps the Directory up to date with your local data, e.g. number of samples. Conversely, it also updates the local FHIR store with the latest contact details etc. from the Directory. You must explicitly set your country specific directory URL, username and password to enable this feature.
Full details can be found in [directory_sync_service](https://github.com/samply/directory_sync_service). Full details can be found in [directory_sync_service](https://github.com/samply/directory_sync_service).
To enable it, you will need to set these variables to the ```bbmri.conf``` file of your GitLab repository. Here is an example config: To enable it, you will need to set these variables to the ```bbmri.conf``` file of your GitLab repository. Here is an example config:
``` ```
### Directory sync service
DS_DIRECTORY_URL=https://directory.bbmri-eric.eu DS_DIRECTORY_URL=https://directory.bbmri-eric.eu
DS_DIRECTORY_USER_NAME=your_directory_username DS_DIRECTORY_USER_NAME=your_directory_username
DS_DIRECTORY_USER_PASS=qwdnqwswdvqHBVGFR9887 DS_DIRECTORY_USER_PASS=qwdnqwswdvqHBVGFR9887
DS_TIMER_CRON="0 22 * * *" DS_TIMER_CRON="0 22 * * *"
``` ```
You must contact the Directory team for your national node to find the URL, and to register as a user. You must contact the Directory for your national node to find the URL, and to register as a user.
Additionally, you should choose when you want Directory sync to run. In the example above, this is set to happen at 10 pm every evening. You can modify this to suit your requirements. The timer specification should follow the [cron](https://crontab.guru) convention. Additionally, you should choose when you want Directory sync to run. In the example above, this is set to happen at 10 pm every evening. You can modify this to suit your requirements. The timer specification should follow the [cron](https://crontab.guru) convention.

View File

@ -22,7 +22,7 @@ services:
dnpm-beam-connect: dnpm-beam-connect:
depends_on: [ dnpm-beam-proxy ] depends_on: [ dnpm-beam-proxy ]
image: docker.verbis.dkfz.de/cache/samply/beam-connect:develop image: docker.verbis.dkfz.de/cache/samply/beam-connect:dnpm
container_name: bridgehead-dnpm-beam-connect container_name: bridgehead-dnpm-beam-connect
environment: environment:
PROXY_URL: http://dnpm-beam-proxy:8081 PROXY_URL: http://dnpm-beam-proxy:8081
@ -34,7 +34,6 @@ services:
HTTPS_PROXY: http://forward_proxy:3128 HTTPS_PROXY: http://forward_proxy:3128
NO_PROXY: dnpm-beam-proxy,dnpm-backend NO_PROXY: dnpm-beam-proxy,dnpm-backend
RUST_LOG: ${RUST_LOG:-info} RUST_LOG: ${RUST_LOG:-info}
NO_AUTH: "true"
volumes: volumes:
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro - /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro - /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro

View File

@ -22,7 +22,6 @@ services:
BROKER_URL: ${ERIC_BROKER_URL} BROKER_URL: ${ERIC_BROKER_URL}
PROXY_ID: ${ERIC_PROXY_ID} PROXY_ID: ${ERIC_PROXY_ID}
APP_focus_KEY: ${ERIC_FOCUS_BEAM_SECRET_SHORT} APP_focus_KEY: ${ERIC_FOCUS_BEAM_SECRET_SHORT}
APP_monitoring_KEY: ${ERIC_MONITORING_BEAM_SECRET_SHORT}
PRIVKEY_FILE: /run/secrets/proxy.pem PRIVKEY_FILE: /run/secrets/proxy.pem
ALL_PROXY: http://forward_proxy:3128 ALL_PROXY: http://forward_proxy:3128
TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs
@ -35,12 +34,3 @@ services:
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro - /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.crt.pem:/conf/root.crt.pem:ro
bridgehead-monitoring:
image: docker.verbis.dkfz.de/cache/samply/bridgehead-monitoring:latest
container_name: bridgehead-monitoring-eric
environment:
- BEAM_ID=monitoring.${ERIC_PROXY_ID}
- BEAM_API_KEY=${ERIC_MONITORING_BEAM_SECRET_SHORT}
- BEAM_PROXY_URL=http://beam-proxy-eric:8081
depends_on:
- beam-proxy-eric

View File

@ -10,7 +10,4 @@ if [ "${ENABLE_ERIC}" == "true" ]; then
ERIC_PROXY_ID=${SITE_ID}.${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)" ERIC_FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
ERIC_SUPPORT_EMAIL=bridgehead@helpdesk.bbmri-eric.eu ERIC_SUPPORT_EMAIL=bridgehead@helpdesk.bbmri-eric.eu
#Monitoring
ERIC_MONITORING_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
fi fi

View File

@ -22,7 +22,6 @@ services:
BROKER_URL: ${GBN_BROKER_URL} BROKER_URL: ${GBN_BROKER_URL}
PROXY_ID: ${GBN_PROXY_ID} PROXY_ID: ${GBN_PROXY_ID}
APP_focus_KEY: ${GBN_FOCUS_BEAM_SECRET_SHORT} APP_focus_KEY: ${GBN_FOCUS_BEAM_SECRET_SHORT}
APP_monitoring_KEY: ${GBN_MONITORING_BEAM_SECRET_SHORT}
PRIVKEY_FILE: /run/secrets/proxy.pem PRIVKEY_FILE: /run/secrets/proxy.pem
ALL_PROXY: http://forward_proxy:3128 ALL_PROXY: http://forward_proxy:3128
TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs
@ -35,13 +34,3 @@ services:
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro - /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.crt.pem:/conf/root.crt.pem:ro
bridgehead-monitoring:
image: docker.verbis.dkfz.de/cache/samply/bridgehead-monitoring:latest
container_name: bridgehead-monitoring-gbn
environment:
- BEAM_ID=monitoring.${GBN_PROXY_ID}
- BEAM_API_KEY=${GBN_MONITORING_BEAM_SECRET_SHORT}
- BEAM_PROXY_URL=http://beam-proxy-gbn:8081
depends_on:
- beam-proxy-gbn

View File

@ -5,12 +5,9 @@ if [ "${ENABLE_GBN}" == "true" ]; then
OVERRIDE+=" -f ./$PROJECT/modules/gbn-compose.yml" OVERRIDE+=" -f ./$PROJECT/modules/gbn-compose.yml"
# Set required variables # Set required variables
GBN_BROKER_ID=broker.bbmri.de GBN_BROKER_ID='#TODO#'
GBN_BROKER_URL=https://${GBN_BROKER_ID} GBN_BROKER_URL=https://${GBN_BROKER_ID}
GBN_PROXY_ID=${SITE_ID}.${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)" GBN_FOCUS_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
GBN_SUPPORT_EMAIL=feedback@germanbiobanknode.de GBN_SUPPORT_EMAIL=todo@verbis.dkfz.de
#Monitoring
GBN_MONITORING_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"
fi fi

View File

@ -1,20 +1 @@
-----BEGIN CERTIFICATE----- #TODO#
MIIDNTCCAh2gAwIBAgIUckVOQQWZBTC0pWhn1X3lPxAWricwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAxMLQnJva2VyLVJvb3QwHhcNMjMwOTA0MDkwMTQ0WhcNMzMw
OTAxMDkwMjEzWjAWMRQwEgYDVQQDEwtCcm9rZXItUm9vdDCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAOOD+CVvteBmu1hKV1QlfbHmiLCnuf6F+9k+1u/b
6as6k7BURn8KZAxVLWSIwC6x2C7n9CHN9Jieb4DWpS0XmXQVUEpT1/yiLGBdxp2x
nrbzm7caOunsWsPlGOcXPJKJpzAhcg58RDzXZ+2+shulSmsgPNlWBaLhNL5wj0sQ
MzbwGVlGIJg18Ye/9WgQkO2ZcnTGb5cRsChKs4H43ZC34ZSSk7wqWg6P3e2xFam1
YKXBOZzhwHoI4AxUQ+gd6upz5dqcwbaNZm10VP8fMac2dMLw9cOCS0ueDCS4viLd
A69yds19AndBPMZhoEY1UHafjJ1uITRJQpaaB4vNliX+1rECAwEAAaN7MHkwDgYD
VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFC74YIorSwWD
/s5ozz3xvqUMDJ3qMB8GA1UdIwQYMBaAFC74YIorSwWD/s5ozz3xvqUMDJ3qMBYG
A1UdEQQPMA2CC0Jyb2tlci1Sb290MA0GCSqGSIb3DQEBCwUAA4IBAQCzcIccBzYr
sHCGTGsSyLGBYsuI5yl+hvFOitYTha/mC+XBxq2R6By2WzbfSZtyZkUtC/+FqdCY
VtMSjbDVXtBgsabfqODBobHmPyOEmNUX4IGcyn06rdM+rHQRah98lF+PhiPPO42F
9Wj8dkq4/Gf+Yarq31ZbY0sed2sEPZ/bV26Og8Ft9qip5gKwklyakAiCnDIq+QBd
ltvng3g08AQM0o5KIphP2/WU0UoSk1YPVMjRxuLiFg8xvr2EdCQQ9oA7xbhrmAXe
242HVW/7KokjmowyWTQlIUGnuGdCOtTl8h74eHTID0YWO68hHkA0J5Ox2j4dZxvw
HRFTxAR1gGKX
-----END CERTIFICATE-----

View File

@ -40,7 +40,6 @@ services:
BROKER_URL: ${BROKER_URL} BROKER_URL: ${BROKER_URL}
PROXY_ID: ${PROXY_ID} PROXY_ID: ${PROXY_ID}
APP_focus_KEY: ${FOCUS_BEAM_SECRET_SHORT} APP_focus_KEY: ${FOCUS_BEAM_SECRET_SHORT}
APP_monitoring_KEY: ${CCP_MONITORING_BEAM_SECRET_SHORT}
PRIVKEY_FILE: /run/secrets/proxy.pem PRIVKEY_FILE: /run/secrets/proxy.pem
ALL_PROXY: http://forward_proxy:3128 ALL_PROXY: http://forward_proxy:3128
TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs TLS_CA_CERTIFICATES_DIR: /conf/trusted-ca-certs
@ -52,16 +51,6 @@ services:
volumes: volumes:
- /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro - /etc/bridgehead/trusted-ca-certs:/conf/trusted-ca-certs:ro
- /srv/docker/bridgehead/ccp/root.crt.pem:/conf/root.crt.pem:ro - /srv/docker/bridgehead/ccp/root.crt.pem:/conf/root.crt.pem:ro
bridgehead-monitoring:
image: docker.verbis.dkfz.de/cache/samply/bridgehead-monitoring:latest
container_name: bridgehead-monitoring-ccp
environment:
- BEAM_ID=monitoring.${PROXY_ID}
- BEAM_API_KEY=${CCP_MONITORING_BEAM_SECRET_SHORT}
- BEAM_PROXY_URL=http://beam-proxy:8081
depends_on:
- beam-proxy
volumes: volumes:

View File

@ -1,2 +0,0 @@
#Monitoring
CCP_MONITORING_BEAM_SECRET_SHORT="$(cat /proc/sys/kernel/random/uuid | sed 's/[-]//g' | head -c 20)"

View File

@ -6,7 +6,7 @@ services:
APP_dnpm-connect_KEY: ${DNPM_BEAM_SECRET_SHORT} APP_dnpm-connect_KEY: ${DNPM_BEAM_SECRET_SHORT}
dnpm-beam-connect: dnpm-beam-connect:
depends_on: [ beam-proxy ] depends_on: [ beam-proxy ]
image: docker.verbis.dkfz.de/cache/samply/beam-connect:develop image: docker.verbis.dkfz.de/cache/samply/beam-connect:dnpm
container_name: bridgehead-dnpm-beam-connect container_name: bridgehead-dnpm-beam-connect
environment: environment:
PROXY_URL: http://beam-proxy:8081 PROXY_URL: http://beam-proxy:8081
@ -18,7 +18,6 @@ services:
HTTPS_PROXY: "http://forward_proxy:3128" HTTPS_PROXY: "http://forward_proxy:3128"
NO_PROXY: beam-proxy,dnpm-backend NO_PROXY: beam-proxy,dnpm-backend
RUST_LOG: ${RUST_LOG:-info} RUST_LOG: ${RUST_LOG:-info}
NO_AUTH: "true"
volumes: volumes:
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro - /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro - /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro

View File

@ -188,7 +188,7 @@ function do_enroll_inner {
PARAMS+="--admin-email $SUPPORT_EMAIL" PARAMS+="--admin-email $SUPPORT_EMAIL"
fi fi
docker run --rm -v /etc/bridgehead/pki:/etc/bridgehead/pki samply/beam-enroll:latest --output-file $PRIVATEKEYFILENAME --proxy-id $MANUAL_PROXY_ID $PARAMS docker run --rm -ti -v /etc/bridgehead/pki:/etc/bridgehead/pki samply/beam-enroll:latest --output-file $PRIVATEKEYFILENAME --proxy-id $MANUAL_PROXY_ID $PARAMS
chmod 600 $PRIVATEKEYFILENAME chmod 600 $PRIVATEKEYFILENAME
} }
@ -211,4 +211,4 @@ add_basic_auth_user() {
fi fi
log DEBUG "Saving clear text credentials in $FILE. If wanted, delete them manually." log DEBUG "Saving clear text credentials in $FILE. If wanted, delete them manually."
sed -i "/^$NAME/ s|$|\n# User: $USER\n# Password: $PASSWORD|" $FILE sed -i "/^$NAME/ s|$|\n# User: $USER\n# Password: $PASSWORD|" $FILE
} }

View File

@ -80,6 +80,12 @@ for DIR in /etc/bridgehead $(pwd); do
log "INFO" "You can review all changes on the repository with $git_repository_url/compare?from=$old_git_hash&to=$new_git_hash" log "INFO" "You can review all changes on the repository with $git_repository_url/compare?from=$old_git_hash&to=$new_git_hash"
fi fi
git_updated="true" git_updated="true"
if [ "$DIR" == "/srv/docker/bridgehead" ]; then
git -C "$DIR" checkout main
REPORT_BRANCH_NAME=$(git -C "$DIR" branch --show-current)
REPORT_STATUS_CHECK=$(git -C "$DIR" status --porcelain)
report_error 7 "MAINTENANCE: Switched Branch to main, you are now on branch $REPORT_BRANCH_NAME \n see status \n $REPORT_STATUS_CHECK"
fi
fi fi
done done

View File

@ -22,7 +22,7 @@ services:
dnpm-beam-connect: dnpm-beam-connect:
depends_on: [ dnpm-beam-proxy ] depends_on: [ dnpm-beam-proxy ]
image: docker.verbis.dkfz.de/cache/samply/beam-connect:develop image: docker.verbis.dkfz.de/cache/samply/beam-connect:dnpm
container_name: bridgehead-dnpm-beam-connect container_name: bridgehead-dnpm-beam-connect
environment: environment:
PROXY_URL: http://dnpm-beam-proxy:8081 PROXY_URL: http://dnpm-beam-proxy:8081
@ -34,7 +34,6 @@ services:
HTTPS_PROXY: http://forward_proxy:3128 HTTPS_PROXY: http://forward_proxy:3128
NO_PROXY: dnpm-beam-proxy,dnpm-backend NO_PROXY: dnpm-beam-proxy,dnpm-backend
RUST_LOG: ${RUST_LOG:-info} RUST_LOG: ${RUST_LOG:-info}
NO_AUTH: "true"
volumes: volumes:
- /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro - /etc/bridgehead/dnpm/local_targets.json:/conf/connect_targets.json:ro
- /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro - /etc/bridgehead/dnpm/central_targets.json:/conf/central_targets.json:ro