mirror of
https://github.com/samply/bridgehead.git
synced 2025-06-17 04:50:15 +02:00
dktk-fed
This commit is contained in:
12
lib/functions.sh
Normal file
12
lib/functions.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
exitIfNotRoot() {
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Please run as root"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
log() {
|
||||
echo "$(date +'%Y-%m-%d %T')" "$1:" "$2"
|
||||
}
|
88
lib/generate.sh
Normal file
88
lib/generate.sh
Normal file
@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
|
||||
cat > ../landing/index.html <<EOL
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<title>Bridgehead Overview</title>
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet"
|
||||
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
|
||||
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-light" style="background-color: #aad7f6;">
|
||||
<h2 class="pb-2 border-bottom">Bridgehead ${site_name}</h2>
|
||||
</nav>
|
||||
<div class="container px-4 py-5" id="featured-3">
|
||||
<div>
|
||||
<h2>Components</h2>
|
||||
<h3>Central</h3>
|
||||
<table class="table">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th style="width: 50%">Group</th>
|
||||
<th style="width: 50%">Service</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>CCP-IT</td>
|
||||
<td><a href="https://patientlist.ccp-it.dktk.dkfz.de">Zentrale Patientenliste</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CCP-IT</td>
|
||||
<td><a href="https://decentralsearch.ccp-it.dktk.dkfz.de">Dezentrale Suche</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CCP-IT</td>
|
||||
<td><a href="https://centralsearch.ccp-it.dktk.dkfz.de">Zentrale Suche</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CCP-IT</td>
|
||||
<td><a href="https://deployment.ccp-it.dktk.dkfz.de">Deployment-Server</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CCP-IT</td>
|
||||
<td><a href="https://dktk-kne.kgu.de">Zentraler Kontrollnummernerzeuger</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3>Local</h3>
|
||||
<table class="table">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th style="width: 50%">Project</th>
|
||||
<th style="width: 50%">Services</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Bridgehead</td>
|
||||
<td>Reverse Proxy <a href="http://e260-serv-05:8080/">Traefik</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>DKTK</td>
|
||||
<td><a href="http://e260-serv-05/dktk-localdatamanagement/fhir/">Blaze</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<footer class="footer mt-auto py-3 ">
|
||||
<a href="https://dktk.dkfz.de/"><img src="https://www.oncoray.de/fileadmin/files/bilder_gruppen/DKTK/Logo_DKTK_neu_2016.jpg" height="10%" width="30%"></a> DKTK 2022
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
EOL
|
54
lib/prerequisites.sh
Normal file
54
lib/prerequisites.sh
Normal file
@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
## 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 ..."
|
||||
prerequisites="git docker docker-compose cat"
|
||||
for prerequisite in $prerequisites; do
|
||||
$prerequisite --version 2>&1
|
||||
is_available=$?
|
||||
if [ $is_available -gt 0 ]; then
|
||||
log "ERROR" "Prerequisite not fulfilled - $prerequisite is not available!"
|
||||
exit 79
|
||||
fi
|
||||
# TODO: Check for specific version
|
||||
done
|
||||
|
||||
echo "Checking site.conf"
|
||||
|
||||
#check if site.conf is created
|
||||
if [ ! -f site.conf ]; then
|
||||
echo "Please create your specific site.conf file from the site.dev.conf"
|
||||
exit
|
||||
fi
|
||||
|
||||
#Load site specific variables
|
||||
source site.conf
|
||||
|
||||
if [ -z "$site_name" ]; then
|
||||
echo "Please set site_name"
|
||||
fi
|
||||
|
||||
echo "Checking site-config module"
|
||||
|
||||
## Download submodule
|
||||
if [ ! -d "site-config" ]; then
|
||||
echo "Please set up the site-config folder. Instruction are in the readme."
|
||||
exit
|
||||
else
|
||||
echo "Site configuration is already loaded"
|
||||
fi
|
||||
|
||||
#Check if a project is selected
|
||||
if [ -z "$project" ]; then
|
||||
echo "No project selected! Please add a Project in your local site.conf."
|
||||
exit
|
||||
fi
|
||||
|
||||
#check if project env is present
|
||||
if [ -d "site-config/${project}.env" ]; then
|
||||
echo "Please copy the tempalte from ${project} and put it in the site-config folder"
|
||||
fi
|
||||
|
||||
echo "All prerequisites are met!"
|
10
lib/systemd/bridgehead-update@.service
Normal file
10
lib/systemd/bridgehead-update@.service
Normal file
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Bridgehead (%i) Update Service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=/srv/docker/bridgehead/
|
||||
ExecStart=/bin/bash -c "/srv/docker/bridgehead/update-bridgehead.sh %i"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
8
lib/systemd/bridgehead-update@.timer
Normal file
8
lib/systemd/bridgehead-update@.timer
Normal file
@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Nightly Updates of Bridgehead (%i)
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 03:00:00
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
15
lib/systemd/bridgehead@.service
Normal file
15
lib/systemd/bridgehead@.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Bridgehead (%i) Service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
|
||||
WorkingDirectory=/srv/docker/bridgehead/
|
||||
|
||||
ExecStartPre=/bin/bash -c '`which docker-compose` -f %i/docker-compose.yml --env-file site-config/%i.env down'
|
||||
ExecStart=/bin/bash -c '`which docker-compose` -f %i/docker-compose.yml --env-file site-config/%i.env up'
|
||||
ExecStop=/bin/bash -c '`which docker-compose` -f %i/docker-compose.yml --env-file site-config/%i.env down'
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Reference in New Issue
Block a user