mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 23:41:43 +01:00
Compare commits
8 Commits
uv-jtorres
...
uv-jbornho
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8801b49a6 | ||
|
|
ebc4ce0c3a | ||
|
|
e1d15e4bc6 | ||
|
|
c63e725525 | ||
|
|
45715a2059 | ||
|
|
3ad81e6b92 | ||
|
|
a395759551 | ||
|
|
8aa1a7fa7d |
@@ -36,7 +36,7 @@ openDesk currently features the following functional main components:
|
|||||||
| Groupware | OX App Suite | [8.26](https://documentation.open-xchange.com/appsuite/releases/8.26/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
|
| Groupware | OX App Suite | [8.26](https://documentation.open-xchange.com/appsuite/releases/8.26/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
|
||||||
| Knowledge management | XWiki | [16.4.1](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.4.1/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
|
| Knowledge management | XWiki | [16.4.1](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.4.1/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
|
||||||
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
|
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
|
||||||
| Project management | OpenProject | [14.3.0](https://www.openproject.org/docs/release-notes/14-3-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
| Project management | OpenProject | [14.4.0](https://www.openproject.org/docs/release-notes/14-4-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||||
| Videoconferencing | Jitsi | [2.0.9646](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9646) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
| Videoconferencing | Jitsi | [2.0.9646](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9646) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
||||||
| Weboffice | Collabora | [24.04.6.1.1](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
| Weboffice | Collabora | [24.04.6.1.1](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Below you will find some wrap-up notes when it comes to debugging openDesk by ad
|
|||||||
|
|
||||||
You can add a container by editing and updating an existing deployment, which is quite comfortable with tools like [Lens](https://k8slens.dev/).
|
You can add a container by editing and updating an existing deployment, which is quite comfortable with tools like [Lens](https://k8slens.dev/).
|
||||||
|
|
||||||
- Select the container you want to make use of as debugging container, in the example below it's `registry.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-debugging-image:latest`.
|
- Select the container you want to make use of as debugging container, in the example below it is `registry.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-debugging-image:latest`.
|
||||||
- Ensure the `shareProcessNamespace` option is enabled for the Pod.
|
- Ensure the `shareProcessNamespace` option is enabled for the Pod.
|
||||||
- Reference the selected container within the `containers` array of the deployment.
|
- Reference the selected container within the `containers` array of the deployment.
|
||||||
- In case you want to access another containers filesystem, ensure the user/group settings of both containers match.
|
- In case you want to access another containers filesystem, ensure the user/group settings of both containers match.
|
||||||
@@ -121,7 +121,7 @@ Now you can add the ephemeral container with:
|
|||||||
```
|
```
|
||||||
kubectl -n ${NAMESPACE} debug -it --attach=false -c ${EPH_CONTAINER_NAME} --image={DEBUG_IMAGE} ${POD_NAME}
|
kubectl -n ${NAMESPACE} debug -it --attach=false -c ${EPH_CONTAINER_NAME} --image={DEBUG_IMAGE} ${POD_NAME}
|
||||||
```
|
```
|
||||||
and open it's interactive terminal with
|
and open its interactive terminal with
|
||||||
```
|
```
|
||||||
kubectl -n ${NAMESPACE} attach -it -c ${EPH_CONTAINER_NAME} ${POD_NAME}
|
kubectl -n ${NAMESPACE} attach -it -c ${EPH_CONTAINER_NAME} ${POD_NAME}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -44,9 +44,9 @@ We will provide additional documents regarding user provisioning in the future,
|
|||||||
- UDM REST API:
|
- UDM REST API:
|
||||||
- Build a provisioning solution by yourself using the [UDM REST API](https://docs.software-univention.de/developer-reference/5.0/en/udm/rest-api.html).
|
- Build a provisioning solution by yourself using the [UDM REST API](https://docs.software-univention.de/developer-reference/5.0/en/udm/rest-api.html).
|
||||||
- The API gives you full control over the contents of the IAM in order to create, update or delete users and groups.
|
- The API gives you full control over the contents of the IAM in order to create, update or delete users and groups.
|
||||||
- Directory Connector:
|
- Nubus Directory Importer:
|
||||||
- It is based on a Python one-way directory synchronization for users and groups.
|
- It is based on a Python one-way directory synchronization for users and groups.
|
||||||
- We will provide more details on this approach soon one the tool is made publicly available.
|
- Please find more details in the [upstream product's documentation](https://docs.software-univention.de/nubus-kubernetes-operation/latest/en/howto-connect-external-iam.html).
|
||||||
- Ad-hoc provisioning (AHP)
|
- Ad-hoc provisioning (AHP)
|
||||||
- This feature is currently not available in the openDesk Keycloak, but there are plans by the Supplier Univention to make it available.
|
- This feature is currently not available in the openDesk Keycloak, but there are plans by the Supplier Univention to make it available.
|
||||||
- Ad-hoc provisioning creates an user account on the fly during a users first login.
|
- Ad-hoc provisioning creates an user account on the fly during a users first login.
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
* [Example configuration](#example-configuration)
|
* [Example configuration](#example-configuration)
|
||||||
* [Mail domain](#mail-domain)
|
* [Mail domain](#mail-domain)
|
||||||
* [Matrix domain](#matrix-domain)
|
* [Matrix domain](#matrix-domain)
|
||||||
|
* [DNS](#dns)
|
||||||
|
* [Webserver](#webserver)
|
||||||
|
* [Content Security Policy](#content-security-policy)
|
||||||
|
* [.well-known](#well-known)
|
||||||
|
|
||||||
# Use case
|
# Use case
|
||||||
|
|
||||||
@@ -59,7 +63,9 @@ or via environment variable
|
|||||||
export MATRIX_DOMAIN=my_organization.tld
|
export MATRIX_DOMAIN=my_organization.tld
|
||||||
```
|
```
|
||||||
|
|
||||||
This setup requires also a different DNS setup:
|
### DNS
|
||||||
|
|
||||||
|
The following changes apply to the standard DNS:
|
||||||
|
|
||||||
| Record name | Type | Value | Comment |
|
| Record name | Type | Value | Comment |
|
||||||
| -------------------------------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------- |
|
| -------------------------------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||||
@@ -67,6 +73,14 @@ This setup requires also a different DNS setup:
|
|||||||
|
|
||||||
*Note:* `matrix.opendesk.domain.tld` in the "Value" column can also be the IP address where synapse TLS port is listening to.
|
*Note:* `matrix.opendesk.domain.tld` in the "Value" column can also be the IP address where synapse TLS port is listening to.
|
||||||
|
|
||||||
|
### Webserver
|
||||||
|
|
||||||
|
#### Content Security Policy
|
||||||
|
|
||||||
|
The webserver of `my_organization.tld` should add `*.opendesk.domain.tld` to its CSP header.
|
||||||
|
|
||||||
|
#### .well-known
|
||||||
|
|
||||||
If you want to use other Matrix clients,
|
If you want to use other Matrix clients,
|
||||||
e.g., Element Messenger for [iOS](https://apps.apple.com/de/app/element-messenger/id1083446067)
|
e.g., Element Messenger for [iOS](https://apps.apple.com/de/app/element-messenger/id1083446067)
|
||||||
or [Android](https://play.google.com/store/apps/details?id=im.vector.app),
|
or [Android](https://play.google.com/store/apps/details?id=im.vector.app),
|
||||||
@@ -82,4 +96,4 @@ you need to create a JSON file with the following contents that is served from
|
|||||||
```
|
```
|
||||||
|
|
||||||
This ensures clients know where to find the Matrix protocol endpoint when users specify `my_organization.tld`
|
This ensures clients know where to find the Matrix protocol endpoint when users specify `my_organization.tld`
|
||||||
as their homeserver.
|
as their homeserver.
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ files.
|
|||||||
> All configuration options and their default values can be found in files at `helmfile/environments/default/`
|
> All configuration options and their default values can be found in files at `helmfile/environments/default/`
|
||||||
|
|
||||||
For the following guide, we will use `dev` as environment, where variables can be set in
|
For the following guide, we will use `dev` as environment, where variables can be set in
|
||||||
`helmfile/environments/dev/values.yaml`.
|
`helmfile/environments/dev/values.yaml.gotmpl`.
|
||||||
|
|
||||||
## DNS
|
## DNS
|
||||||
|
|
||||||
@@ -115,13 +115,13 @@ All available apps and their default value can be found in `helmfile/environment
|
|||||||
| Memcached | `memcached.enabled` | `true` | Cache Database |
|
| Memcached | `memcached.enabled` | `true` | Cache Database |
|
||||||
| MinIO | `minio.enabled` | `true` | Object Storage |
|
| MinIO | `minio.enabled` | `true` | Object Storage |
|
||||||
| Nextcloud | `nextcloud.enabled` | `true` | File share |
|
| Nextcloud | `nextcloud.enabled` | `true` | File share |
|
||||||
|
| Nubus | `nubus.enabled` | `true` | Identity Management & Portal |
|
||||||
| OpenProject | `openproject.enabled` | `true` | Project management |
|
| OpenProject | `openproject.enabled` | `true` | Project management |
|
||||||
| OX Appsuite | `oxAppsuite.enabled` | `true` | Groupware |
|
| OX Appsuite | `oxAppsuite.enabled` | `true` | Groupware |
|
||||||
| Provisioning | `oxConnector.enabled` | `true` | Backend provisioning |
|
| Provisioning | `oxConnector.enabled` | `true` | Backend provisioning |
|
||||||
| Postfix | `postfix.enabled` | `true` | MTA |
|
| Postfix | `postfix.enabled` | `true` | MTA |
|
||||||
| PostgreSQL | `postgresql.enabled` | `true` | Database |
|
| PostgreSQL | `postgresql.enabled` | `true` | Database |
|
||||||
| Redis | `redis.enabled` | `true` | Cache Database |
|
| Redis | `redis.enabled` | `true` | Cache Database |
|
||||||
| Nubus | `nubus.enabled` | `true` | Identity Management & Portal |
|
|
||||||
| XWiki | `xwiki.enabled` | `true` | Knowledge management |
|
| XWiki | `xwiki.enabled` | `true` | Knowledge management |
|
||||||
|
|
||||||
Exemplary, Jitsi can be disabled like:
|
Exemplary, Jitsi can be disabled like:
|
||||||
@@ -199,18 +199,27 @@ cluster:
|
|||||||
- "127.0.0.0/8"
|
- "127.0.0.0/8"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If your load balancer / reverse proxy IPs are not already covered by the above `cidr` you need to
|
||||||
|
explicitly configure the related IPs or IP ranges:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
cluster:
|
||||||
|
networking:
|
||||||
|
incomingCIDR:
|
||||||
|
- "172.16.0.0/12"
|
||||||
|
```
|
||||||
|
|
||||||
### Ingress
|
### Ingress
|
||||||
|
|
||||||
By default, the `ingressClassName` is empty to choose your default ingress controller, you may want to customize it by
|
By default, the `ingressClassName` is empty to choose your default ingress controller. You may want to customize it by
|
||||||
setting:
|
setting the following attribute to the name of the currently only supported ingress controller `ingress-nginx` (see
|
||||||
|
[requirements.md](./requirements.md)) for reference) within your deployment if that is not the clusters default ingress.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
ingress:
|
ingress:
|
||||||
ingressClassName: "cilium"
|
ingressClassName: "name-of-my-nginx-ingress"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Please check the [requirements.md](./requirements.md) for the supported Ingress controllers.
|
|
||||||
|
|
||||||
### Container runtime
|
### Container runtime
|
||||||
|
|
||||||
Some apps require specific configuration for the container runtime. You can set your container runtime like `cri-o`,
|
Some apps require specific configuration for the container runtime. You can set your container runtime like `cri-o`,
|
||||||
|
|||||||
@@ -6,14 +6,17 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
<h1>Upgrade migrations</h1>
|
<h1>Upgrade migrations</h1>
|
||||||
|
|
||||||
* [Disclaimer](#disclaimer)
|
* [Disclaimer](#disclaimer)
|
||||||
* [From v0.9.0](#from-v090)
|
* [Releases upgrades](#releases-upgrades)
|
||||||
* [Automated migrations](#automated-migrations)
|
* [From v0.9.0](#from-v090)
|
||||||
* [Updated IAM component Nubus](#updated-iam-component-nubus)
|
* [Automated migrations](#automated-migrations)
|
||||||
* [Manual cleanup](#manual-cleanup)
|
* [Updated IAM component Nubus](#updated-iam-component-nubus)
|
||||||
* [From v0.8.1](#from-v081)
|
* [Manual cleanup](#manual-cleanup)
|
||||||
* [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr)
|
* [From v0.8.1](#from-v081)
|
||||||
* [Updated customizable template attributes](#updated-customizable-template-attributes)
|
* [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr)
|
||||||
* [`migrations` S3 bucket](#migrations-s3-bucket)
|
* [Updated customizable template attributes](#updated-customizable-template-attributes)
|
||||||
|
* [`migrations` S3 bucket](#migrations-s3-bucket)
|
||||||
|
* [Related components and artefacts](#related-components-and-artefacts)
|
||||||
|
* [Development](#development)
|
||||||
|
|
||||||
# Disclaimer
|
# Disclaimer
|
||||||
|
|
||||||
@@ -24,14 +27,16 @@ Though we try to ease the pain when it comes to 0.x upgrades. That is what this
|
|||||||
Limitations:
|
Limitations:
|
||||||
- We assume that the PV reclaim policy is set to `delete`, so expect that PVs get deleted as soon as the related PVC was deleted and will cover an explicit delete for PVs.
|
- We assume that the PV reclaim policy is set to `delete`, so expect that PVs get deleted as soon as the related PVC was deleted and will cover an explicit delete for PVs.
|
||||||
|
|
||||||
# From v0.9.0
|
# Releases upgrades
|
||||||
|
|
||||||
## Automated migrations
|
## From v0.9.0
|
||||||
|
|
||||||
### Updated IAM component Nubus
|
### Automated migrations
|
||||||
|
|
||||||
openDesk is integrating the latest [Nubus](https://www.univention.de/produkte/nubus/) development from Univention. The new redundant and scalable LDAP requires migration activities. These have been automated to avoid manual interaction. The `run_2` of the openDesk
|
#### Updated IAM component Nubus
|
||||||
upgrade migrations executes the following steps
|
|
||||||
|
openDesk is integrating the latest [Nubus](https://www.univention.de/produkte/nubus/) development from Univention. The now redundant and scalable LDAP requires migration activities. These have been automated to avoid manual interaction. The `run_2` of the openDesk
|
||||||
|
upgrade migrations executes the following steps:
|
||||||
|
|
||||||
- Stage PRE:
|
- Stage PRE:
|
||||||
- Delete service `ums-keycloak`, as it will be recreated headless.
|
- Delete service `ums-keycloak`, as it will be recreated headless.
|
||||||
@@ -40,7 +45,7 @@ upgrade migrations executes the following steps
|
|||||||
- Stage POST:
|
- Stage POST:
|
||||||
- Restart Keycloak.
|
- Restart Keycloak.
|
||||||
|
|
||||||
#### Manual cleanup
|
##### Manual cleanup
|
||||||
|
|
||||||
Currently we do not execute possible cleanup steps as part of the migrations POST stage. So you might want to remove the no longer used PVCs after successful upgrade:
|
Currently we do not execute possible cleanup steps as part of the migrations POST stage. So you might want to remove the no longer used PVCs after successful upgrade:
|
||||||
```
|
```
|
||||||
@@ -49,14 +54,14 @@ kubectl -n ${NAMESPACE} delete pvc shared-data-ums-ldap-server-0
|
|||||||
kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
||||||
```
|
```
|
||||||
|
|
||||||
# From v0.8.1
|
## From v0.8.1
|
||||||
|
|
||||||
## Updated `cluster.networking.cidr`
|
### Updated `cluster.networking.cidr`
|
||||||
|
|
||||||
- Action: `cluster.networking.cidr` is now an array (was a string until 0.8.1), please update your setup accordingly if you explicitly set this value.
|
- Action: `cluster.networking.cidr` is now an array (was a string until 0.8.1), please update your setup accordingly if you explicitly set this value.
|
||||||
- Reference:[cluster.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/cluster.yaml)
|
- Reference:[cluster.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/cluster.yaml)
|
||||||
|
|
||||||
## Updated customizable template attributes
|
### Updated customizable template attributes
|
||||||
|
|
||||||
- Action: Please ensure you update you custom deployment values according with the updated default value structure.
|
- Action: Please ensure you update you custom deployment values according with the updated default value structure.
|
||||||
- References:
|
- References:
|
||||||
@@ -65,7 +70,28 @@ kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
|||||||
- `monitoring.` prefix for `prometheus.*` and `graphana.*`, see [monitoring.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/monitoring.yaml).
|
- `monitoring.` prefix for `prometheus.*` and `graphana.*`, see [monitoring.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/monitoring.yaml).
|
||||||
- `smtp.` prefix for `localpartNoReply`, see [smtp.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/smtp.yaml).
|
- `smtp.` prefix for `localpartNoReply`, see [smtp.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/smtp.yaml).
|
||||||
|
|
||||||
## `migrations` S3 bucket
|
### `migrations` S3 bucket
|
||||||
|
|
||||||
- Action: For self managed/external S3/object storages, please ensure you add a bucket `migrations` to your S3.
|
- Action: For self managed/external S3/object storages, please ensure you add a bucket `migrations` to your S3.
|
||||||
- Reference: `objectstores.migrations` in [objectstores.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/objectstores.yaml)
|
- Reference: `objectstores.migrations` in [objectstores.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/objectstores.yaml)
|
||||||
|
|
||||||
|
# Related components and artefacts
|
||||||
|
|
||||||
|
openDesk comes with two upgrade steps as part of the deployment, they can be found in the folder [/helmfile/apps](../helmfile/apps/) as all other components:
|
||||||
|
|
||||||
|
- `migrations-pre`: Is the very first app that gets deployed.
|
||||||
|
- `migrations-post`: Is the last app that gets deployed.
|
||||||
|
|
||||||
|
Both migrations have to be deployed exclusively at their first/last position and not in parallel with other components.
|
||||||
|
|
||||||
|
The status of the upgrade migrations is tracked in the ConfigMap `migrations-status`, more details can be found in the [README.md of the related container image](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/README.md).
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
When a new upgrade migration is required, ensure to address the following list:
|
||||||
|
|
||||||
|
- Update the generated release version file [`global.generated.yaml`](../helmfile/environments/default/global.generated.yaml) at least on the patch level to test the upgrade in your feature branch as well as trigger it in the `develop` branch after the feature branch was merged. The set value gets overwritten during the release process with the release's actual version number.
|
||||||
|
- You have to implement the migration logic as a runner script in the [`opendesk-migrations`](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations) image. Please find more instructions in the linked repository.
|
||||||
|
- You most likely have to update the [`opendesk-migrations` Helm chart](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations) within the `rules` section of the [`role.yaml`](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations/-/blob/main/charts/opendesk-migrations/templates/role.yaml) to provide the permissions required for the execution of your migration's logic.
|
||||||
|
- You have to set the runner's ID you want to execute in the [migrations.yaml.gotmpl](../helmfile/shared/migrations.yaml.gotmpl). See also the `migrations.*` section of [the Helm chart's README.md](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations/-/blob/main/charts/opendesk-migrations/README.md).
|
||||||
|
- Update the [`charts.yaml`](../helmfile/environments/default/charts.yaml) and [`images.yaml`](../helmfile/environments/default/images.yaml) to reflect the newer releases of the `opendesk-migrations` Helm chart and container image.
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ The following minimal requirements are thought for initial evaluation deployment
|
|||||||
| RAM | 32 GB, more recommended |
|
| RAM | 32 GB, more recommended |
|
||||||
| Disk | HDD or SSD, >10 GB |
|
| Disk | HDD or SSD, >10 GB |
|
||||||
|
|
||||||
|
Check [`scaling.md`](./scaling.md) for more details on resource requirements and scalability.
|
||||||
|
|
||||||
# Kubernetes
|
# Kubernetes
|
||||||
|
|
||||||
Any self-hosted or managed K8s cluster >= 1.24 listed in
|
Any self-hosted or managed K8s cluster >= 1.24 listed in
|
||||||
|
|||||||
@@ -7,55 +7,17 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
|
|
||||||
This document should cover the abilities to scale apps.
|
This document should cover the abilities to scale apps.
|
||||||
|
|
||||||
<!-- TOC -->
|
# Horizontal scalability
|
||||||
* [Replicas](#replicas)
|
|
||||||
<!-- TOC -->
|
|
||||||
|
|
||||||
# Replicas
|
We are working on generating this document automatically based on the file
|
||||||
|
[`replicas.yaml`](../helmfile/environments/default/replicas.yaml) that contains necessary annotations.
|
||||||
|
In the meantime this file can be used to check the components scaling support / capabilities.
|
||||||
|
|
||||||
The Replicas can be increased of almost any component, but is only effective for high-availability or load-balancing for
|
# Upstream information
|
||||||
apps with a check-mark in `Scaling (effective)` column.
|
|
||||||
|
|
||||||
Verified positive effects are marked with a check-mark in `Scaling (verified)` column, apps which are not yet tested are
|
While scaling services horizontally is the ideal solution, information about vertical scaling is helpful
|
||||||
marked with a gear.
|
when it comes to defining the applications resources, see [`resources.yaml`](../helmfile/environments/default/resources.yaml) for references.
|
||||||
|
|
||||||
|
Please find below links to the application's upstream resources about scaling:
|
||||||
|
|
||||||
| Component | Name | Scaling (effective) | Scaling (verified) |
|
- [OpenProject system requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
|
||||||
|-----------------------------|------------------------------------------|:-------------------:|:------------------:|
|
|
||||||
| ClamAV | `replicas.clamav` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.clamd` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.freshclam` | :x: | :x: |
|
|
||||||
| | `replicas.icap` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.milter` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Collabora | `replicas.collabora` | :white_check_mark: | :gear: |
|
|
||||||
| CryptPad | `replicas.cryptpad` | :white_check_mark: | :gear: |
|
|
||||||
| Dovecot | `replicas.dovecot` | :x: | :gear: |
|
|
||||||
| Element | `replicas.element` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.matrixNeoBoardWidget` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixNeoChoiceWidget` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixNeoDateFixBot` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixNeoDateFixWidget` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixUserVerificationService` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.synapse` | :x: | :gear: |
|
|
||||||
| | `replicas.synapseWeb` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.wellKnown` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Intercom Service | `replicas.intercomService` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Jitsi | `replicas.jibri` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jicofo` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jitsi ` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jitsiKeycloakAdapter` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jvb ` | :x: | :x: |
|
|
||||||
| Keycloak | `replicas.keycloak` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Memcached | `replicas.memcached` | :gear: | :gear: |
|
|
||||||
| Minio | `replicas.minioDistributed` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Nextcloud | `replicas.nextcloudApache2` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.nextcloudExporter` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.nextcloudPHP` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| OpenProject | `replicas.openproject` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Postfix | `replicas.postfix` | :x: | :gear: |
|
|
||||||
| Redis | `replicas.redis` | :gear: | :gear: |
|
|
||||||
| Univention Management Stack | | :gear: | :gear: |
|
|
||||||
| | `replicas.umsPortalFrontend` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.umsPortalServer` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.umsUdmRestApi` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| XWiki | `replicas.xwiki` | :x: | :gear: |
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ configuration:
|
|||||||
port: {{ .Values.cache.nextcloud.port | quote }}
|
port: {{ .Values.cache.nextcloud.port | quote }}
|
||||||
collabora:
|
collabora:
|
||||||
# internalWopiUrl: ""
|
# internalWopiUrl: ""
|
||||||
wopiAllowlist: {{ join " " .Values.cluster.networking.cidr | quote }}
|
wopiAllowlist: {{ join ", " ( concat .Values.cluster.networking.cidr .Values.cluster.networking.incomingCIDR ) | quote }}
|
||||||
database:
|
database:
|
||||||
host: {{ .Values.databases.nextcloud.host | quote }}
|
host: {{ .Values.databases.nextcloud.host | quote }}
|
||||||
port: {{ .Values.databases.nextcloud.port | quote }}
|
port: {{ .Values.databases.nextcloud.port | quote }}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ nubusKeycloakExtensions:
|
|||||||
registry: {{ .Values.images.nubusKeycloakExtensionHandler.registry }}
|
registry: {{ .Values.images.nubusKeycloakExtensionHandler.registry }}
|
||||||
repository: {{ .Values.images.nubusKeycloakExtensionHandler.repository }}
|
repository: {{ .Values.images.nubusKeycloakExtensionHandler.repository }}
|
||||||
tag: {{ .Values.images.nubusKeycloakExtensionHandler.tag }}
|
tag: {{ .Values.images.nubusKeycloakExtensionHandler.tag }}
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusKeycloakExtensionProxy.registry }}
|
registry: {{ .Values.images.nubusKeycloakExtensionProxy.registry }}
|
||||||
@@ -40,7 +40,7 @@ nubusLdapServer:
|
|||||||
tag: {{ .Values.images.nubusLdapServer.tag }}
|
tag: {{ .Values.images.nubusLdapServer.tag }}
|
||||||
dhInitcontainer:
|
dhInitcontainer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusLdapServerDhInitContainer.registry }}
|
registry: {{ .Values.images.nubusLdapServerDhInitContainer.registry }}
|
||||||
repository: {{ .Values.images.nubusLdapServerDhInitContainer.repository }}
|
repository: {{ .Values.images.nubusLdapServerDhInitContainer.repository }}
|
||||||
tag: {{ .Values.images.nubusLdapServerDhInitContainer.tag }}
|
tag: {{ .Values.images.nubusLdapServerDhInitContainer.tag }}
|
||||||
waitForDependency:
|
waitForDependency:
|
||||||
@@ -48,7 +48,7 @@ nubusLdapServer:
|
|||||||
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
||||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||||
|
|
||||||
|
|
||||||
nubusPortalConsumer:
|
nubusPortalConsumer:
|
||||||
portalConsumer:
|
portalConsumer:
|
||||||
@@ -56,7 +56,7 @@ nubusPortalConsumer:
|
|||||||
registry: {{ .Values.images.nubusPortalConsumer.registry }}
|
registry: {{ .Values.images.nubusPortalConsumer.registry }}
|
||||||
repository: {{ .Values.images.nubusPortalConsumer.repository }}
|
repository: {{ .Values.images.nubusPortalConsumer.repository }}
|
||||||
tag: {{ .Values.images.nubusPortalConsumer.tag }}
|
tag: {{ .Values.images.nubusPortalConsumer.tag }}
|
||||||
|
|
||||||
|
|
||||||
nubusNotificationsApi:
|
nubusNotificationsApi:
|
||||||
image:
|
image:
|
||||||
|
|||||||
@@ -42,8 +42,7 @@ config:
|
|||||||
# We use client specific scopes as we bind them to Keycloak role membership which itself is linked
|
# We use client specific scopes as we bind them to Keycloak role membership which itself is linked
|
||||||
# to LDAP group membership to ensure a user cannot access an application without the required
|
# to LDAP group membership to ensure a user cannot access an application without the required
|
||||||
# group membership.
|
# group membership.
|
||||||
# ToDo:
|
# ToDo: Ensure all applications verify the token's signature to ensure it is not tampered.
|
||||||
# - Jitsi does currently not care if it gets scopes/claims as long as the user is authenticated.
|
|
||||||
clientScopes:
|
clientScopes:
|
||||||
- name: "read_contacts"
|
- name: "read_contacts"
|
||||||
protocol: "openid-connect"
|
protocol: "openid-connect"
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-jitsi"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-jitsi"
|
||||||
name: "opendesk-jitsi"
|
name: "opendesk-jitsi"
|
||||||
version: "1.7.9"
|
version: "1.9.2"
|
||||||
verify: true
|
verify: true
|
||||||
mariadb:
|
mariadb:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -200,7 +200,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-migrations"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-migrations"
|
||||||
name: "opendesk-migrations"
|
name: "opendesk-migrations"
|
||||||
version: "1.2.1"
|
version: "1.2.2"
|
||||||
verify: true
|
verify: true
|
||||||
minio:
|
minio:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
@@ -249,10 +249,12 @@ charts:
|
|||||||
# upstreamRepository: "nubus/charts/nubus"
|
# upstreamRepository: "nubus/charts/nubus"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "19", "3"]
|
# upstreamMirrorStartFrom: ["0", "19", "3"]
|
||||||
registry: "registry.opencode.de"
|
# registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
# repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
||||||
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus-dev/charts"
|
||||||
name: "nubus"
|
name: "nubus"
|
||||||
version: "0.33.0"
|
version: "0.36.0-pre-jbornhold-update-stack-data"
|
||||||
verify: true
|
verify: true
|
||||||
opendeskKeycloakBootstrap:
|
opendeskKeycloakBootstrap:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
|
|||||||
@@ -18,11 +18,14 @@ cluster:
|
|||||||
# Kubernetes cluster network CIDRs.
|
# Kubernetes cluster network CIDRs.
|
||||||
cidr:
|
cidr:
|
||||||
- "10.0.0.0/8"
|
- "10.0.0.0/8"
|
||||||
|
# IP addresses or IP ranges of the reverse proxy / load balancer to restrict the requesting source
|
||||||
|
# for defined services.
|
||||||
|
incomingCIDR: []
|
||||||
# Ingress-gateway IP - only relevant for "NodePort" cluster services.
|
# Ingress-gateway IP - only relevant for "NodePort" cluster services.
|
||||||
# When ingress and egress gateway use different ips, which results that pods can't self-discover their incoming ip,
|
# When ingress and egress gateway use different ips, which results that pods can't self-discover their incoming ip,
|
||||||
# you need to provide the public (load-balanced) ingress gateways ip address.
|
# you need to provide the public (load-balanced) ingress gateways ip address.
|
||||||
ingressGatewayIP: ""
|
ingressGatewayIP: ""
|
||||||
# LoadBalancer status fiel - only relevant for "LoadBalancer" cluster services.
|
# LoadBalancer status field - only relevant for "LoadBalancer" cluster services.
|
||||||
# The IP/DNS of your load-balancer will be fetched for some components from 'status' map of services.
|
# The IP/DNS of your load-balancer will be fetched for some components from 'status' map of services.
|
||||||
# Most providers use '.status.loadBalancer.ingress[0].ip' to store public ip. You can modify the chosen field here.
|
# Most providers use '.status.loadBalancer.ingress[0].ip' to store public ip. You can modify the chosen field here.
|
||||||
loadBalancerStatusField: "ip"
|
loadBalancerStatusField: "ip"
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["2023", "12", "14"]
|
# upstreamMirrorStartFrom: ["2023", "12", "14"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/nordeck/images-mirror/jitsi-keycloak-adapter"
|
repository: "bmi/opendesk/components/supplier/nordeck/images-mirror/jitsi-keycloak-adapter"
|
||||||
tag: "v20240314@sha256:8abe8209a59c2d646fa3e7136f6a6ea15f3f692106bba92c0e777f8d383edc12"
|
tag: "v20240808@sha256:73db5ae9bb617d076b6a877500dbeece38fd15f8ae933ffadbd72d9aa82ad8da"
|
||||||
jitsiPatchJVB:
|
jitsiPatchJVB:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
# providerResponsible: "Nordeck"
|
# providerResponsible: "Nordeck"
|
||||||
@@ -195,9 +195,11 @@ images:
|
|||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
# upstreamRegistry: "https://registry-1.docker.io"
|
# upstreamRegistry: "https://registry-1.docker.io"
|
||||||
# upstreamRepository: "bitnami/memcached"
|
# upstreamRepository: "bitnami/memcached"
|
||||||
registry: "registry-1.docker.io"
|
# registry: "registry-1.docker.io"
|
||||||
|
# repository: "bitnami/memcached"
|
||||||
|
registry: "docker.io"
|
||||||
repository: "bitnami/memcached"
|
repository: "bitnami/memcached"
|
||||||
tag: "1.6.21-debian-11-r107@sha256:247ec29efd6030960047a623aef025021154662edf6b6d6e88c97936f164d99d"
|
tag: "1.6.29-debian-12-r4"
|
||||||
migrations:
|
migrations:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -205,7 +207,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-migrations"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-migrations"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-migrations"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-migrations"
|
||||||
tag: "1.2.0@sha256:42ebe655680466fd4b1647719752f1a4e7482eb2bc44abff806c4ac69fcda3e8"
|
tag: "1.2.1@sha256:241561c51dee3ccd4d54cf732020634291f124025946e6be983f850bbf4eb1d3"
|
||||||
milter:
|
milter:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -219,9 +221,11 @@ images:
|
|||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
# upstreamRegistry: "https://registry-1.docker.io"
|
# upstreamRegistry: "https://registry-1.docker.io"
|
||||||
# upstreamRepository: "bitnami/minio"
|
# upstreamRepository: "bitnami/minio"
|
||||||
registry: "registry-1.docker.io"
|
# registry: "registry-1.docker.io"
|
||||||
|
# repository: "bitnami/minio"
|
||||||
|
registry: "docker.io"
|
||||||
repository: "bitnami/minio"
|
repository: "bitnami/minio"
|
||||||
tag: "2023@sha256:bced4f2f9fc48b755ebb3e1b35e76195a978d4331bf2d0c6699dab412d3c0be7"
|
tag: "2024.8.17-debian-12-r0"
|
||||||
nextcloudApache2:
|
nextcloudApache2:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -261,9 +265,11 @@ images:
|
|||||||
# upstreamRepository: "nubus/images/data-loader"
|
# upstreamRepository: "nubus/images/data-loader"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "41", "5"]
|
# upstreamMirrorStartFrom: ["0", "41", "5"]
|
||||||
registry: "registry.opencode.de"
|
# registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/data-loader"
|
# repository: "bmi/opendesk/components/supplier/univention/images-mirror/data-loader"
|
||||||
tag: "0.60.0@sha256:9b43a66c32f4f66143db00b71cc62966df6ed809ec023a0d573a015f5d15305a"
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus/images/data-loader"
|
||||||
|
tag: "0.60.1@sha256:fc658d98f3611bbc793eecdab4f4668d4648f45047d60c92bde9ee642568f701"
|
||||||
nubusGuardianAuthorizationApi:
|
nubusGuardianAuthorizationApi:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -301,9 +307,11 @@ images:
|
|||||||
# upstreamRepository: "nubus/images/guardian-init"
|
# upstreamRepository: "nubus/images/guardian-init"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "3", "0"]
|
# upstreamMirrorStartFrom: ["0", "3", "0"]
|
||||||
registry: "registry.opencode.de"
|
# registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/guardian-init"
|
# repository: "bmi/opendesk/components/supplier/univention/images-mirror/guardian-init"
|
||||||
tag: "0.9.1@sha256:6006fb1c2779b906e7725df524f2587b2a610cc442793bf8f16b2b4b8c0494fb"
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus/images/guardian-init"
|
||||||
|
tag: "0.10.0@sha256:480943182f20b04b3d37b340e701545e002710c6668925de3758587174c5ee56"
|
||||||
nubusKeycloak:
|
nubusKeycloak:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -321,9 +329,11 @@ images:
|
|||||||
# upstreamRepository: "nubus/images/keycloak-bootstrap"
|
# upstreamRepository: "nubus/images/keycloak-bootstrap"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "1", "0"]
|
# upstreamMirrorStartFrom: ["0", "1", "0"]
|
||||||
registry: "registry.opencode.de"
|
# registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap"
|
# repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap"
|
||||||
tag: "0.1.0@sha256:351097e9e7b469f2fc149fe612ec6ad515d5e6b081d7e2785bd926a1d77209d2"
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus/images/keycloak-bootstrap"
|
||||||
|
tag: "0.1.2"
|
||||||
nubusKeycloakExtensionHandler:
|
nubusKeycloakExtensionHandler:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -362,8 +372,8 @@ images:
|
|||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "8", "2"]
|
# upstreamMirrorStartFrom: ["0", "8", "2"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server"
|
repository: "bmi/opendesk/components/platform-development/images/temp-nubus-ldap-2.5-upgrade"
|
||||||
tag: "0.17.1@sha256:5b7b629b9655c7bb2857013f3399cefe5bdd3963d568bbf77d6d488c005e3b3b"
|
tag: "1.1.20@sha256:90f46b8817fa05e6e3ac3b2f053911198675805fb82db8240bfa41239d7e7c61"
|
||||||
nubusLdapServerDhInitContainer:
|
nubusLdapServerDhInitContainer:
|
||||||
# providerCategory: 'Community'
|
# providerCategory: 'Community'
|
||||||
# providerResponsible: 'Univention'
|
# providerResponsible: 'Univention'
|
||||||
@@ -571,9 +581,11 @@ images:
|
|||||||
# upstreamRepository: "nubus/images/umc-gateway"
|
# upstreamRepository: "nubus/images/umc-gateway"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||||
registry: "registry.opencode.de"
|
# registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-gateway"
|
# repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-gateway"
|
||||||
tag: "0.22.2@sha256:fe4d2c148946da6f5e92201f398ebd0d5a72795c50648993bd220ea1e228658d"
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus/images/umc-gateway"
|
||||||
|
tag: "0.26.0@sha256:c8d025851ca45c50f61fa1da97681a583e07ab57945a0b9fecb56cefc1e11331"
|
||||||
nubusUmcServer:
|
nubusUmcServer:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -611,7 +623,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["13", "1", "1"]
|
# upstreamMirrorStartFrom: ["13", "1", "1"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/openproject/images-mirror/open_desk"
|
repository: "bmi/opendesk/components/supplier/openproject/images-mirror/open_desk"
|
||||||
tag: "14.3.0@sha256:922621b394c1a60e1c427b866284ac636b35717f03bde89302131ad369fbf9ad"
|
tag: "14.4.0@sha256:0c1ee5467b5c7888f38eae88a712c2eec6c96995b85f09e0c27705c09f450a70"
|
||||||
openprojectBootstrap:
|
openprojectBootstrap:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
|
|||||||
@@ -1,62 +1,138 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
---
|
---
|
||||||
# Before increasing the replicas of components, please consult the scaling documentation at "docs/scaling.md" to ensure
|
# This file contains annotations to (later) generate parts of "docs/scaling.md".
|
||||||
# that scaling of the respective component is possible and has the desired effect.
|
# When adding new components in here, do not forget to add them as well to
|
||||||
|
# `../test/values.yaml.gotmpl` to ensure their linting coverage.
|
||||||
replicas:
|
replicas:
|
||||||
# clamav-simple
|
# -- component: Antivirus (ClamAV)
|
||||||
|
# -- scalable: true
|
||||||
|
# -- comment: clamav-simple - supports `ReadWriteOnce` PVCs.
|
||||||
clamav: 1
|
clamav: 1
|
||||||
# clamav-distributed
|
# -- scalable: true
|
||||||
|
# -- comment: clamav-distributed - requires `ReadWriteMany` PVCs.
|
||||||
clamd: 1
|
clamd: 1
|
||||||
collabora: 1
|
# -- scalable: true
|
||||||
cryptpad: 1
|
# -- comment: clamav-distributed - You do not want to scale this service, as it just updates the signature files centrally an should be a singleton.
|
||||||
dovecot: 1
|
|
||||||
element: 1
|
|
||||||
# clamav-distributed
|
|
||||||
freshclam: 1
|
freshclam: 1
|
||||||
# clamav-distributed
|
# -- scalable: true
|
||||||
|
# -- comment: clamav-distributed - requires `ReadWriteMany` PVCs.
|
||||||
icap: 1
|
icap: 1
|
||||||
intercomService: 1
|
# -- scalable: true
|
||||||
jibri: 1
|
# -- comment: clamav-distributed - requires `ReadWriteMany` PVCs.
|
||||||
jicofo: 1
|
|
||||||
jitsi: 1
|
|
||||||
jitsiKeycloakAdapter: 1
|
|
||||||
jvb: 1
|
|
||||||
keycloak: 1
|
|
||||||
mariadb: 1
|
|
||||||
matrixNeoBoardWidget: 1
|
|
||||||
matrixNeoChoiceWidget: 1
|
|
||||||
matrixNeoDateFixBot: 1
|
|
||||||
matrixNeoDateFixWidget: 1
|
|
||||||
matrixUserVerificationService: 1
|
|
||||||
memcached: 1
|
|
||||||
# clamav-distributed
|
|
||||||
milter: 1
|
milter: 1
|
||||||
minio: 1
|
|
||||||
nextcloudApache2: 1
|
# -- component: Weboffice (Collabora)
|
||||||
nextcloudExporter: 1
|
# -- scalable: true
|
||||||
nextcloudPHP: 1
|
collabora: 1
|
||||||
openprojectWeb: 1
|
|
||||||
openprojectWorker: 1
|
# -- component: Pad (CryptPad)
|
||||||
oxConnector: 1
|
# -- scalable: false
|
||||||
|
cryptpad: 1
|
||||||
|
|
||||||
|
# -- component: Groupware (OX AppSuite, OX Dovecot etc.)
|
||||||
|
# -- scalable: false
|
||||||
|
# -- comment: Scalable in openDesk Enterprise only
|
||||||
|
dovecot: 1
|
||||||
|
# -- scalable: false
|
||||||
postfix: 1
|
postfix: 1
|
||||||
postgres: 1
|
|
||||||
redis: 1
|
# -- component: Chat (Element, Synapse)
|
||||||
|
# -- scalable: true
|
||||||
|
element: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
matrixNeoBoardWidget: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
matrixNeoChoiceWidget: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
matrixNeoDateFixBot: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
matrixNeoDateFixWidget: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
matrixUserVerificationService: 1
|
||||||
|
# -- scalable: tbd
|
||||||
synapse: 1
|
synapse: 1
|
||||||
|
# -- scalable: true
|
||||||
synapseWeb: 1
|
synapseWeb: 1
|
||||||
umsKeycloakExtensionsHandler: 1
|
# -- scalable: true
|
||||||
umsKeycloakExtensionsProxy: 1
|
|
||||||
umsLdapNotifier: 1
|
|
||||||
umsLdapServer: 1
|
|
||||||
umsNotificationsApi: 1
|
|
||||||
umsPortalFrontend: 1
|
|
||||||
umsPortalListener: 1
|
|
||||||
umsPortalServer: 1
|
|
||||||
umsSelfserviceListener: 1
|
|
||||||
umsStackGateway: 1
|
|
||||||
umsUdmRestApi: 1
|
|
||||||
umsUmcGateway: 1
|
|
||||||
umsUmcServer: 1
|
|
||||||
wellKnown: 1
|
wellKnown: 1
|
||||||
|
|
||||||
|
# -- component: IAM (Nubus)
|
||||||
|
# -- scalable: true
|
||||||
|
intercomService: 1
|
||||||
|
# -- scalable: true
|
||||||
|
keycloak: 1
|
||||||
|
# -- scalable: false
|
||||||
|
# -- comment: Will be removed soon.
|
||||||
|
oxConnector: 1
|
||||||
|
# -- scalable: false
|
||||||
|
# -- comment: Should not be scaled, is an async process.
|
||||||
|
umsKeycloakExtensionsHandler: 1
|
||||||
|
# -- scalable: true
|
||||||
|
umsKeycloakExtensionsProxy: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsLdapNotifier: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsLdapServer: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsNotificationsApi: 1
|
||||||
|
# -- scalable: true
|
||||||
|
umsPortalFrontend: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsPortalListener: 1
|
||||||
|
# -- scalable: true
|
||||||
|
umsPortalServer: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsSelfserviceListener: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsStackGateway: 1
|
||||||
|
# -- scalable: true
|
||||||
|
umsUdmRestApi: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsUmcGateway: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
umsUmcServer: 1
|
||||||
|
|
||||||
|
# -- component: Video conference (Jitsi)
|
||||||
|
# -- scalable: tbd
|
||||||
|
jibri: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
jicofo: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
jitsi: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
jitsiKeycloakAdapter: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
jvb: 1
|
||||||
|
|
||||||
|
# -- component: Persistence Layer
|
||||||
|
# -- scalable: false
|
||||||
|
mariadb: 1
|
||||||
|
# -- scalable: false
|
||||||
|
memcached: 1
|
||||||
|
# -- scalable: true
|
||||||
|
minio: 1
|
||||||
|
# -- scalable: false
|
||||||
|
postgres: 1
|
||||||
|
# -- scalable: tbd
|
||||||
|
redis: 1
|
||||||
|
|
||||||
|
# -- component: Filestore (Nextcloud)
|
||||||
|
# -- scalable: true
|
||||||
|
nextcloudApache2: 1
|
||||||
|
# -- scalable: true
|
||||||
|
nextcloudExporter: 1
|
||||||
|
# -- scalable: true
|
||||||
|
nextcloudPHP: 1
|
||||||
|
|
||||||
|
# -- component: Project management (OpenProject)
|
||||||
|
# -- scalable: true
|
||||||
|
openprojectWeb: 1
|
||||||
|
# -- scalable: tdb
|
||||||
|
# -- comment: Async process that usually has no need for scaling
|
||||||
|
openprojectWorker: 1
|
||||||
|
|
||||||
|
# -- component: Knowledge management (XWiki)
|
||||||
|
# -- scalable: false
|
||||||
xwiki: 1
|
xwiki: 1
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -35,17 +35,13 @@ ingress:
|
|||||||
enabled: true
|
enabled: true
|
||||||
secretName: "kyverno-tls"
|
secretName: "kyverno-tls"
|
||||||
replicas:
|
replicas:
|
||||||
# clamav-simple
|
|
||||||
clamav: 42
|
clamav: 42
|
||||||
# clamav-distributed
|
|
||||||
clamd: 42
|
clamd: 42
|
||||||
collabora: 42
|
collabora: 42
|
||||||
cryptpad: 42
|
cryptpad: 42
|
||||||
dovecot: 42
|
dovecot: 42
|
||||||
element: 42
|
element: 42
|
||||||
# clamav-distributed
|
|
||||||
freshclam: 42
|
freshclam: 42
|
||||||
# clamav-distributed
|
|
||||||
icap: 42
|
icap: 42
|
||||||
intercomService: 42
|
intercomService: 42
|
||||||
jibri: 42
|
jibri: 42
|
||||||
@@ -61,7 +57,6 @@ replicas:
|
|||||||
matrixNeoDateFixWidget: 42
|
matrixNeoDateFixWidget: 42
|
||||||
matrixUserVerificationService: 42
|
matrixUserVerificationService: 42
|
||||||
memcached: 42
|
memcached: 42
|
||||||
# clamav-distributed
|
|
||||||
milter: 42
|
milter: 42
|
||||||
minio: 42
|
minio: 42
|
||||||
nextcloudApache2: 42
|
nextcloudApache2: 42
|
||||||
|
|||||||
Reference in New Issue
Block a user