Compare commits

...

26 Commits

Author SHA1 Message Date
Yannik Schmidt
d9704ebee0 fix(nubus): Add security context for kc proxy 2025-05-20 17:16:41 +02:00
Dominik Kaminski
1b906c392c chore(nubus): Update digest for nubusKeycloak 2025-05-20 17:16:41 +02:00
Norbert Tretkowski
b58feb8e99 docs(README.md): Update Nubus version 2025-05-20 17:16:41 +02:00
Norbert Tretkowski
81c7c1bcb9 fix(nubus): Re-add nubusPortalConsumer.provisioningApi.auth.* 2025-05-20 17:16:41 +02:00
Norbert Tretkowski
432d926242 feat(nubus): Update to v1.9.1 2025-05-20 17:16:41 +02:00
openDesk Bot
234585718d chore(renovate): Update library/postgres Docker tag to v16.9 2025-05-20 17:16:41 +02:00
Thomas Kaltenbrunner
ae409055e9 feat(helmfile): Define global.additionalMailDomains as list; if you use the setting already, check migrations.md for details 2025-05-20 17:16:41 +02:00
Thorsten Roßner
69b70392fa ci(gitlab): Update gitlab-config image to v2.4.9 2025-05-20 17:16:41 +02:00
Thorsten Roßner
30c94881b5 fix(nubus): [#182] Add KC_TRUSTSTORE_PATHS to Keycloak when using self-signed certificates 2025-05-20 17:16:41 +02:00
Thorsten Roßner
192cd4fc10 fix(nubus): [#183] Do not override nubusPortalConsumer.waitForDependency.image when using self-signed certificates 2025-05-20 17:16:41 +02:00
Thorsten Roßner
0221b40d96 chore(global.generated.yaml.gotmpl): Bump version to fake a newer release for migrations (testing) 2025-05-20 17:16:41 +02:00
Oliver Günther
3596bf5cf1 fix(openproject): Update to 15.5.1 2025-05-20 17:16:41 +02:00
Thorsten Roßner
d79f277ff3 docs(theming.md): Update to latest state 2025-05-20 17:16:41 +02:00
René Fischer
c70521a2e6 chore(scaling.md): Fix Postgres RAM scaling 2025-05-20 17:16:41 +02:00
René Fischer
1487c161e8 chore(docs): Separate developer from operations docs 2025-05-20 17:16:41 +02:00
Thorsten Roßner
277aaca8f1 docs(misc): Fix typos 2025-05-20 17:16:41 +02:00
Thorsten Roßner
c320e0b6c1 feat(helmfile): Option to select default file format for weboffice using; see functional.weboffice.defaultFormat in functional.yaml.gotmpl for details 2025-05-20 17:16:41 +02:00
René Fischer
946bd37d3d chore(publiccode.yaml): Fix logo in publiccode.yaml 2025-05-20 17:16:41 +02:00
Thorsten Roßner
f45807852f chore(release): 1.3.2 [skip ci]
## [1.3.2](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.1...v1.3.2) (2025-05-06)

### Bug Fixes

* **dovecot:** Update Helm chart to fix migration mode ([7ba84b9](7ba84b99ca))
* **helmfile:** Explicitly template auth-modules in OX App Suite; Streamline name of OX App Suite EE image ([6cbb6b6](6cbb6b6922))
2025-05-20 17:16:41 +02:00
Thorsten Roßner
2e9d9847fc fix(helmfile): Explicitly template auth-modules in OX App Suite; Streamline name of OX App Suite EE image 2025-05-20 17:16:41 +02:00
Thorsten Roßner
63a225cfb7 fix(dovecot): Update Helm chart to fix migration mode 2025-05-20 17:16:41 +02:00
Thorsten Roßner
9b9bffbab6 docs(groupware-migration.md): Update with more details 2025-05-20 17:16:41 +02:00
René Fischer
714e2f32c5 chore(scaling.md): Second round of review changes 2025-05-20 17:16:41 +02:00
René Fischer
8d09df8175 chore(scaling.md): Review changes 2025-05-20 17:16:41 +02:00
René Fischer
89444f95a9 docs(scaling.md): Add scaling guidelines 2025-05-20 17:16:41 +02:00
Timo Hollwedel
99c2a59b16 feat(nubus): Use readonly root filesystem for keycloak bootstrap 2025-04-25 15:42:22 +02:00
30 changed files with 374 additions and 218 deletions

View File

@@ -4,7 +4,7 @@
--- ---
include: include:
- project: "${PROJECT_PATH_GITLAB_CONFIG_TOOLING}" - project: "${PROJECT_PATH_GITLAB_CONFIG_TOOLING}"
ref: "v2.4.8" ref: "v2.4.9"
file: file:
- "ci/common/lint.yml" - "ci/common/lint.yml"
- "ci/release-automation/semantic-release.yml" - "ci/release-automation/semantic-release.yml"

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.25 214.02">
<defs>
<style>
.cls-1 {
fill: #571efa;
}
.cls-2 {
fill: #927afa;
}
</style>
</defs>
<g>
<path class="cls-2" d="M126.14,140.32v2.13c0,8.99-7.31,16.3-16.3,16.3h-38.26c-8.99,0-16.3-7.31-16.3-16.3v-38.26c0-8.99,7.31-16.3,16.3-16.3h2.13v52.44h52.44Z"/>
<path class="cls-1" d="M126.85,127.56h-40.39v-44.65c0-15.24,12.4-27.64,27.64-27.64h12.76c17.58,0,31.89,14.31,31.89,31.89v8.5c0,17.58-14.31,31.89-31.89,31.89ZM104.88,109.13h21.97c7.42,0,13.46-6.04,13.46-13.46v-8.5c0-7.42-6.04-13.46-13.46-13.46h-12.76c-5.08,0-9.21,4.13-9.21,9.21v26.22Z"/>
</g>
<g>
<path d="M210.82,90.76c14.85,0,24.34,10.9,24.34,24.25s-9.49,24.25-24.34,24.25-24.44-10.9-24.44-24.25,9.49-24.25,24.44-24.25ZM210.82,133.34c11.37,0,17.39-8.46,17.39-18.33s-6.02-18.33-17.39-18.33-17.48,8.46-17.48,18.33,6.01,18.33,17.48,18.33Z"/>
<path d="M244.19,91.7h6.96v11.84c3.29-7.8,10.25-12.78,20.4-12.78,13.07,0,21.9,9.87,21.9,24.34s-8.83,24.16-21.9,24.16c-10.34,0-17.2-5.17-20.4-12.78v28.95h-6.96v-63.73ZM269.38,133.34c9.4,0,17.11-5.83,17.11-18.24s-7.71-18.42-17.11-18.42-17.95,6.11-17.95,18.42,8.65,18.24,17.95,18.24Z"/>
<path d="M322.96,90.76c13.35,0,22.28,8.37,22.28,22.65v2.82h-37.5c.28,9.78,5.26,17.29,15.6,17.29,8.55,0,13.54-4.51,15.23-11.47h6.86c-1.97,8.27-7.61,17.2-21.9,17.2-15.13,0-22.46-11.28-22.46-24.91,0-15.04,8.74-23.59,21.9-23.59ZM338.37,110.78c-.66-9.12-6.77-14.29-15.51-14.29-8.18,0-14.29,5.26-15.04,14.29h30.55Z"/>
<path d="M355.01,91.7h6.96v12.97c2.54-8.65,9.12-13.91,19.36-13.91s16.73,6.77,16.73,18.99v28.57h-7.05v-28.01c0-9.68-3.76-13.63-12.03-13.63-10.53,0-17.01,8.84-17.01,21.34v20.3h-6.96v-46.62Z"/>
<path d="M409.81,72.05h24.35c6.89,0,12.97.85,18.24,2.54,5.26,1.69,9.57,4.98,12.92,9.87,3.35,4.89,5.03,11.78,5.03,20.68s-1.68,15.89-5.03,20.77c-3.35,4.89-7.66,8.18-12.92,9.87-5.27,1.69-11.34,2.54-18.24,2.54h-24.35v-66.27ZM434.16,125.07c4.76,0,8.57-.38,11.42-1.13s5.17-2.55,6.96-5.41c1.79-2.85,2.68-7.32,2.68-13.39s-.91-10.46-2.72-13.35c-1.82-2.88-4.14-4.7-6.96-5.45s-6.61-1.13-11.37-1.13h-9.31v39.86h9.31Z"/>
<path d="M480.17,101.33c2.1-3.67,5.01-6.47,8.74-8.41s8.01-2.91,12.83-2.91c7.9,0,14.07,2.1,18.52,6.3,4.45,4.2,6.67,10,6.67,17.39v3.95h-35.53c.25,3.38,1.32,6.03,3.2,7.94,1.88,1.91,4.45,2.87,7.71,2.87,2.82,0,5.15-.59,7-1.79,1.85-1.19,3.02-2.88,3.53-5.08h14.19c-.75,5.26-3.28,9.53-7.57,12.78-4.29,3.26-9.98,4.89-17.06,4.89-5.2,0-9.71-1.05-13.54-3.15-3.82-2.1-6.75-5.03-8.79-8.79-2.04-3.76-3.05-8.08-3.05-12.97s1.05-9.35,3.15-13.02ZM513.02,109.93c-.25-3.01-1.36-5.33-3.34-6.96-1.97-1.63-4.53-2.44-7.66-2.44s-5.56.82-7.47,2.44c-1.91,1.63-2.99,3.95-3.24,6.96h21.71Z"/>
<path d="M539.62,134.65c-4.14-3.07-6.21-7.58-6.21-13.54h14.29c0,2.7.85,4.69,2.54,5.97,1.69,1.29,4.29,1.93,7.8,1.93,2.57,0,4.43-.33,5.59-.99,1.16-.66,1.74-1.71,1.74-3.15,0-1-.34-1.82-1.03-2.44-.69-.63-1.79-1.16-3.29-1.6l-14.48-3.95c-3.2-.81-5.95-2.27-8.27-4.37-2.32-2.1-3.48-5-3.48-8.7,0-4.45,1.83-7.86,5.5-10.25,3.67-2.38,8.79-3.57,15.37-3.57,7.27,0,12.94,1.46,17.01,4.37s6.11,7.13,6.11,12.64h-14.29c0-4.57-2.91-6.86-8.74-6.86-2.07,0-3.7.35-4.89,1.03-1.19.69-1.79,1.6-1.79,2.73,0,1.94,1.72,3.35,5.17,4.23l11.09,2.73c4.32,1.07,7.79,2.71,10.39,4.94,2.6,2.22,3.9,5.34,3.9,9.35,0,4.58-1.83,8.07-5.5,10.48-3.67,2.41-9.1,3.62-16.31,3.62-8.02,0-14.1-1.54-18.24-4.61Z"/>
<path d="M587.56,69.23h14.29v40.04l18.89-18.33h17.48l-23.59,23.03,23.5,24.35h-17.39l-18.89-19.93v19.93h-14.29v-69.09Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -1,3 +1,11 @@
## [1.3.2](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.1...v1.3.2) (2025-05-06)
### Bug Fixes
* **dovecot:** Update Helm chart to fix migration mode ([7ba84b9](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/7ba84b99caf61e5a4a35b71d875e9ede0f71423e))
* **helmfile:** Explicitly template auth-modules in OX App Suite; Streamline name of OX App Suite EE image ([6cbb6b6](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/6cbb6b6922864467ca365bcc9b1cfa49182df050))
## [1.3.1](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.0...v1.3.1) (2025-04-24) ## [1.3.1](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.0...v1.3.1) (2025-04-24)

View File

@@ -9,7 +9,7 @@ Please read the [project's entire CONTRIBUTING.md](https://gitlab.opencode.de/bm
# How to contribute? # How to contribute?
Please also read the [project's workflow documentation](./docs/workflow.md) for more details on standards like commit Please also read the [project's workflow documentation](./docs/developer/workflow.md) for more details on standards like commit
messages and branching convention. messages and branching convention.
## Helm vs. Operators vs. Manifests ## Helm vs. Operators vs. Manifests

View File

@@ -25,7 +25,7 @@ openDesk Enterprise Edition is recommended for production use. It receives suppo
This document refers to the openDesk Community Edition as "oD CE" and the openDesk Enterprise Edition as "oD EE". This document refers to the openDesk Community Edition as "oD CE" and the openDesk Enterprise Edition as "oD EE".
Please contact [ZenDiS](mailto:opendesk@zendis.de) to get openDesk Enterprise, either as a SaaS offering or for you on-premise installation. Please contact [ZenDiS](mailto:opendesk@zendis.de) to get openDesk Enterprise, either as a SaaS offering or for your on-premises installation.
# Enabling the Enterprise deployment # Enabling the Enterprise deployment

View File

@@ -40,8 +40,8 @@ openDesk currently features the following functional main components:
| File management | Nextcloud | [30.0.6](https://nextcloud.com/de/changelog/#30-0-6) | [Nextcloud 30](https://docs.nextcloud.com/) | | File management | Nextcloud | [30.0.6](https://nextcloud.com/de/changelog/#30-0-6) | [Nextcloud 30](https://docs.nextcloud.com/) |
| Groupware | OX App Suite | [8.35](https://documentation.open-xchange.com/appsuite/releases/8.35/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.com/) | | Groupware | OX App Suite | [8.35](https://documentation.open-xchange.com/appsuite/releases/8.35/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.com/) |
| Knowledge management | XWiki | [16.10.5](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.10.5/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) | | Knowledge management | XWiki | [16.10.5](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.10.5/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
| Portal & IAM | Nubus | [1.8.0](https://docs.software-univention.de/nubus-kubernetes-release-notes/latest/en/changelog.html#version-1-8-0-2025-04-07) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) | | Portal & IAM | Nubus | [1.9.1](https://docs.software-univention.de/nubus-kubernetes-release-notes/latest/en/changelog.html#version-1-9-1-2025-05-07) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) |
| Project management | OpenProject | [15.5.0](https://www.openproject.org/docs/release-notes/15-5-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) | | Project management | OpenProject | [15.5.1](https://www.openproject.org/docs/release-notes/15-5-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
| Videoconferencing | Jitsi | [2.0.9955](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9955) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) | | Videoconferencing | Jitsi | [2.0.9955](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9955) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
| Weboffice | Collabora | [24.04.13](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.13](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
@@ -104,7 +104,7 @@ in the files from the release's git-tag:
- `./helmfile/environments/default/images.yaml.gotmpl` - `./helmfile/environments/default/images.yaml.gotmpl`
- `./helmfile/environments/default/charts.yaml.gotmpl` - `./helmfile/environments/default/charts.yaml.gotmpl`
Find more information in our [Workflow documentation](./docs/workflow.md). Find more information in our [Workflow documentation](./docs/developer/workflow.md).
# Data Storage # Data Storage
@@ -123,7 +123,7 @@ If you want to address other topics, please check the section
# Development # Development
If you want to join or contribute to the development of openDesk please read the [Development guide](./docs/development.md). If you want to join or contribute to the development of openDesk please read the [Development guide](./docs/developer/development.md).
# License # License

View File

@@ -23,6 +23,11 @@ path = "docs/architecture/apis_images/*"
SPDX-FileCopyrightText = "2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH" SPDX-FileCopyrightText = "2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
SPDX-License-Identifier = "Apache-2.0" SPDX-License-Identifier = "Apache-2.0"
[[annotations]]
path = ".opencode/openDesk-logo-rgb-color.svg"
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
SPDX-License-Identifier = "CC-BY-SA-4.0"
[[annotations]] [[annotations]]
path = ".opencode/screenshots/*" path = ".opencode/screenshots/*"
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH" SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"

View File

@@ -60,7 +60,7 @@ Before you investigate any app-specific configuration, it is recommended that yo
The `main` branch is configured to be the default branch, as visitors to the project on openCode should see that The `main` branch is configured to be the default branch, as visitors to the project on openCode should see that
branch by default. branch by default.
Please use the `develop` branch to diverge your branch(es) from. See the [workflow guide](./docs/workflow.md) Please use the `develop` branch to diverge your branch(es) from. See the [workflow guide](./docs/developer/workflow.md)
for more details on naming conventions. for more details on naming conventions.
# External artifacts - `charts.yaml.gotmpl` and `images.yaml.gotmpl` # External artifacts - `charts.yaml.gotmpl` and `images.yaml.gotmpl`

View File

@@ -238,7 +238,7 @@ The Standard Quality Gate addresses quality assurance steps that should be execu
1. Linting 1. Linting
- Blocking - Blocking
- Licensing: [reuse](https://github.com/fsfe/reuse-tool) - Licensing: [reuse](https://github.com/fsfe/reuse-tool)
- openDesk specific: Especially `images.yaml.gotmpl` and `charts.yaml.gotmpl`, find more details in [development.md](./docs/development.md). - openDesk specific: Especially `images.yaml.gotmpl` and `charts.yaml.gotmpl`, find more details in [development.md](./docs/developer/development.md).
- Non-Blocking - Non-Blocking
- Security: [Kyverno policy check](../.kyverno) addressing some IT-Grundschutz requirements - Security: [Kyverno policy check](../.kyverno) addressing some IT-Grundschutz requirements
- Formal: Yaml - Formal: Yaml

View File

@@ -17,6 +17,8 @@ SPDX-License-Identifier: Apache-2.0
* [Add multiple user accounts via CSV file](#add-multiple-user-accounts-via-csv-file) * [Add multiple user accounts via CSV file](#add-multiple-user-accounts-via-csv-file)
* [Start the migration](#start-the-migration) * [Start the migration](#start-the-migration)
* [Monitor migration status](#monitor-migration-status) * [Monitor migration status](#monitor-migration-status)
* [Appendix](#appendix)
* [Validating master authentication](#validating-master-authentication)
<!-- TOC --> <!-- TOC -->
Most organizations already have email accounts on various platforms that need to be migrated to openDesk. This document describes the migration from M365 accounts to openDesk using the [audriga Migration Service](https://www.audriga.com) in combination with the master authentication option in openDesk. Other source platforms are also supported, and their migrations work in a similar manner. Most organizations already have email accounts on various platforms that need to be migrated to openDesk. This document describes the migration from M365 accounts to openDesk using the [audriga Migration Service](https://www.audriga.com) in combination with the master authentication option in openDesk. Other source platforms are also supported, and their migrations work in a similar manner.
@@ -70,7 +72,7 @@ In openDesk, you have to have all user accounts with mailboxes pre-defined befor
## Deploy openDesk with master authentication ## Deploy openDesk with master authentication
With openDesk 1.0 Enterprise, you can set openDesk's email components (OX AppSuite and OX Dovecot) to master authentication mode to run the migration as described in this document using the following two settings for your deployment: With openDesk 1.0 Enterprise, you can set openDesk's email components (OX AppSuite and OX Dovecot) to master authentication mode to run the migration as described in this document using the following two settings for your deployment. This is NOT available in openDesk Community deployments:
``` ```
secrets: secrets:
@@ -85,10 +87,12 @@ functional:
1. You must specify a master password, it will be referenced later in this document. 1. You must specify a master password, it will be referenced later in this document.
2. You need to enable the actual master authentication mode. 2. You need to enable the actual master authentication mode.
To validate the master authentication mode please read the appendix section at the end of the document.
Updating your deployment with these settings will allow you to continue with the migration scenario. Once the migration is completed, you can remove `secrets.oxAppSuite.adminPassword` and need to turn off the migration mode by setting `functional.migration.oxAppSuite.enabled` to `false` or removing that setting, as `false` is the default before you update your deployment once again. Updating your deployment with these settings will allow you to continue with the migration scenario. Once the migration is completed, you can remove `secrets.oxAppSuite.adminPassword` and need to turn off the migration mode by setting `functional.migration.oxAppSuite.enabled` to `false` or removing that setting, as `false` is the default before you update your deployment once again.
> **Note**<br> > **Note**<br>
> For the changes to take effect, it is sufficient to re-deploy the `open-xchange` component alone. > For the changes to take effect, it is sufficient to re-deploy the `open-xchange` component alone. But you have to restart the Dovecot Pod(s) manually when switching to/from the master authentication mode for the changes to take effect.
> **Note**<br> > **Note**<br>
> While in master authentication mode, regular users cannot log in to the webmail module of openDesk or access the mail using IMAP, as it is not recommended that users interact with the target mail infrastructure during the migration scenario described in this document. > While in master authentication mode, regular users cannot log in to the webmail module of openDesk or access the mail using IMAP, as it is not recommended that users interact with the target mail infrastructure during the migration scenario described in this document.
@@ -182,3 +186,39 @@ Click on "Details" to get further information about the migration.
You can access a detailed log for each account by clicking "Protocol" on the right-hand side. Here, you can see detected duplicates or encountered errors (e.g., if emails cannot be transferred due to your provider's size limitations). You can access a detailed log for each account by clicking "Protocol" on the right-hand side. Here, you can see detected duplicates or encountered errors (e.g., if emails cannot be transferred due to your provider's size limitations).
You will receive status emails for the migration job's submission and start, as well as when the migration job is finished. The emails are sent to the email address you have entered during the configuration. Those emails include a link to the status website so you can easily track and monitor your migration. Once the migration has been started, you can safely close the status website and shut down your computer; the migration will continue. You can re-open the status website anytime. You will receive status emails for the migration job's submission and start, as well as when the migration job is finished. The emails are sent to the email address you have entered during the configuration. Those emails include a link to the status website so you can easily track and monitor your migration. Once the migration has been started, you can safely close the status website and shut down your computer; the migration will continue. You can re-open the status website anytime.
# Appendix
## Validating master authentication
Below are details in case you want to verify master authentication for Dovecot and OX AppSuite.
Set a few variables first:
```shell
export MIG_DOMAIN=your-opendesk-domain.tld
export MIG_WEBMAIL_HOST=webmail
export MIG_USERNAME=eva
export MIG_MASTER_PASSWORD=YourMasterPassword
export MIG_IMAP_PORT=31123
```
Ensure that you have defined a (your) default context for the migration where the account (in this example `eva`) can be found. The following should be executed in OX App Suite's `open-xchange-core-mw-default-0` container, in the example we set the default context to `1`:
```shell
/opt/open-xchange/sbin/changecontext -c 1 -L defaultcontext -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW
```
With the preparation from above you should be able to successfully authenticate to both components:
**OX App Suite**
```shell
curl -X POST -d "name=${MIG_USERNAME}&password=${MIG_MASTER_PASSWORD}" "https://${MIG_WEBMAIL_HOST}.${MIG_DOMAIN}/appsuite/api/login?action=login"
```
**Dovecot**
```shell
echo "a001 LOGIN ${MIG_USERNAME} ${MIG_MASTER_PASSWORD}" | openssl s_client -ign_eof -connect ${MIG_DOMAIN}:${MIG_IMAP_PORT}
```

View File

@@ -182,7 +182,7 @@ global:
Some apps, like Jitsi and Dovecot, require HTTP and external TCP connections. Some apps, like Jitsi and Dovecot, require HTTP and external TCP connections.
These apps create a Kubernetes service object. These apps create a Kubernetes service object.
You can configure whether `NodePort` (for on-premise), `LoadBalancer` (for cloud), or `ClusterIP` (to disable) should be You can configure whether `NodePort` (for on-premises), `LoadBalancer` (for cloud), or `ClusterIP` (to disable) should be
used: used:
```yaml ```yaml

View File

@@ -9,19 +9,22 @@ SPDX-License-Identifier: Apache-2.0
* [Disclaimer](#disclaimer) * [Disclaimer](#disclaimer)
* [Automated migrations - Overview and mandatory upgrade path](#automated-migrations---overview-and-mandatory-upgrade-path) * [Automated migrations - Overview and mandatory upgrade path](#automated-migrations---overview-and-mandatory-upgrade-path)
* [Manual checks/actions](#manual-checksactions) * [Manual checks/actions](#manual-checksactions)
* [From v1.1.2](#from-v112) * [v1.4.0+](#v140)
* [Pre-upgrade from v1.1.2](#pre-upgrade-from-v112) * [Pre-upgrade to v1.4.0+](#pre-upgrade-to-v140)
* [Helmfile cleanup: `global.additionalMailDomains` as list](#helmfile-cleanup-globaladditionalmaildomains-as-list)
* [v1.2.0+](#v120)
* [Pre-upgrade to v1.2.0+](#pre-upgrade-to-v120)
* [Helmfile cleanup: Do not configure OX provisioning when no OX installed](#helmfile-cleanup-do-not-configure-ox-provisioning-when-no-ox-installed) * [Helmfile cleanup: Do not configure OX provisioning when no OX installed](#helmfile-cleanup-do-not-configure-ox-provisioning-when-no-ox-installed)
* [Helmfile new default: PostgreSQL for XWiki and Nextcloud](#helmfile-new-default-postgresql-for-xwiki-and-nextcloud) * [Helmfile new default: PostgreSQL for XWiki and Nextcloud](#helmfile-new-default-postgresql-for-xwiki-and-nextcloud)
* [From v1.1.1](#from-v111) * [v1.1.2+](#v112)
* [Pre-upgrade from v1.1.1](#pre-upgrade-from-v111) * [Pre-upgrade to v1.1.2+](#pre-upgrade-to-v112)
* [Helmfile feature update: App settings wrapped in `apps.` element](#helmfile-feature-update-app-settings-wrapped-in-apps-element) * [Helmfile feature update: App settings wrapped in `apps.` element](#helmfile-feature-update-app-settings-wrapped-in-apps-element)
* [From v1.1.0](#from-v110) * [v1.1.1+](#v111)
* [Pre-upgrade from v1.1.0](#pre-upgrade-from-v110) * [Pre-upgrade to v1.1.1](#pre-upgrade-to-v111)
* [Helmfile feature update: Component specific `storageClassName`](#helmfile-feature-update-component-specific-storageclassname) * [Helmfile feature update: Component specific `storageClassName`](#helmfile-feature-update-component-specific-storageclassname)
* [Helmfile new secret: `secrets.nubus.masterpassword`](#helmfile-new-secret-secretsnubusmasterpassword) * [Helmfile new secret: `secrets.nubus.masterpassword`](#helmfile-new-secret-secretsnubusmasterpassword)
* [From v1.0.0](#from-v100) * [v1.1.0+](#v110)
* [Pre-upgrade from v1.0.0](#pre-upgrade-from-v100) * [Pre-upgrade to v1.1.0](#pre-upgrade-to-v110)
* [Helmfile cleanup: Restructured `/helmfile/files/theme` folder](#helmfile-cleanup-restructured-helmfilefilestheme-folder) * [Helmfile cleanup: Restructured `/helmfile/files/theme` folder](#helmfile-cleanup-restructured-helmfilefilestheme-folder)
* [Helmfile cleanup: Consistent use of `*.yaml.gotmpl`](#helmfile-cleanup-consistent-use-of-yamlgotmpl) * [Helmfile cleanup: Consistent use of `*.yaml.gotmpl`](#helmfile-cleanup-consistent-use-of-yamlgotmpl)
* [Helmfile cleanup: Prefixing certain app directories with `opendesk-`](#helmfile-cleanup-prefixing-certain-app-directories-with-opendesk-) * [Helmfile cleanup: Prefixing certain app directories with `opendesk-`](#helmfile-cleanup-prefixing-certain-app-directories-with-opendesk-)
@@ -31,10 +34,10 @@ SPDX-License-Identifier: Apache-2.0
* [openDesk defaults (new): Enforce login](#opendesk-defaults-new-enforce-login) * [openDesk defaults (new): Enforce login](#opendesk-defaults-new-enforce-login)
* [openDesk defaults (changed): Jitsi room history enabled](#opendesk-defaults-changed-jitsi-room-history-enabled) * [openDesk defaults (changed): Jitsi room history enabled](#opendesk-defaults-changed-jitsi-room-history-enabled)
* [External requirements: Redis 7.4](#external-requirements-redis-74) * [External requirements: Redis 7.4](#external-requirements-redis-74)
* [Post-upgrade from v1.0.0](#post-upgrade-from-v100) * [Post-upgrade to v1.1.0+](#post-upgrade-to-v110)
* [XWiki fix-ups](#xwiki-fix-ups) * [XWiki fix-ups](#xwiki-fix-ups)
* [From v0.9.0](#from-v090) * [v1.1.0](#v110-1)
* [Pre-upgrade from v0.9.0](#pre-upgrade-from-v090) * [Pre-upgrade to v1.1.0](#pre-upgrade-to-v110-1)
* [Configuration Cleanup: Removal of unnecessary OX-Profiles in Nubus](#configuration-cleanup-removal-of-unnecessary-ox-profiles-in-nubus) * [Configuration Cleanup: Removal of unnecessary OX-Profiles in Nubus](#configuration-cleanup-removal-of-unnecessary-ox-profiles-in-nubus)
* [Configuration Cleanup: Updated `global.imagePullSecrets`](#configuration-cleanup-updated-globalimagepullsecrets) * [Configuration Cleanup: Updated `global.imagePullSecrets`](#configuration-cleanup-updated-globalimagepullsecrets)
* [Changed openDesk defaults: Matrix presence status disabled](#changed-opendesk-defaults-matrix-presence-status-disabled) * [Changed openDesk defaults: Matrix presence status disabled](#changed-opendesk-defaults-matrix-presence-status-disabled)
@@ -42,20 +45,20 @@ SPDX-License-Identifier: Apache-2.0
* [Changed openDesk defaults: File-share configurability](#changed-opendesk-defaults-file-share-configurability) * [Changed openDesk defaults: File-share configurability](#changed-opendesk-defaults-file-share-configurability)
* [Changed openDesk defaults: Updated default subdomains in `global.hosts`](#changed-opendesk-defaults-updated-default-subdomains-in-globalhosts) * [Changed openDesk defaults: Updated default subdomains in `global.hosts`](#changed-opendesk-defaults-updated-default-subdomains-in-globalhosts)
* [Changed openDesk defaults: Dedicated group for access to the UDM REST API](#changed-opendesk-defaults-dedicated-group-for-access-to-the-udm-rest-api) * [Changed openDesk defaults: Dedicated group for access to the UDM REST API](#changed-opendesk-defaults-dedicated-group-for-access-to-the-udm-rest-api)
* [Post-upgrade from v0.9.0](#post-upgrade-from-v090) * [Post-upgrade to v1.0.0+](#post-upgrade-to-v100)
* [Configuration Improvement: Separate user permission for using Video Conference component](#configuration-improvement-separate-user-permission-for-using-video-conference-component) * [Configuration Improvement: Separate user permission for using Video Conference component](#configuration-improvement-separate-user-permission-for-using-video-conference-component)
* [Optional Cleanup](#optional-cleanup) * [Optional Cleanup](#optional-cleanup)
* [From v0.8.1](#from-v081) * [v0.9.0](#v090)
* [Pre-upgrade from v0.8.1](#pre-upgrade-from-v081) * [Pre-upgrade to v0.9.0](#pre-upgrade-to-v090)
* [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr) * [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr)
* [Updated customizable template attributes](#updated-customizable-template-attributes) * [Updated customizable template attributes](#updated-customizable-template-attributes)
* [`migrations` S3 bucket](#migrations-s3-bucket) * [`migrations` S3 bucket](#migrations-s3-bucket)
* [Automated migrations - Details](#automated-migrations---details) * [Automated migrations - Details](#automated-migrations---details)
* [From v1.1.2 (automated)](#from-v112-automated) * [v1.2.0+ (automated)](#v120-automated)
* [migrations-pre](#migrations-pre) * [migrations-pre](#migrations-pre)
* [migrations-post](#migrations-post) * [migrations-post](#migrations-post)
* [From v1.0.0 (automated)](#from-v100-automated) * [v1.1.0+ (automated)](#v110-automated)
* [From v0.9.0 (automated)](#from-v090-automated) * [v1.0.0+ (automated)](#v100-automated)
* [Related components and artifacts](#related-components-and-artifacts) * [Related components and artifacts](#related-components-and-artifacts)
* [Development](#development) * [Development](#development)
<!-- TOC --> <!-- TOC -->
@@ -84,7 +87,7 @@ To upgrade existing deployments, you cannot skip any version mentioned in the co
| Mandatory version | | Mandatory version |
| ----------------- | | ----------------- |
| v1.2+ | <!--| v1.2+ | add the entry to the table as soon as we get new migration requiring the set version (range) to be deployed first -->
| v1.1.x | | v1.1.x |
| v1.0.0 | | v1.0.0 |
| v0.9.0 | | v0.9.0 |
@@ -97,11 +100,35 @@ If you would like more details about the automated migrations, please read secti
# Manual checks/actions # Manual checks/actions
Be sure you check all the sections for the releases you are going to update your current deployment from. ## v1.4.0+
## From v1.1.2 ### Pre-upgrade to v1.4.0+
### Pre-upgrade from v1.1.2 #### Helmfile cleanup: `global.additionalMailDomains` as list
**Target group:** Installations that have set `global.additionalMailDomains`.
The `additionalMailDomains` had to be defined as a comma separated string. That now needs to change into a list of domains.
For example the following config:
```yaml
global:
additionalMailDomains: "sub1.maildomain.de,sub2.maildomain.de"
```
Needs to change to:
```yaml
global:
additionalMailDomains:
- "sub1.maildomain.de"
- "sub2.maildomain.de"
```
## v1.2.0+
### Pre-upgrade to v1.2.0+
#### Helmfile cleanup: Do not configure OX provisioning when no OX installed #### Helmfile cleanup: Do not configure OX provisioning when no OX installed
@@ -111,7 +138,7 @@ With openDesk 1.2.0 the OX provisioning consumer will not be registered when the
We do not remove the consumer for existing installations, if you want to do that for your existing installation please perform the following steps: We do not remove the consumer for existing installations, if you want to do that for your existing installation please perform the following steps:
``` ```shell
export NAMESPACE=<your_namespace> export NAMESPACE=<your_namespace>
kubectl -n ${NAMESPACE} exec -it ums-provisioning-nats-0 -c nats-box -- sh -c 'nats consumer rm stream:ox-connector durable_name:ox-connector --user=admin --password=${NATS_PASSWORD} --force' kubectl -n ${NAMESPACE} exec -it ums-provisioning-nats-0 -c nats-box -- sh -c 'nats consumer rm stream:ox-connector durable_name:ox-connector --user=admin --password=${NATS_PASSWORD} --force'
kubectl -n ${NAMESPACE} exec -it ums-provisioning-nats-0 -c nats-box -- sh -c 'nats stream rm stream:ox-connector --user=admin --password=${NATS_PASSWORD} --force' kubectl -n ${NAMESPACE} exec -it ums-provisioning-nats-0 -c nats-box -- sh -c 'nats stream rm stream:ox-connector --user=admin --password=${NATS_PASSWORD} --force'
@@ -162,9 +189,9 @@ In case you are planning to migrate an existing instance from MariaDB to Postgre
- https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Backup#HUsingtheXWikiExportfeature - https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Backup#HUsingtheXWikiExportfeature
- https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/ImportExport - https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/ImportExport
## From v1.1.1 ## v1.1.2+
### Pre-upgrade from v1.1.1 ### Pre-upgrade to v1.1.2+
#### Helmfile feature update: App settings wrapped in `apps.` element #### Helmfile feature update: App settings wrapped in `apps.` element
@@ -176,7 +203,7 @@ If you have a deployment where you specify settings found in the aforementioned
The following configuration: The following configuration:
``` ```yaml
certificates: certificates:
enabled: false enabled: false
notes: notes:
@@ -185,7 +212,7 @@ notes:
Needs to be changed to: Needs to be changed to:
``` ```yaml
apps: apps:
certificates: certificates:
enabled: false enabled: false
@@ -193,9 +220,9 @@ apps:
enabled: true enabled: true
``` ```
## From v1.1.0 ## v1.1.1+
### Pre-upgrade from v1.1.0 ### Pre-upgrade to v1.1.1
#### Helmfile feature update: Component specific `storageClassName` #### Helmfile feature update: Component specific `storageClassName`
@@ -248,9 +275,9 @@ persistence:
A not yet templated secret was discovered in the Nubus deployment. It is now declared in [`secrets.yaml.gotmpl`](../helmfile/environments/default/theme.yaml.gotmpl) and can be defined using: `secrets.nubus.masterpassword`. If you define your own secrets, please be sure this new secret is set to the same value as the `MASTER_PASSWORD` environment variable used in your deployment. A not yet templated secret was discovered in the Nubus deployment. It is now declared in [`secrets.yaml.gotmpl`](../helmfile/environments/default/theme.yaml.gotmpl) and can be defined using: `secrets.nubus.masterpassword`. If you define your own secrets, please be sure this new secret is set to the same value as the `MASTER_PASSWORD` environment variable used in your deployment.
## From v1.0.0 ## v1.1.0+
### Pre-upgrade from v1.0.0 ### Pre-upgrade to v1.1.0
#### Helmfile cleanup: Restructured `/helmfile/files/theme` folder #### Helmfile cleanup: Restructured `/helmfile/files/theme` folder
@@ -413,7 +440,7 @@ The update from openDesk v1.0.0 contains Redis 7.4.1, like the other openDesk bu
Please ensure the Redis you are using is updated to at least version 7.4 to support the requirement of OX App Suite. Please ensure the Redis you are using is updated to at least version 7.4 to support the requirement of OX App Suite.
### Post-upgrade from v1.0.0 ### Post-upgrade to v1.1.0+
#### XWiki fix-ups #### XWiki fix-ups
@@ -439,9 +466,9 @@ Unfortunately XWiki does not upgrade itself as expected. The bug has been report
You should have now a fully functional XWiki instance with single sign-on and full-text search. You should have now a fully functional XWiki instance with single sign-on and full-text search.
## From v0.9.0 ## v1.1.0
### Pre-upgrade from v0.9.0 ### Pre-upgrade to v1.1.0
#### Configuration Cleanup: Removal of unnecessary OX-Profiles in Nubus #### Configuration Cleanup: Removal of unnecessary OX-Profiles in Nubus
@@ -623,7 +650,7 @@ The IAM admin account `Administrator` is the only member of this group by defaul
If you need other accounts to use the API, please assign them to the aforementioned group. If you need other accounts to use the API, please assign them to the aforementioned group.
### Post-upgrade from v0.9.0 ### Post-upgrade to v1.0.0+
#### Configuration Improvement: Separate user permission for using Video Conference component #### Configuration Improvement: Separate user permission for using Video Conference component
@@ -653,9 +680,9 @@ kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0 kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0
``` ```
## From v0.8.1 ## v0.9.0
### Pre-upgrade from v0.8.1 ### Pre-upgrade to v0.9.0
#### Updated `cluster.networking.cidr` #### Updated `cluster.networking.cidr`
@@ -678,7 +705,7 @@ kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0
# Automated migrations - Details # Automated migrations - Details
## From v1.1.2 (automated) ## v1.2.0+ (automated)
> **Note**<br> > **Note**<br>
> Details can be found in [run_4.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_4.py). > Details can be found in [run_4.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_4.py).
@@ -692,7 +719,7 @@ kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0
- Restarting Deployment `ums-provisioning-udm-transformer` and StatefulSet `ums-provisioning-udm-listener` as well as deleting the Nubus Provisioning consumer `durable_name:incoming` on stream `stream:incoming`: Due to a bug in Nubus 1.7.0 the `incoming` stream was blocked after the upgrade, the aforementioned measures unblock the stream. - Restarting Deployment `ums-provisioning-udm-transformer` and StatefulSet `ums-provisioning-udm-listener` as well as deleting the Nubus Provisioning consumer `durable_name:incoming` on stream `stream:incoming`: Due to a bug in Nubus 1.7.0 the `incoming` stream was blocked after the upgrade, the aforementioned measures unblock the stream.
## From v1.0.0 (automated) ## v1.1.0+ (automated)
With openDesk v1.1.0 the IAM stack supports HA LDAP primary as well as scalable LDAP secondary pods. With openDesk v1.1.0 the IAM stack supports HA LDAP primary as well as scalable LDAP secondary pods.
@@ -703,7 +730,7 @@ creating the config map with the mentioned label.
> **Note**<br> > **Note**<br>
> Details can be found in [run_3.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_3.py). > Details can be found in [run_3.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_3.py).
## From v0.9.0 (automated) ## v1.0.0+ (automated)
The `migrations-pre` and `migrations-post` jobs in the openDesk deployment address the automated migration tasks. The `migrations-pre` and `migrations-post` jobs in the openDesk deployment address the automated migration tasks.

View File

@@ -115,7 +115,7 @@ deployments, you need to make use of your own production-grade services; see the
|----------|---------------------|---------|-----------------------| |----------|---------------------|---------|-----------------------|
| Cache | Memcached | `1.6.x` | Memcached | | Cache | Memcached | `1.6.x` | Memcached |
| | Redis | `7.x.x` | Redis | | | Redis | `7.x.x` | Redis |
| Database | Cassandra[^1] | `5.0.x` | Cassandra | | Database | Cassandra[^2] | `5.0.x` | Cassandra |
| | MariaDB | `10.x` | MariaDB | | | MariaDB | `10.x` | MariaDB |
| | PostgreSQL | `15.x` | PostgreSQL | | | PostgreSQL | `15.x` | PostgreSQL |
| Mail | Mail Transfer Agent | | Postfix | | Mail | Mail Transfer Agent | | Postfix |

View File

@@ -1,23 +1,39 @@
<!-- <!--
SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
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
--> -->
<h1>Scaling</h1> <h1>Scaling</h1>
This document covers the possibilities to scale applications. This document covers the possibilities to scale the applications in openDesk.
# Horizontal scalability It provides rough benchmarks for configuring your own environment across various scale levels.
In production, resource demands are primarily driven by actual usage patterns and system load, especially the number of concurrently active users.
Consequently, we strongly recommend implementing monitoring and logging solutions to detect usage trends and enable timely intervention when needed.
We are working on generating this document automatically based on the file | Application | Recommendation | Note(s) |
[`replicas.yaml.gotmpl`](../helmfile/environments/default/replicas.yaml.gotmpl) that contains necessary annotations. | ------------ | -------------- | ------- |
In the meantime, this file can be used to check the components scaling support/capabilities. | Collabora | - 1 vCPU per 15 active users <br/> - 50 MB RAM per active user <br/> - 1 MBit/s per 10 active users | - |
| Element | Per 10k users with values for federation activated / federation deactivated:<br/><br/> Homeserver:<br/> - 15 / 10 vCPU<br/> - 12 / 8 GB RAM<br/><br/>Postgres:<br/> - 10 / 4 vCPU<br/> - 32 / 16 GB RAM | Required hardware resources are impacted by whether or not federation is being used |
| Cryptpad | No large-scale deployments seen, minimum requirements: <br/> - 2 vCPU <br/> - 2 GB RAM <br/> - 20 GB storage (depending on planned usage) | Most of the computation is done client-side |
| Jitsi | Jitsi-Meet server: <br/> - 4 vCPU <br/> - 8 GB RAM <br/> <br/> For every 200 concurrent users one JVB with: <br/> - 8 vCPU <br/> - 8 GB RAM <br/><br/> Network bandwidth: <br/> - 1 GBit/s - 10 GBit/s small deployments <br/> - 10 Gbit/s *per bridge* large deployments<br/> | JVB network bandwidth calculation depends on the stream resolution (HD vs. 4k). |
| Nextcloud | Up to 5k / more than 5k users: <br/> - 4 to 20 Nextcloud AIO Pods with 8 vCPUs and 32 / 64 GB RAM each <br/> - 2 / 4 DB servers with 8 / 16 vCPUs and 64 / 128 GB RAM each, plus DB load balancer | - |
| OpenProject | - 4-6 vCPU per ~500 users <br/> - 6-8 GB per ~500 users <br/> - +20-50 GB storage per ~500 users, depending on workload and attachment storage[^1] <br/><br/> - Web Workers: +4 per ~500 users <br/> - Background Workers: +1-2 multithreaded workers per ~500 users, depending on workload | These values are guidelines and should be adjusted based on actual monitoring of resource usage. Scaling should prioritize CPU and RAM, prioritize scaling Web Workers first, followed by Background Workers and Disk Space as needed. |
| Open-Xchange | For ~200 users (64 concurrent users to App Suite & 128 users to Dovecot): <br/> - 10 vCPU <br/> - 58 GB RAM <br/> - 660 GB storage | - |
| XWiki | Advise for small instances: <br> - 4 vCPU <br/> - 6 GB RAM | - |
[^1]: Nextcloud is configured for attachment storage as well.
# Upstream information # Upstream information
While scaling services horizontally is the ideal solution, information about vertical scaling is helpful While scaling services horizontally is the ideal solution, information about vertical scaling is helpful
when defining the application's resources, see [`resources.yaml.gotmpl`](../helmfile/environments/default/resources.yaml.gotmpl) for references. when defining the application's resources, see [`resources.yaml.gotmpl`](../helmfile/environments/default/resources.yaml.gotmpl) for references.
Linked below is documentation related to scaling from the upstream application: Linked below is documentation related to scaling for upstream applications, where publically available:
- [OpenProject system requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/) - [Collabora Online Technical Documentation](https://mautic.collaboraoffice.com/asset/60:collabora-online-technical-information-pdf)
- [OpenProject System Requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
- [XWiki Performance](https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Performances/)
- [Element Requirements and Recommendations](https://ems-docs.element.io/books/element-server-suite-documentation-lts-2404/page/requirements-and-recommendations)
- [Jitsi DevOps Guide (scalable setup)](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-scalable/), [Jitsi Meet Needs](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements/)

View File

@@ -18,13 +18,8 @@ All default settings can be found in [`theme.yaml.gotmpl`](../helmfile/environme
Please review the default configuration that is applied to understand your customization options. Please review the default configuration that is applied to understand your customization options.
You can just update the files in: You can just update the files in [helmfile/files/theme](../helmfile/files/theme) to change logos, favicons etc. Note that the `.svg` versions of the favicons are also used for the portal tiles.
- [helmfile/files/theme](../helmfile/files/theme): To change logos, favicons etc.
- [helmfile/files/portal-tiles](../helmfile/files/portal-tiles): To change the icons in the portal.
# Known limitations # Known limitations
Not all applications support theming. Known exceptions are: - Portal and Keycloak screen styles, especially colors, must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css),
- OpenProject, comes with a build in openDesk theming that can be modified in the Enterprise version's OpenProject web interface.
- The portal background logo can (currently) only be set on initial deployment.
- Portal and Keycloak screen styles must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css).

View File

@@ -75,6 +75,7 @@ configuration:
collabora: collabora:
# internalWopiUrl: "" # internalWopiUrl: ""
wopiAllowlist: {{ join ", " ( concat .Values.cluster.networking.cidr .Values.cluster.networking.incomingCIDR ) | quote }} wopiAllowlist: {{ join ", " ( concat .Values.cluster.networking.cidr .Values.cluster.networking.incomingCIDR ) | quote }}
defaultFormat: {{ .Values.functional.weboffice.defaultFormat | quote }}
database: database:
{{ if eq .Values.databases.nextcloud.type "mariadb" }} {{ if eq .Values.databases.nextcloud.type "mariadb" }}

View File

@@ -246,6 +246,8 @@ keycloak:
extraEnvVars: extraEnvVars:
- name: "KC_HTTPS_TRUST_STORE_FILE" - name: "KC_HTTPS_TRUST_STORE_FILE"
value: "/etc/ssl/certs/truststore.jks" value: "/etc/ssl/certs/truststore.jks"
- name: "KC_TRUSTSTORE_PATHS"
value: "/etc/ssl/certs/ca-certificates.crt"
- name: "KC_HTTPS_TRUST_STORE_PASSWORD" - name: "KC_HTTPS_TRUST_STORE_PASSWORD"
value: {{ .Values.secrets.certificates.password | quote }} value: {{ .Values.secrets.certificates.password | quote }}
- name: "KC_HTTPS_TRUST_STORE_TYPE" - name: "KC_HTTPS_TRUST_STORE_TYPE"
@@ -254,6 +256,20 @@ keycloak:
nubusGuardian: nubusGuardian:
authorizationApi: authorizationApi:
containerSecurityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
seLinuxOptions:
{{ .Values.seLinuxOptions.umsGuardianAuthorizationApi | toYaml | nindent 8 }}
image: image:
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianAuthorizationApi.registry | quote }} registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianAuthorizationApi.registry | quote }}
repository: {{ .Values.images.nubusGuardianAuthorizationApi.repository }} repository: {{ .Values.images.nubusGuardianAuthorizationApi.repository }}
@@ -272,20 +288,6 @@ nubusGuardian:
replicaCount: {{ .Values.replicas.umsGuardianAuthorizationApi }} replicaCount: {{ .Values.replicas.umsGuardianAuthorizationApi }}
resources: resources:
{{ .Values.resources.umsGuardianAuthorizationApi | toYaml | nindent 6 }} {{ .Values.resources.umsGuardianAuthorizationApi | toYaml | nindent 6 }}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
seLinuxOptions:
{{ .Values.seLinuxOptions.umsGuardianAuthorizationApi | toYaml | nindent 8 }}
global: global:
podAnnotations: podAnnotations:
{{ .Values.annotations.nubusGuardian.globalPod | toYaml | nindent 6 }} {{ .Values.annotations.nubusGuardian.globalPod | toYaml | nindent 6 }}
@@ -348,6 +350,20 @@ nubusGuardian:
# enabled: true # enabled: true
secretName: "" secretName: ""
managementApi: managementApi:
containerSecurityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
seLinuxOptions:
{{ .Values.seLinuxOptions.umsGuardianManagementApi | toYaml | nindent 8 }}
image: image:
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementApi.registry | quote }} registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementApi.registry | quote }}
repository: {{ .Values.images.nubusGuardianManagementApi.repository }} repository: {{ .Values.images.nubusGuardianManagementApi.repository }}
@@ -366,7 +382,8 @@ nubusGuardian:
replicaCount: {{ .Values.replicas.umsGuardianManagementApi }} replicaCount: {{ .Values.replicas.umsGuardianManagementApi }}
resources: resources:
{{ .Values.resources.umsGuardianManagementApi | toYaml | nindent 6 }} {{ .Values.resources.umsGuardianManagementApi | toYaml | nindent 6 }}
securityContext: managementUi:
containerSecurityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: drop:
@@ -379,8 +396,7 @@ nubusGuardian:
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
seLinuxOptions: seLinuxOptions:
{{ .Values.seLinuxOptions.umsGuardianManagementApi | toYaml | nindent 8 }} {{ .Values.seLinuxOptions.umsGuardianManagementUi | toYaml | nindent 8 }}
managementUi:
image: image:
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementUi.registry | quote }} registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementUi.registry | quote }}
repository: {{ .Values.images.nubusGuardianManagementUi.repository }} repository: {{ .Values.images.nubusGuardianManagementUi.repository }}
@@ -396,7 +412,8 @@ nubusGuardian:
replicaCount: {{ .Values.replicas.umsGuardianManagementUi }} replicaCount: {{ .Values.replicas.umsGuardianManagementUi }}
resources: resources:
{{ .Values.resources.umsGuardianManagementUi | toYaml | nindent 6 }} {{ .Values.resources.umsGuardianManagementUi | toYaml | nindent 6 }}
securityContext: openPolicyAgent:
containerSecurityContext:
allowPrivilegeEscalation: false allowPrivilegeEscalation: false
capabilities: capabilities:
drop: drop:
@@ -409,8 +426,7 @@ nubusGuardian:
seccompProfile: seccompProfile:
type: RuntimeDefault type: RuntimeDefault
seLinuxOptions: seLinuxOptions:
{{ .Values.seLinuxOptions.umsGuardianManagementUi | toYaml | nindent 8 }} {{ .Values.seLinuxOptions.umsGuardianOpenPolicyAgent | toYaml | nindent 8 }}
openPolicyAgent:
image: image:
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpenPolicyAgent.registry | quote }} registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpenPolicyAgent.registry | quote }}
repository: {{ .Values.images.nubusOpenPolicyAgent.repository }} repository: {{ .Values.images.nubusOpenPolicyAgent.repository }}
@@ -426,20 +442,6 @@ nubusGuardian:
replicaCount: {{ .Values.replicas.umsGuardianOpenPolicyAgent }} replicaCount: {{ .Values.replicas.umsGuardianOpenPolicyAgent }}
resources: resources:
{{ .Values.resources.umsOpenPolicyAgent | toYaml | nindent 6 }} {{ .Values.resources.umsOpenPolicyAgent | toYaml | nindent 6 }}
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault
seLinuxOptions:
{{ .Values.seLinuxOptions.umsGuardianOpenPolicyAgent | toYaml | nindent 8 }}
postgresql: postgresql:
connection: connection:
host: {{ .Values.databases.umsGuardianManagementApi.host | quote }} host: {{ .Values.databases.umsGuardianManagementApi.host | quote }}
@@ -447,26 +449,29 @@ nubusGuardian:
auth: auth:
username: {{ .Values.databases.umsGuardianManagementApi.username | quote }} username: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
database: {{ .Values.databases.umsGuardianManagementApi.name | quote }} database: {{ .Values.databases.umsGuardianManagementApi.name | quote }}
credentialSecret: existingSecret:
name: "ums-guardian-postgresql-opendesk-credentials" name: "ums-guardian-postgresql-opendesk-credentials"
key: "guardianDatabasePassword" keyMapping:
password: "guardianDatabasePassword"
provisioning: provisioning:
enabled: false enabled: false
config: config:
nubusBaseUrl: {{ printf "https://%s.%s" .Values.global.hosts.nubus .Values.global.domain }} nubusBaseUrl: {{ printf "https://%s.%s" .Values.global.hosts.nubus .Values.global.domain }}
keycloak: keycloak:
realm: {{ .Values.platform.realm | quote }}
username: "kcadmin"
connection:
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
baseUrl: "http://ums-keycloak:8080"
credentialSecret: credentialSecret:
name: "ums-opendesk-keycloak-credentials" name: "ums-opendesk-keycloak-credentials"
key: "admin_password" key: "admin_password"
managementApi: realm: {{ .Values.platform.realm | quote }}
credentialSecret: username: "kcadmin"
keycloak:
auth:
existingSecret:
name: "ums-opendesk-guardian-client-secret" name: "ums-opendesk-guardian-client-secret"
key: "managementApiClientSecret" keyMapping:
password: "managementApiClientSecret"
connection:
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
baseUrl: "http://ums-keycloak:8080"
image: image:
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianProvisioning.registry | quote }} registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianProvisioning.registry | quote }}
repository: {{ .Values.images.nubusGuardianProvisioning.repository }} repository: {{ .Values.images.nubusGuardianProvisioning.repository }}
@@ -628,7 +633,7 @@ nubusPortalFrontend:
css: {{ .Values.theme.styles.portal.main | toJson }} css: {{ .Values.theme.styles.portal.main | toJson }}
# Requires .ico, .svg does not work. # Requires .ico, .svg does not work.
favicon: {{ .Values.theme.imagery.portal.faviconIco | toJson }} favicon: {{ .Values.theme.imagery.portal.faviconIco | toJson }}
# The actual `logo` is set in customizing image, the logo down here is for for waiting spinner. # The actual `logo` is set in customizing image, the logo down here is for waiting spinner.
logo: {{ .Values.theme.imagery.portal.waitingSpinnerSvg | toJson }} logo: {{ .Values.theme.imagery.portal.waitingSpinnerSvg | toJson }}
backgroundImage: {{ .Values.theme.imagery.portal.backgroundSvg | toJson }} backgroundImage: {{ .Values.theme.imagery.portal.backgroundSvg | toJson }}
service: service:
@@ -695,6 +700,17 @@ nubusKeycloakExtensions:
resources: resources:
{{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 6 }} {{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 6 }}
securityContext: securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- "ALL"
enabled: true
runAsUser: 1000
runAsGroup: 1000
seccompProfile:
type: "RuntimeDefault"
readOnlyRootFilesystem: true
runAsNonRoot: true
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
seLinuxOptions: seLinuxOptions:
@@ -785,8 +801,15 @@ nubusPortalConsumer:
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"INFO"{{ end }} logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"INFO"{{ end }}
objectStorage: objectStorage:
auth: auth:
accessKeyId: {{ .Values.objectstores.nubus.username | quote }}
accessKey: {{ .Values.objectstores.nubus.username | quote }} accessKey: {{ .Values.objectstores.nubus.username | quote }}
secretAccessKey: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
secretKey: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }} secretKey: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
existingSecret:
name: "{{ .Release.Name }}-portal-consumer-minio-credentials"
keyMapping:
accessKey: "accessKey"
secretKey: "secretKey"
bucketName: {{ .Values.objectstores.nubus.bucket | quote }} bucketName: {{ .Values.objectstores.nubus.bucket | quote }}
endpoint: {{ printf "https://%s" (.Values.objectstores.nubus.endpoint | default (printf "%s.%s" .Values.global.hosts.minioApi .Values.global.domain)) | quote }} endpoint: {{ printf "https://%s" (.Values.objectstores.nubus.endpoint | default (printf "%s.%s" .Values.global.hosts.minioApi .Values.global.domain)) | quote }}
persistence: persistence:
@@ -819,20 +842,6 @@ nubusPortalConsumer:
tag: {{ .Values.images.nubusWaitForDependency.tag }} tag: {{ .Values.images.nubusWaitForDependency.tag }}
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }} imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
{{- if .Values.certificate.selfSigned }} {{- if .Values.certificate.selfSigned }}
extraVolumes:
- name: "trusted-cert-secret-volume"
secret:
secretName: "opendesk-certificates-ca-tls"
items:
- key: "ca.crt"
path: "ca-certificates.crt"
- key: "ca.crt"
path: "cacert.pem"
extraVolumeMounts:
- name: "trusted-cert-secret-volume"
mountPath: "/etc/ssl/certs/ca-certificates.crt"
subPath: "ca-certificates.crt"
waitForDependency:
extraVolumeMounts: extraVolumeMounts:
- name: "trusted-cert-secret-volume" - name: "trusted-cert-secret-volume"
readOnly: true readOnly: true
@@ -850,6 +859,21 @@ nubusPortalConsumer:
- name: "SSL_CERT_FILE" - name: "SSL_CERT_FILE"
value: "/etc/ssl/certs/ca-certificates.crt" value: "/etc/ssl/certs/ca-certificates.crt"
{{- end }} {{- end }}
{{- if .Values.certificate.selfSigned }}
extraVolumes:
- name: "trusted-cert-secret-volume"
secret:
secretName: "opendesk-certificates-ca-tls"
items:
- key: "ca.crt"
path: "ca-certificates.crt"
- key: "ca.crt"
path: "cacert.pem"
extraVolumeMounts:
- name: "trusted-cert-secret-volume"
mountPath: "/etc/ssl/certs/ca-certificates.crt"
subPath: "ca-certificates.crt"
{{- end }}
nubusPortalServer: nubusPortalServer:
additionalAnnotations: additionalAnnotations:
@@ -1472,6 +1496,15 @@ nubusStackDataUms:
opendeskAdminAttributes: true opendeskAdminAttributes: true
opendeskGroupAttributes: true opendeskGroupAttributes: true
opendeskUserAttributes: true opendeskUserAttributes: true
{{- if eq .Values.functional.weboffice.defaultFormat "OOXML"}}
portalDirectDocsExtensionText: "docx"
portalDirectDocsExtensionSheet: "xlsx"
portalDirectDocsExtensionPresentation: "pptx"
{{- else }}
portalDirectDocsExtensionText: "odt"
portalDirectDocsExtensionSheet: "ods"
portalDirectDocsExtensionPresentation: "odp"
{{- end }}
portalEnforceLogin: {{ .Values.functional.portal.enforceLogin }} portalEnforceLogin: {{ .Values.functional.portal.enforceLogin }}
portalHeaderLogo: {{ toYaml .Values.theme.imagery.logoHeaderSvgB64 | quote }} portalHeaderLogo: {{ toYaml .Values.theme.imagery.logoHeaderSvgB64 | quote }}
portalTiles: {{ toYaml .Values.theme.imagery.portalTiles | nindent 6 }} portalTiles: {{ toYaml .Values.theme.imagery.portalTiles | nindent 6 }}
@@ -1545,12 +1578,12 @@ nubusUmcServer:
capabilities: capabilities:
drop: drop:
- "ALL" - "ALL"
runAsUser: 0 runAsUser: 999
runAsGroup: 0 runAsGroup: 999
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: false runAsNonRoot: true
seLinuxOptions: seLinuxOptions:
{{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }} {{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }}
containerSecurityContextInit: containerSecurityContextInit:
@@ -1586,12 +1619,12 @@ nubusUmcServer:
- "MKNOD" - "MKNOD"
- "NET_BIND_SERVICE" - "NET_BIND_SERVICE"
- "SYS_CHROOT" - "SYS_CHROOT"
runAsUser: 0 runAsUser: 999
runAsGroup: 0 runAsGroup: 999
seccompProfile: seccompProfile:
type: "RuntimeDefault" type: "RuntimeDefault"
readOnlyRootFilesystem: true readOnlyRootFilesystem: true
runAsNonRoot: false runAsNonRoot: true
seLinuxOptions: seLinuxOptions:
{{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }} {{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }}
image: image:
@@ -1736,7 +1769,7 @@ nubusKeycloakBootstrap:
capabilities: capabilities:
drop: drop:
- "ALL" - "ALL"
readOnlyRootFilesystem: false readOnlyRootFilesystem: true
runAsGroup: 1000 runAsGroup: 1000
runAsNonRoot: true runAsNonRoot: true
runAsUser: 1000 runAsUser: 1000

View File

@@ -23,7 +23,8 @@ imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 2 }} {{ .Values.global.imagePullSecrets | toYaml | nindent 2 }}
dovecot: dovecot:
mailDomain: {{ .Values.global.mailDomain | default .Values.global.domain | quote }} mailDomains: {{ toYaml (prepend .Values.global.additionalMailDomains (.Values.global.mailDomain | default .Values.global.domain) | uniq) | nindent 4 }}
defaultMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
password: password:
value: {{ .Values.secrets.dovecot.doveadm | quote }} value: {{ .Values.secrets.dovecot.doveadm | quote }}
migration: migration:

View File

@@ -277,14 +277,16 @@ appsuite:
packages: packages:
status: status:
{{- if .Values.functional.migration.oxAppSuite.enabled }} {{- if .Values.functional.migration.oxAppSuite.enabled }}
open-xchange-authentication-masterpassword: "enabled"
open-xchange-authentication-ldap: "disabled"
open-xchange-authentication-oauth: "disabled"
open-xchange-oidc: "disabled" open-xchange-oidc: "disabled"
open-xchange-authentication-oauth: "disabled"
open-xchange-authentication-masterpassword: "enabled"
open-xchange-authentication-database: "disabled"
open-xchange-authentication-ldap: "disabled"
{{- else }} {{- else }}
open-xchange-oidc: "enabled" open-xchange-oidc: "enabled"
open-xchange-authentication-database: "disabled"
open-xchange-authentication-oauth: "enabled" open-xchange-authentication-oauth: "enabled"
open-xchange-authentication-masterpassword: "disabled"
open-xchange-authentication-database: "disabled"
open-xchange-authentication-ldap: "disabled" open-xchange-authentication-ldap: "disabled"
{{- end }} {{- end }}
# OX Documents (office-web) is not used in openDesk # OX Documents (office-web) is not used in openDesk
@@ -428,8 +430,10 @@ appsuite:
com.openexchange.share.cryptKey: {{ .Values.secrets.oxAppSuite.shareCryptKey | quote }} com.openexchange.share.cryptKey: {{ .Values.secrets.oxAppSuite.shareCryptKey | quote }}
com.openexchange.conference.element.authToken: {{ .Values.secrets.oxAppSuite.synapseAsToken | quote }} com.openexchange.conference.element.authToken: {{ .Values.secrets.oxAppSuite.synapseAsToken | quote }}
propertiesFiles: propertiesFiles:
{{- if .Values.functional.migration.oxAppSuite.enabled }}
/opt/open-xchange/etc/masterpassword-authentication.properties: /opt/open-xchange/etc/masterpassword-authentication.properties:
com.openexchange.authentication.masterpassword.password: {{ .Values.secrets.oxAppSuite.migrationsMasterPassword | quote }} com.openexchange.authentication.masterpassword.password: {{ .Values.secrets.oxAppSuite.migrationsMasterPassword | quote }}
{{- end }}
/opt/open-xchange/etc/AdminDaemon.properties: /opt/open-xchange/etc/AdminDaemon.properties:
MASTER_ACCOUNT_OVERRIDE: "true" MASTER_ACCOUNT_OVERRIDE: "true"
/opt/open-xchange/etc/AdminUser.properties: /opt/open-xchange/etc/AdminUser.properties:

View File

@@ -81,7 +81,7 @@ postfix:
smtpdMilters: "inet:clamav-simple:7357" smtpdMilters: "inet:clamav-simple:7357"
{{- end }} {{- end }}
{{- end }} {{- end }}
virtualMailboxDomains: {{ if .Values.global.additionalMailDomains }}{{ printf "%s,%s" (.Values.global.mailDomain | default .Values.global.domain) .Values.global.additionalMailDomains }}{{ else }}{{ .Values.global.mailDomain | default .Values.global.domain | quote }}{{ end }} virtualMailboxDomains: {{ toYaml (prepend .Values.global.additionalMailDomains (.Values.global.mailDomain | default .Values.global.domain) | uniq) | nindent 4 }}
virtualTransport: "lmtps:dovecot:24" virtualTransport: "lmtps:dovecot:24"
podAnnotations: podAnnotations:

View File

@@ -96,7 +96,7 @@ postfix:
{{- end }} {{- end }}
# Only deliver mail to Dovecot, if it is available # Only deliver mail to Dovecot, if it is available
{{- if .Values.apps.oxAppSuite.enabled }} {{- if .Values.apps.oxAppSuite.enabled }}
virtualMailboxDomains: {{ if .Values.global.additionalMailDomains }}{{ printf "%s,%s" (.Values.global.mailDomain | default .Values.global.domain) .Values.global.additionalMailDomains }}{{ else }}{{ .Values.global.mailDomain | default .Values.global.domain | quote }}{{ end }} virtualMailboxDomains: {{ toYaml (prepend .Values.global.additionalMailDomains (.Values.global.mailDomain | default .Values.global.domain) | uniq) | nindent 4 }}
virtualTransport: "lmtps:dovecot:24" virtualTransport: "lmtps:dovecot:24"
{{- end }} {{- end }}

View File

@@ -6,7 +6,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "zendis/opendesk-enterprise/components/product-development/charts/opendesk-dovecot-pro" repository: "zendis/opendesk-enterprise/components/product-development/charts/opendesk-dovecot-pro"
name: "dovecot" name: "dovecot"
version: "2.0.2" version: "3.0.0"
verify: true verify: true
oxAppSuite: oxAppSuite:
registry: "registry.opencode.de" registry: "registry.opencode.de"

View File

@@ -13,9 +13,9 @@ images:
nextcloud: nextcloud:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "zendis/opendesk-enterprise/components/supplier/nextcloud/images/opendesk-nextcloud" repository: "zendis/opendesk-enterprise/components/supplier/nextcloud/images/opendesk-nextcloud"
tag: "1.1.9@sha256:ad28c9dd8cdb4bdd325fe132215d0cf094392c3ddd1f114707b09bb7d1c61a9e" tag: "1.2.0@sha256:ddd2bec74a22a713967f62fcdcf18fa8d53d730c1db296d570143754c93d20a5"
openxchangeCoreMW: openxchangeCoreMW:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/core-mw" repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/middleware-public-sector-pro"
tag: "8.35.85@sha256:54d01a16ea29a3ae8f1857e5bdf6d2e34046b8a3fa3d6179bb3ad3d047e1318f" tag: "8.35.85@sha256:54d01a16ea29a3ae8f1857e5bdf6d2e34046b8a3fa3d6179bb3ad3d047e1318f"
... ...

View File

@@ -2,7 +2,7 @@
# 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
# #
# Please read the /docs/development.md for information about structure and annotations used in this file. # Please read the /docs/developer/development.md for information about structure and annotations used in this file.
# yamllint disable rule:line-length # yamllint disable rule:line-length
--- ---
charts: charts:
@@ -99,7 +99,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/charts/opendesk-dovecot" repository: "bmi/opendesk/components/platform-development/charts/opendesk-dovecot"
name: "dovecot" name: "dovecot"
version: "2.0.0" version: "3.0.0"
verify: true verify: true
element: element:
# providerCategory: "Platform" # providerCategory: "Platform"
@@ -251,7 +251,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud" repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
name: "opendesk-nextcloud" name: "opendesk-nextcloud"
version: "4.0.3" version: "4.1.0"
verify: true verify: true
nextcloudManagement: nextcloudManagement:
# providerCategory: "Platform" # providerCategory: "Platform"
@@ -261,7 +261,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud" repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
name: "opendesk-nextcloud-management" name: "opendesk-nextcloud-management"
version: "4.0.3" version: "4.1.0"
verify: true verify: true
nginx: nginx:
# providerCategory: "Community" # providerCategory: "Community"
@@ -303,7 +303,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/charts-mirror" repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
name: "nubus" name: "nubus"
version: "1.8.0" version: "1.9.1"
verify: true verify: true
opendeskAlerts: opendeskAlerts:
# providerCategory: "Platform" # providerCategory: "Platform"
@@ -355,7 +355,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/openproject/charts-mirror" repository: "bmi/opendesk/components/supplier/openproject/charts-mirror"
name: "openproject" name: "openproject"
version: "9.9.0" version: "9.10.1"
verify: true verify: true
openprojectBootstrap: openprojectBootstrap:
# providerCategory: "Platform" # providerCategory: "Platform"
@@ -419,7 +419,7 @@ charts:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/charts/opendesk-postfix" repository: "bmi/opendesk/components/platform-development/charts/opendesk-postfix"
name: "postfix" name: "postfix"
version: "3.0.1" version: "4.0.0"
verify: true verify: true
postgresql: postgresql:
# providerCategory: "Platform" # providerCategory: "Platform"

View File

@@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
--- ---
functional: functional:
admin: admin:
portal: portal:
deploymentTimestamp: deploymentTimestamp:
@@ -62,6 +63,19 @@ functional:
# - `internalId` # - `internalId`
idpDetails: {} idpDetails: {}
chat:
matrix:
profile:
# Once connected with a user that user's Matrix ID is rarely checked by their communication partners, as the
# display name is used to see whom they are communicating with. Not allowing users to change their
# own display name reduces the risk of identity fraud.
# To get the display name updated from the central identity and access management you have to have the Synapse
# enterprise feature "groupsync" configured.
allowUsersToUpdateDisplayname: true
# If the LDAP entryUUID should be used for the localpart of user's Matrix IDs following setting must be `true`.
useImmutableIdentifierForLocalpart: false
externalServices: externalServices:
nubus: nubus:
udmRestApi: udmRestApi:
@@ -74,6 +88,16 @@ functional:
# List of matrix homeserver domains you want to allow federation with # List of matrix homeserver domains you want to allow federation with
domainAllowList: [] domainAllowList: []
dataProtection:
matrixPresence:
# Enable to allow information about the user presence status to be shared.
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence
enabled: false
jitsiRoomHistory:
# Disable to avoid the room history to be stored in the user's browser local storage.
# Ref.: https://github.com/jitsi/docker-jitsi-meet/issues/898
enabled: true
filestore: filestore:
quota: quota:
# Set the default quota for all users in GB # Set the default quota for all users in GB
@@ -120,15 +144,12 @@ functional:
versions: "auto" versions: "auto"
# yamllint enable rule:line-length # yamllint enable rule:line-length
dataProtection: migration:
matrixPresence: oxAppSuite:
# Enable to allow information about the user presence status to be shared. # Note: Only available in openDesk Enterprise.
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence # Turn on temporary for migration purposes only. Will enable master password auth in OX AppSuite and Dovecot using
# `secrets.oxAppSuite.migrationsMasterPassword`.
enabled: false enabled: false
jitsiRoomHistory:
# Disable to avoid the room history to be stored in the user's browser local storage.
# Ref.: https://github.com/jitsi/docker-jitsi-meet/issues/898
enabled: true
portal: portal:
# Configure if the a re-direct to the login dialogue is enforced, or if the portal is shown and the user as to actively # Configure if the a re-direct to the login dialogue is enforced, or if the portal is shown and the user as to actively
@@ -139,24 +160,10 @@ functional:
# Link to the privacy statement shown in the portal menu, set to "~" if you want to remove the link # Link to the privacy statement shown in the portal menu, set to "~" if you want to remove the link
linkPrivacyStatement: "https://zendis.de/datenschutzerklaerung" linkPrivacyStatement: "https://zendis.de/datenschutzerklaerung"
chat: weboffice:
matrix: # Set the file format to be used by default when creating new documents from the portal or the Nextcloud app.
profile: # You can choose between "ODF" and "OOXML".
# Once connected with a user that user's Matrix ID is rarely checked by their communication partners, as the # Ref.: https://en.wikipedia.org/wiki/Comparison_of_Office_Open_XML_and_OpenDocument
# display name is used to see whom they are communicating with. Not allowing users to change their defaultFormat: "ODF"
# own display name reduces the risk of identity fraud.
# To get the display name updated from the central identity and access management you have to have the Synapse
# enterprise feature "groupsync" configured.
allowUsersToUpdateDisplayname: true
# If the LDAP entryUUID should be used for the localpart of user's Matrix IDs following setting must be `true`.
useImmutableIdentifierForLocalpart: false
migration:
oxAppSuite:
# Note: Only available in openDesk Enterprise.
# Turn on temporary for migration purposes only. Will enable master password auth in OX AppSuite and Dovecot using
# `secrets.oxAppSuite.migrationsMasterPassword`.
enabled: false
... ...

View File

@@ -3,5 +3,5 @@
--- ---
global: global:
systemInformation: systemInformation:
releaseVersion: "v1.3.1" releaseVersion: "v1.3.3"
... ...

View File

@@ -19,7 +19,7 @@ global:
## Define additional mail domains, comma separated, e.g. domain1.de,domain2.de ## Define additional mail domains, comma separated, e.g. domain1.de,domain2.de
# #
additionalMailDomains: "" additionalMailDomains: []
## Define synapse host ## Define synapse host
## If this is unset the "domain" value above should be used in all references ## If this is unset the "domain" value above should be used in all references

View File

@@ -2,7 +2,7 @@
# 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
# #
# Please read the /docs/development.md for information about structure and annotations used in this file. # Please read the /docs/developer/development.md for information about structure and annotations used in this file.
--- ---
images: images:
bitnamiOSShell: bitnamiOSShell:
@@ -108,13 +108,6 @@ images:
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "zendis/opendesk-enterprise/components/supplier/element/images-mirror/groupsync" repository: "zendis/opendesk-enterprise/components/supplier/element/images-mirror/groupsync"
tag: "v0.14.0@sha256:a8cee92b9035d8cc80cc13194e4e0118c7dfbfcbc4c0ee5ac173582d0cd55846" tag: "v0.14.0@sha256:a8cee92b9035d8cc80cc13194e4e0118c7dfbfcbc4c0ee5ac173582d0cd55846"
elementHaProxy:
# Enterprise Component
# providerCategory: "Supplier"
# providerResponsible: "Element"
registry: "registry.opencode.de"
repository: "zendis/opendesk-enterprise/components/supplier/element/images-mirror/haproxy"
tag: "3.0-alpine@sha256:c22c8710886104a48b920306f063401f0d11811858e3c6b9d87d88a7556b2e61"
elementPipe: elementPipe:
# Enterprise Component # Enterprise Component
# providerCategory: "Supplier" # providerCategory: "Supplier"
@@ -327,7 +320,7 @@ images:
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud" # upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud"
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud" repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud"
tag: "2.4.11@sha256:2fe6e311735c706016fe7b39c8f60a6cf0f0e735761dbc60fb4cd2eedbe135c4" tag: "2.5.0@sha256:9457bc2116620e52dcd1f5f12f042090aa4cca2a3e4d5f64b7c84c232ca6bb63"
nextcloudExporter: nextcloudExporter:
# providerCategory: "Platform" # providerCategory: "Platform"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"
@@ -377,7 +370,7 @@ images:
# 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.89.0@sha256:3ed16810357ed01152e1e3f0d1cd66825bde53302f32d3caf700e324f7c1cffb" tag: "0.90.0@sha256:a776ea84ca5d4f984a1ecf1f97d8c90cd98894c3568401be6858a8e955c7ed92"
nubusGuardianAuthorizationApi: nubusGuardianAuthorizationApi:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -417,17 +410,17 @@ images:
# 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.17.0@sha256:56acfc53c3d3e0a20ff77fe427ae794adbf03ccc66972c95188e0da9e87c4a62" tag: "0.19.1@sha256:9030841a136d9addc37b2b62d39d80b113b824e50bd9cdcd5cf2c22bad74eeb0"
nubusKeycloak: nubusKeycloak:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
# upstreamRegistry: "https://artifacts.software-univention.de" # upstreamRegistry: "https://artifacts.software-univention.de"
# upstreamRepository: "nubus/images/keycloak" # upstreamRepository: "nubus/images/keycloak"
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+).+$' # upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
# upstreamMirrorStartFrom: ["22", "0", "3"] # upstreamMirrorStartFrom: ["0", "0", "1"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak" repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak"
tag: "25.0.6-ucs6@sha256:1db8af70741bca9badeb3d5b0b145244dde1a2579fe4f966e488ce730cb07d65" tag: "0.0.1@sha256:ce2397ac38920750b81a8a6065f7ed8a551641c6562a551963a2857fe6822beb"
nubusKeycloakBootstrap: nubusKeycloakBootstrap:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -437,7 +430,7 @@ images:
# 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.10.2@sha256:7406bfee267dff6520b8b3c0db098a79e7f9fe1b45307ea6b1edf26a2bcfc1aa" tag: "0.11.0@sha256:55ad741e01dd91bb9b0332fd602a6262d3618abdf97a86c13f1e6148b36bd242"
nubusKeycloakExtensionHandler: nubusKeycloakExtensionHandler:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -467,7 +460,7 @@ images:
# 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-notifier" repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-notifier"
tag: "0.34.1@sha256:02d1a0d6ce7e154738f4a1c2323f901245b62c23c8e6c27ce19a57ab44cfdaa7" tag: "0.37.0@sha256:b148e15c268badc45db9a6ce12c97cce332d25b86e86fec47fc417b8fe74d0d2"
nubusLdapServer: nubusLdapServer:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -477,7 +470,7 @@ images:
# 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/supplier/univention/images-mirror/ldap-server"
tag: "0.34.1@sha256:5bb7931393d2023dc63c1338632b01d4c50372cb83192cdb329512b93e109984" tag: "0.37.0@sha256:caf7de9e121e5500c52dc8338b80057acd3eaa1e3877b526a5ae944bb53fe876"
nubusLdapServerDhInitContainer: nubusLdapServerDhInitContainer:
# providerCategory: 'Community' # providerCategory: 'Community'
# providerResponsible: 'Univention' # providerResponsible: 'Univention'
@@ -495,7 +488,7 @@ images:
# upstreamMirrorStartFrom: ["0", "29", "1"] # upstreamMirrorStartFrom: ["0", "29", "1"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server-elector" repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server-elector"
tag: "0.33.0@sha256:c1304a156094b276199fb263baf93e3704ceece478d7f663061b1b1f05f5931c" tag: "0.37.0@sha256:c9580e33ea48ec5d7ab2d4816926ca1b2ef72787f7615f31b124119c376c4324"
nubusNats: nubusNats:
# providerCategory: 'Community' # providerCategory: 'Community'
# providerResponsible: 'Univention' # providerResponsible: 'Univention'
@@ -529,7 +522,7 @@ images:
# upstreamMirrorStartFrom: ["0", "9", "4"] # upstreamMirrorStartFrom: ["0", "9", "4"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/notifications-api" repository: "bmi/opendesk/components/supplier/univention/images-mirror/notifications-api"
tag: "0.63.0@sha256:4c2e01e609fb83df6d090c389b5c63d4b1477bdb133b910cacf2f2a1ce1c39e1" tag: "0.67.0@sha256:da28ce84d97b78027eafbe0bcf8286a333efffdfc52a8abe852caed9d8cde339"
nubusOpendeskExtension: nubusOpendeskExtension:
# providerCategory: "Platform" # providerCategory: "Platform"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"
@@ -537,7 +530,7 @@ images:
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nubus" # upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus" repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
tag: "1.13.1@sha256:eb96855b53241bcb1dd64d72d8c76f7ee080291da72e6dff39ed2fc81b8ac99b" tag: "1.14.0@sha256:66ee00b6e44276f5f1e9d7a8066352fd5772820c50c10381acfd48c97f0acf4a"
nubusOpendeskExtensionA2gMapper: nubusOpendeskExtensionA2gMapper:
# providerCategory: "Platform" # providerCategory: "Platform"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"
@@ -575,7 +568,7 @@ images:
# upstreamMirrorStartFrom: ["0", "27", "0"] # upstreamMirrorStartFrom: ["0", "27", "0"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-consumer" repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-consumer"
tag: "0.63.0@sha256:e331f87738e716b0a16199b6aeaec917509946ce7b7ee91e608e70091dd279cc" tag: "0.67.1@sha256:580adf9079d27f53f6efd0c519252c7855f6907e3badc033b994165856b16126"
nubusPortalExtension: nubusPortalExtension:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -603,7 +596,7 @@ images:
# upstreamMirrorStartFrom: ["0", "9", "4"] # upstreamMirrorStartFrom: ["0", "9", "4"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-server" repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-server"
tag: "0.63.0@sha256:04cff7bb6b565e4ff03ffd1a6b6ab6c76b98bb9ea0fb8e703551f1b586ea7c27" tag: "0.67.0@sha256:d9418c7a1db7541ced1e3034f45683c190bf63270c6ba8f3d67c1fe0ac2edb1a"
nubusProvisioningDispatcher: nubusProvisioningDispatcher:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -613,7 +606,7 @@ images:
# upstreamMirrorStartFrom: ["0", "14", "0"] # upstreamMirrorStartFrom: ["0", "14", "0"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-dispatcher" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-dispatcher"
tag: "0.49.3@sha256:1089683a7e04259b335c79c13ceca2879d5d834a13d9c93ef62315f3086c9efd" tag: "0.51.0@sha256:f0cea25f788ff565b883e50c6138874c6f0338e0f91c5f8a32595323059930ef"
nubusProvisioningEventsAndConsumerApi: nubusProvisioningEventsAndConsumerApi:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -623,7 +616,7 @@ images:
# upstreamMirrorStartFrom: ["0", "14", "0"] # upstreamMirrorStartFrom: ["0", "14", "0"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-events-and-consumer-api" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-events-and-consumer-api"
tag: "0.49.3@sha256:56a5ca05a570f5a0f68ac67abbf8726541455f03bf0bada0495187d1a0fe963a" tag: "0.51.0@sha256:66fec83fd5033cf32cd759e9c73f7ae659a4ec45a433f13417a12e007b1d4db6"
nubusProvisioningPrefill: nubusProvisioningPrefill:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -633,7 +626,7 @@ images:
# upstreamMirrorStartFrom: ["0", "14", "0"] # upstreamMirrorStartFrom: ["0", "14", "0"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-prefill" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-prefill"
tag: "0.49.3@sha256:761863e5499eb702d0a606e9a58d10055c637ed286ff18998125cb5f82a7c788" tag: "0.51.0@sha256:ff04d8cec6ecc0b33cdea164e1ba1222c90ed9fe8370057a58329b4521e56de1"
nubusProvisioningUdmListener: nubusProvisioningUdmListener:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -643,7 +636,7 @@ images:
# upstreamMirrorStartFrom: ["0", "14", "0"] # upstreamMirrorStartFrom: ["0", "14", "0"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-listener" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-listener"
tag: "0.49.3@sha256:9bd8dd7531e3247761a6347a1889640821121c56435a96c286d1f6385a3152e7" tag: "0.51.0@sha256:5f0bba855945da2fa97d40b0fe51a14e3495b0b6da83562def6a6fcf4c21c059"
nubusProvisioningUdmTransformer: nubusProvisioningUdmTransformer:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -653,7 +646,7 @@ images:
# upstreamMirrorStartFrom: ["0", "14", "0"] # upstreamMirrorStartFrom: ["0", "14", "0"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-transformer" repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-transformer"
tag: "0.49.3@sha256:9ce6b3798fb6faba6ebfac1be19b51d12bc8b312decf87f482a2371cb961805e" tag: "0.51.0@sha256:ce9c312699ebe42c2e1df0d6caf150dfda1e4cc3fc1aaebe62c9ea5de8c11780"
nubusSelfServiceConsumer: nubusSelfServiceConsumer:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -663,7 +656,7 @@ images:
# upstreamMirrorStartFrom: ["0", "3", "2"] # upstreamMirrorStartFrom: ["0", "3", "2"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/selfservice-invitation" repository: "bmi/opendesk/components/supplier/univention/images-mirror/selfservice-invitation"
tag: "0.14.0@sha256:999c50058a02f6006a8d1732b651a5c738c5ee91fc453dc8ae3fcdbb9d4192c0" tag: "0.15.0@sha256:a7c4c097029de8903e3c2eee2082d740b5352dcc7a7a2a3c330bd9ebd7ad5b62"
nubusUdmRestApi: nubusUdmRestApi:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -673,7 +666,7 @@ images:
# upstreamMirrorStartFrom: ["0", "9", "3"] # upstreamMirrorStartFrom: ["0", "9", "3"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/udm-rest-api" repository: "bmi/opendesk/components/supplier/univention/images-mirror/udm-rest-api"
tag: "0.29.0@sha256:2b061d1cf244aeadcb790a08cac94804a32abe73dd442382355a6657b05c0ff2" tag: "0.30.0@sha256:9503666bac5f44a1d7cb6f17c6fd11a7d6976bc9059938596b6ac9f7bb581ca5"
nubusUmcGateway: nubusUmcGateway:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -683,7 +676,7 @@ images:
# 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.38.0@sha256:5abece086fc55cc318453a23634094bdf4e0f9922debce87fbb1aa4d55b9eac1" tag: "0.43.1@sha256:e1f23a199e1e35667e2ba6a45866bcb6d37bc2b13f3b8134e511ae95973c743b"
nubusUmcServer: nubusUmcServer:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -693,7 +686,7 @@ images:
# 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-server" repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-server"
tag: "0.38.0@sha256:2733c21900c8f861f53cff5f65ed20a21881180ff80472491c014e1e2a9c2a9d" tag: "0.43.1@sha256:1aef76db446164c3ffaeaf233e9ef6303ebb1609b47f918ac4ab6714abf95283"
nubusUmcServerProxy: nubusUmcServerProxy:
# providerCategory: "Supplier" # providerCategory: "Supplier"
# providerResponsible: "Univention" # providerResponsible: "Univention"
@@ -711,7 +704,7 @@ images:
# upstreamMirrorStartFrom: ["0", "9", "4"] # upstreamMirrorStartFrom: ["0", "9", "4"]
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/supplier/univention/images-mirror/wait-for-dependency" repository: "bmi/opendesk/components/supplier/univention/images-mirror/wait-for-dependency"
tag: "0.28.0@sha256:816ad27b76046be360398274ba3c1f1bcec8f58c2ea5a200b2fb675aab1a5ab8" tag: "0.30.0@sha256:fa804c2a10aa42439bf3f388007d7e55c046d6da6dc8a74c27f5a989fd422c8d"
opendeskKeycloakBootstrap: opendeskKeycloakBootstrap:
# providerCategory: "Platform" # providerCategory: "Platform"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"
@@ -737,7 +730,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: "15.5.0@sha256:267f76694d0e86bc574035527b86b48ecc96c468bb6e7357d9edbc761b096969" tag: "15.5.1@sha256:9ca328a30fc1e143fc1a34942836ff44923c05c327c27779e248767f2ce9ffc7"
openprojectBootstrap: openprojectBootstrap:
# providerCategory: "Platform" # providerCategory: "Platform"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"
@@ -753,7 +746,7 @@ images:
# upstreamRepository: "library/postgres" # upstreamRepository: "library/postgres"
registry: "registry-1.docker.io" registry: "registry-1.docker.io"
repository: "library/postgres" repository: "library/postgres"
tag: "16.8-alpine3.20@sha256:951d0626662c85a25e1ba0a89e64f314a2b99abced2c85b4423506249c2d82b0" tag: "16.9-alpine3.20@sha256:e5507c984377515b8c9922b0eb19f55aba2063fdc7bccf268cefd53133f97054"
openxchangeBootstrap: openxchangeBootstrap:
# providerCategory: "Community" # providerCategory: "Community"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"
@@ -889,7 +882,7 @@ images:
# upstreamRepository: "bmi/opendesk/components/platform-development/images/postfix" # upstreamRepository: "bmi/opendesk/components/platform-development/images/postfix"
registry: "registry.opencode.de" registry: "registry.opencode.de"
repository: "bmi/opendesk/components/platform-development/images/postfix" repository: "bmi/opendesk/components/platform-development/images/postfix"
tag: "3.0.1@sha256:d2c6543b35b616ac3e6c8c27222d3154c0d35680813a8942ce0cc3fa9ea72a6d" tag: "3.0.2@sha256:e65c6a70d2095a839c4337ef5dacefd42781641b7ac4dc202ff111881dae3716"
postfixBootstrap: postfixBootstrap:
# providerCategory: "Community" # providerCategory: "Community"
# providerResponsible: "openDesk" # providerResponsible: "openDesk"

View File

@@ -26,7 +26,7 @@ softwareVersion: "1.3.1"
releaseDate: "2025-04-23" releaseDate: "2025-04-23"
softwareType: "standalone/web" softwareType: "standalone/web"
url: "https://gitlab.opencode.de/bmi/opendesk/" url: "https://gitlab.opencode.de/bmi/opendesk/"
logo: "openDesk-logo-rgb-color.svg" logo: ".opencode/openDesk-logo-rgb-color.svg"
maintenance: maintenance:
type: "contract" type: "contract"
@@ -91,8 +91,6 @@ description:
- ".opencode/screenshots/02-dateien-desktop.png" - ".opencode/screenshots/02-dateien-desktop.png"
- ".opencode/screenshots/03-projekte-desktop.png" - ".opencode/screenshots/03-projekte-desktop.png"
- ".opencode/screenshots/04-wiki-desktop.png" - ".opencode/screenshots/04-wiki-desktop.png"
videos:
- ".opencode/screenshots/openDesk_Intro.mp4"
documentation: "https://docs.opendesk.eu/user" documentation: "https://docs.opendesk.eu/user"
usedBy: usedBy:
- "Robert Koch-Institut" - "Robert Koch-Institut"