Some fixes after review with Martin
This commit is contained in:
parent
445add6d30
commit
dc8b8b3339
14
README.md
14
README.md
|
@ -44,7 +44,7 @@ The Bridgehead has two primary components:
|
|||
* The **Blaze Store**. This is a highly responsive FHIR data store, which you will need to fill with your data via an ETL chain.
|
||||
* The **Connector**. This is the communication portal to the Sample Locator, with specially designed features that make it possible to run it behind a corporate firewall without making any compromises on security.
|
||||
|
||||
#### CPP(DKTK/C4)
|
||||
#### CCP(DKTK/C4)
|
||||
|
||||
TODO:
|
||||
|
||||
|
@ -79,6 +79,7 @@ For running your bridgehead we recommend the follwing Hardware:
|
|||
|
||||
Before starting the installation process, please ensure that following software is available on your system:
|
||||
|
||||
//Remove
|
||||
#### [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
||||
|
||||
To check that you have a working git installation, please run
|
||||
|
@ -90,6 +91,8 @@ rm -rf Hello-World;
|
|||
```
|
||||
If you see the output "Hello World!" your installation should be working.
|
||||
|
||||
|
||||
//Just install docker-compose und docker with version
|
||||
#### [Docker](https://docs.docker.com/get-docker/)
|
||||
|
||||
To check your docker installation, you can try to execute dockers "Hello World" Image. The command is:
|
||||
|
@ -149,10 +152,15 @@ sudo git clone https://github.com/samply/bridgehead.git /srv/docker/bridgehead;
|
|||
|
||||
When using the systemd services we you need to create a bridgehead user for security reasons. This should be done after clone the repository. Since not all linux distros support ```adduser```, we provide a action for the systemcall ```useradd```.
|
||||
|
||||
//
|
||||
|
||||
``` shell
|
||||
adduser --no-create-home --disabled-login --ingroup docker --gecos "" bridgehead
|
||||
```
|
||||
|
||||
``` shell
|
||||
useradd -M -g docker -N -s /sbin/nologin bridgehead
|
||||
chown bridghead /srv/docker/bridgehead/ -R
|
||||
chown bridgehead /srv/docker/bridgehead/ -R
|
||||
```
|
||||
|
||||
|
||||
|
@ -216,7 +224,7 @@ To make the configuration effective, you need to tell systemd to reload the conf
|
|||
|
||||
``` shell
|
||||
sudo systemctl daemon-reload;
|
||||
sudo systemctl bridgehead@cpp.service;
|
||||
sudo systemctl bridgehead@ccp.service;
|
||||
```
|
||||
|
||||
### DKTK/C4
|
||||
|
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
traefik:
|
||||
container_name: bridgehead-traefik
|
||||
image: traefik:2.4
|
||||
image: traefik:2
|
||||
command:
|
||||
- --entrypoints.web.address=:80
|
||||
- --entrypoints.websecure.address=:443
|
||||
|
@ -60,11 +60,11 @@ services:
|
|||
- "blaze-data:/app/data"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.cpp-auth.basicauth.users=${bc_auth_users}"
|
||||
- "traefik.http.middlewares.ccp-auth.basicauth.users=${bc_auth_users}"
|
||||
- "traefik.http.routers.blaze_ccp.rule=PathPrefix(`/ccp-localdatamanagement`)"
|
||||
- "traefik.http.middlewares.ccp_b_strip.stripprefix.prefixes=/ccp-localdatamanagement"
|
||||
- "traefik.http.services.blaze_ccp.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,cpp-auth"
|
||||
- "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,ccp-auth"
|
||||
- "traefik.http.routers.blaze_ccp.tls=true"
|
||||
|
||||
ccp-search-share:
|
||||
|
@ -73,7 +73,7 @@ services:
|
|||
environment:
|
||||
APP_BASE_URL: "http://dktk-fed-search-share:8080"
|
||||
APP_BROKER_BASEURL: "https://dktk-fed-search.verbis.dkfz.de/broker/rest/searchbroker"
|
||||
APP_BROKER_MAIL: ${CCP_MAIL}
|
||||
APP_BROKER_MAIL: ${CCP_SEARCHBROKER_USERNAME}
|
||||
APP_STORE_BASEURL: "http://bridgehead-ccp-blaze:8080/fhir"
|
||||
SPRING_DATASOURCE_URL: "jdbc:postgresql://bridgehead-ccp-share-db:5432/dktk-fed-search-share"
|
||||
JAVA_TOOL_OPTIONS: "-Xmx1g"
|
||||
|
@ -86,7 +86,7 @@ services:
|
|||
- blaze
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.dktk-fed-search.rule=PathPrefix(`/cpp-connector`)"
|
||||
- "traefik.http.routers.dktk-fed-search.rule=PathPrefix(`/ccp-connector`)"
|
||||
- "traefik.http.services.dktk-fed-search.loadbalancer.server.port=8080"
|
||||
|
||||
ccp-search-share-db:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
version: '3.4'
|
||||
version: '3.7'
|
||||
|
||||
volumes:
|
||||
gbn-connector-logs:
|
||||
|
@ -8,7 +8,7 @@ volumes:
|
|||
services:
|
||||
traefik:
|
||||
container_name: bridgehead-traefik
|
||||
image: traefik:2.4
|
||||
image: traefik:2
|
||||
command:
|
||||
- --entrypoints.web.address=:80
|
||||
- --entrypoints.websecure.address=:443
|
||||
|
@ -65,11 +65,11 @@ services:
|
|||
- "blaze-data:/app/data"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.middlewares.cpp-auth.basicauth.users=${bc_auth_users}"
|
||||
- "traefik.http.middlewares.ccp-auth.basicauth.users=${bc_auth_users}"
|
||||
- "traefik.http.routers.blaze_ccp.rule=PathPrefix(`/ccp-localdatamanagement`)"
|
||||
- "traefik.http.middlewares.ccp_b_strip.stripprefix.prefixes=/ccp-localdatamanagement"
|
||||
- "traefik.http.services.blaze_ccp.loadbalancer.server.port=8080"
|
||||
- "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,cpp-auth"
|
||||
- "traefik.http.routers.blaze_ccp.middlewares=ccp_b_strip,ccp-auth"
|
||||
- "traefik.http.routers.blaze_ccp.tls=true"
|
||||
|
||||
gbn-connector:
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
#!/bin/bash -e
|
||||
source lib/functions.sh
|
||||
|
||||
echo "This script add's a user with password to the bridghead"
|
||||
log "This script add's a user with password to the bridghead"
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No arguments provided, please provide the project name"
|
||||
log "No arguments provided, please provide the project name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f /etc/systemd/system/bridgehead@$1.service.d/override.conf ]; then
|
||||
echo "Please create a Service first, with setup-bridgehead-units.sh"
|
||||
log "Please create a Service first, with setup-bridgehead-units.sh"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ then
|
|||
"
|
||||
LOCAL_SERVICES+=" <tr>
|
||||
<td>CCP</td>
|
||||
<td><a href=\"https://${HOST}/cpp-localdatamanagement/fhir/\">Blaze</a></td>
|
||||
<td><a href=\"https://${HOST}/ccp-localdatamanagement/fhir/\">Blaze</a></td>
|
||||
</tr>
|
||||
"
|
||||
fi
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
|
||||
## Check if user is a su
|
||||
echo "Welcome to the starting a bridgehead. We will get your instance up and running in no time"
|
||||
echo "First we will check if all prerequisites are met ..."
|
||||
log "Welcome to the starting a bridgehead. We will get your instance up and running in no time"
|
||||
log "First we will check if all prerequisites are met ..."
|
||||
prerequisites="git docker docker-compose"
|
||||
for prerequisite in $prerequisites; do
|
||||
$prerequisite --version 2>&1
|
||||
|
@ -15,54 +15,54 @@ for prerequisite in $prerequisites; do
|
|||
# TODO: Check for specific version
|
||||
done
|
||||
|
||||
echo "Checking /etc/bridgehead/"
|
||||
log "Checking /etc/bridgehead/"
|
||||
|
||||
## Download submodule
|
||||
if [ ! -d "/etc/bridgehead/" ]; then
|
||||
echo "Please set up the config folder. Instruction are in the readme."
|
||||
log "Please set up the config folder. Instruction are in the readme."
|
||||
exit 1
|
||||
else
|
||||
echo "Done"
|
||||
log "Done"
|
||||
fi
|
||||
|
||||
echo "Checking /etc/bridgehead/site.conf"
|
||||
log "Checking /etc/bridgehead/site.conf"
|
||||
|
||||
#check if site.conf is created
|
||||
if [ ! -f /etc/bridgehead/site.conf ]; then
|
||||
echo "Please create your specific site.conf file from the site.dev.conf"
|
||||
log "Please create your specific site.conf file from the site.dev.conf"
|
||||
exit 1
|
||||
else
|
||||
echo "Done"
|
||||
log "Done"
|
||||
fi
|
||||
|
||||
#Load site specific variables
|
||||
source /etc/bridgehead/site.conf
|
||||
|
||||
if [ -z "$site_name" ]; then
|
||||
echo "Please set site_name"
|
||||
log "Please set site_name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Checking project config"
|
||||
log "Checking project config"
|
||||
|
||||
#check if project env is present
|
||||
if [ -d "/etc/bridgehead/${project}.env" ]; then
|
||||
echo "Please copy the tempalte from ${project} and put it in the /etc/bridgehead-config/ folder"
|
||||
log "Please copy the tempalte from ${project} and put it in the /etc/bridgehead-config/ folder"
|
||||
exit 1
|
||||
else
|
||||
echo "Done"
|
||||
log "Done"
|
||||
fi
|
||||
|
||||
echo "Checking ssl cert"
|
||||
log "Checking ssl cert"
|
||||
|
||||
## Create SSL Cert
|
||||
if [ ! -d "/certs" ]; then
|
||||
echo "SSL cert missing, now we create one. Please consider getting a signed one"
|
||||
log "SSL cert missing, now we create one. Please consider getting a signed one"
|
||||
mkdir certs
|
||||
fi
|
||||
|
||||
if [ -d "/etc/bridgehead/traefik.crt" ]; then
|
||||
if [ -d "certs/traefik.crt" ]; then
|
||||
openssl req -x509 -newkey rsa:4096 -nodes -keyout certs/traefik.key -out certs/traefik.crt -days 365
|
||||
fi
|
||||
|
||||
echo "All prerequisites are met!"
|
||||
log "All prerequisites are met!"
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
source lib/functions.sh
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Please provide a Project as argument"
|
||||
log "Please provide a Project as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $1 != "ccp" ] && [ $1 != "nngm" ] && [ $1 != "gbn" ]; then
|
||||
echo "Please provide a supported project like ccp, gbn or nngm"
|
||||
log "Please provide a supported project like ccp, gbn or nngm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -19,7 +19,7 @@ if ! ./lib/prerequisites.sh; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
echo "Stopping systemd services and removing bridgehead ..."
|
||||
log "Stopping systemd services and removing bridgehead ..."
|
||||
|
||||
systemctl disable --now bridgehead@${project}.service bridgehead-update@${project}.timer bridgehead-update@${project}.service
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@ source lib/functions.sh
|
|||
exitIfNotRoot
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Please provide a Project as argument"
|
||||
log "Please provide a Project as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $1 != "ccp" ] && [ $1 != "nngm" ] && [ $1 != "gbn" ]; then
|
||||
echo "Please provide a supported project like ccp, gbn or nngm"
|
||||
log "Please provide a supported project like ccp, gbn or nngm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
@ -33,9 +33,9 @@ systemctl daemon-reload
|
|||
echo
|
||||
|
||||
if ! systemctl is-active --quiet bridgehead@"${project}"; then
|
||||
echo "Enabling autostart of bridgehead@${project}.service"
|
||||
log "Enabling autostart of bridgehead@${project}.service"
|
||||
systemctl enable bridgehead@"${project}"
|
||||
echo "Enabling nightly updates for bridgehead@${project}.service ..."
|
||||
log "Enabling nightly updates for bridgehead@${project}.service ..."
|
||||
systemctl enable --now bridgehead-update@"${project}".timer
|
||||
fi
|
||||
|
||||
|
|
|
@ -8,9 +8,9 @@ RestartSec=30
|
|||
|
||||
WorkingDirectory=/srv/docker/bridgehead/
|
||||
|
||||
ExecStart=/srv/docker/bridgehead/start-bridgehead.sh %i
|
||||
RemainAfterExit=true
|
||||
ExecStop=/srv/docker/bridgehead/stop-bridgehead.sh %i
|
||||
ExecStartPre=exec /srv/docker/bridgehead/stop-bridgehead.sh %i
|
||||
ExecStart=exec /srv/docker/bridgehead/start-bridgehead.sh %i
|
||||
ExecStop=exec /srv/docker/bridgehead/stop-bridgehead.sh %i
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=multi-user.target
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
#!/bin/bash
|
||||
### Note: Currently not complete, needs some features before useable for production
|
||||
source lib/functions.sh
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Please provide a Project as argument"
|
||||
log "Please provide a Project as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $1 != "ccp" ] && [ $1 != "nngm" ] && [ $1 != "gbn" ]; then
|
||||
echo "Please provide a supported project like ccp, gbn or nngm"
|
||||
log "Please provide a supported project like ccp, gbn or nngm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export project=$1
|
||||
|
||||
source lib/functions.sh
|
||||
|
||||
if ! lib/prerequisites.sh; then
|
||||
log "Validating Prerequisites failed, please fix the occurring error"
|
||||
exit 1
|
||||
|
@ -22,7 +20,7 @@ fi
|
|||
|
||||
source /etc/bridgehead/site.conf
|
||||
|
||||
./lib/generate.sh
|
||||
####./lib/generate.sh
|
||||
|
||||
log "Starting bridgehead"
|
||||
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
source lib/functions.sh
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Please provide a Project as argument"
|
||||
log "Please provide a Project as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $1 != "ccp" ] && [$1 != "nngm"] && [ $1 != "gbn" ]; then
|
||||
echo "Please provide a supported project like ccp, gbn or nngm"
|
||||
log "Please provide a supported project like ccp, gbn or nngm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in New Issue