Skip to content
Snippets Groups Projects
Verified Commit ab84369b authored by Martin Weise's avatar Martin Weise
Browse files

Added stuff

parent c690df6b
Branches
Tags
No related merge requests found
...@@ -5,10 +5,9 @@ author: Martin Weise ...@@ -5,10 +5,9 @@ author: Martin Weise
## TL;DR ## TL;DR
To install DBRepo in your existing cluster, download the sample [`values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-deployment/-/raw/master/charts/dbrepo-core/values.yaml?inline=false) To install DBRepo in your existing cluster, download the sample [`values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-deployment/-/raw/master/charts/dbrepo-core/values.yaml?inline=false)
for your deployment and update the variables `hostname` and `authAdminApiUrl` to your domain. for your deployment and update the variables, especially `hostname`. The chart depends on
installed [Keycloak Operator](https://www.keycloak.org/operator/installation) that can be installed following the
If you have [Helm](https://helm.sh/docs/intro/install/) already installed on your system, you can official guide.
install DBRepo with:
```shell ```shell
helm upgrade --install dbrepo \ helm upgrade --install dbrepo \
...@@ -20,9 +19,57 @@ helm upgrade --install dbrepo \ ...@@ -20,9 +19,57 @@ helm upgrade --install dbrepo \
--cleanup-on-fail --cleanup-on-fail
``` ```
## Architecture ## Dependencies
The helm chart depends on four components:
1. [Ingress NGINX Controller](https://kubernetes.github.io/ingress-nginx/) for basic ingress.
2. [Cert-Manager Controller](https://cert-manager.io/) for TLS certificate management with Let's Encrypt.
3. [MariaDB Operator](https://github.com/mariadb-operator/mariadb-operator/) for creation of databases.
4. [Keycloak Operator](https://www.keycloak.org/operator/installation) for creation of the authentication service.
## Configuration before the installation
Define an admin user that the services can use to communicate with
the [authentication service](../system-services-authentication). You will need to manually create this user later after
the installation.
## Configuration after the installation
After installing, get the initial administrator password created by the [Keycloak operator](https://www.keycloak.org/operator/basic-deployment):
```shell
kubectl -n dbrepo \
get \
secret \
auth-service-initial-admin \
-o jsonpath='{.data.password}' | base64 --decode
```
On success, the output should look like this: `1f5581a01d8e8f47f2dae08cc88f56fd` which is the initial password for the
user `admin`. This password should be considered as *temporary* and be changed immediately now! Login into
the [authentication service](../system-services-authentication) as `admin` and:
1. Create a new user in the `master` realm.
2. Create credentials (non-temporary) for this user in the `master` realm.
3. Assign this user the role `admin`.
4. Delete the user `admin`.
### Backup
tbd
### Restore
tbd
## Limitations
1. MariaDB Galera does not (yet) support XA-transactions required by the authentication service (=Keycloak). Therefore
only a single MariaDB pod can be deployed at once for the [auth database](../system-databases-auth).
!!! question "Do you miss functionality? Do these limitations affect you?"
<figure markdown> We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
![Architecture Kubernetes Azure](images/architecture-core.svg) in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming
<figcaption>Architecture of the services on Kubernetes</figcaption> experience!
</figure>
...@@ -17,9 +17,9 @@ with Kubernetes version *1.24.10* and node sizes *Standard_B4ms* ...@@ -17,9 +17,9 @@ with Kubernetes version *1.24.10* and node sizes *Standard_B4ms*
- 4 vCPU cores - 4 vCPU cores
- 16GB RAM memory - 16GB RAM memory
- 100GB SSD storage - 200GB SSD storage
This is roughly met by selecting the *Standard_B4ms* flavor. This is roughly met by selecting the *Standard_B4ms* flavor and three worker nodes.
## Deployment ## Deployment
......
...@@ -18,7 +18,7 @@ this is because of Docker. During idle times, the deployment will use significan ...@@ -18,7 +18,7 @@ this is because of Docker. During idle times, the deployment will use significan
- 4 vCPU cores - 4 vCPU cores
- 16GB RAM memory - 16GB RAM memory
- 100GB SSD storage - 200GB SSD storage
### Minikube ### Minikube
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment