mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 07:21:36 +01:00
Compare commits
22 Commits
sell/prome
...
jtorres/1.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b633d1e6f | ||
|
|
11820da8ec | ||
|
|
65382b8077 | ||
|
|
7fe6627656 | ||
|
|
3e2ad11054 | ||
|
|
2e3bbc7f99 | ||
|
|
1e22a455a2 | ||
|
|
5fc2395106 | ||
|
|
db1c826abb | ||
|
|
67162e05f8 | ||
|
|
e1d816051d | ||
|
|
c982b483de | ||
|
|
e3b6a28993 | ||
|
|
3f70629ad9 | ||
|
|
420cd1640f | ||
|
|
2be44ac055 | ||
|
|
62c72aa8f6 | ||
|
|
cdfca526ed | ||
|
|
af94d28b6a | ||
|
|
50315d78ee | ||
|
|
9faa326350 | ||
|
|
c1c6b40b76 |
@@ -83,8 +83,12 @@ variables:
|
||||
FLUSH_EXTERNAL_SERVICES_TYPE:
|
||||
description: >
|
||||
Select the type of external services (e.g. "RUN", or "STACKIT"), as they require different
|
||||
cleanup strategies. Requires `FLUSH_EXTERNAL_SERVICES_BEFORE=yes`.
|
||||
value: "RUN"
|
||||
cleanup strategies. Requires `FLUSH_EXTERNAL_SERVICES_BEFORE=yes` and `ENV_STOP_BEFORE=yes`.
|
||||
value: "CHANGE ME"
|
||||
options:
|
||||
- "RUN"
|
||||
- "STACKIT"
|
||||
- "CHANGE ME"
|
||||
DEBUG_ENABLED:
|
||||
description: >
|
||||
Allows to set `debug.enabled` to true for a deployment, needs to be supported by stage specific
|
||||
@@ -292,12 +296,16 @@ db-cleanup:
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
# First: Gather all files that contain the "database:" keyword in the default environment
|
||||
- |
|
||||
export FILES=(
|
||||
"${CI_PROJECT_DIR}/helmfile/environments/default/database.yaml.gotmpl"
|
||||
"${CI_PROJECT_DIR}/helmfile/environments/dev/values.yaml.gotmpl"
|
||||
"${CI_PROJECT_DIR}/helmfile/environments/dev/write-over-values-for-environment.yaml.gotmpl"
|
||||
)
|
||||
export FILES="$(grep -r 'databases:' "${CI_PROJECT_DIR}/helmfile/environments/default" |
|
||||
awk -F ':' '{print $1}')"
|
||||
# Second: Gather all files that contain the "database:" keyword in the dev environment
|
||||
# where the adjustments from opendesk-env are placed
|
||||
- |
|
||||
export FILES="${FILES} $(grep -r 'databases:' "${CI_PROJECT_DIR}/helmfile/environments/dev" |
|
||||
awk -F ':' '{print $1}')"
|
||||
- "echo \"${FILES[@]}\""
|
||||
# Cleanup MariaDB
|
||||
- "export MARIADB_HOST=\"\""
|
||||
- "export MARIADB_PORT=\"\""
|
||||
@@ -305,11 +313,11 @@ db-cleanup:
|
||||
- "export MARIADB_PASSWORD=\"\""
|
||||
- "export ENV_DATABASE=\"oxAppSuite\""
|
||||
|
||||
# Parse cluster values
|
||||
# Parse cluster values
|
||||
- |
|
||||
for FILE in ${FILES[@]}; do
|
||||
if [ -f ${FILE} ]; then
|
||||
if [[ $(tail -n +1 $FILE | grep -v '{{' | yq '.databases.[env(ENV_DATABASE)]') != "null" ]]; then
|
||||
if [ -f "${FILE}" ]; then
|
||||
if [[ $(tail -n +1 "${FILE}" | grep -v '{{' | yq '.databases.[env(ENV_DATABASE)]') != "null" ]]; then
|
||||
MARIADB_DATABASE=$(tail -n +1 $FILE | grep -v '{{' | yq '.databases.[env(ENV_DATABASE)].name')
|
||||
MARIADB_USERNAME=$(tail -n +1 $FILE | grep -v '{{' | yq '.databases.[env(ENV_DATABASE)].username')
|
||||
MARIADB_PASSWORD=$(tail -n +1 $FILE | grep -v '{{' | yq '.databases.[env(ENV_DATABASE)].password')
|
||||
@@ -379,7 +387,7 @@ db-cleanup:
|
||||
echo "[psql] [${ENV_DATABASE}] DROP OWNED BY ${PGUSER} in ${POSTGRES_DATABASE} on ${PGHOST}"
|
||||
psql -c "DROP OWNED BY ${PGUSER}" || true;
|
||||
;;
|
||||
*)
|
||||
"RUN")
|
||||
# Usually, e.g. in "RUN" cluster, databases can simply be dropped and recreated
|
||||
echo "[psql] [${ENV_DATABASE}] DROP ${POSTGRES_DATABASE} on ${PGHOST}"
|
||||
psql -c "DROP DATABASE ${POSTGRES_DATABASE}" || true;
|
||||
|
||||
@@ -1,81 +1,57 @@
|
||||
## 📌 Summary
|
||||
# 🪲 Bugfix
|
||||
|
||||
Brief description of the issue and what this MR resolves.
|
||||
*Expected MR Title and git commit message*
|
||||
*`fix(<app-name>): <Short description of what has been fixed>`*
|
||||
|
||||
> Example:
|
||||
> Fixes a bug where users were unable to save their profile due to a missing field validation.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Changes
|
||||
|
||||
Explain for the reviewer how the change addresses the issue:
|
||||
Explain for the reviewer how the change addresses the issue, providing some insights on the underlaying cause of the bug.
|
||||
|
||||
- Fixed null check on user input
|
||||
- Added unit test for edge case
|
||||
- Updated error handling in the `ProfileService`
|
||||
- ...
|
||||
|
||||
---
|
||||
## 🧪 How to reproduce & test
|
||||
|
||||
## 🧪 Analysis
|
||||
Provida a link to the issue or document the required details below.
|
||||
In case it is a GitLab issue, reference it at the end of the commit message in square brackets, like `[#123]`
|
||||
|
||||
Explain the **underlying cause** of the bug:
|
||||
### Before the Fix
|
||||
|
||||
- What was the unexpected behavior?
|
||||
- Why did it happen?
|
||||
- Where in the code or logic did it occur?
|
||||
1. ...
|
||||
|
||||
---
|
||||
### After the Fix
|
||||
|
||||
## 📚 Related Issue(s)
|
||||
Provide steps for QA or reviewers to test the fix and mention anything reviewers should be aware of:
|
||||
|
||||
- Should be listed as part of the commit message.
|
||||
- Fixes #[issue-number]
|
||||
- Related to #[optional additional issues]
|
||||
1. ...
|
||||
|
||||
## 🧪 How to Reproduce & Test
|
||||
## 🔄 Requirements for migrations
|
||||
|
||||
Link to issue or document the required details below.
|
||||
- [ ] Describe manual steps required to update existing deployments. This especially applies if this MR introduces breaking changes:
|
||||
- [ ] Any other considerations in context of the update:
|
||||
|
||||
### Before the Fix:
|
||||
# Checklist / Sign-offs
|
||||
|
||||
1. Go to `/profile/edit`
|
||||
2. Leave the "email" field empty
|
||||
3. Click "Save"
|
||||
4. Observe 500 server error
|
||||
## 🏷️ Labels
|
||||
|
||||
### After the Fix:
|
||||
Set labels:
|
||||
|
||||
1. Same steps as above
|
||||
2. Now see appropriate validation message
|
||||
3. No server error occurs
|
||||
```
|
||||
/label ~"MR-Type::Bugfix"
|
||||
/label ~"PO::👀"
|
||||
/label ~"Tech Lead::👀"
|
||||
/label ~"QA::👀"
|
||||
/label ~"Testautomation::👀"
|
||||
```
|
||||
|
||||
---
|
||||
# 👷 Developer Checklist
|
||||
|
||||
## Checklist / Sign-offs
|
||||
- Does the MR include new bits and pieces (e.g. new secrets) that require documentation?
|
||||
- [ ] No.
|
||||
- [ ] Yes, and the documentation was updated accordingly.
|
||||
|
||||
### 💿 CI/CD
|
||||
|
||||
- [ ] CI pipeline passes for all jobs
|
||||
- [ ] Linting and formatting checks pass
|
||||
- [ ] Review app (if used) reflects fix correctly
|
||||
|
||||
### 🖥 QA & Product
|
||||
|
||||
Set related labels on the MR for
|
||||
|
||||
- [ ] `PO::👀`
|
||||
- [ ] `Tech Lead::👀`
|
||||
- [ ] `Testautomation::👀`
|
||||
- [ ] `QA::👀`
|
||||
|
||||
---
|
||||
|
||||
## 👷 Developer Checklist
|
||||
|
||||
- [ ] Code builds and passes linting
|
||||
- [ ] Tests added or updated
|
||||
- [ ] Verified fix locally
|
||||
- [ ] Regression testing done for related functionality
|
||||
- [ ] No new warnings or errors in logs
|
||||
Document in an extra comment and link to that comment:
|
||||
- [ ] How you verified the fix is working as expected, also in upgrade sceanrios.
|
||||
- [ ] Any regression testing done.
|
||||
|
||||
--> Link to comment:
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
Please select one of the templates, in case your contribution contains more than a **simple** typo fix.
|
||||
Thank you for your contribution!
|
||||
|
||||
Please follow these simple guidelines to continue:
|
||||
|
||||
- Create MRs early and use the "draft" state to show that this MR isn't ready for review and merge.
|
||||
- Flag the MR "ready" as soon as it can be reviewed and QA'd.
|
||||
- Always assign the MR to yourself and set somebody from the development team as reviewer. If you do not know whom to chose leave the reviewer empty.
|
||||
- Select one of the templates in case your contribution contains more than simple documentation updates and follow the templates instructions.
|
||||
|
||||
@@ -1,74 +1,47 @@
|
||||
## 📌 Summary
|
||||
# ⬆️ Feature
|
||||
|
||||
Briefly describe what this feature MR does and why it’s needed.
|
||||
|
||||
> Example:
|
||||
> Adds user profile editing capabilities to the dashboard. This enables users to update their personal information without admin intervention.*
|
||||
|
||||
---
|
||||
*Expected MR Title and git commit message*
|
||||
*`feat(<app-name>): <Short description of the new feature>`*
|
||||
|
||||
## ✅ Changes
|
||||
|
||||
List the key changes made in this MR:
|
||||
|
||||
- Added new route /profile/edit
|
||||
- Created `ProfileEditForm` component
|
||||
- Integrated with backend API for user updates
|
||||
- Added unit tests and basic form validation
|
||||
|
||||
---
|
||||
- ...
|
||||
|
||||
## 🧪 Tests
|
||||
|
||||
Provide steps for QA or reviewers to test the feature.
|
||||
Provide steps for QA or reviewers to test the feature and mention anything reviewers should be aware of:
|
||||
|
||||
1. Login as any user
|
||||
2. Navigate to `/profile/edit`
|
||||
3. Update profile info and save
|
||||
4. Verify changes are persisted and reflected in the UI
|
||||
- ...
|
||||
|
||||
---
|
||||
## 🔄 Requirements for migrations
|
||||
|
||||
## 📚 Related Issue(s)
|
||||
- [ ] Describe manual steps required to update existing deployments. This especially applies if this MR introduces breaking changes:
|
||||
- [ ] Any other considerations in context of the update:
|
||||
|
||||
- Closes #[issue number]
|
||||
- Depends on #[merge request or issue, if any]
|
||||
# Checklist / Sign-offs
|
||||
|
||||
---
|
||||
## 🏷️ Labels
|
||||
|
||||
## 🕵️ Notes for Reviewer
|
||||
Set labels:
|
||||
|
||||
Mention anything reviewers should be aware of:
|
||||
```
|
||||
/label ~"MR-Type::Feature"
|
||||
/label ~"PO::👀"
|
||||
/label ~"Tech Lead::👀"
|
||||
/label ~"QA::👀"
|
||||
/label ~"Testautomation::👀"
|
||||
```
|
||||
|
||||
- Known issues or limitations
|
||||
- Code sections that may need special attention
|
||||
- Design considerations or edge cases handled
|
||||
# 👷 Developer Checklist
|
||||
|
||||
---
|
||||
- Does the MR include new bits and pieces (e.g. new secrets) that require documentation?
|
||||
- [ ] No.
|
||||
- [ ] Yes, and the documentation was updated accordingly.
|
||||
|
||||
## Checklist / Sign-offs
|
||||
Document in an extra comment and link to that comment:
|
||||
- [ ] How you verified the feature is working as expected, also in upgrade sceanrios.
|
||||
- [ ] Any regression testing done.
|
||||
|
||||
### 💿 CI/CD
|
||||
|
||||
- [ ] CI pipeline passes for all jobs
|
||||
- [ ] Linting and formatting checks pass
|
||||
- [ ] Review app (if used) reflects fix correctly
|
||||
|
||||
### 🖥 QA & Product
|
||||
|
||||
Set related labels on the MR for
|
||||
|
||||
- [ ] `PO::👀`
|
||||
- [ ] `Tech Lead::👀`
|
||||
- [ ] `Testautomation::👀`
|
||||
- [ ] `QA::👀`
|
||||
|
||||
---
|
||||
|
||||
## 👷 Developer Checklist
|
||||
|
||||
- [ ] Code builds and passes linting
|
||||
- [ ] Tests added or updated
|
||||
- [ ] Verified fix locally
|
||||
- [ ] Regression testing done for related functionality
|
||||
- [ ] No new warnings or errors in logs
|
||||
--> Link to comment:
|
||||
|
||||
@@ -1,33 +1,41 @@
|
||||
## 📌 Summary
|
||||
# 🎉 Other
|
||||
|
||||
Provide a concise summary of **what** this MR does and **why**.
|
||||
|
||||
> Example:
|
||||
> This MR updates the CI configuration to cache NPM dependencies and reduce pipeline execution time.
|
||||
|
||||
---
|
||||
*Expected MR Title and git commit message*
|
||||
*`fix(<component>): <Short description of what has been changed>`*
|
||||
|
||||
## ✅ Changes
|
||||
|
||||
List the key updates made:
|
||||
Explain for the reviewer and QA the reason for the MR and what changes are included.
|
||||
|
||||
- ...
|
||||
- ...
|
||||
|
||||
---
|
||||
## 🔄 Requirements for migrations
|
||||
|
||||
## 🧪 Tests (if applicable)
|
||||
- [ ] Describe manual steps required to update existing deployments. This especially applies if this MR introduces breaking changes:
|
||||
- [ ] Any other considerations in context of the update:
|
||||
|
||||
Explain how reviewers or CI can verify the change works as intended.
|
||||
# Checklist / Sign-offs
|
||||
|
||||
> Example:
|
||||
>- For CI: Check job `build:frontend` completes in <3 mins.
|
||||
>- For docs: View rendered markdown locally or in GitLab.
|
||||
## 🏷️ Labels
|
||||
|
||||
---
|
||||
Set labels:
|
||||
|
||||
## 🧾 Checks
|
||||
```
|
||||
/label ~"MR-Type::Other"
|
||||
/label ~"PO::👀"
|
||||
/label ~"Tech Lead::👀"
|
||||
/label ~"QA::👀"
|
||||
/label ~"Testautomation::👀"
|
||||
```
|
||||
|
||||
- [ ] CI passes
|
||||
- [ ] No functional changes
|
||||
- [ ] Verified (if needed)
|
||||
# 👷 Developer Checklist
|
||||
|
||||
- Does the MR include new bits and pieces (e.g. new secrets) that require documentation?
|
||||
- [ ] No.
|
||||
- [ ] Yes, and the documentation was updated accordingly.
|
||||
|
||||
Document in an extra comment and link to that comment:
|
||||
- [ ] How you verified the change is working as expected, also in upgrade sceanrios.
|
||||
- [ ] Any regression testing done.
|
||||
|
||||
--> Link to comment:
|
||||
|
||||
@@ -1,49 +1,41 @@
|
||||
## ⬆️ Application Update
|
||||
# ⬆️ Application Update
|
||||
|
||||
Expected MR Title and git commit message:
|
||||
*Expected MR Title and git commit message*
|
||||
*`feat/fix(<app-name>): Update from <old-version> to <new-version>`*
|
||||
|
||||
`feat/fix(<app-name>): Update from <old-version> to <new-version>`
|
||||
## 📋 Changelog/Release Notes
|
||||
|
||||
### 📋 Changelog/Release Notes
|
||||
- [ ] [README.md](../../README.md) component table updated including the link to the related release notes
|
||||
- [ ] Provide significant improvements you'd like to see in the openDesk release notes. If you have a lot of details to provide or someone else is providing the details, please use a comment on the MR and link the comment in here.
|
||||
|
||||
- [ ] Upstream release notes: `[link]`
|
||||
- [ ] No breaking changes (or listed below)
|
||||
- [ ] Relevant changes communicated (if needed)
|
||||
## 🔄 Requirements for migrations
|
||||
|
||||
---
|
||||
- [ ] Minimum version of the application required in existing depoyments to update/upgrade:
|
||||
- [ ] Describe manual steps required to update existing deployments. This especially applies if the upgrade includes any breaking changes:
|
||||
- [ ] Any other considerations in context of the update:
|
||||
|
||||
### 🔄 Migrations to Run (if any)
|
||||
# Checklist / Sign-offs
|
||||
|
||||
Describe any migrations that need to be performed when upgrading to this application version.
|
||||
## 🏷️ Labels
|
||||
|
||||
- [ ] Database migrations
|
||||
- [ ] Configuration changes
|
||||
- [ ] Cache clears / rebuilds
|
||||
- [ ] Other: _describe_
|
||||
Set labels:
|
||||
|
||||
## Checklist / Sign-offs
|
||||
|
||||
### 💿 CI/CD
|
||||
|
||||
- [ ] CI pipeline passes for all jobs
|
||||
- [ ] Linting and formatting checks pass
|
||||
- [ ] Review app (if used) reflects fix correctly
|
||||
|
||||
### 🖥 QA & Product
|
||||
|
||||
Set related labels on the MR for
|
||||
|
||||
- [ ] `PO::👀`
|
||||
- [ ] `Tech Lead::👀`
|
||||
- [ ] `Testautomation::👀`
|
||||
- [ ] `QA::👀`
|
||||
|
||||
---
|
||||
```
|
||||
/label ~"MR-Type::AppUpdate"
|
||||
/label ~"PO::👀"
|
||||
/label ~"Tech Lead::👀"
|
||||
/label ~"QA::👀"
|
||||
/label ~"Testautomation::👀"
|
||||
```
|
||||
|
||||
## 👷 Developer Checklist
|
||||
|
||||
- [ ] Code builds and passes linting
|
||||
- [ ] Tests added or updated
|
||||
- [ ] Verified fix locally
|
||||
- [ ] Regression testing done for related functionality
|
||||
- [ ] No new warnings or errors in logs
|
||||
- Does the MR include new bits and pieces (e.g. new secrets) that require documentation?
|
||||
- [ ] No.
|
||||
- [ ] Yes, and the documentation was updated accordingly.
|
||||
|
||||
Document in an extra comment and link to that comment:
|
||||
- [ ] How you verified the update is working as expected, also in upgrade sceanrios.
|
||||
- [ ] Any regression testing done.
|
||||
|
||||
--> Link to comment:
|
||||
|
||||
181
README-EE.md
181
README-EE.md
@@ -6,11 +6,9 @@ SPDX-License-Identifier: Apache-2.0
|
||||
<h1>openDesk Enterprise Edition</h1>
|
||||
|
||||
<!-- TOC -->
|
||||
* [Enabling the Enterprise deployment](#enabling-the-enterprise-deployment)
|
||||
* [Configuring the oD EE deployment for self-hosted installations](#configuring-the-od-ee-deployment-for-self-hosted-installations)
|
||||
* [Registry access](#registry-access)
|
||||
* [License keys](#license-keys)
|
||||
* [Component overview](#component-overview)
|
||||
* [Overview](#overview)
|
||||
* [Enterprise Features](#enterprise-features)
|
||||
* [CE vs. EE](#ce-vs-ee)
|
||||
* [CE Components](#ce-components)
|
||||
* [EE Components](#ee-components)
|
||||
* [Collabora](#collabora)
|
||||
@@ -19,14 +17,117 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Open-Xchange](#open-xchange)
|
||||
* [OX App Suite](#ox-app-suite)
|
||||
* [OX Dovecot](#ox-dovecot)
|
||||
* [Enabling the Enterprise deployment](#enabling-the-enterprise-deployment)
|
||||
* [Configuring the oD EE deployment for self-hosted installations](#configuring-the-od-ee-deployment-for-self-hosted-installations)
|
||||
* [Registry access](#registry-access)
|
||||
* [License keys](#license-keys)
|
||||
<!-- TOC -->
|
||||
|
||||
openDesk Enterprise Edition is recommended for production use. It receives support and patches from ZenDiS and the suppliers of the components due to the included product subscriptions.
|
||||
# Overview
|
||||
|
||||
openDesk Enterprise Edition is recommended for production use. It receives support and patches from ZenDiS and the suppliers of the components due to the product subscriptions included.
|
||||
|
||||
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 your on-premises installation.
|
||||
|
||||
# Enterprise Features
|
||||
|
||||
oD EE ships the following features for Enterprise use that are not available in oD CE.
|
||||
|
||||
| Component | Enterprise-only Features |
|
||||
| -------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| **Collabora** | Branding |
|
||||
| | [Automatic load scaling](https://www.collaboraonline.com/collabora-online-controller/) |
|
||||
| **Element** | [AdminBot](https://ems-docs.element.io/books/element-cloud-documentation/page/admin-bot) |
|
||||
| | [GroupSync](https://ems-docs.element.io/books/element-server-suite-classic-documentation-lts-2504/page/setting-up-group-sync-with-the-installer#bkmrk-what-is-group-sync?) |
|
||||
| | [Admin Console](https://ems-docs.element.io/books/element-server-suite-classic-documentation-lts-2504/page/using-the-admin-console) |
|
||||
| **Nextcloud** | Enterprise security patches |
|
||||
| | [Guard app](https://nextcloud.com/features/#guard) |
|
||||
| **Open‑Xchange** | S3 storage |
|
||||
| | Central orchestration of cluster topology, health checks, and configuration |
|
||||
| | Advanced Full-Text Search (FTS) functionality for mailboxes |
|
||||
| **OpenProject**. | [Enterprise addons](https://www.openproject.org/docs/enterprise-guide/) (*Corporate Plan*) |
|
||||
| **XWiki** | [XWiki Pro apps](https://xwiki.com/en/offerings/products/xwiki-pro) |
|
||||
|
||||
# CE vs. EE
|
||||
|
||||
The following table summarizes the differences between oD CE and oD EE.
|
||||
|
||||
| Aspect | Community Edition (CE) | Enterprise Edition (EE) |
|
||||
| -------------------------------- | --------------------------------------- | -------------------------------------------------------------------------- |
|
||||
| **Licensing of core components** | OSS (Apache‑2.0 / GPL, etc.) | Same OSS licenses |
|
||||
| **Closed‑source modules** | None | Collabora (branding), Element (admin tools), Nextcloud (guard app), OX Pro, Dovecot Pro |
|
||||
| **Technical enablement** | Fully public images/charts via openCode | EE‑only registry, license file (`enterprise.yaml`) |
|
||||
| **Support & updates** | Community via openCode, no SLA | SLA‑backed support, patches, 2nd/3rd level |
|
||||
| **Access to source code** | All CE code on openCode | Proprietary modules NOT on openCode |
|
||||
|
||||
|
||||
## CE Components
|
||||
|
||||
The following components are using the same codebase and artifacts for their Community and Enterprise offering:
|
||||
|
||||
- Cryptpad
|
||||
- Jitsi
|
||||
- Notes
|
||||
- Nubus
|
||||
- OpenProject
|
||||
- XWiki
|
||||
|
||||
## EE Components
|
||||
|
||||
This section provides information about the components that have - at least partially - Enterprise-specific artifacts.
|
||||
|
||||
If you want to check in detail which artifacts are specific to openDesk Enterprise and thereby may contain proprietary code, please check the `repository:`
|
||||
values in the image ([1](./helmfile/environments/default/images.yaml.gotmpl) / [2](./helmfile/environments/default-enterprise-overrides/images.yaml.gotmpl))
|
||||
and chart ([1](./helmfile/environments/default/charts.yaml.gotmpl) / [2](./helmfile/environments/default-enterprise-overrides/charts.yaml.gotmpl)) definitions.
|
||||
When a repository path starts with `/zendis`, the artifact is only available in an openDesk Enterprise deployment.
|
||||
|
||||
### Collabora
|
||||
|
||||
- Collabora Online (COOL) container image: Is build from the same public source code as Collabora Development Edition (CODE), only the build configurations might differ. COOL includes a brand package that is not public and its license is not open source.
|
||||
- COOL Controller container image and Helm chart: Source code and chart are using Mozilla Public License Version 2.0, but the source code is not public. It is provided to customers upon request.
|
||||
|
||||
openDesk updates Collabora once a COOL image based on the version pattern `<major>.<minor>.<patch>.3+.<build>` was made available. This happens usually at the same time the CODE image with `<major>.<minor>.<patch>.2+.<build>` is made available.
|
||||
|
||||
### Element
|
||||
|
||||
- AdminBot and GroupSync container image: 100% closed source
|
||||
- Admin Console container image: 100% closed source, though ~65% of the total runtime code is from the [matrix-bot-sdk](https://github.com/turt2live/matrix-bot-sdk/)
|
||||
|
||||
### Nextcloud
|
||||
|
||||
- Nextcloud Enterprise: openDesk uses the Nextcloud Enterprise to the build Nextcloud container image for oD EE. The Nextcloud EE codebase might contain EE exclusive (longterm support) security patches, plus the Guard app, that is not publicly available, while it is AGPL-3.0 licensed.
|
||||
|
||||
openDesk updates the Nextcloud images for openDesk CE and EE in parallel, therefore we will not upgrade to a new major Nextcloud release before the related Nextcloud Enterprise release is available. When patches are released exclusively for Nextcloud Enterprise, they are made available also exclusively in oD EE.
|
||||
|
||||
### Open-Xchange
|
||||
|
||||
#### OX App Suite
|
||||
|
||||
- OX App Suite Core Middleware container image: The amount of code, that is not open source and has a proprietary license, is <10%.
|
||||
- OX App Suite Pro Helm chart: It is not publicly available, though it is "just" an umbrella chart re-using the publicly available charts referencing the EE images, so it has <10% prorietary content.
|
||||
|
||||
openDesk updates OX App Suite in oD CE and EE always to the same release version. Only the App Suíte Pro Helm chart has the same versioning as the actual App Suite release, the chart used in oD CE has a different versioning scheme.
|
||||
|
||||
#### OX Dovecot
|
||||
|
||||
- Dovecot Pro container image: Dovecot Pro is based on the open source components Dovecot and Pigeonhole but extended by modules providing additional functionality like obox2, cluster, cluster controller and dovecot fts. The additional modules make up about 15% of the overall Dovecot Pro code and are subject to a closed source license.
|
||||
|
||||
openDesk aims to keep Dovecot's shared codebases in sync between oD CE and EE, though the versioning between the releases differs (CE: 2.x, EE: 3.y).
|
||||
|
||||
Dovecot Pro requires two additional environment variables:
|
||||
|
||||
- `DOVECOT_CRYPT_PRIVATE_KEY`
|
||||
- `DOVECOT_CRYPT_PUBLIC_KEY`
|
||||
|
||||
These variables must contain the base64 encoded strings of the private and public
|
||||
key. These keys can be generated with the following commands:
|
||||
|
||||
- Private Key: `openssl genpkey -algorithm X25519 -out private.pem && cat private.pem | base64 -w0`
|
||||
- Public Key: `openssl pkey -in private.pem -out public.pem -pubout && cat public.pem | base64 -w0`
|
||||
|
||||
|
||||
# Enabling the Enterprise deployment
|
||||
|
||||
To enable the oD EE deployment you must set the environment variable `OPENDESK_ENTERPRISE` to any value that does not evaluate to boolean *false* for [Helm flow control](https://helm.sh/docs/chart_template_guide/control_structures/#ifelse), e.g. `"true"`, `"yes"` or `"1"`:
|
||||
@@ -45,7 +146,7 @@ OPENDESK_ENTERPRISE=true
|
||||
|
||||
With openDesk EE you get access to the related artifact registry owned by ZenDiS.
|
||||
|
||||
Three steps are required to access the registry - for step #1 and #2 you can set some variables. Below, you can define `<your_name_for_the_secret>` freely, like `enterprise-secret`, as long as it consistent in step #1 and #3.
|
||||
Three steps are required to access the registry - for step 1 and 2 you can set some variables. Below, you can define `<your_name_for_the_secret>` freely, like `enterprise-secret`, as long as it consistent in step 1 and 3.
|
||||
|
||||
```shell
|
||||
NAMESPACE=<your_namespace>
|
||||
@@ -95,69 +196,3 @@ Details regarding the scope/limitation of the component's licenses:
|
||||
- Nextcloud: Enterprise license to enable [Nextcloud Enterprise](https://nextcloud.com/de/enterprise/) specific features, can be used across multiple installations until the licensed number of users is reached.
|
||||
- OpenProject: Domain specific enterprise license to enable [OpenProject's Enterprise feature set](https://www.openproject.org/enterprise-edition/), domain matching can use regular expressions.
|
||||
- XWiki: Deployment specific enterprise license (key pair) to activate the [XWiki Pro](https://xwiki.com/en/offerings/products/xwiki-pro) apps. *Caution! XWiki needs these license keys as one-line strings. Multi-line strings result in installation failure*
|
||||
|
||||
# Component overview
|
||||
|
||||
## CE Components
|
||||
|
||||
The following components are using the same codebase and artifacts for their Enterprise and Community offering:
|
||||
|
||||
- Cryptpad
|
||||
- Jitsi
|
||||
- Notes
|
||||
- Nubus
|
||||
- OpenProject
|
||||
- XWiki
|
||||
|
||||
## EE Components
|
||||
|
||||
This section provides information about the components that have - at least partially - Enterprise specific artifacts.
|
||||
|
||||
If you want to check in detail which artifacts are specific to openDesk Enterprise and thereby may contain proprietary code, please check the `repository:`
|
||||
values in the image ([1](./helmfile/environments/default/images.yaml.gotmpl) / [2](./helmfile/environments/default-enterprise-overrides/images.yaml.gotmpl))
|
||||
and chart ([1](./helmfile/environments/default/charts.yaml.gotmpl) / [2](./helmfile/environments/default-enterprise-overrides/charts.yaml.gotmpl)) definitions.
|
||||
When a repository path starts with `/zendis`, the artifact is only available in an openDesk Enterprise deployment.
|
||||
|
||||
### Collabora
|
||||
|
||||
- Collabora Online (COOL) container image: Is build from the same public source code as Collabora Development Edition (CODE), only the build configurations might differ. COOL includes a brand package that is not public and its license is not open source.
|
||||
- COOL Controller container image and Helm chart: Source code and chart are using Mozilla Public License Version 2.0, but the source code is not public. It is provided to customers upon request.
|
||||
|
||||
openDesk updates Collabora once a COOL image based on the version pattern `<major>.<minor>.<patch>.3+.<build>` was made available. This happens usually at the same time the CODE image with `<major>.<minor>.<patch>.2+.<build>` is made available.
|
||||
|
||||
### Element
|
||||
|
||||
- AdminBot and GroupSync container image: 100% closed source
|
||||
- Admin Console container image: 100% closed source, though ~65% of the total runtime code is from the [matrix-bot-sdk](https://github.com/turt2live/matrix-bot-sdk/)
|
||||
|
||||
### Nextcloud
|
||||
|
||||
- Nextcloud Enterprise: openDesk uses the Nextcloud Enterprise to the build Nextcloud container image for oD EE. The Nextcloud EE codebase might contain EE exclusive (longterm support) security patches, plus the Guard app, that is not publicly available, while it is AGPL-3.0 licensed.
|
||||
|
||||
openDesk updates the Nextcloud images for openDesk CE and EE in parallel, therefore we will not upgrade to a new major Nextcloud release before the related Nextcloud Enterprise release is available. When patches are released exclusively for Nextcloud Enterprise, they are made available also exclusively in oD EE.
|
||||
|
||||
### Open-Xchange
|
||||
|
||||
#### OX App Suite
|
||||
|
||||
- OX App Suite Core Middleware container image: The amount of code, that is not open source and has a proprietary license, is <10%.
|
||||
- OX App Suite Pro Helm chart: It is not publicly available, though it is "just" an umbrella chart re-using the publicly available charts referencing the EE images, so it has <10% prorietary content.
|
||||
|
||||
openDesk updates OX App Suite in od CE and EE always to the same release version. Only the App Suíte Pro Helm chart has the same versioning as the actual App Suite release, the chart used in oD CE has a different versioning scheme.
|
||||
|
||||
#### OX Dovecot
|
||||
|
||||
- Dovecot Pro container image: Dovecot Pro is based on the open source components Dovecot and Pigeonhole but extended by modules providing additional functionality like obox2, cluster, cluster controller and dovecot fts. The additional modules make up about 15% of the overall Dovecot Pro code and are subject to a closed source license.
|
||||
|
||||
openDesk aims to keep Dovecot's shared codebases in sync between oD CE and EE, though the versioning between the releases differs (CE: 2.x, EE: 3.y).
|
||||
|
||||
Dovecot Pro requires two additional environment variables:
|
||||
|
||||
- `DOVECOT_CRYPT_PRIVATE_KEY`
|
||||
- `DOVECOT_CRYPT_PUBLIC_KEY`
|
||||
|
||||
These variables must contain the base64 encoded strings of the private and public
|
||||
key. These keys can be generated with the following commands:
|
||||
|
||||
- Private Key: `openssl genpkey -algorithm X25519 -out private.pem && cat private.pem | base64 -w0`
|
||||
- Public Key: `openssl pkey -in private.pem -out public.pem -pubout && cat public.pem | base64 -w0`
|
||||
|
||||
26
README.md
26
README.md
@@ -32,18 +32,18 @@ For production use, the [openDesk Enterprise Edition](./README-EE.md) is recomme
|
||||
|
||||
openDesk currently features the following functional main components:
|
||||
|
||||
| Function | Functional Component | Component<br/>Version | Upstream Documentation |
|
||||
|----------------------|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Chat & collaboration | Element ft. Nordeck widgets | [1.11.89](https://github.com/element-hq/element-desktop/releases/tag/v1.11.89) | [For the most recent release](https://element.io/user-guide) |
|
||||
| Collaborative notes | Notes (aka Docs) | [3.2.1](https://github.com/suitenumerique/docs/releases/tag/v3.2.1) | Online documentation/welcome document available in installed application |
|
||||
| Diagram editor | CryptPad ft. diagrams.net | [2024.9.0](https://github.com/cryptpad/cryptpad/releases/tag/2024.9.0) | [For the most recent release](https://docs.cryptpad.org/en/) |
|
||||
| File management | Nextcloud | [31.0.6](https://nextcloud.com/de/changelog/#31-0-6) | [Nextcloud 31](https://docs.nextcloud.com/) |
|
||||
| Groupware | OX App Suite | [8.38](https://documentation.open-xchange.com/appsuite/releases/8.38/) | 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) |
|
||||
| Portal & IAM | Nubus | [1.11.2](https://docs.software-univention.de/nubus-kubernetes-release-notes/1.x/en/changelog.html#version-1-11-2-2025-07-10) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) |
|
||||
| Project management | OpenProject | [16.1.1](https://www.openproject.org/docs/release-notes/16-1-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/) |
|
||||
| Weboffice | Collabora | [25.04.2](https://www.collaboraoffice.com/code-25-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
||||
| Function | Functional Component | License | Component<br/>Version | Upstream Documentation |
|
||||
|----------------------|-----------------------------|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Chat & collaboration | Element ft. Nordeck widgets | AGPL-3.0-or-later (Element Web), AGPL-3.0-only (Synapse), Apache-2.0 (Nordeck widgets) | [1.11.89](https://github.com/element-hq/element-web/releases/tag/v1.11.89) | [For the most recent release](https://element.io/user-guide) |
|
||||
| Collaborative notes | Notes (aka Docs) | MIT | [3.2.1](https://github.com/suitenumerique/docs/releases/tag/v3.2.1) | Online documentation/welcome document available in installed application |
|
||||
| Diagram editor | CryptPad ft. diagrams.net | AGPL-3.0-only | [2024.9.0](https://github.com/cryptpad/cryptpad/releases/tag/2024.9.0) | [For the most recent release](https://docs.cryptpad.org/en/) |
|
||||
| File management | Nextcloud | AGPL-3.0-or-later | [31.0.6](https://nextcloud.com/de/changelog/#31-0-6) | [Nextcloud 31](https://docs.nextcloud.com/) |
|
||||
| Groupware | OX App Suite | GPL-2.0-only (backend), AGPL-3.0-or-later (frontend) | [8.38](https://documentation.open-xchange.com/appsuite/releases/8.38/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.com/) |
|
||||
| Knowledge management | XWiki | LGPL-2.1-or-later | [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 | AGPL-3.0-or-later | [1.11.2](https://docs.software-univention.de/nubus-kubernetes-release-notes/1.x/en/changelog.html#version-1-11-2-2025-07-10) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) |
|
||||
| Project management | OpenProject | GPL-3.0-only | [16.2.0](https://www.openproject.org/docs/release-notes/16-2-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||
| Videoconferencing | Jitsi | Apache-2.0 | [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 | MPL-2.0 | [25.04.2](https://www.collaboraoffice.com/code-25-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
||||
|
||||
While not all components are perfectly designed for the execution inside containers, one of the project's objectives is to
|
||||
align the applications with best practices regarding container design and operations.
|
||||
@@ -93,6 +93,8 @@ Find out more about the permission system in the [roles & permissions concept](.
|
||||
|
||||
# Releases
|
||||
|
||||
openDesk implements a defined [release and patch management process](./docs/releases.md) to ensure stability and security.
|
||||
|
||||
All technical releases are created using [Semantic Versioning](https://semver.org/).
|
||||
|
||||
Gitlab provides an
|
||||
|
||||
@@ -66,52 +66,58 @@ XWiki,PersistentVolume,1
|
||||
|
||||
# Details
|
||||
|
||||
| Application | Data Storage | Backup | Content | Identifier | Details |
|
||||
|----------------------|--------------|----------|--------------------------------------------------------------------------------------------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
|
||||
| **ClamAV** | PVC | No | ClamAV Database | `clamav-database-clamav-simple-0` | `/var/lib/clamav` |
|
||||
| **Dovecot** | PVC | Yes | User mail directories (openDesk CE only, openDesk EE uses Dovecot Pro with Object Storage) | `dovecot` | `/srv/mail` |
|
||||
| **Element/Synapse** | PostgreSQL | Yes | Application's main database | `matrix` | |
|
||||
| | PVC | Yes | Attachments | `media-opendesk-synapse-0` | `/media` |
|
||||
| | | Yes | Sync and state data | `matrix-neodatefix-bot` | `/app/storage` |
|
||||
| **Intercom-Service** | Redis | No | Shared session data | | |
|
||||
| **Jitsi** | PVC | Optional | Meeting recordings (feature not enabled in openDesk) | `prosody-data-jitsi-prosody-0` | `/config/data` |
|
||||
| **Nextcloud** | PostgreSQL | Yes | Application's main database Meta-Data | `nextcloud` | |
|
||||
| | S3 | Yes | The Nextcloud managed user files | `nextcloud` | |
|
||||
| | Redis | No | Distributed caching, as well as transactional file locking | | |
|
||||
| **Nubus** | PostgreSQL | Yes | Main database for Nubus' IdP Keycloak | `keycloak` | |
|
||||
| | | Yes | Login actions and device-fingerprints | `keycloak_extensions` | |
|
||||
| | | Optional | Store of the temporary password reset token | `selfservice` | |
|
||||
| | | No | Notification features are not used in openDesk 1.1 | `notificationsapi` | |
|
||||
| | | No | Guardian features are currently not used in openDesk 1.1 | `guardianmanagementapi` | |
|
||||
| | S3 | No | Static files for Portal | `ums` | |
|
||||
| | PVC | Yes | openLDAP database (primary R/W Pods), when restore select the one from the leader | `shared-data-ums-ldap-server-primary-0` | `/var/lib/univention-ldap` |
|
||||
| | | Yes | openLDAP process data | `shared-run-ums-ldap-server-primary-0` | `/var/run/slapd` |
|
||||
| | | No | openLDAP database (secondary R/O Pods), secondaries can sync from the primary | `shared-data-ums-ldap-server-secondary-0` | `/var/lib/univention-ldap` |
|
||||
| | | No | openLDAP process data | `shared-run-ums-ldap-server-secondary-0` | `/var/run/slapd` |
|
||||
| | | Yes | The state of the listener | `data-ums-provisioning-udm-listener-0` | `/var/log/univention`<br>`/var/lib/univention-ldap/schema/id`<br>`/var/lib/univention-directory-listener` |
|
||||
| | | No | Cache | `group-membership-cache-ums-portal-consumer-0` | `/usr/share/univention-group-membership-cache/caches` |
|
||||
| | | Yes | Queued provisioning objects | `nats-data-ums-provisioning-nats-0` | `/data` |
|
||||
| | Memcached | No | Cache for UMC Server | | |
|
||||
| **OpenProject** | PostgreSQL | Yes | Application's main database | `openproject` | |
|
||||
| | S3 | Yes | Attachments, custom styles | `openproject` | |
|
||||
| | Memcached | No | Cache | | |
|
||||
| | PVC | No | PVC backed `emptyDir` as K8s cannot set the sticky bit on standard emptyDirs | `openproject-<web/worker>-*-tmp` | `/tmp` |
|
||||
| | | No | PVC backed `emptyDir` as K8s cannot set the sticky bit on standard emptyDirs | `openproject-<web/worker>-app-*-tmp` | `/app/tmp` |
|
||||
| **Open-Xchange** | MariaDB | Yes | Application's control database to coordiate dynamically created ones | `configdb` | |
|
||||
| | | Yes | Dynamically creates databases of schema `PRIMARYDB_n`containing multiple contexts | `PRIMARYDB_*` | |
|
||||
| | | Yes | OX Guard related settings | `oxguard*` | |
|
||||
| | Redis | Optional | Cache, session related data, distributed maps | | |
|
||||
| | PVC | Yes | OX-Connector: OXAPI access details | `ox-connector-appcenter-ox-connector-0` | `/var/lib/univention-appcenter/apps/ox-connector` |
|
||||
| | | Yes | OX-Connector: Application's meta data | `ox-connector-ox-contexts-ox-connector-0` | `/etc/ox-secrets` |
|
||||
| **Postfix** | PVC | Yes | Mail spool | `postfix` | `/var/spool/postfix` |
|
||||
| **XWiki** | PostgreSQL | Yes | Application's main database | `xwiki` | |
|
||||
| | PVC | Yes | Attachments | `xwiki-data-xwiki-0` | `/usr/local/xwiki/data` |
|
||||
| Application | Data Storage | Backup | Content | (Default) Identifier | Details |
|
||||
|----------------------|--------------|----------|-----------------------------------------------------------------------------------|------------------------------------------------|-----------------------------------------------------------------------------------------------------------|
|
||||
| **ClamAV** | PVC | No | ClamAV Database | `clamav-database-clamav-simple-0` | `/var/lib/clamav` |
|
||||
| **Dovecot** | PVC | Yes | openDesk CE only: User mail directories | `dovecot` | `/srv/mail` |
|
||||
| | S3 | Yes | openDesk EE only: User mail | `dovecot` | `dovecot` |
|
||||
| | Cassandra | Yes | openDesk EE only: Metadata and ACLs | `dovecot_dictmap`, `dovecot_acl` |
|
||||
| **Element/Synapse** | PostgreSQL | Yes | Application's main database | `matrix` | |
|
||||
| | PVC | Yes | Attachments | `media-opendesk-synapse-0` | `/media` |
|
||||
| | | Yes | Sync and state data | `matrix-neodatefix-bot` | `/app/storage` |
|
||||
| **Intercom-Service** | Redis | No | Shared session data | | |
|
||||
| **Jitsi** | PVC | Optional | Meeting recordings (feature not enabled in openDesk) | `prosody-data-jitsi-prosody-0` | `/config/data` |
|
||||
| **Nextcloud** | PostgreSQL | Yes | Application's main database Meta-Data | `nextcloud` | |
|
||||
| | S3 | Yes | The Nextcloud managed user files | `nextcloud` | |
|
||||
| | Redis | No | Distributed caching, as well as transactional file locking | | |
|
||||
| **Nubus** | PostgreSQL | Yes | Main database for Nubus' IdP Keycloak | `keycloak` | |
|
||||
| | | Yes | Login actions and device-fingerprints | `keycloak_extensions` | |
|
||||
| | | Optional | Store of the temporary password reset token | `selfservice` | |
|
||||
| | | No | Notification features are not used in openDesk 1.1 | `notificationsapi` | |
|
||||
| | | No | Guardian features are currently not used in openDesk 1.1 | `guardianmanagementapi` | |
|
||||
| | S3 | No | Static files for Portal | `ums` | |
|
||||
| | PVC | Yes | openLDAP database (primary R/W Pods), when restore select the one from the leader | `shared-data-ums-ldap-server-primary-0` | `/var/lib/univention-ldap` |
|
||||
| | | Yes | openLDAP process data | `shared-run-ums-ldap-server-primary-0` | `/var/run/slapd` |
|
||||
| | | No | openLDAP database (secondary R/O Pods), secondaries can sync from the primary | `shared-data-ums-ldap-server-secondary-0` | `/var/lib/univention-ldap` |
|
||||
| | | No | openLDAP process data | `shared-run-ums-ldap-server-secondary-0` | `/var/run/slapd` |
|
||||
| | | Yes | The state of the listener | `data-ums-provisioning-udm-listener-0` | `/var/log/univention`<br>`/var/lib/univention-ldap/schema/id`<br>`/var/lib/univention-directory-listener` |
|
||||
| | | No | Cache | `group-membership-cache-ums-portal-consumer-0` | `/usr/share/univention-group-membership-cache/caches` |
|
||||
| | | Yes | Queued provisioning objects | `nats-data-ums-provisioning-nats-0` | `/data` |
|
||||
| | Memcached | No | Cache for UMC Server | | |
|
||||
| **OpenProject** | PostgreSQL | Yes | Application's main database | `openproject` | |
|
||||
| | S3 | Yes | Attachments, custom styles | `openproject` | |
|
||||
| | Memcached | No | Cache | | |
|
||||
| | PVC | No | PVC backed `emptyDir` as K8s cannot set the sticky bit on standard emptyDirs | `openproject-<web/worker>-*-tmp` | `/tmp` |
|
||||
| | | No | PVC backed `emptyDir` as K8s cannot set the sticky bit on standard emptyDirs | `openproject-<web/worker>-app-*-tmp` | `/app/tmp` |
|
||||
| **Open-Xchange** | MariaDB | Yes | Application's control database to coordiate dynamically created ones | `configdb` | |
|
||||
| | | Yes | Dynamically creates databases of schema `PRIMARYDB_n`containing multiple contexts | `PRIMARYDB_*` | |
|
||||
| | | Yes | OX Guard related settings | `oxguard*` | |
|
||||
| | S3 | Yes | Attachments of meetings, contacts and tasks | `openxchange` | |
|
||||
| | Redis | Optional | Cache, session related data, distributed maps | | |
|
||||
| | PVC | Yes | OX-Connector: OXAPI access details | `ox-connector-appcenter-ox-connector-0` | `/var/lib/univention-appcenter/apps/ox-connector` |
|
||||
| | | Yes | OX-Connector: Application's meta data | `ox-connector-ox-contexts-ox-connector-0` | `/etc/ox-secrets` |
|
||||
| **Postfix** | PVC | Yes | Mail spool | `postfix` | `/var/spool/postfix` |
|
||||
| **XWiki** | PostgreSQL | Yes | Application's main database | `xwiki` | |
|
||||
| | PVC | Yes | Attachments | `xwiki-data-xwiki-0` | `/usr/local/xwiki/data` |
|
||||
|
||||
Additionally, the following persistent volumes are mounted by pods that serve as a data storage for the applications mentioned above.
|
||||
Additionally, the following persistent volumes are mounted by Pods that serve as a data storage for the applications mentioned above.
|
||||
|
||||
| Service | Pod | Volume Name | PVC | MountPath |
|
||||
| ---------- | ---------------- | ------------ | --------------------------- | --------------------- |
|
||||
| MariaDB | `mariadb-*` | `data` | `data-mariadb-0` | `/var/lib/mysql` |
|
||||
| MinIO | `minio-*-*` | `data` | `minio` | `/bitnami/minio/data` |
|
||||
| PostgreSQL | `postgresql-*` | `data` | `data-postgresql-0` | `/mnt/postgresql` |
|
||||
| Redis | `redis-master-*` | `redis-data` | `redis-data-redis-master-0` | `/data` |
|
||||
These services are not ment for production use, so you can ignore these as you surely backup your production services instead.
|
||||
|
||||
| Service | Pod | Volume Name | PVC | MountPath | Comment |
|
||||
|------------|------------------|--------------|-----------------------------|-----------------------|------------------|
|
||||
| MariaDB | `mariadb-*` | `data` | `data-mariadb-0` | `/var/lib/mysql` | |
|
||||
| MinIO | `minio-*-*` | `data` | `minio` | `/bitnami/minio/data` | |
|
||||
| PostgreSQL | `postgresql-*` | `data` | `data-postgresql-0` | `/mnt/postgresql` | |
|
||||
| Redis | `redis-master-*` | `redis-data` | `redis-data-redis-master-0` | `/data` | |
|
||||
| Cassandra | `cassandra-*` | `data` | `data-cassandra-*` | `/bitnami/cassandra` | openDesk EE only |
|
||||
|
||||
@@ -355,12 +355,15 @@ Example: `tmueller/fix_jitsi_theming`.
|
||||
|
||||
Commit messages must adhere to the [Conventional Commit standard](https://www.conventionalcommits.org/en/v1.0.0/#summary). Commits that do not adhere to the standard get rejected by either [Gitlab push rules](https://docs.gitlab.com/ee/user/project/repository/push_rules.html) or the CI.
|
||||
|
||||
> **Note**<br>
|
||||
> The first letter after the `: ` must be uppercase.
|
||||
|
||||
```text
|
||||
<type>(<scope>): [path/to/issue#1] <short summary>.
|
||||
<type>(<scope>): <Short summary> [path/to/issue#1]
|
||||
│ │ │ │
|
||||
│ │ | └─> Summary in present tense, sentence case, with no period at the end
|
||||
│ │ | └─> Issue reference (optional)
|
||||
│ │ |
|
||||
│ │ └─> Issue reference (optional)
|
||||
│ │ └─> Summary in present tense, sentence case, with no period at the end
|
||||
│ │
|
||||
│ └─> Commit Scope: helmfile, docs, collabora, nextcloud, open-xchange, etc.
|
||||
│
|
||||
@@ -370,7 +373,7 @@ Commit messages must adhere to the [Conventional Commit standard](https://www.co
|
||||
Example: `fix(open-xchange): Bump to 8.26 to heal issue with functional mailbox provisioning.`
|
||||
|
||||
> **Note**<br>
|
||||
> The commit messages are an essential part of the [technical releases](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/releases) as the release's notes are generated from the messages.
|
||||
> The commit messages are an essential part of the [technical releases](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/releases) as the release notes are generated from these messages.
|
||||
|
||||
#### Verified commits
|
||||
|
||||
|
||||
@@ -103,12 +103,12 @@ To upgrade existing deployments, you cannot skip any version mentioned in the co
|
||||
|
||||
| Mandatory version |
|
||||
| ----------------- |
|
||||
<!-- | 1.x.x | add the entry to the table as soon as we get new migration requiring that the former migration was executed -->
|
||||
| v1.5.0 |
|
||||
| v1.1.x |
|
||||
| v1.0.0 |
|
||||
| v0.9.0 |
|
||||
| v0.8.1 |
|
||||
<!-- | 1.x.x | add the entry to the table as soon as we get new migration requiring that the former migration was executed -->
|
||||
|
||||
> **Note**<br>
|
||||
> Be sure to check out the table in the release version you are going to install, and not the currently installed version.
|
||||
|
||||
122
docs/releases.md
Normal file
122
docs/releases.md
Normal file
@@ -0,0 +1,122 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
|
||||
<h1>Release Management</h1>
|
||||
|
||||
This document outlines the release and patch management strategy for **openDesk**, ensuring that all updates, patches, and new releases are systematically **planned, tested, documented**, and **reliably deployed** into production. The process is designed to align with operational planning requirements and maintain system stability and security.
|
||||
|
||||
<!-- TOC -->
|
||||
* [Release Cycle](#release-cycle)
|
||||
* [Release Types](#release-types)
|
||||
* [Release Schedule](#release-schedule)
|
||||
* [Upgrades](#upgrades)
|
||||
* [Patch Management Process](#application-administration)
|
||||
* [Patch Identification & Prioritization](#patch-identification-prioritization)
|
||||
* [Patch Workflow](#patch-workflow)
|
||||
* [Communication Plan](#communication-plan)
|
||||
* [Announcement Channels](#announcement-channels)
|
||||
* [Timing of Communications](#timing-of-communications)
|
||||
* [Documentation Requirements](#documentation-requirements)
|
||||
* [Compliance & Review](#compliance-review)
|
||||
<!-- TOC -->
|
||||
|
||||
# Release Cycle
|
||||
|
||||
openDesk follows a structured release cycle to ensure predictability and reliability:
|
||||
|
||||
## Release Types
|
||||
|
||||
| Type | Frequency | Content |
|
||||
|----------------|---------------|---------------------------------------------------------------|
|
||||
| **Major** | Annually (Q3) | Large feature sets, architecture changes, breaking changes |
|
||||
| **Minor** | Monthly | New features, enhancements, may contain breaking changes or refactors (clearly flagged in the notes) |
|
||||
| **Patch** | On demand | Bug fixes, security updates, minor improvements, no intended breaking changes |
|
||||
|
||||
> **Note:** openDesk does **not** guarantee that minor releases are 100% backward‑compatible. When a breaking change is unavoidable it is announced in the release notes under a dedicated header **“Breaking Changes”** and a migration guide is provided.
|
||||
|
||||
## Release Schedule
|
||||
|
||||
- **Major releases** are scheduled for **Q3 each year**, with planning beginning in Q1.
|
||||
- **Minor releases** occur **monthly on Mondays**, typically **around 10:00 AM** local time.
|
||||
- Each minor release follows a **4-week cycle**.
|
||||
- **Week 1–3**: Active development of new features and improvements.
|
||||
- **End of Week 3**: **Feature freeze** is enforced to allow stabilization and testing.
|
||||
- **Week 4**: Final testing, approvals, and preparation for release.
|
||||
- At the **end of Week 4**, a new minor version is released, and a new cycle begins.
|
||||
- **Patch releases** are created **on demand**, based on criticality and urgency.
|
||||
|
||||
## Upgrades
|
||||
|
||||
- openDesk does not guarantee an in‑place upgrade between two major versions. Always consult the release notes and plan appropriate migration efforts.
|
||||
- Even within the same major line, skipping multiple monthly minor versions is not guaranteed to work without intermediate upgrade steps.
|
||||
- All breaking changes, including those in monthly minor releases, are highlighted in the release notes under Breaking Changes.
|
||||
- Additional, non‑binding migration hints are collected in `migrations.md`
|
||||
|
||||
# Patch Management Process
|
||||
|
||||
A standardized process ensures patches are developed, prioritized, and deployed efficiently.
|
||||
|
||||
## Patch Identification & Prioritization
|
||||
|
||||
Patches are categorized by severity and urgency:
|
||||
|
||||
| Priority Level | Criteria |
|
||||
|----------------|--------------------------------------------------------------------------|
|
||||
| **Critical** | Security vulnerabilities, system outages, data loss risks |
|
||||
| **High** | Major bugs affecting multiple users, performance degradation |
|
||||
| **Medium** | Functional bugs with workarounds, minor usability issues |
|
||||
| **Low** | Cosmetic issues, documentation updates |
|
||||
|
||||
## Patch Workflow
|
||||
|
||||
The following steps define the patch workflow from issue identification to post-deployment review. This process ensures consistent quality and minimal disruption to users:
|
||||
|
||||
1. **Identification**: Potential issues are detected through automated monitoring, internal testing, audits, or user reports submitted via the support ticketing system.
|
||||
2. **Assessment**: The product and engineering teams triage the issue, determine severity based on business and user impact, and prioritize it within the patch queue.
|
||||
3. **Development**: A fix is implemented on a dedicated feature or hotfix branch, adhering to coding standards and version control protocols.
|
||||
4. **Testing**: All patches undergo automated unit and integration tests, as well as manual QA validation in a staging environment that closely mirrors production.
|
||||
5. **Approval**: Once tested, the patch must be approved by the product owner or a designated release manager, with proper documentation and change control entries.
|
||||
6. **Deployment**: The patch is rolled out using CI/CD pipelines during predefined deployment windows or as soon as possible for critical issues.
|
||||
7. **Post-deployment review**: After deployment, the fix is verified in production, and monitoring tools are used to detect regressions or unintended side effects.
|
||||
|
||||
This workflow ensures that patches are handled with the same level of discipline as planned releases, supporting both reliability and agility.
|
||||
|
||||
# Communication Plan
|
||||
|
||||
A lightweight approach reduces manual effort while maintaining transparency.
|
||||
|
||||
## Announcement Channels
|
||||
|
||||
| Channel | Audience | Purpose | Owner |
|
||||
|---------|----------|---------|-------|
|
||||
| **openCode Changelog** | Community & EE | Primary source of truth for every release | DevOps |
|
||||
| **Account‑Manager Mail / Ticket** | Enterprise customers | Targeted information & upgrade advice | Customer Success |
|
||||
|
||||
## Timing of Communications
|
||||
|
||||
| Release Type | What | When |
|
||||
|--------------|------|------|
|
||||
| **Major** | Roadmap entry + migration highlights | 4 weeks before release |
|
||||
| | Final confirmation | 1 week before release |
|
||||
| **Minor** | Changelog entry (draft) | Immediately after feature freeze (end of week 3) |
|
||||
| | EE mail/ticket | 2 business days before deployment |
|
||||
| **Patch** | Changelog entry | Right after production deploy |
|
||||
| | EE mail/ticket (only if impacted) | Within 1 business day |
|
||||
|
||||
Community users consume information via openCode; Enterprise customers get an additional nudge via their account manager – **no mass mailings are sent manually**.
|
||||
|
||||
# Documentation Requirements
|
||||
|
||||
Each release (major, minor, or patch) must include:
|
||||
|
||||
- **Release notes** outlining new features, fixes, and known issues
|
||||
- **Change logs** with commit references and affected components
|
||||
- **Test reports** confirming QA coverage and results
|
||||
- **Deployment checklist** reviewed and approved by the product owner
|
||||
|
||||
# Compliance & Review
|
||||
|
||||
- The release process is reviewed **bi-annually** to incorporate feedback and evolving requirements
|
||||
- Emergency patches (e.g., zero-day security issues) may bypass the standard schedule but must be documented post-deployment
|
||||
@@ -232,6 +232,33 @@ serviceAccount:
|
||||
{{ .Values.annotations.nextcloudNextcloudMgmt.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
theme:
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
background:
|
||||
# Static color background
|
||||
# NOTE: Not available yet because of a bug in Nextcloud 31.X
|
||||
# Ref: https://github.com/nextcloud/server/commit/da51459022d21a569ab8271c5456f69c9316cdad
|
||||
color: {{ .Values.theme.colors.primary | quote }}
|
||||
# PNG or JPEG image background. Overwrites `theme.background.color`
|
||||
imgBase64: {{ .Values.theme.imagery.files.backgroudImg | quote }}
|
||||
|
||||
colors:
|
||||
primary: {{ .Values.theme.colors.primary | quote }}
|
||||
|
||||
favicon:
|
||||
pngBase64: {{ .Values.theme.imagery.files.faviconPng | quote }}
|
||||
|
||||
logo:
|
||||
svgBase64: {{ .Values.theme.imagery.logoHeaderSvgB64 | quote }}
|
||||
|
||||
# Overwrites the header color of Nextcloud with the value set in the `integration_swp` app
|
||||
# This can *intentionally* only be adjusted via customizing
|
||||
swpOverrideHeaderColor: true
|
||||
|
||||
texts:
|
||||
slogan: {{ .Values.theme.texts.slogan | quote }}
|
||||
productName: {{ .Values.theme.texts.productName | quote }}
|
||||
|
||||
urls:
|
||||
imprint: {{ .Values.functional.portal.linkLegalNotice | quote }}
|
||||
privacy: {{ .Values.functional.portal.linkPrivacyStatement | quote }}
|
||||
main: {{ printf "%s.%s" .Values.global.hosts.nubus .Values.global.domain }}
|
||||
...
|
||||
|
||||
@@ -10,7 +10,8 @@ repositories:
|
||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||
oci: true
|
||||
url:
|
||||
"{{ coalesce .Values.repositories.helm.registryOpencodeDe .Values.global.helmRegistry | default .Values.charts.nubus.registry }}/{{ .Values.charts.nubus.repository }}"
|
||||
# FIXME: Place coalesce back after testing upgrade - coalesce .Values.repositories.helm.registryOpencodeDe .Values.global.helmRegistry | default
|
||||
"{{ .Values.charts.nubus.registry }}/{{ .Values.charts.nubus.repository }}"
|
||||
# Intercom Service
|
||||
# Source: https://gitlab.souvap-univention.de/souvap/tooling/charts/intercom-service
|
||||
- name: "intercom-service-repo"
|
||||
|
||||
@@ -51,31 +51,36 @@ global:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
ics:
|
||||
secret: {{ .Values.secrets.intercom.secret | quote }}
|
||||
session:
|
||||
secret: {{ .Values.secrets.intercom.secret | quote }}
|
||||
issuerBaseUrl: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||
originRegex: "{{ .Values.global.domain }}"
|
||||
enableSessionCookie: true
|
||||
userUniqueMapper: {{ if .Values.functional.chat.matrix.profile.useImmutableIdentifierForLocalpart }}"opendesk_useruuid"{{ else }}"opendesk_username"{{ end }}
|
||||
usernameClaim: "opendesk_username"
|
||||
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"INFO"{{ end }}
|
||||
keycloak:
|
||||
realm: {{ .Values.platform.realm | quote }}
|
||||
default:
|
||||
domain: {{ .Values.global.domain | quote }}
|
||||
oidc:
|
||||
id: "opendesk-intercom"
|
||||
secret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
||||
clientSecret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
||||
matrix:
|
||||
asSecret: {{ .Values.secrets.intercom.synapseAsToken | quote }}
|
||||
subdomain: {{ .Values.global.hosts.synapse | quote }}
|
||||
serverName: "{{ .Values.global.hosts.synapse }}.{{ .Values.global.domain }}"
|
||||
auth:
|
||||
applicationServiceSecret: {{ .Values.secrets.intercom.synapseAsToken | quote }}
|
||||
nordeck:
|
||||
subdomain: {{ .Values.global.hosts.matrixNeoDateFixBot | quote }}
|
||||
portal:
|
||||
apiKey: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||
auth:
|
||||
sharedSecret: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||
redis:
|
||||
host: {{ .Values.cache.intercomService.host | quote }}
|
||||
port: {{ .Values.cache.intercomService.port }}
|
||||
password: {{ .Values.cache.intercomService.password | default .Values.secrets.redis.password | quote }}
|
||||
auth:
|
||||
password: {{ .Values.cache.intercomService.password | default .Values.secrets.redis.password | quote }}
|
||||
openxchange:
|
||||
oci: true
|
||||
url: "https://{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||
@@ -116,21 +121,20 @@ provisioning:
|
||||
# client's claims this way.
|
||||
enabled: false
|
||||
config:
|
||||
nubusBaseUrl: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}"
|
||||
clientBaseUrl: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}"
|
||||
keycloak:
|
||||
url: "http://ums-keycloak:8080/realms/{{ .Values.platform.realm }}/"
|
||||
username: "kcadmin"
|
||||
realm: {{ .Values.platform.realm | quote }}
|
||||
connection:
|
||||
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||
baseUrl: "http://ums-keycloak:8080"
|
||||
credentialSecret:
|
||||
name: "ums-opendesk-keycloak-credentials"
|
||||
protocol: "http"
|
||||
host: "ums-keycloak"
|
||||
port: 8080
|
||||
auth:
|
||||
username: "kcadmin"
|
||||
existingSecret:
|
||||
name: "ums-opendesk-keycloak-credentials"
|
||||
keyMapping:
|
||||
password: "admin_password"
|
||||
key: "admin_password"
|
||||
ics_client:
|
||||
clientSecret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
||||
credentialSecret:
|
||||
key: "ics_secret"
|
||||
image:
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
|
||||
@@ -259,6 +259,9 @@ keycloak:
|
||||
nubusGuardian:
|
||||
enabled: false
|
||||
|
||||
nubusTwofaHelpdesk:
|
||||
enabled: false
|
||||
|
||||
nubusNotificationsApi:
|
||||
enabled: false
|
||||
additionalAnnotations:
|
||||
@@ -1543,6 +1546,7 @@ nubusKeycloakBootstrap:
|
||||
twoFactorAuthentication:
|
||||
enabled: true
|
||||
group: "2fa-users"
|
||||
legacy: true
|
||||
config:
|
||||
debug:
|
||||
enabled: {{ .Values.debug.enabled }}
|
||||
@@ -1561,7 +1565,7 @@ nubusKeycloakBootstrap:
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.umsKeycloakBootstrap | toYaml | nindent 6 }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakBootstrap.registry | quote }}
|
||||
registry: {{ .Values.images.nubusKeycloakBootstrap.registry | quote }}
|
||||
repository: {{ .Values.images.nubusKeycloakBootstrap.repository }}
|
||||
tag: {{ .Values.images.nubusKeycloakBootstrap.tag }}
|
||||
# NOTE: The subchart does not yet fully support
|
||||
|
||||
@@ -527,7 +527,10 @@ config:
|
||||
publicClient: false
|
||||
authorizationServicesEnabled: false
|
||||
attributes:
|
||||
use.refresh.tokens: true
|
||||
backchannel.logout.session.required: true
|
||||
standard.token.exchange.enabled: true
|
||||
standard.token.exchange.enableRefreshRequestedTokenType: "SAME_SESSION"
|
||||
backchannel.logout.revoke.offline.tokens: true
|
||||
backchannel.logout.url: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/backchannel-logout"
|
||||
protocolMappers:
|
||||
|
||||
@@ -120,6 +120,9 @@ appsuite:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.trailslash | toYaml | nindent 10 }}
|
||||
rest-routes-admin:
|
||||
{{- if .Values.technical.oxAppSuite.provisioning.dedicatedCoreMwPod }}
|
||||
enabled: false
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.restRoutesAdmin | toYaml | nindent 10 }}
|
||||
rest-routes-advertisement:
|
||||
@@ -215,6 +218,43 @@ appsuite:
|
||||
productName: {{ .Values.theme.texts.productName | quote }}
|
||||
oidcLogin: true
|
||||
oidcPath: "/oidc/"
|
||||
defaultScaling:
|
||||
nodes:
|
||||
default:
|
||||
roles:
|
||||
- http-api
|
||||
- sync
|
||||
- admin
|
||||
- businessmobility
|
||||
- request-analyzer
|
||||
roles:
|
||||
admin:
|
||||
values:
|
||||
features:
|
||||
status:
|
||||
admin: "enabled"
|
||||
packages:
|
||||
status:
|
||||
open-xchange-admin-contextrestore: "enabled"
|
||||
open-xchange-admin-oauth-provider: "enabled"
|
||||
open-xchange-admin-soap: "enabled"
|
||||
open-xchange-admin-soap-usercopy: "enabled"
|
||||
open-xchange-admin-user-copy: "enabled"
|
||||
{{- if .Values.technical.oxAppSuite.provisioning.dedicatedCoreMwPod }}
|
||||
scaling:
|
||||
nodes:
|
||||
groupware:
|
||||
replicas: {{ .Values.replicas.openxchangeCoreMW }}
|
||||
roles:
|
||||
- "http-api"
|
||||
- "sync"
|
||||
- "businessmobility"
|
||||
- "request-analyzer"
|
||||
admin:
|
||||
replicas: 1
|
||||
roles:
|
||||
- "admin"
|
||||
{{- end }}
|
||||
masterAdmin: "admin"
|
||||
masterPassword: {{ .Values.secrets.oxAppSuite.adminPassword | quote }}
|
||||
hzGroupName: "hzgroup"
|
||||
@@ -236,6 +276,10 @@ appsuite:
|
||||
# admin: enabled
|
||||
documents: "disabled"
|
||||
guard: "enabled"
|
||||
# disabling admin role breaks webmail
|
||||
# {{- if .Values.technical.oxAppSuite.provisioning.dedicatedCoreMwPod }}
|
||||
# admin: "disabled"
|
||||
# {{- end }}
|
||||
gotenberg:
|
||||
enabled: true
|
||||
imagePullSecrets:
|
||||
@@ -295,6 +339,14 @@ appsuite:
|
||||
open-xchange-hostname-config-cascade: "enabled"
|
||||
# Enable s3 storage
|
||||
open-xchange-filestore-s3: "enabled"
|
||||
{{- if .Values.technical.oxAppSuite.provisioning.dedicatedCoreMwPod }}
|
||||
# disabling admin feature breaks webmail, so only sub packages are disabled:
|
||||
open-xchange-admin-contextrestore: "disabled"
|
||||
open-xchange-admin-oauth-provider: "disabled"
|
||||
open-xchange-admin-soap: "disabled"
|
||||
open-xchange-admin-soap-usercopy: "disabled"
|
||||
open-xchange-admin-user-copy: "disabled"
|
||||
{{- end }}
|
||||
properties:
|
||||
com.openexchange.hostname: {{ printf "%s.%s" .Values.global.hosts.openxchange .Values.global.domain }}
|
||||
com.openexchange.UIWebPath: "/appsuite/"
|
||||
|
||||
@@ -49,7 +49,7 @@ oxConnector:
|
||||
oxMasterAdmin: "admin"
|
||||
oxMasterPassword: {{ .Values.secrets.oxAppSuite.adminPassword | quote }}
|
||||
oxSmtpServer: "smtp://127.0.0.1:587"
|
||||
oxSoapServer: "https://{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||
oxSoapServer: "http://open-xchange-core-mw-admin"
|
||||
|
||||
provisioningApi:
|
||||
connection:
|
||||
|
||||
@@ -13,7 +13,7 @@ images:
|
||||
nextcloud:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/nextcloud/images/opendesk-nextcloud"
|
||||
tag: "31.0.6@sha256:eb1fd84f39a9ff36bd1251ef4bc00b2a838bc2f9fb6df2b18b1a70ae72fac022"
|
||||
tag: "31.0.6@sha256:12e5009019a072ee9bf6c9a69f4ecbf00a0590f6a2f10155ab56a1a61b43baf9"
|
||||
openxchangeCoreMW:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/middleware-public-sector-pro"
|
||||
|
||||
@@ -24,7 +24,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-certificates"
|
||||
name: "opendesk-certificates"
|
||||
version: "3.1.1"
|
||||
version: "3.1.2"
|
||||
verify: true
|
||||
clamav:
|
||||
# providerCategory: "Platform"
|
||||
@@ -141,7 +141,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
||||
name: "intercom-service"
|
||||
version: "2.12.0"
|
||||
version: "2.19.0"
|
||||
verify: true
|
||||
jitsi:
|
||||
# providerCategory: "Platform"
|
||||
@@ -251,7 +251,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud"
|
||||
version: "4.2.0"
|
||||
version: "4.3.1"
|
||||
verify: true
|
||||
nextcloudManagement:
|
||||
# providerCategory: "Platform"
|
||||
@@ -261,7 +261,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud-management"
|
||||
version: "4.2.0"
|
||||
version: "4.3.1"
|
||||
verify: true
|
||||
nextcloudNotifyPush:
|
||||
# providerCategory: "Platform"
|
||||
@@ -271,7 +271,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud-notifypush"
|
||||
version: "4.2.0"
|
||||
version: "4.3.1"
|
||||
verify: true
|
||||
nginx:
|
||||
# providerCategory: "Community"
|
||||
@@ -310,10 +310,12 @@ charts:
|
||||
# upstreamRepository: "nubus/charts/nubus"
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||
# upstreamMirrorStartFrom: ["0", "19", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
||||
# registry: "registry.opencode.de"
|
||||
# repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
||||
registry: "artifacts.software-univention.de"
|
||||
repository: "nubus-dev/charts"
|
||||
name: "nubus"
|
||||
version: "1.11.2"
|
||||
version: "1.12.0-pre-jtorres-kc-bootstrap"
|
||||
verify: true
|
||||
opendeskAlerts:
|
||||
# providerCategory: "Platform"
|
||||
@@ -407,7 +409,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-open-xchange-bootstrap"
|
||||
name: "opendesk-open-xchange-bootstrap"
|
||||
version: "3.0.1"
|
||||
version: "4.0.1"
|
||||
verify: true
|
||||
oxConnector:
|
||||
# providerCategory: "Supplier"
|
||||
|
||||
@@ -154,7 +154,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["2", "1", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/intercom-service"
|
||||
tag: "2.12.0@sha256:380476d849fb353dc167ba52a6b0f6235b3fa7561c082e65c37e2242cedb0df1"
|
||||
tag: "2.19.0@sha256:ebb4e721f4daebf5a206359978b327e85f2d51b9bf145576778ca3b5983920f8"
|
||||
jibri:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Nordeck"
|
||||
@@ -320,7 +320,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud"
|
||||
tag: "31.0.6@sha256:760d0f1ff724d53faa757987e7068d09df0c603e3ac4fbb8aefe1bf13270c615"
|
||||
tag: "31.0.6@sha256:f881cde15c41df21177a1edf3cc08ed5abe88627a5a44fdb42caacdcfe25de19"
|
||||
nextcloudExporter:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -370,7 +370,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "34", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/blocklist-cleanup"
|
||||
tag: "0.37.1@sha256:e18a5ca77accb9438c57ec7448f0984e6de11481ca8e0cd3ce557e6492dd8355"
|
||||
tag: "0.39.1@sha256:a08a36d0c0558a71f164ef24b3b8f897fa4b87217f9063ae493d4c66c7348c5c"
|
||||
nubusDataLoader:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -380,7 +380,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "41", "5"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/data-loader"
|
||||
tag: "0.95.0@sha256:57028c6a76d000a2085f7a429c704ac495be6e4e7ce0a5cc85e3bed25766ce32"
|
||||
tag: "0.97.0@sha256:0c4a92f892d54ca3669b33391fb1fb6b45f6a9c43080beacd0d3fa061b0826ab"
|
||||
nubusGuardianAuthorizationApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -430,7 +430,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "0", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak"
|
||||
tag: "0.2.1@sha256:c338d5bba11185b1cca6d5e5e1b6fe28bedcd8f02af8b4b96e431bde617f5f72"
|
||||
tag: "0.2.5@sha256:499006904d262bdd334b54583c359c7e34b521697d5fda32ea977d856bfa93d2"
|
||||
nubusKeycloakBootstrap:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -438,9 +438,9 @@ images:
|
||||
# upstreamRepository: "nubus/images/keycloak-bootstrap"
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||
# upstreamMirrorStartFrom: ["0", "1", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap"
|
||||
tag: "0.12.2@sha256:b3b058e49f9671e01530fca548a3308738aec3bf7d57c9ced9cde556f1f7545f"
|
||||
registry: "artifacts.software-univention.de"
|
||||
repository: "nubus-dev/images/keycloak-bootstrap"
|
||||
tag: "keycloak-bootstrap@sha256:c8c3f6650afea4511e6e87fe1991e94b969cc946dac919c30f3a283fd2759516"
|
||||
nubusKeycloakExtensionHandler:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -450,7 +450,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "0", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-handler"
|
||||
tag: "0.19.2@sha256:6e4c65b375ad12819240cb8eabd4ef629858ad74179bd639acb713201c528ef4"
|
||||
tag: "0.20.0@sha256:227c7cba4eee15c626abbc77ca06b8b61a9dece04c986a9fa2e97b13d0458fe0"
|
||||
nubusKeycloakExtensionProxy:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -460,7 +460,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "0", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-proxy"
|
||||
tag: "0.19.2@sha256:b7c897870a12214064d79d72d52d0030bf2513148078cb922b8782806c2e4773"
|
||||
tag: "0.20.0@sha256:bd075d33c16926ab4c123ac3a8673209664647f35324dfdebd95c6662ee05b2c"
|
||||
nubusLdapNotifier:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -470,7 +470,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "8", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-notifier"
|
||||
tag: "0.43.0@sha256:dcd4e7f1008eb4c6c1ae809785bee0da9cba1347af09ddbc147b76c422f4f35c"
|
||||
tag: "0.46.0@sha256:2856ea8767e5fa93d0bfcb7211397e121e2792a731825381400dedbdd8ff6a7b"
|
||||
nubusLdapServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -480,7 +480,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "8", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server"
|
||||
tag: "0.43.0@sha256:67557ec3e3bd7ff4981666dddb5455672ee8767e12e3876ea79447627f9d9742"
|
||||
tag: "0.46.0@sha256:5a1612c58f4edb2e42060ac2f927414574d5689c52cbd813f5b2eca0c7c5f75c"
|
||||
nubusLdapServerDhInitContainer:
|
||||
# providerCategory: 'Community'
|
||||
# providerResponsible: 'Univention'
|
||||
@@ -498,7 +498,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "29", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server-elector"
|
||||
tag: "0.43.0@sha256:179097cf89774b1ac48c5315ccc06cc8628cc89d085d95f2d89a223d52a75fe2"
|
||||
tag: "0.46.0@sha256:688dd37bc472d752d8e4a727374ce13ffdd3fcd65a598f39a8cf54c56d3988e0"
|
||||
nubusLdapUpdateUniventionObjectIdentifier:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -542,7 +542,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "9", "4"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/notifications-api"
|
||||
tag: "0.70.0@sha256:0120cca997eddcd6b9a5f0b9d6fb39ac2ffb118357380c28ab5352c16130a873"
|
||||
tag: "0.74.1@sha256:3613be84aa991fcd15f6cf47f32bc61345ec660c1a5bf9c3e3e843e8b803b9c4"
|
||||
nubusOpendeskExtension:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -588,7 +588,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "27", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-consumer"
|
||||
tag: "0.70.0@sha256:09eed9e5a7066f69b5d6085541ca91538ca9519d765ec7109d6934a6e67ab7cc"
|
||||
tag: "0.74.1@sha256:1d9b7e890ee46aa4a2a78ab2e7734ac4bf037f86631a43964d1d8fab17772987"
|
||||
nubusPortalExtension:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -598,7 +598,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "28", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-extension"
|
||||
tag: "0.59.1@sha256:c9c7faa3cca2be2f45d073517a50e8a8cc89d46c978c2f3a6be3c13d0e6ae900"
|
||||
tag: "0.74.1@sha256:cb3c3e4188cfde1d2091790bed38495bf4aa05b54c88e76fd78923db25502c1a"
|
||||
nubusPortalFrontend:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -608,7 +608,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "67", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-frontend"
|
||||
tag: "0.70.0@sha256:9e0826c954e99b36b3c7b9ce6dfa1f567a3432158fb78af13337760197f94997"
|
||||
tag: "0.74.1@sha256:c96209ceb0220b4f05472ba8273a96ed4e526ba5b37f82876aa21a030603cf95"
|
||||
nubusPortalServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -618,7 +618,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "9", "4"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-server"
|
||||
tag: "0.70.0@sha256:1331d5b5861574195f6bd0dfc3c8e1d6a2650b518e206a2815b682d43ab75d0b"
|
||||
tag: "0.74.1@sha256:1f143b81c7c72754784f9399999c2fcb0d34ac7ec0db6fdefb790a1c2ab4ec62"
|
||||
nubusProvisioningDispatcher:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -628,7 +628,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-dispatcher"
|
||||
tag: "0.58.0@sha256:2ac4d4a7362e45f67499537dd74d2fdfb7b54817b7f12eb9e2d88d87cf3a6f7e"
|
||||
tag: "0.60.2@sha256:356f28afe6354b91a5473c8e3f3c647ae6aca0cf7de47f4e47f6e7acf7a5ab7c"
|
||||
nubusProvisioningEventsAndConsumerApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -638,7 +638,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-events-and-consumer-api"
|
||||
tag: "0.58.0@sha256:083cf58d9522d5058d09a78355a9ca935be2882fc595ad221b1ffd707a7d615d"
|
||||
tag: "0.60.2@sha256:3e4fd557abc8350a8d7725ade0103ade7dc28f1ea31cfc981e03e9ce51fa7244"
|
||||
nubusProvisioningPrefill:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -648,7 +648,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-prefill"
|
||||
tag: "0.58.0@sha256:368bc284956b642af02ca7199c6a7d94ae3bbdb3ede09db1c98822a146d9106d"
|
||||
tag: "0.60.2@sha256:23eec4905847ab050a83834f6d70419182601838da4687882c93100842ff349f"
|
||||
nubusProvisioningUdmListener:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -658,7 +658,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-listener"
|
||||
tag: "0.58.0@sha256:5f924be8fdb29bda5734fd2b6b98f106913757e11530611bf5f6a5f144165be7"
|
||||
tag: "0.60.2@sha256:38c2db4e270f67b2d97423ca727fc2a8030dce73a93bd2967d2682844d3bf480"
|
||||
nubusProvisioningUdmTransformer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -668,7 +668,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-udm-transformer"
|
||||
tag: "0.58.0@sha256:afa6028bbaec6c14e09035b7d18507aad45ff6d6aa852fb664ab485f2622a308"
|
||||
tag: "0.60.2@sha256:df38dc8528f0eec1f44db45a8156697d0424bd008c65a1619de15b6ac586d1a0"
|
||||
nubusSelfServiceConsumer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -678,7 +678,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "3", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/selfservice-invitation"
|
||||
tag: "0.17.0@sha256:00e6124eecc1b763326023ecaf9702053e24b39b20f5efbcd35dfaad642d2cda"
|
||||
tag: "0.19.0@sha256:4215533c7c4497e02666cf04ee77ab866263ae6e595758e8b63018b257e972ad"
|
||||
nubusUdmRestApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -688,7 +688,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "9", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/udm-rest-api"
|
||||
tag: "0.37.1@sha256:a0508191a52ed9c388e0574cf6a97031fdfffcff95ab8ca3e4231c795d3a68df"
|
||||
tag: "0.39.1@sha256:62324c259bdd8e6273aeaf93df44405ef5e42ca17281d19e2a0d86f4f44b742e"
|
||||
nubusUmcGateway:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -698,7 +698,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-gateway"
|
||||
tag: "0.47.1@sha256:71d1fb00a28a7cc83e1a8a675b8e9dc3ff67b1d7f366b2d60f9623fdb5f6e419"
|
||||
tag: "0.49.0@sha256:a6b779fc7f214f045fe04783d7d137b1dca15dcfafa369508225ab7734bc0287"
|
||||
nubusUmcServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -708,7 +708,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-server"
|
||||
tag: "0.47.1@sha256:8f451e7b50c6a32a8d4bad5959a103e34e3ae8d0bef2fe3df2dc8fbe7ae9c1b6"
|
||||
tag: "0.49.0@sha256:94efec7b3559c27b54984d75f43d248139091255b4978ef7bf0219eb6f6d2e48"
|
||||
nubusUmcServerProxy:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -726,7 +726,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "9", "4"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/wait-for-dependency"
|
||||
tag: "0.34.0@sha256:6ed1ae644160f0e69c00b4ea90efd4ea4aeaadeefb87e77f3454bcafaacd5e01"
|
||||
tag: "0.35.0@sha256:61dfaea28a2b150459138dfd6a554ce53850cee05ef2a72ab47bbe23f2a92d0d"
|
||||
opendeskKeycloakBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -752,7 +752,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["13", "1", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/images-mirror/open_desk"
|
||||
tag: "16.1.1@sha256:2fe8a7d1cab42611b01f4ca20ce7179a0637477f2882364b4a1cfdebde9ecd6f"
|
||||
tag: "16.2.0@sha256:e4d50068411a7d5afbaf245211df9b7d18f622fed4b6c3c634bc7f88a3149419"
|
||||
openprojectBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
|
||||
@@ -6,4 +6,12 @@ technical:
|
||||
collabora:
|
||||
# Defines the value for the start parameter `-o:num_prespawn_children`
|
||||
numPrespawnChildren: 4
|
||||
# Groupware related technical settings
|
||||
oxAppSuite:
|
||||
provisioning:
|
||||
# In environments with a large number of users and groups, we offer the option to enable a
|
||||
# dedicated Pod for the OX App Suite Core Middleware, exclusively handling provisioning tasks.
|
||||
# This approach ensures that heavy provisioning workloads do not negatively impact the user
|
||||
# experience, such as by slowing down pods that serve end-user sessions.
|
||||
dedicatedCoreMwPod: false
|
||||
...
|
||||
|
||||
@@ -11,6 +11,7 @@ theme:
|
||||
#
|
||||
texts:
|
||||
productName: "openDesk"
|
||||
slogan: "Souverän gedacht. Flexibel gemacht."
|
||||
|
||||
## Define colors
|
||||
#
|
||||
@@ -48,6 +49,9 @@ theme:
|
||||
files:
|
||||
faviconIco: {{ readFile "./../../files/theme/files/favicon.ico" | b64enc | quote }}
|
||||
faviconPng: {{ readFile "./../../files/theme/files/favicon.png" | b64enc | quote }}
|
||||
# A base64 encoded background image that overwrites the solid color background from `theme.colors.primary`
|
||||
# We tested the following file formats: PNG, JPEG and SVG
|
||||
backgroudImg: ~
|
||||
|
||||
login:
|
||||
faviconIco: {{ readFile "./../../files/theme/login/favicon.ico" | b64enc | quote }}
|
||||
|
||||
@@ -10,6 +10,9 @@ helmfiles:
|
||||
values: &values
|
||||
- "helmfile/environments/default/*.yaml.gotmpl"
|
||||
- {{ toYaml .Values | nindent 8 }}
|
||||
{{- if eq (env "OPENDESK_ENTERPRISE") "true" }}
|
||||
- "helmfile/environments/default-enterprise-overrides/*.yaml.gotmpl"
|
||||
{{- end }}
|
||||
- path: "helmfile/apps/opendesk-services/helmfile-child.yaml.gotmpl"
|
||||
values: *values
|
||||
- path: "helmfile/apps/services-external/helmfile-child.yaml.gotmpl"
|
||||
|
||||
Reference in New Issue
Block a user