Compare commits
61 Commits
lender/fea
...
weber/upda
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41b31e994b | ||
|
|
c566ae7d19 | ||
|
|
f713f6888a | ||
|
|
e55ff16d87 | ||
|
|
0680605e9d | ||
|
|
0853cf9369 | ||
|
|
2f1edf63c1 | ||
|
|
2e0dbe51f9 | ||
|
|
ffc751fb87 | ||
|
|
2d4723c691 | ||
|
|
fbd62b139c | ||
|
|
d9e7ccfd78 | ||
|
|
18ed0f9b3b | ||
|
|
ff36497005 | ||
|
|
eda7193aba | ||
|
|
18454dd445 | ||
|
|
9ea17a67bd | ||
|
|
380ccef179 | ||
|
|
d603f7cc96 | ||
|
|
a8696f2ff3 | ||
|
|
f9278912d2 | ||
|
|
55b93cb190 | ||
|
|
d3c7462371 | ||
|
|
7f478bffd6 | ||
|
|
3df9342b31 | ||
|
|
6baec0b587 | ||
|
|
5a3e47ea5d | ||
|
|
74c4cc309d | ||
|
|
feaaa81094 | ||
|
|
03f414ffaf | ||
|
|
f773a9371c | ||
|
|
69faf77d15 | ||
|
|
9f4e3c86c7 | ||
|
|
e06642f6b6 | ||
|
|
0d4e1b01e3 | ||
|
|
bc436b2485 | ||
|
|
3b9fd4eb99 | ||
|
|
e9594382ed | ||
|
|
1edd7c3f06 | ||
|
|
6d6b1a6dd7 | ||
|
|
b60f9c7576 | ||
|
|
4dcb683118 | ||
|
|
bc8028dd93 | ||
|
|
e143a9c9d8 | ||
|
|
9354ee7196 | ||
|
|
8e9ef0867b | ||
|
|
87c30ab8e3 | ||
|
|
7547f4948e | ||
|
|
b608a610fe | ||
|
|
59a40864ed | ||
|
|
add72669ae | ||
|
|
fe510fa679 | ||
|
|
805cdf26ae | ||
|
|
559fbf6801 | ||
|
|
561e44fd4c | ||
|
|
0d616871e3 | ||
|
|
b185fe055c | ||
|
|
d1a1e5dc29 | ||
|
|
1ea9cae1ce | ||
|
|
3b3d8aca54 | ||
|
|
785be8b662 |
@@ -4,7 +4,7 @@
|
||||
---
|
||||
include:
|
||||
- project: "${PROJECT_PATH_GITLAB_CONFIG_TOOLING}"
|
||||
ref: "v2.4.9"
|
||||
ref: "v2.4.10"
|
||||
file:
|
||||
- "ci/common/lint.yml"
|
||||
- "ci/release-automation/semantic-release.yml"
|
||||
@@ -182,6 +182,9 @@ variables:
|
||||
options:
|
||||
- "yes"
|
||||
- "no"
|
||||
DIFF_ON_BRANCH:
|
||||
description: "Provide a branch to run `helmfile diff` for the specified branch."
|
||||
value: ""
|
||||
RUN_TESTS:
|
||||
description: "Triggers execution of E2E-tests."
|
||||
value: "no"
|
||||
@@ -220,6 +223,9 @@ variables:
|
||||
TESTS_PROJECT_URL:
|
||||
description: "Project url for e2e-tests (`<domain of gitlab>/api/v4/projects/<id>`)"
|
||||
value: "gitlab.opencode.de/api/v4/projects/1506"
|
||||
HELM_IMAGE_PIN:
|
||||
description: "The Helm image tag/checksum."
|
||||
value: "1.3.3@sha256:3e195942e6988b8b93c62349700c0ed8428e3a8fbe2655bd7f5378dc88bc8ccb"
|
||||
|
||||
# Declare .environments which is in `opendesk-env` repository. In case it is not available
|
||||
# 'cache' is used because job as a dummy key, as the job is not allowed to be empty.
|
||||
@@ -232,8 +238,7 @@ variables:
|
||||
extends: ".environments"
|
||||
environment:
|
||||
name: "${NAMESPACE}"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:1.3.2\
|
||||
@sha256:87358b39af7403c9a536d1b71fd87ee84394310497dc0fbc90f78b75a3057712"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:${HELM_IMAGE_PIN}"
|
||||
script:
|
||||
- "cd ${CI_PROJECT_DIR}/helmfile/apps/${COMPONENT}"
|
||||
# MASTER_PASSWORD_WEB_VAR as precedence for MASTER_PASSWORD
|
||||
@@ -390,6 +395,7 @@ env-cleanup:
|
||||
when: "on_success"
|
||||
script:
|
||||
- |
|
||||
echo "Cleaning up ${NAMESPACE}"
|
||||
if [ "${OPENDESK_SLEDGEHAMMER_DESTROY_ENABLED}" = "yes" ]; then
|
||||
for OPENDESK_RELEASE in $(helm ls -n ${NAMESPACE} -aq); do
|
||||
helm uninstall -n ${NAMESPACE} ${OPENDESK_RELEASE};
|
||||
@@ -671,6 +677,34 @@ fetch-administrator-credentials:
|
||||
reports:
|
||||
dotenv: ".env"
|
||||
|
||||
diff-on-branch:
|
||||
stage: "post-execute"
|
||||
cache: {}
|
||||
dependencies: []
|
||||
extends: ".environments"
|
||||
environment:
|
||||
name: "${NAMESPACE}"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:${HELM_IMAGE_PIN}"
|
||||
rules:
|
||||
- if: "$DIFF_ON_BRANCH"
|
||||
script:
|
||||
- |
|
||||
echo "Downloading branch ${DIFF_ON_BRANCH}"
|
||||
SAFE_BRANCH_NAME=$(echo "$DIFF_ON_BRANCH" | tr '/' '-')
|
||||
BASE_URL="https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/archive"
|
||||
FILE_NAME="opendesk-${SAFE_BRANCH_NAME}.tar.gz"
|
||||
curl -L "${BASE_URL}/${DIFF_ON_BRANCH}/${FILE_NAME}" -o branch.tar.gz
|
||||
mkdir ${DIFF_ON_BRANCH_SUBDIRECTORY} && tar -xzf branch.tar.gz -C ${DIFF_ON_BRANCH_SUBDIRECTORY} --strip-components=1
|
||||
cd ${DIFF_ON_BRANCH_SUBDIRECTORY}
|
||||
helmfile --namespace ${NAMESPACE} diff | grep -v '^ ' || true
|
||||
tags:
|
||||
- "docker"
|
||||
- "kubernetes"
|
||||
- "${CLUSTER}"
|
||||
variables:
|
||||
HELMFILE_ENVIRONMENT: "dev"
|
||||
DIFF_ON_BRANCH_SUBDIRECTORY: "diff-on-branch"
|
||||
|
||||
import-default-accounts:
|
||||
stage: "post-execute"
|
||||
extends: ".environments"
|
||||
|
||||
81
.gitlab/merge_request_templates/Bugfix.md
Normal file
@@ -0,0 +1,81 @@
|
||||
## 📌 Summary
|
||||
|
||||
Brief description of the issue and what this MR resolves.
|
||||
|
||||
> 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:
|
||||
|
||||
- Fixed null check on user input
|
||||
- Added unit test for edge case
|
||||
- Updated error handling in the `ProfileService`
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Analysis
|
||||
|
||||
Explain the **underlying cause** of the bug:
|
||||
|
||||
- What was the unexpected behavior?
|
||||
- Why did it happen?
|
||||
- Where in the code or logic did it occur?
|
||||
|
||||
---
|
||||
|
||||
## 📚 Related Issue(s)
|
||||
|
||||
- Should be listed as part of the commit message.
|
||||
- Fixes #[issue-number]
|
||||
- Related to #[optional additional issues]
|
||||
|
||||
## 🧪 How to Reproduce & Test
|
||||
|
||||
Link to issue or document the required details below.
|
||||
|
||||
### Before the Fix:
|
||||
|
||||
1. Go to `/profile/edit`
|
||||
2. Leave the "email" field empty
|
||||
3. Click "Save"
|
||||
4. Observe 500 server error
|
||||
|
||||
### After the Fix:
|
||||
|
||||
1. Same steps as above
|
||||
2. Now see appropriate validation message
|
||||
3. No server error occurs
|
||||
|
||||
---
|
||||
|
||||
## 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::👀`
|
||||
|
||||
---
|
||||
|
||||
## 👷 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
|
||||
|
||||
@@ -1,16 +1 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
|
||||
# Summary
|
||||
|
||||
- *describe the reason for/content of the MR*
|
||||
|
||||
# Commits
|
||||
|
||||
%{all_commits}
|
||||
|
||||
# Authors
|
||||
|
||||
%{co_authored_by}
|
||||
Please select one of the templates, in case your contribution contains more than a **simple** typo fix.
|
||||
|
||||
74
.gitlab/merge_request_templates/Feature.md
Normal file
@@ -0,0 +1,74 @@
|
||||
## 📌 Summary
|
||||
|
||||
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.*
|
||||
|
||||
---
|
||||
|
||||
## ✅ 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.
|
||||
|
||||
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
|
||||
|
||||
---
|
||||
|
||||
## 📚 Related Issue(s)
|
||||
|
||||
- Closes #[issue number]
|
||||
- Depends on #[merge request or issue, if any]
|
||||
|
||||
---
|
||||
|
||||
## 🕵️ Notes for Reviewer
|
||||
|
||||
Mention anything reviewers should be aware of:
|
||||
|
||||
- Known issues or limitations
|
||||
- Code sections that may need special attention
|
||||
- Design considerations or edge cases handled
|
||||
|
||||
---
|
||||
|
||||
## 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::👀`
|
||||
|
||||
---
|
||||
|
||||
## 👷 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
|
||||
33
.gitlab/merge_request_templates/Other.md
Normal file
@@ -0,0 +1,33 @@
|
||||
## 📌 Summary
|
||||
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## ✅ Changes
|
||||
|
||||
List the key updates made:
|
||||
|
||||
- ...
|
||||
- ...
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Tests (if applicable)
|
||||
|
||||
Explain how reviewers or CI can verify the change works as intended.
|
||||
|
||||
> Example:
|
||||
>- For CI: Check job `build:frontend` completes in <3 mins.
|
||||
>- For docs: View rendered markdown locally or in GitLab.
|
||||
|
||||
---
|
||||
|
||||
## 🧾 Checks
|
||||
|
||||
- [ ] CI passes
|
||||
- [ ] No functional changes
|
||||
- [ ] Verified (if needed)
|
||||
49
.gitlab/merge_request_templates/Update.md
Normal file
@@ -0,0 +1,49 @@
|
||||
## ⬆️ Application Update
|
||||
|
||||
Expected MR Title and git commit message:
|
||||
|
||||
`feat/fix(<app-name>): Update from <old-version> to <new-version>`
|
||||
|
||||
### 📋 Changelog/Release Notes
|
||||
|
||||
- [ ] Upstream release notes: `[link]`
|
||||
- [ ] No breaking changes (or listed below)
|
||||
- [ ] Relevant changes communicated (if needed)
|
||||
|
||||
---
|
||||
|
||||
### 🔄 Migrations to Run (if any)
|
||||
|
||||
Describe any migrations that need to be performed when upgrading to this application version.
|
||||
|
||||
- [ ] Database migrations
|
||||
- [ ] Configuration changes
|
||||
- [ ] Cache clears / rebuilds
|
||||
- [ ] Other: _describe_
|
||||
|
||||
## 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::👀`
|
||||
|
||||
---
|
||||
|
||||
## 👷 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
|
||||
38
CHANGELOG.md
@@ -1,3 +1,41 @@
|
||||
# [1.5.0](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.4.1...v1.5.0) (2025-06-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **dovecot:** Enable Dovecot ACL for CE (file) & EE (cassandra) ([9354ee7](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/9354ee719628c876c26e91e1b57a4a0cfafedca1))
|
||||
* **notes:** Support templating of Ingress annotations `bodyTimeout` and `bodySize` to allow application defined upload limits to be reached ([69faf77](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/69faf77d15d1df441eb62c58374620f8035f2596))
|
||||
* **nubus:** Create required LDAP objects for `global.additionalMailDomains` ([4dcb683](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/4dcb6831189fc9cedb244c3fd7997d57e8a78c5a))
|
||||
* **nubus:** Explicitly template security context for Keycloak proxy ([e959438](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/e9594382ed7a2469240d62134b34bcf3e5d06a59))
|
||||
* **nubus:** Update CSS for login screen to show login button for federated IdP ([0d4e1b0](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/0d4e1b01e3e82ace7f7438a754235a009036b90d))
|
||||
* **nubus:** Use read-only root filesystem for Keycloak bootstrap ([1edd7c3](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/1edd7c3f062ec411b8b38f45be9ef22a200b4bea))
|
||||
* **open-xchange:** Enabled mail login resolver ([7547f49](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/7547f4948ea13357c4cbc3ae69ae4e7210fdf4a2))
|
||||
* **open-xchange:** Update App Suite 8.37 to latest patch level (8.37.69) ([bc436b2](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/bc436b248525bf76584dd21f735694065bcb67a5))
|
||||
* **open-xchange:** Update Dovecot CE chart to support ACLs (mailbox sharing) and usernames different from local part of mail address ([87c30ab](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/87c30ab8e32c1b405f6aff8eda5eed5f74d5df0a))
|
||||
* **open-xchange:** Use login name instead of email between OX and Dovecot ([8e9ef08](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/8e9ef0867beb8381ad4a5f55f2e9d12bd7dbbba2))
|
||||
* **openproject:** Update from 16.0.0 to 16.0.1 ([b60f9c7](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/b60f9c7576deca327ad36c48ad0b1a7e3e9d3c9c))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **ci:** Update Helm to 3.18.1 and Helmfile to 1.1.1 ([59a4086](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/59a40864edbdf9775e0d6003425c3b05b7b7cb15))
|
||||
* **notes:** Update from 2.4.0 to 3.2.1 ([9f4e3c8](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/9f4e3c86c74ef6c6f618150a7a9d0935fb5ed437))
|
||||
* **open-xchange:** Support for `mailAlternativAddress`(es) for sending and receiving emails ([6d6b1a6](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/6d6b1a6dd754dcb283fd23f08f9df937f8e08c59))
|
||||
* **openproject:** Update from 15.5.1 to 16.0.0 including Helm chart update ([add7266](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/add72669aedfcd57b41fe8680f14940ab77f6aef))
|
||||
|
||||
## [1.4.1](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.4.0...v1.4.1) (2025-06-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **nextcloud:** Update NC CE to 30.0.10 ([785be8b](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/785be8b6621305e79acca62250720028b9ca7a30))
|
||||
* **nextcloud:** Update Nextcloud incl. apps to 30.0.10 ([559fbf6](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/559fbf6801fc785f26f9e6287e0730f86b459a01))
|
||||
* **nubus:** Use `.Values.theme.texts.productName` for Keycloak's `loginTitle` instead of static product name string ([d1a1e5d](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/d1a1e5dc29ca21fd822abd127406f6859603b9c7))
|
||||
* **open-xchange:** Re-adding `com.openexchange.oauth.provider.*` to fix central contacts feature ([561e44f](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/561e44fd4cc42089954868da60edbd210b9a2608))
|
||||
* **open-xchange:** Set `com.openexchange.hostname` to get working links in outgoing system mails (e.g. task assignments) ([0d61687](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/0d616871e3f5114ec429714658500c09af842fe6))
|
||||
* **postfix:** Require TLSv1.3 ([3b3d8ac](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/3b3d8aca54bdaea055289c993e3f158d93864223))
|
||||
* **requirements.md:** Helm 3.18.x is not supported due to upstream bug ([1ea9cae](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/1ea9cae1ce46f864dc03d94c1a72956c5f5ba9a9))
|
||||
|
||||
# [1.4.0](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.2...v1.4.0) (2025-05-20)
|
||||
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ repositories:
|
||||
|
||||
## License keys
|
||||
|
||||
Some applications require license information for their Enterprise features to be enabled. With the aforementioned registry credentials you will also receive a file called `enterprise.yaml` containing the relevant license keys.
|
||||
Some applications require license information for their Enterprise features to be enabled. With the aforementioned registry credentials you will also receive a file called [`enterprise.yaml`](./helmfile/environments/default/enterprise_keys.yaml.gotmpl) containing the relevant license keys.
|
||||
|
||||
Please place the file next your other `.yaml.gotmpl` file(s) that configure your deployment.
|
||||
|
||||
|
||||
10
README.md
@@ -35,15 +35,15 @@ 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) | [2.4.0](https://github.com/suitenumerique/docs/releases/tag/v2.4.0) | Online documentation/welcome document available in installed application |
|
||||
| Collaborative notes | Notes (aka Docs) | [3.3.0](https://github.com/suitenumerique/docs/releases/tag/v3.3.0) | 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 | [30.0.10](https://nextcloud.com/de/changelog/#30-0-10) | [Nextcloud 30](https://docs.nextcloud.com/) |
|
||||
| Groupware | OX App Suite | [8.37](https://documentation.open-xchange.com/appsuite/releases/8.37/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.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.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.1](https://www.openproject.org/docs/release-notes/15-5-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||
| Portal & IAM | Nubus | [1.11.1](https://docs.software-univention.de/nubus-kubernetes-release-notes/latest/en/changelog.html#version-1-11-1-2025-07-02) | [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 | [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 | [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.
|
||||
|
||||
@@ -32,3 +32,8 @@ SPDX-License-Identifier = "CC-BY-SA-4.0"
|
||||
path = ".opencode/screenshots/*"
|
||||
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
SPDX-License-Identifier = "CC-BY-SA-4.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ".gitlab/merge_request_templates/*.md"
|
||||
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
SPDX-License-Identifier = "Apache-2.0"
|
||||
|
||||
@@ -40,7 +40,7 @@ Intercom-Service,Redis,1
|
||||
|
||||
Jitsi,PersistentVolume,1
|
||||
|
||||
Nextcloud,MariaDB,1
|
||||
Nextcloud,PostgreSQL,1
|
||||
Nextcloud,S3,1
|
||||
Nextcloud,Redis,1
|
||||
|
||||
@@ -60,14 +60,14 @@ Open-Xchange,Redis,1
|
||||
|
||||
Postfix,PersistentVolume,1
|
||||
|
||||
XWiki,MariaDB,1
|
||||
XWiki,PostgreSQL,1
|
||||
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` | |
|
||||
@@ -75,7 +75,7 @@ XWiki,PersistentVolume,1
|
||||
| | | 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** | MariaDB | Yes | Application's main database Meta-Data | `nextcloud` | |
|
||||
| **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` | |
|
||||
@@ -88,7 +88,7 @@ XWiki,PersistentVolume,1
|
||||
| | | 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-listener-0` | `/var/log/univention` and two others |
|
||||
| | | 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 | | |
|
||||
@@ -104,7 +104,7 @@ XWiki,PersistentVolume,1
|
||||
| | 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** | Database | Yes | Application's main database | `xwiki` | |
|
||||
| **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.
|
||||
|
||||
@@ -22,7 +22,7 @@ SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
Most organizations already have an Identity and Access Management (IAM) system with an identity provider (IdP) for single sign-on (SSO) to internal or external web applications.
|
||||
|
||||
This document explains how to configure your organization's IdP and the openDesk IdP to support account federation with openDesk SSO based on your organization's login.
|
||||
This document helps in setting up your organization's IdP and openDesk to enable IdP federation.
|
||||
|
||||
# References
|
||||
|
||||
@@ -70,6 +70,23 @@ This document focuses on the OIDC federation between an external IdP and the ope
|
||||
|
||||
# Example configuration
|
||||
|
||||
The following section explains how to configure the IdP federation manually in an example upstream IdP and in openDesk.
|
||||
|
||||
With openDesk 1.4.0 IdP federation has to be enabled as part of the deployment using the `functional.authentication.ssoFederation` section, see [`functional.yaml.gotmpl`](../../helmfile/environments/default/functional.yaml.gotmpl) for reference.
|
||||
|
||||
You can use the description below to configure and test the federation that can be exported and used as part of the deployment afterwards, e.g. with the following commands from within the Keycloak Pod:
|
||||
|
||||
```shell
|
||||
# Set the variables according to your deployment first, below are just example values.
|
||||
export FEDERATION_IDP_ALIAS=sso-federation-idp
|
||||
export NAMESPACE=example_namespace
|
||||
export CLUSTER_NETWORKING_DOMAIN=svc.cluster.local
|
||||
# Authenticate with Keycloak
|
||||
/opt/keycloak/bin/kcadm.sh config credentials --server http://ums-keycloak.${NAMESPACE}.${CLUSTER_NETWORKING_DOMAIN}:8080 --realm master --user ${KEYCLOAK_ADMIN} --password ${KEYCLOAK_ADMIN_PASSWORD}
|
||||
# Request details of IdP configuration
|
||||
/opt/keycloak/bin/kcadm.sh get identity-provider/instances/${FEDERATION_IDP_ALIAS} -r opendesk
|
||||
```
|
||||
|
||||
## Versions
|
||||
|
||||
The example was tested with openDesk v0.7.0 using its integrated Keycloak v24.0.3. As external IdP, we also used an openDesk deployment of the same version, but created a separate realm for proper configuration separation.
|
||||
|
||||
@@ -226,16 +226,16 @@ cluster:
|
||||
|
||||
### Ingress
|
||||
|
||||
By default, the `ingressClassName` is empty and selects the default ingress controller in your cluster. You can customize it by
|
||||
setting the following attribute to the name of the ingress controller the within your deployment you wish to use. Useful if the ingress controller you wish to use is not the default.
|
||||
You need to explicitly set the `ingressClassName`, as openDesk defines it as an empty string by default. This prevents fallback to the cluster’s default ingress class, since the Helm charts used by openDesk components are not consistently aligned in how they handle a missing or empty `ingressClassName`.
|
||||
|
||||
```yaml
|
||||
ingress:
|
||||
ingressClassName: "name-of-my-nginx-ingress"
|
||||
ingressClassName: "nginx"
|
||||
```
|
||||
|
||||
Currently, the only supported ingress controller is `ingress-nginx` (see
|
||||
[requirements.md](./docs/requirements.md) for reference).
|
||||
> **Note**<br>
|
||||
> Currently, the only supported ingress controller is `ingress-nginx`
|
||||
> (see [requirements.md](./docs/requirements.md) for reference).
|
||||
|
||||
### Container runtime
|
||||
|
||||
@@ -381,6 +381,18 @@ To prevent others from using your openDesk instance, you must set your individua
|
||||
export MASTER_PASSWORD="your_individual_master_password"
|
||||
```
|
||||
|
||||
> **Note**<br>
|
||||
> Currently a [documented](https://docs.software-univention.de/nubus-kubernetes-operation/1.x/en/configuration/nats.html#configure-the-secrets) upstream [bug](https://forge.univention.org/bugzilla/show_bug.cgi?id=58357) causes a failure when passwords/secrets beginning with certain numbers are using for the Nubus subcomponent NATS.
|
||||
> With openDesk 1.6.0 an update-aware workaround was implemented that prefixes the affected secrets in the openDesk included `secrets.yaml.gotmpl` that derives all secrets from the previously mentioned `MASTER_PASSWORD`.
|
||||
> If you are using externally provided passwords/secrets make sure that none of the ones listed below are starting with a number:
|
||||
>
|
||||
> - `secrets.nubus.provisioning.api.natsPassword`
|
||||
> - `secrets.nubus.provisioning.dispatcherNatsPassword`
|
||||
> - `secrets.nubus.provisioning.prefillNatsPassword`
|
||||
> - `secrets.nubus.provisioning.udmListenerNatsPassword`
|
||||
> - `secrets.nubus.provisioning.udmTransformerNatsPassword`
|
||||
> - `secrets.nats.natsAdminPassword`
|
||||
|
||||
## Install
|
||||
|
||||
After setting your environment-specific values in `dev` environment, you can start deployment by:
|
||||
|
||||
@@ -7,10 +7,20 @@ SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
<!-- TOC -->
|
||||
* [Disclaimer](#disclaimer)
|
||||
* [Deprecation warnings](#deprecation-warnings)
|
||||
* [Automated migrations - Overview and mandatory upgrade path](#automated-migrations---overview-and-mandatory-upgrade-path)
|
||||
* [Manual checks/actions](#manual-checksactions)
|
||||
* [v1.6.0+](#v160)
|
||||
* [Pre-upgrade to v1.6.0+](#pre-upgrade-to-v160)
|
||||
* [Upstream contraint: Nubus' external secrets](#upstream-contraint-nubus-external-secrets)
|
||||
* [Helmfile new secret: `secrets.minio.openxchangeUser`](#helmfile-new-secret-secretsminioopenxchangeuser)
|
||||
* [Helmfile new object storage: `objectstores.openxchange.*`](#helmfile-new-object-storage-objectstoresopenxchange)
|
||||
* [OX App Suite fix-up: Using S3 as storage for non mail attachments (pre-upgrade)](#ox-app-suite-fix-up-using-s3-as-storage-for-non-mail-attachments-pre-upgrade)
|
||||
* [Post-upgrade to v1.6.0+](#post-upgrade-to-v160)
|
||||
* [OX App Suite fix-up: Using S3 as storage for non mail attachments (post-upgrade)](#ox-app-suite-fix-up-using-s3-as-storage-for-non-mail-attachments-post-upgrade)
|
||||
* [v1.4.0+](#v140)
|
||||
* [Pre-upgrade to v1.4.0+](#pre-upgrade-to-v140)
|
||||
* [Helmfile new feature: `functional.authentication.ssoFederation`](#helmfile-new-feature-functionalauthenticationssofederation)
|
||||
* [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)
|
||||
@@ -48,15 +58,12 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [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)
|
||||
* [Optional Cleanup](#optional-cleanup)
|
||||
* [v0.9.0](#v090)
|
||||
* [Pre-upgrade to v0.9.0](#pre-upgrade-to-v090)
|
||||
* [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr)
|
||||
* [Updated customizable template attributes](#updated-customizable-template-attributes)
|
||||
* [`migrations` S3 bucket](#migrations-s3-bucket)
|
||||
* [Automated migrations - Details](#automated-migrations---details)
|
||||
* [v1.6.0+ (automated)](#v160-automated)
|
||||
* [v1.6.0+ migrations-post](#v160-migrations-post)
|
||||
* [v1.2.0+ (automated)](#v120-automated)
|
||||
* [migrations-pre](#migrations-pre)
|
||||
* [migrations-post](#migrations-post)
|
||||
* [v1.2.0+ migrations-pre](#v120-migrations-pre)
|
||||
* [v1.2.0+ migrations-post](#v120-migrations-post)
|
||||
* [v1.1.0+ (automated)](#v110-automated)
|
||||
* [v1.0.0+ (automated)](#v100-automated)
|
||||
* [Related components and artifacts](#related-components-and-artifacts)
|
||||
@@ -79,6 +86,15 @@ Manual checks and possible activities are also required by openDesk updates, the
|
||||
> **Known limitations**<br>
|
||||
> We assume that the PV reclaim policy is set to `delete`, resulting in PVs getting deleted as soon as the related PVC is deleted; we will not address explicit deletion for PVs.
|
||||
|
||||
# Deprecation warnings
|
||||
|
||||
We cannot hold back all migrations as some are required e.g. due to a change in a specific component that we want/need to update, we try to bundle others only with major releases.
|
||||
|
||||
This section should provide you with an overview of what changes to expect in the next major release (openDesk 2.0) expected in September 2025.
|
||||
|
||||
- `functional.portal.link*` (see `functional.yaml.gotmpl` for details) are going to be moved into the `theme.*` tree, we are also going to move the icons used for the links currently found under `theme.imagery.portalEntries` in this step.
|
||||
- We will explicitly set the [database schema configuration](https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Configuration/#HConfigurethenamesofdatabaseschemas) for XWiki to avoid the use of the `public` schema.
|
||||
|
||||
# Automated migrations - Overview and mandatory upgrade path
|
||||
|
||||
The following table gives an overview of the mandatory upgrade path of openDesk, required in order for the automated migrations to work as expected.
|
||||
@@ -87,7 +103,8 @@ To upgrade existing deployments, you cannot skip any version mentioned in the co
|
||||
|
||||
| Mandatory version |
|
||||
| ----------------- |
|
||||
<!--| v1.2+ | add the entry to the table as soon as we get new migration requiring the set version (range) to be deployed first -->
|
||||
<!-- | 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 |
|
||||
@@ -100,10 +117,112 @@ If you would like more details about the automated migrations, please read secti
|
||||
|
||||
# Manual checks/actions
|
||||
|
||||
## v1.6.0+
|
||||
|
||||
### Pre-upgrade to v1.6.0+
|
||||
|
||||
#### Upstream contraint: Nubus' external secrets
|
||||
|
||||
**Target group:** Operators that use external secrets for Nubus.
|
||||
|
||||
> **Note**<br>
|
||||
> External Secrets are not yet a supported feature. We are working on making it available in 2025, though it is possible to make use of the support for external secrets within single applications using the openDesk [customization](../helmfile/environments/default/customization.yaml.gotmpl) options.
|
||||
|
||||
Please ensure you read the [Nubus 1.10.0 "Migration steps" section](https://docs.software-univention.de/nubus-kubernetes-release-notes/1.x/en/changelog.html#v1-10-0-migration-steps) with focus on the paragraph "Operators that make use of the following UDM Listener secrets variables" and act accordingly.
|
||||
|
||||
#### Helmfile new secret: `secrets.minio.openxchangeUser`
|
||||
|
||||
**Target group:** All existing deployments that have OX App Suite enabled and that use externally defined secrets in combination with openDesk provided MinIO object storage.
|
||||
|
||||
For OX App Suite to access the object storage a new secret has been introduced.
|
||||
|
||||
It is declared in [`secrets.yaml.gotmpl`](../helmfile/environments/default/secrets.yaml.gotmpl) by the key: `secrets.minio.openxchangeUser`. If you define your own secrets, please ensure that you provide a value for this secret as well, otherwise the aforementioned secret will be derived from the `MASTER_PASSWORD`.
|
||||
|
||||
#### Helmfile new object storage: `objectstores.openxchange.*`
|
||||
|
||||
**Target group:** All deployments that use an external object storage.
|
||||
|
||||
For OX App Suite's newly introduced filestore you have to configure a new object storage (bucket). When you are using
|
||||
an external object storage you did this already for all the entries in
|
||||
[`objectstores.yaml.gotmpl`](../helmfile/environments/default/objectstores.yaml.gotmpl). Where we now introduced
|
||||
`objectstores.openxchange` section that you also need to provide you external configuration for.
|
||||
|
||||
#### OX App Suite fix-up: Using S3 as storage for non mail attachments (pre-upgrade)
|
||||
|
||||
**Target group:** All existing deployments that have OX App Suite enabled.
|
||||
|
||||
With openDesk 1.6.0 OX App Suite persists the attachments on contact, calendar or task objects in object storage.
|
||||
|
||||
To enable the use of this new filestore backend existing deployments must execute the following steps.
|
||||
|
||||
Preparation:
|
||||
- Ensure your `kubeconfig` is pointing to the cluster that is running your deployment.
|
||||
- Identify/create a e.g. local temporary directory that can keep the attachments while upgrading openDesk.
|
||||
- Set some environment variables to prepare running the documented commands:
|
||||
|
||||
```shell
|
||||
export ATTACHMENT_TEMP_DIR=<your_temporary_directory_for_the_attachments>
|
||||
export NAMESPACE=<your_namespace>
|
||||
```
|
||||
|
||||
1. Copy the existing attachments from all `open-xchange-core-mw-default-*` Pods to the identified directory, example for `open-xchange-core-mw-default-0`:
|
||||
```shell
|
||||
kubectl cp -n ${NAMESPACE} open-xchange-core-mw-default-0:/opt/open-xchange/ox-filestore ${ATTACHMENT_TEMP_DIR}
|
||||
```
|
||||
2. Run the upgrade.
|
||||
3. Continue with the [related post-upgrade steps](#ox-app-suite-fix-up-using-s3-as-storage-for-non-mail-attachments-post-upgrade)
|
||||
|
||||
### Post-upgrade to v1.6.0+
|
||||
|
||||
#### OX App Suite fix-up: Using S3 as storage for non mail attachments (post-upgrade)
|
||||
|
||||
**Target group:** All existing deployments having OX App Suite enabled.
|
||||
|
||||
Continued from the [related pre-upgrade section](#ox-app-suite-fix-up-using-s3-as-storage-for-non-mail-attachments-pre-upgrade).
|
||||
|
||||
1. Copy the attachments back from your temporary directory into `open-xchange-core-mw-default-0`.
|
||||
```shell
|
||||
kubectl cp -n ${NAMESPACE} ${ATTACHMENT_TEMP_DIR}/* open-xchange-core-mw-default-0:/opt/open-xchange/ox-filestore
|
||||
```
|
||||
2. Ideally you verify the files have been copied as expected checking the target directory in the `open-xchange-core-mw-default-0` Pod. All the following commands are for execution within the aforementioned Pod.
|
||||
3. Get the `id` of the new object storage based OX filestore, using the following command in the first line of the following block. In the shown example output the `id` for the new filestore would be `10` as the filestore can be identified by its path value `s3://ox-filestore-s3`, the `id` of the existing filestore would be `3` identified by the corresponding path `/opt/open-xchange/ox-filestore`:
|
||||
```shell
|
||||
/opt/open-xchange/sbin/listfilestore -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW
|
||||
id path size reserved used max-entities cur-entities
|
||||
3 /opt/open-xchange/ox-filestore 100000 200 5 5000 1
|
||||
10 s3://ox-filestore-s3 100000 0 0 5000 0
|
||||
```
|
||||
4. Get the list of your OX contexts IDs (`cid` column in the output of the `listcontext` command), as the next step needs to be executed per OX context. Most installation will just have a single OX context (`1`).
|
||||
```shell
|
||||
/opt/open-xchange/sbin/listcontext -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW
|
||||
cid fid fname enabled qmax qused name lmappings
|
||||
1 3 1_ctx_store true 5 1 1,context1
|
||||
```
|
||||
5. For each of your OX contexts IDs run the final filestore migration command and you will get output like this: `context 1 to filestore 10 scheduled as job 1`:
|
||||
```shell
|
||||
/opt/open-xchange/sbin/movecontextfilestore -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW -f <your_s3_filestore_id_from_step_3> -c <your_context_id_from_step_4>
|
||||
```
|
||||
6. Depending on the size of your filestore, moving the contexts will take some time. You can check the status of a context's jobs with the command below. When the job status is `Done` you can also doublecheck that everything worked as expected by running the `listfilestore` command from step #3 and should see that the filestore is no longer used.
|
||||
```shell
|
||||
/opt/open-xchange/sbin/jobcontrol -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW -c <your_context_id_from_step_4> -l
|
||||
ID Type of Job Status Further Information
|
||||
1 movefilestore Done move context 1 to filestore 10
|
||||
```
|
||||
7. Finally you can unregister the old filestore:
|
||||
```shell
|
||||
/opt/open-xchange/sbin/unregisterfilestore -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW -i <your_old_filestore_id_from_step_3>
|
||||
```
|
||||
|
||||
## v1.4.0+
|
||||
|
||||
### Pre-upgrade to v1.4.0+
|
||||
|
||||
#### Helmfile new feature: `functional.authentication.ssoFederation`
|
||||
|
||||
**Target group:** Deployments that make use of IdP federation as described in [`idp-federation.md`](./enhanced-configuration/idp-federation.md).
|
||||
|
||||
Please ensure to configure your IdP federation config details as part of `functional.authentication.ssoFederation`. You can find more details in the "Example configuration" section of [`idp-federation.md`](./enhanced-configuration/idp-federation.md).
|
||||
|
||||
#### Helmfile cleanup: `global.additionalMailDomains` as list
|
||||
|
||||
**Target group:** Installations that have set `global.additionalMailDomains`.
|
||||
@@ -273,7 +392,7 @@ persistence:
|
||||
|
||||
#### Helmfile new secret: `secrets.nubus.masterpassword`
|
||||
|
||||
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/secrets.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.
|
||||
|
||||
## v1.1.0+
|
||||
|
||||
@@ -680,42 +799,31 @@ kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
||||
kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0
|
||||
```
|
||||
|
||||
## v0.9.0
|
||||
|
||||
### Pre-upgrade to v0.9.0
|
||||
|
||||
#### Updated `cluster.networking.cidr`
|
||||
|
||||
- Action: `cluster.networking.cidr` is now an array (was a string until v0.8.1); please update your setup accordingly if you explicitly set this value.
|
||||
- Reference:[cluster.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/cluster.yaml)
|
||||
|
||||
#### Updated customizable template attributes
|
||||
|
||||
- Action: Please update your custom deployment values according to the updated default value structure.
|
||||
- References:
|
||||
- `functional.` prefix for `authentication.*`, `externalServices.*`, `admin.*` and `filestore.*`, see [functional.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/functional.yaml).
|
||||
- `debug.` prefix for `cleanup.*`, see [debug.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/debug.yaml).
|
||||
- `monitoring.` prefix for `prometheus.*` and `grafana.*`, see [monitoring.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/monitoring.yaml).
|
||||
- `smtp.` prefix for `localpartNoReply`, see [smtp.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/smtp.yaml).
|
||||
|
||||
#### `migrations` S3 bucket
|
||||
|
||||
- Action: For self-managed/external S3/object storages, please create a bucket called `migrations` using your S3 endpoint.
|
||||
- Reference: `objectstores.migrations` in [objectstores.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/objectstores.yaml)
|
||||
|
||||
# Automated migrations - Details
|
||||
|
||||
## v1.6.0+ (automated)
|
||||
|
||||
> **Note**<br>
|
||||
> Details can be found in [run_5.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_5.py).
|
||||
|
||||
### v1.6.0+ migrations-post
|
||||
|
||||
Restarting the StatefulSets `ums-provisioning-nats` and `ox-connector` due to a workaround applied on the NATS secrets, see the "Notes" segment of the ["Password seed" heading in getting-started.md](./docs/getting-started.md#password-seed)
|
||||
|
||||
> **Note**<br>
|
||||
> This change aims to prevent authentication failures with NATS in some Pods, which can lead to errors such as: `wait-for-nats Unavailable, waiting 2 seconds. Error: nats: 'Authorization Violation'`.
|
||||
|
||||
## v1.2.0+ (automated)
|
||||
|
||||
> **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).
|
||||
|
||||
### migrations-pre
|
||||
### v1.2.0+ migrations-pre
|
||||
|
||||
- Delete PVC `group-membership-cache-ums-portal-consumer-0`: With the upgrade the Nubus Portal Consumer no longer requires to be executed with root privileges. The PVC contains files that require root permission to access them, therefore the PVC gets deleted (and re-created) during the upgrade.
|
||||
- Delete StatefulSet `ums-portal-consumer`: A bug was fixed in the templating of the Portal Consumer's PVC causing the values in `persistence.storages.nubusPortalConsumer.*` to be ignored. As these values are immutable, we had to delete the whole StatefulSet.
|
||||
|
||||
### migrations-post
|
||||
### v1.2.0+ migrations-post
|
||||
|
||||
- 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.
|
||||
|
||||
|
||||
@@ -29,14 +29,14 @@ openDesk is a Kubernetes-only solution and requires an existing Kubernetes (K8s)
|
||||
- K8s cluster >= v1.24, [CNCF Certified Kubernetes distribution](https://www.cncf.io/certification/software-conformance/)
|
||||
- Domain and DNS Service
|
||||
- Ingress controller (Ingress NGINX) >= [4.11.5/1.11.5](https://github.com/kubernetes/ingress-nginx/releases)
|
||||
- [Helm](https://helm.sh/) >= v3.17.3
|
||||
- [Helm](https://helm.sh/) >= v3.17.3, but not v3.18.0[^1]
|
||||
- [Helmfile](https://helmfile.readthedocs.io/en/latest/) >= v1.0.0
|
||||
- [HelmDiff](https://github.com/databus23/helm-diff) >= v3.11.0
|
||||
- Volume provisioner supporting RWO (read-write-once)[^1]
|
||||
- Volume provisioner supporting RWO (read-write-once)[^2]
|
||||
- Certificate handling with [cert-manager](https://cert-manager.io/)
|
||||
|
||||
**Additional openDesk Enterprise requirements**
|
||||
- [OpenKruise](https://openkruise.io/)[^2] >= v1.6
|
||||
- [OpenKruise](https://openkruise.io/)[^3] >= v1.6
|
||||
|
||||
# Hardware
|
||||
|
||||
@@ -117,7 +117,7 @@ deployments, you need to make use of your own production-grade services; see the
|
||||
|----------|---------------------|---------|-----------------------|
|
||||
| Cache | Memcached | `1.6.x` | Memcached |
|
||||
| | Redis | `7.x.x` | Redis |
|
||||
| Database | Cassandra[^2] | `5.0.x` | Cassandra |
|
||||
| Database | Cassandra[^3] | `5.0.x` | Cassandra |
|
||||
| | MariaDB | `10.x` | MariaDB |
|
||||
| | PostgreSQL | `15.x` | PostgreSQL |
|
||||
| Mail | Mail Transfer Agent | | Postfix |
|
||||
@@ -137,6 +137,8 @@ Helmfile requires [HelmDiff](https://github.com/databus23/helm-diff) to compare
|
||||
|
||||
# Footnotes
|
||||
|
||||
[^1]: Due to [restrictions on Kubernetes `emptyDir`](https://github.com/kubernetes/kubernetes/pull/130277) you need a volume provisioner that has sticky bit support, otherwise the OpenProject seeder job will fail.
|
||||
[^1]: Due to a [Helm bug](https://github.com/helm/helm/issues/30890) Helm 3.18.0 is not supported.
|
||||
|
||||
[^2]: Required for Dovecot Pro as part of openDesk Enterprise Edition.
|
||||
[^2]: Due to [restrictions on Kubernetes `emptyDir`](https://github.com/kubernetes/kubernetes/pull/130277) you need a volume provisioner that has sticky bit support, otherwise the OpenProject seeder job will fail.
|
||||
|
||||
[^3]: Required for Dovecot Pro as part of openDesk Enterprise Edition.
|
||||
|
||||
@@ -182,9 +182,9 @@ This list gives you an overview of templated security settings and if they compl
|
||||
| **nubus**/ums/nubusGuardian/managementApi | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusGuardian/managementUi | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusGuardian/openPolicyAgent | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusKeycloakBootstrap | :x: | no | n/a | no | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusKeycloakBootstrap | :x: | no | n/a | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusKeycloakExtensions/handler | :x: | n/a | n/a | n/a | n/a | n/a | n/a | yes | no |
|
||||
| **nubus**/ums/nubusKeycloakExtensions/proxy | :x: | n/a | n/a | n/a | n/a | n/a | n/a | yes | no |
|
||||
| **nubus**/ums/nubusKeycloakExtensions/proxy | :x: | no | n/a | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusLdapNotifier | :x: | no | n/a | yes | yes | 101 | 102 | yes | yes |
|
||||
| **nubus**/ums/nubusNotificationsApi | :x: | no | n/a | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusPortalConsumer | :x: | n/a | n/a | n/a | n/a | n/a | n/a | yes | no |
|
||||
|
||||
@@ -20,6 +20,11 @@ Please review the default configuration that is applied to understand your custo
|
||||
|
||||
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.
|
||||
|
||||
> **Note**<br>
|
||||
> Theming focuses on colors, iconography and imagery. If you like to adapt the default links in the portal pointing to external
|
||||
> resources (like "Support", "Legal Notice") please check the `functional.portal` section
|
||||
> in [`functional.yaml.gotmpl`](../helmfile/environments/default/functional.yaml.gotmpl)
|
||||
|
||||
# Known limitations
|
||||
|
||||
- Portal and Keycloak screen styles, especially colors, must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css),
|
||||
|
||||
@@ -17,6 +17,13 @@ ingress:
|
||||
tls:
|
||||
enabled: "{{ .Values.ingress.tls.enabled }}"
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.notes }}"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.notes }}"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.notes }}"
|
||||
nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.notes }}"
|
||||
nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.notes }}s"
|
||||
nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.notes }}s"
|
||||
|
||||
ingressCollaborationWS:
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
@@ -27,12 +34,12 @@ ingressCollaborationWS:
|
||||
enabled: "{{ .Values.ingress.tls.enabled }}"
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/auth-response-headers: "Authorization, X-Can-Edit, X-User-Id"
|
||||
nginx.ingress.kubernetes.io/auth-url: https://{{ .Values.global.hosts.notes }}.{{ .Values.global.domain }}/api/v1.0/documents/collaboration-auth/
|
||||
nginx.ingress.kubernetes.io/enable-websocket: "true"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "86400"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "86400"
|
||||
nginx.ingress.kubernetes.io/upstream-hash-by: $arg_room
|
||||
nginx.ingress.kubernetes.io/auth-response-headers: null
|
||||
nginx.ingress.kubernetes.io/auth-url: null
|
||||
{{- with .Values.annotations.notes.ingressCollaborationWS }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
@@ -90,9 +97,6 @@ frontend:
|
||||
tag: {{ .Values.images.notesFrontend.tag }}
|
||||
envVars:
|
||||
PORT: 8080
|
||||
NEXT_PUBLIC_API_ORIGIN: {{ printf "https://%s.%s" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
NEXT_PUBLIC_Y_PROVIDER_URL: {{ printf "wss://%s.%s/ws" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
NEXT_PUBLIC_MEDIA_URL: {{ printf "https://%s" (.Values.objectstores.notes.endpoint | default (printf "%s.%s" .Values.global.hosts.minioApi .Values.global.domain)) | quote }}
|
||||
runtimeEnvs:
|
||||
ICS_BASE_URL: {{ printf "https://%s.%s" .Values.global.hosts.intercomService .Values.global.domain | quote }}
|
||||
PORTAL_BASE_URL: {{ printf "https://%s.%s" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
||||
@@ -144,6 +148,7 @@ yProvider:
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.notesBackend | toYaml | nindent 6 }}
|
||||
envVars:
|
||||
COLLABORATION_BACKEND_BASE_URL: {{ printf "https://%s.%s" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
COLLABORATION_LOGGING: {{ if .Values.debug.enabled }}"true"{{ else }}"false"{{ end }}
|
||||
COLLABORATION_SERVER_ORIGIN: {{ printf "https://%s.%s" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
COLLABORATION_SERVER_SECRET: {{ .Values.secrets.notes.collaborationSecret | quote }}
|
||||
@@ -214,8 +219,8 @@ backend:
|
||||
OIDC_OP_LOGOUT_ENDPOINT: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}/protocol/openid-connect/logout"
|
||||
OIDC_RP_SIGN_ALGO: RS256
|
||||
OIDC_RP_SCOPES: "openid opendesk-notes-scope"
|
||||
USER_OIDC_FIELD_TO_SHORTNAME: "given_name"
|
||||
USER_OIDC_FIELDS_TO_FULLNAME: "given_name,family_name"
|
||||
OIDC_USERINFO_SHORTNAME_FIELD: "given_name"
|
||||
OIDC_USERINFO_FULLNAME_FIELDS: "given_name,family_name"
|
||||
USER_OIDC_ESSENTIAL_CLAIMS: "email"
|
||||
OIDC_REDIRECT_ALLOWED_HOSTS: {{ printf "https://%s.%s/*" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
OIDC_AUTH_REQUEST_EXTRA_PARAMS: "{}"
|
||||
@@ -232,6 +237,8 @@ backend:
|
||||
COLLABORATION_SERVER_ORIGIN: {{ printf "https://%s.%s" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
COLLABORATION_SERVER_SECRET: {{ .Values.secrets.notes.collaborationSecret | quote }}
|
||||
COLLABORATION_WS_URL: {{ printf "wss://%s.%s/collaboration/ws/" .Values.global.hosts.notes .Values.global.domain | quote }}
|
||||
FRONTEND_HOMEPAGE_FEATURE_ENABLED: False
|
||||
FRONTEND_FOOTER_FEATURE_ENABLED: False
|
||||
migrate:
|
||||
command:
|
||||
- "/bin/sh"
|
||||
|
||||
235
helmfile/apps/nubus/values-nubus-guardian.yaml.gotmpl
Normal file
@@ -0,0 +1,235 @@
|
||||
{{/*
|
||||
SPDX-FileCopyrightText: 2024-2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
#
|
||||
# This file is currently optional for customizing purposes only. It will be a mandatory part of Nubus in a later release.
|
||||
#
|
||||
nubusGuardian:
|
||||
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:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianAuthorizationApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianAuthorizationApi.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianAuthorizationApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-guardian-authorization-api"
|
||||
{{- with .Values.annotations.nubusGuardian.authorizationApiPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: "Always"
|
||||
replicaCount: {{ .Values.replicas.umsGuardianAuthorizationApi }}
|
||||
resources:
|
||||
{{ .Values.resources.umsGuardianAuthorizationApi | toYaml | nindent 6 }}
|
||||
global:
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusGuardian.globalPod | toYaml | nindent 6 }}
|
||||
ingress:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressIngress | toYaml | nindent 6 }}
|
||||
certManager:
|
||||
enabled: false
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
items:
|
||||
- name: management-ui
|
||||
host: ""
|
||||
# -- Define the Ingress paths.
|
||||
paths:
|
||||
- path: /univention/guardian/management-ui
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: guardian-management-ui
|
||||
port:
|
||||
number: 80
|
||||
ingressClassName: ""
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressManagementUi | toYaml | nindent 10 }}
|
||||
tls:
|
||||
# enabled: true
|
||||
secretName: ""
|
||||
- name: management-api
|
||||
host: ""
|
||||
paths:
|
||||
- path: /guardian/management
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: guardian-management-api
|
||||
port:
|
||||
number: 80
|
||||
ingressClassName: ""
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressManagementApi | toYaml | nindent 10 }}
|
||||
tls:
|
||||
# enabled: true
|
||||
secretName: ""
|
||||
- name: authorization-api
|
||||
host: ""
|
||||
paths:
|
||||
- path: /guardian/authorization
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: guardian-authorization-api
|
||||
port:
|
||||
number: 80
|
||||
ingressClassName: ""
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressAuthorizationApi | toYaml | nindent 10 }}
|
||||
tls:
|
||||
# enabled: true
|
||||
secretName: ""
|
||||
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:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianManagementApi.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianManagementApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-guardian-management-api"
|
||||
{{- with .Values.annotations.nubusGuardian.managementApiPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: "Always"
|
||||
replicaCount: {{ .Values.replicas.umsGuardianManagementApi }}
|
||||
resources:
|
||||
{{ .Values.resources.umsGuardianManagementApi | toYaml | nindent 6 }}
|
||||
managementUi:
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.umsGuardianManagementUi | toYaml | nindent 8 }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementUi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianManagementUi.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianManagementUi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-guardian-management-ui"
|
||||
{{- with .Values.annotations.nubusGuardian.managementUiPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
replicaCount: {{ .Values.replicas.umsGuardianManagementUi }}
|
||||
resources:
|
||||
{{ .Values.resources.umsGuardianManagementUi | toYaml | nindent 6 }}
|
||||
openPolicyAgent:
|
||||
containerSecurityContext:
|
||||
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 }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpenPolicyAgent.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOpenPolicyAgent.repository }}
|
||||
tag: {{ .Values.images.nubusOpenPolicyAgent.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: "Always"
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-ums-open-policy-agent"
|
||||
replicaCount: {{ .Values.replicas.umsGuardianOpenPolicyAgent }}
|
||||
resources:
|
||||
{{ .Values.resources.umsOpenPolicyAgent | toYaml | nindent 6 }}
|
||||
postgresql:
|
||||
connection:
|
||||
host: {{ .Values.databases.umsGuardianManagementApi.host | quote }}
|
||||
port: {{ .Values.databases.umsGuardianManagementApi.port | quote }}
|
||||
auth:
|
||||
username: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
|
||||
database: {{ .Values.databases.umsGuardianManagementApi.name | quote }}
|
||||
existingSecret:
|
||||
name: "ums-guardian-postgresql-opendesk-credentials"
|
||||
keyMapping:
|
||||
password: "guardianDatabasePassword"
|
||||
provisioning:
|
||||
enabled: false
|
||||
config:
|
||||
nubusBaseUrl: {{ printf "https://%s.%s" .Values.global.hosts.nubus .Values.global.domain }}
|
||||
keycloak:
|
||||
credentialSecret:
|
||||
name: "ums-opendesk-keycloak-credentials"
|
||||
key: "admin_password"
|
||||
realm: {{ .Values.platform.realm | quote }}
|
||||
username: "kcadmin"
|
||||
keycloak:
|
||||
auth:
|
||||
existingSecret:
|
||||
name: "ums-opendesk-guardian-client-secret"
|
||||
keyMapping:
|
||||
password: "managementApiClientSecret"
|
||||
connection:
|
||||
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||
baseUrl: "http://ums-keycloak:8080"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianProvisioning.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianProvisioning.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianProvisioning.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.serviceAccount | toYaml | nindent 6 }}
|
||||
---
|
||||
@@ -1,5 +1,5 @@
|
||||
{{/*
|
||||
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-FileCopyrightText: 2024-2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
@@ -10,15 +10,14 @@ global:
|
||||
certManagerIssuer: {{ .Values.certificate.issuerRef.name | quote }}
|
||||
domain: {{ .Values.global.domain | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingressClass: {{ .Values.ingress.ingressClassName | default "nginx" | quote }}
|
||||
keycloak:
|
||||
realm: {{ .Values.platform.realm | quote }}
|
||||
ldap:
|
||||
baseDn: {{ .Values.ldap.baseDn | quote }}
|
||||
domainName: {{ .Values.global.domain | quote }}
|
||||
auth:
|
||||
cnAdmin:
|
||||
password: {{ .Values.secrets.nubus.ldapSecret | quote }}
|
||||
nubusDeployment: true
|
||||
secrets:
|
||||
masterPassword: {{ .Values.secrets.nubus.masterpassword | quote }}
|
||||
@@ -28,35 +27,31 @@ global:
|
||||
|
||||
# -- Extensions to load. Add entries to load additional extensions into Nubus.
|
||||
extensions:
|
||||
- name: "ox"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOxExtension.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOxExtension.repository }}
|
||||
tag: {{ .Values.images.nubusOxExtension.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||
- name: "opendesk"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpendeskExtension.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOpendeskExtension.repository }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||
tag: {{ .Values.images.nubusOpendeskExtension.tag }}
|
||||
- name: "opendesk-a2g-mapper"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpendeskExtensionA2gMapper.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOpendeskExtensionA2gMapper.repository }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||
tag: {{ .Values.images.nubusOpendeskExtensionA2gMapper.tag }}
|
||||
|
||||
# -- Allows to configure the system extensions to load. This is intended for
|
||||
# internal usage, prefer to use `global.extensions` for user configured
|
||||
# extensions.
|
||||
systemExtensions:
|
||||
- name: "ox"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOxExtension.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOxExtension.repository }}
|
||||
tag: {{ .Values.images.nubusOxExtension.tag }}
|
||||
- name: "opendesk"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpendeskExtension.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOpendeskExtension.repository }}
|
||||
tag: {{ .Values.images.nubusOpendeskExtension.tag }}
|
||||
- name: "portal"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalExtension.registry | quote }}
|
||||
repository: {{ .Values.images.nubusPortalExtension.repository }}
|
||||
tag: {{ .Values.images.nubusPortalExtension.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||
configUcr:
|
||||
directory:
|
||||
manager:
|
||||
@@ -138,10 +133,6 @@ ingress:
|
||||
{{- with .Values.annotations.nubus.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
# temporary fix
|
||||
{{- if not .Values.apps.minio.enabled }}
|
||||
enabled: false
|
||||
{{- end }}
|
||||
certManager:
|
||||
enabled: false
|
||||
tls:
|
||||
@@ -185,14 +176,16 @@ keycloak:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloak.registry | quote }}
|
||||
repository: {{ .Values.images.nubusKeycloak.repository }}
|
||||
tag: {{ .Values.images.nubusKeycloak.tag }}
|
||||
# NOTE: The subchart "keycloak" does not yet support
|
||||
# "global.imagePullPolicy". The local configuration can be removed once it
|
||||
# does have this feature.
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
enabled: false
|
||||
keycloak:
|
||||
auth:
|
||||
username: "kcadmin"
|
||||
# TODO: Pending secrets refactoring to be able to provide the value directly
|
||||
existingSecret:
|
||||
name: "ums-opendesk-keycloak-credentials"
|
||||
keyMapping:
|
||||
@@ -200,9 +193,13 @@ keycloak:
|
||||
login:
|
||||
messages:
|
||||
de:
|
||||
loginTitle: "Anmeldung bei opendesk"
|
||||
loginTitle: "Anmeldung bei {{ .Values.theme.texts.productName }}"
|
||||
en:
|
||||
loginTitle: "Sign in to opendesk"
|
||||
loginTitle: "Sign in to {{ .Values.theme.texts.productName }}"
|
||||
features:
|
||||
enabled:
|
||||
- "admin-fine-grained-authz:v1"
|
||||
- "token-exchange"
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-keycloak"
|
||||
{{- with .Values.annotations.nubusKeycloak.pod }}
|
||||
@@ -215,6 +212,7 @@ keycloak:
|
||||
auth:
|
||||
username: {{ .Values.databases.keycloak.username | quote }}
|
||||
database: {{ .Values.databases.keycloak.name | quote }}
|
||||
# TODO: Pending secrets refactoring to be able to provide the value directly
|
||||
existingSecret:
|
||||
name: "ums-keycloak-postgresql-opendesk-credentials"
|
||||
keyMapping:
|
||||
@@ -261,231 +259,7 @@ keycloak:
|
||||
{{- end }}
|
||||
|
||||
nubusGuardian:
|
||||
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:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianAuthorizationApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianAuthorizationApi.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianAuthorizationApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-guardian-authorization-api"
|
||||
{{- with .Values.annotations.nubusGuardian.authorizationApiPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: "Always"
|
||||
replicaCount: {{ .Values.replicas.umsGuardianAuthorizationApi }}
|
||||
resources:
|
||||
{{ .Values.resources.umsGuardianAuthorizationApi | toYaml | nindent 6 }}
|
||||
global:
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusGuardian.globalPod | toYaml | nindent 6 }}
|
||||
ingress:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressIngress | toYaml | nindent 6 }}
|
||||
certManager:
|
||||
enabled: false
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
items:
|
||||
- name: management-ui
|
||||
host: ""
|
||||
# -- Define the Ingress paths.
|
||||
paths:
|
||||
- path: /univention/guardian/management-ui
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: guardian-management-ui
|
||||
port:
|
||||
number: 80
|
||||
ingressClassName: ""
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressManagementUi | toYaml | nindent 10 }}
|
||||
tls:
|
||||
# enabled: true
|
||||
secretName: ""
|
||||
- name: management-api
|
||||
host: ""
|
||||
paths:
|
||||
- path: /guardian/management
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: guardian-management-api
|
||||
port:
|
||||
number: 80
|
||||
ingressClassName: ""
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressManagementApi | toYaml | nindent 10 }}
|
||||
tls:
|
||||
# enabled: true
|
||||
secretName: ""
|
||||
- name: authorization-api
|
||||
host: ""
|
||||
paths:
|
||||
- path: /guardian/authorization
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: guardian-authorization-api
|
||||
port:
|
||||
number: 80
|
||||
ingressClassName: ""
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.ingressAuthorizationApi | toYaml | nindent 10 }}
|
||||
tls:
|
||||
# enabled: true
|
||||
secretName: ""
|
||||
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:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianManagementApi.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianManagementApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-guardian-management-api"
|
||||
{{- with .Values.annotations.nubusGuardian.managementApiPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: "Always"
|
||||
replicaCount: {{ .Values.replicas.umsGuardianManagementApi }}
|
||||
resources:
|
||||
{{ .Values.resources.umsGuardianManagementApi | toYaml | nindent 6 }}
|
||||
managementUi:
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.umsGuardianManagementUi | toYaml | nindent 8 }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementUi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianManagementUi.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianManagementUi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-guardian-management-ui"
|
||||
{{- with .Values.annotations.nubusGuardian.managementUiPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
replicaCount: {{ .Values.replicas.umsGuardianManagementUi }}
|
||||
resources:
|
||||
{{ .Values.resources.umsGuardianManagementUi | toYaml | nindent 6 }}
|
||||
openPolicyAgent:
|
||||
containerSecurityContext:
|
||||
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 }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpenPolicyAgent.registry | quote }}
|
||||
repository: {{ .Values.images.nubusOpenPolicyAgent.repository }}
|
||||
tag: {{ .Values.images.nubusOpenPolicyAgent.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
fsGroupChangePolicy: "Always"
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-ums-open-policy-agent"
|
||||
replicaCount: {{ .Values.replicas.umsGuardianOpenPolicyAgent }}
|
||||
resources:
|
||||
{{ .Values.resources.umsOpenPolicyAgent | toYaml | nindent 6 }}
|
||||
postgresql:
|
||||
connection:
|
||||
host: {{ .Values.databases.umsGuardianManagementApi.host | quote }}
|
||||
port: {{ .Values.databases.umsGuardianManagementApi.port | quote }}
|
||||
auth:
|
||||
username: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
|
||||
database: {{ .Values.databases.umsGuardianManagementApi.name | quote }}
|
||||
existingSecret:
|
||||
name: "ums-guardian-postgresql-opendesk-credentials"
|
||||
keyMapping:
|
||||
password: "guardianDatabasePassword"
|
||||
provisioning:
|
||||
enabled: false
|
||||
config:
|
||||
nubusBaseUrl: {{ printf "https://%s.%s" .Values.global.hosts.nubus .Values.global.domain }}
|
||||
keycloak:
|
||||
credentialSecret:
|
||||
name: "ums-opendesk-keycloak-credentials"
|
||||
key: "admin_password"
|
||||
realm: {{ .Values.platform.realm | quote }}
|
||||
username: "kcadmin"
|
||||
keycloak:
|
||||
auth:
|
||||
existingSecret:
|
||||
name: "ums-opendesk-guardian-client-secret"
|
||||
keyMapping:
|
||||
password: "managementApiClientSecret"
|
||||
connection:
|
||||
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||
baseUrl: "http://ums-keycloak:8080"
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianProvisioning.registry | quote }}
|
||||
repository: {{ .Values.images.nubusGuardianProvisioning.repository }}
|
||||
tag: {{ .Values.images.nubusGuardianProvisioning.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusGuardian.serviceAccount | toYaml | nindent 6 }}
|
||||
|
||||
nubusNotificationsApi:
|
||||
enabled: false
|
||||
@@ -512,9 +286,6 @@ nubusNotificationsApi:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusNotificationsApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusNotificationsApi.repository }}
|
||||
tag: {{ .Values.images.nubusNotificationsApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/$2$3"
|
||||
@@ -539,8 +310,12 @@ nubusNotificationsApi:
|
||||
auth:
|
||||
username: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
||||
database: {{ .Values.databases.umsNotificationsApi.name | quote }}
|
||||
password: {{ .Values.databases.umsNotificationsApi.password | default .Values.secrets.postgresql.umsNotificationsApiUser | quote }}
|
||||
# NOTE: Nubus has still an existing secret configured for legacy reasons.
|
||||
# This disables the existing secret and ensures that the value from above
|
||||
# is used.
|
||||
existingSecret:
|
||||
name: "ums-notifications-api-postgresql-opendesk-credentials"
|
||||
name: null
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusNotificationsApi.service | toYaml | nindent 6 }}
|
||||
@@ -576,9 +351,6 @@ nubusPortalFrontend:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalFrontend.registry | quote }}
|
||||
repository: {{ .Values.images.nubusPortalFrontend.repository }}
|
||||
tag: {{ .Values.images.nubusPortalFrontend.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusPortalFrontend.ingressIngress | toYaml | nindent 6 }}
|
||||
@@ -637,8 +409,12 @@ nubusPortalFrontend:
|
||||
portalFrontend:
|
||||
branding:
|
||||
css: {{ .Values.theme.styles.portal.main | toJson }}
|
||||
# Requires .ico, .svg does not work.
|
||||
favicon: {{ .Values.theme.imagery.portal.faviconIco | toJson }}
|
||||
faviconSvg: {{ .Values.theme.imagery.portal.faviconSvg | toJson }}
|
||||
favicon96Png: {{ .Values.theme.imagery.portal.favicon96Png | toJson }}
|
||||
appleTouchIcon: {{ .Values.theme.imagery.portal.appleTouchIcon | toJson }}
|
||||
webManifestIcon192: {{ .Values.theme.imagery.portal.webManifestIcon192 | toJson }}
|
||||
webManifestIcon512: {{ .Values.theme.imagery.portal.webManifestIcon512 | toJson }}
|
||||
# The actual `logo` is set in customizing image, the logo down here is for waiting spinner.
|
||||
logo: {{ .Values.theme.imagery.portal.waitingSpinnerSvg | toJson }}
|
||||
backgroundImage: {{ .Values.theme.imagery.portal.backgroundSvg | toJson }}
|
||||
@@ -658,6 +434,8 @@ nubusKeycloakExtensions:
|
||||
keycloak:
|
||||
auth:
|
||||
username: "kcadmin"
|
||||
# TODO: Pending secrets refactoring in component chart. This will refer to
|
||||
# the secret generated by the keycloak subchart.
|
||||
existingSecret:
|
||||
name: "ums-opendesk-keycloak-credentials"
|
||||
keyMapping:
|
||||
@@ -669,7 +447,11 @@ nubusKeycloakExtensions:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakExtensionProxy.registry | quote }}
|
||||
repository: {{ .Values.images.nubusKeycloakExtensionProxy.repository }}
|
||||
tag: {{ .Values.images.nubusKeycloakExtensionProxy.tag }}
|
||||
# NOTE: The subchart "keycloak-extensions" does not yet support
|
||||
# "global.imagePullPolicy".
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
# NOTE: Remove once the keycloak-extensions subchart respects
|
||||
# "global.imagePullSecrets".
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
ingress:
|
||||
@@ -706,6 +488,17 @@ nubusKeycloakExtensions:
|
||||
resources:
|
||||
{{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 6 }}
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- "ALL"
|
||||
enabled: true
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
seccompProfile:
|
||||
type: "RuntimeDefault"
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
seccompProfile:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
@@ -724,6 +517,7 @@ nubusKeycloakExtensions:
|
||||
auth:
|
||||
database: {{ .Values.databases.keycloakExtension.name | quote }}
|
||||
username: {{ .Values.databases.keycloakExtension.username | quote }}
|
||||
# TODO: Pending secrets refactoring for this component chart
|
||||
existingSecret:
|
||||
name: "ums-keycloak-extensions-postgresql-opendesk-credentials"
|
||||
keyMapping:
|
||||
@@ -737,6 +531,7 @@ nubusKeycloakExtensions:
|
||||
auth:
|
||||
enabled: true
|
||||
username: {{ printf "%s@%s" "opendesk-system" ( .Values.global.mailDomain | default .Values.global.domain ) }}
|
||||
# TODO: Pending secrets refactoring in the component chart
|
||||
password: {{ .Values.secrets.postfix.opendeskSystemPassword | quote }}
|
||||
existingSecret:
|
||||
name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
||||
@@ -754,7 +549,11 @@ nubusKeycloakExtensions:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakExtensionHandler.registry | quote }}
|
||||
repository: {{ .Values.images.nubusKeycloakExtensionHandler.repository }}
|
||||
tag: {{ .Values.images.nubusKeycloakExtensionHandler.tag }}
|
||||
# NOTE: The subchart "keycloak-extensions" does not yet support
|
||||
# "global.imagePullPolicy".
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
# NOTE: Remove once the keycloak-extensions subchart respects
|
||||
# "global.imagePullSecrets".
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
@@ -777,9 +576,6 @@ nubusKeycloakExtensions:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusKeycloakExtensions.handlerServiceAccount | toYaml | nindent 8 }}
|
||||
|
||||
nubusPortalListener:
|
||||
enabled: false
|
||||
|
||||
nubusPortalConsumer:
|
||||
enabled: true
|
||||
portalConsumer:
|
||||
@@ -787,24 +583,12 @@ nubusPortalConsumer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalConsumer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusPortalConsumer.repository }}
|
||||
tag: {{ .Values.images.nubusPortalConsumer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
pullSecrets:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . | quote }}
|
||||
{{- end }}
|
||||
assetsBaseUrl: {{ printf "https://%s.%s/univention/portal" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
||||
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"INFO"{{ end }}
|
||||
objectStorage:
|
||||
auth:
|
||||
accessKeyId: {{ .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 }}
|
||||
existingSecret:
|
||||
name: "{{ .Release.Name }}-portal-consumer-minio-credentials"
|
||||
keyMapping:
|
||||
accessKey: "accessKey"
|
||||
secretKey: "secretKey"
|
||||
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 }}
|
||||
persistence:
|
||||
@@ -835,7 +619,6 @@ nubusPortalConsumer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
{{- if .Values.certificate.selfSigned }}
|
||||
extraVolumeMounts:
|
||||
- name: "trusted-cert-secret-volume"
|
||||
@@ -894,9 +677,6 @@ nubusPortalServer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalServer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusPortalServer.repository }}
|
||||
tag: {{ .Values.images.nubusPortalServer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/$2$3"
|
||||
@@ -904,7 +684,6 @@ nubusPortalServer:
|
||||
{{- with .Values.annotations.nubusPortalServer.ingress }}
|
||||
{{ . | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
|
||||
certManager:
|
||||
enabled: false
|
||||
tls:
|
||||
@@ -922,19 +701,31 @@ nubusPortalServer:
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusPortalServer.pod | toYaml | nindent 4 }}
|
||||
portalServer:
|
||||
centralNavigation:
|
||||
enabled: true
|
||||
auth:
|
||||
sharedSecret: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||
featureToggles:
|
||||
notifications_api: false
|
||||
centered_layout: true
|
||||
newsfeed: {{ and .Values.apps.xwiki.enabled .Values.functional.portal.newsfeed.enabled }}
|
||||
umc_session_refresh: true
|
||||
welcome_message: {{ .Values.functional.portal.welcomeMessage.enabled }}
|
||||
newsfeed:
|
||||
feedType: "xwiki"
|
||||
feedUrl:
|
||||
en_US: {{ printf "https://%s.%s/wiki/bin/get/Blog/BlogRss?xpage=plain&blog=openDesk.Newsfeed.WebHome" .Values.global.hosts.intercomService .Values.global.domain }}
|
||||
de_DE: {{ printf "https://%s.%s/wiki/bin/get/Blog/BlogRss?xpage=plain&blog=openDesk.Newsfeed.WebHome" .Values.global.hosts.intercomService .Values.global.domain }}
|
||||
homeUrl:
|
||||
en_US: {{ printf "https://%s.%s/bin/view/openDesk/Newsfeed/" .Values.global.hosts.xwiki .Values.global.domain }}
|
||||
de_DE: {{ printf "https://%s.%s/bin/view/openDesk/Newsfeed/" .Values.global.hosts.xwiki .Values.global.domain }}
|
||||
icsSilentLoginUrl: {{ printf "https://%s.%s/silent" .Values.global.hosts.intercomService .Values.global.domain }}
|
||||
objectStorageEndpoint: {{ printf "https://%s" (.Values.objectstores.nubus.endpoint | default (printf "%s.%s" .Values.global.hosts.minioApi .Values.global.domain)) | quote }}
|
||||
objectStorageBucket: {{ .Values.objectstores.nubus.bucket | quote }}
|
||||
objectStorageCredentialSecret:
|
||||
name: "ums-portal-server-minio-opendesk-credentials"
|
||||
accessKeyKey: "access-key-id"
|
||||
secretKeyKey: "secret-key-id"
|
||||
portalServer:
|
||||
centralNavigation:
|
||||
enabled: true
|
||||
existingSecret:
|
||||
name: "ums-opendesk-portal-server-central-navigation"
|
||||
featureToggles:
|
||||
notifications_api: false
|
||||
replicaCount: {{ .Values.replicas.umsPortalServer }}
|
||||
resources:
|
||||
{{ .Values.resources.umsPortalServer | toYaml | nindent 4 }}
|
||||
@@ -994,8 +785,6 @@ nubusUdmRestApi:
|
||||
runAsNonRoot: true
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.umsUdmRestApi | toYaml | nindent 6 }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
enabled: {{ .Values.functional.externalServices.nubus.udmRestApi.enabled }}
|
||||
annotations:
|
||||
@@ -1014,6 +803,23 @@ nubusUdmRestApi:
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
initResources:
|
||||
{{ .Values.resources.umsUdmRestApiInit | toYaml | nindent 4 }}
|
||||
waitForDependency:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||
blocklistCleanup:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusBlocklistCleanup.registry | quote }}
|
||||
repository: {{ .Values.images.nubusBlocklistCleanup.repository }}
|
||||
tag: {{ .Values.images.nubusBlocklistCleanup.tag }}
|
||||
ldapUpdateUniventionObjectIdentifier:
|
||||
enabled: true
|
||||
suspend: false
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapUpdateUniventionObjectIdentifier.registry | quote }}
|
||||
repository: {{ .Values.images.nubusLdapUpdateUniventionObjectIdentifier.repository }}
|
||||
tag: {{ .Values.images.nubusLdapUpdateUniventionObjectIdentifier.tag }}
|
||||
persistence:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusUdmRestApi.persistence | toYaml | nindent 6 }}
|
||||
@@ -1036,7 +842,6 @@ nubusUdmRestApi:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusUdmRestApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusUdmRestApi.repository }}
|
||||
tag: {{ .Values.images.nubusUdmRestApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
nubusLdapNotifier:
|
||||
additionalAnnotations:
|
||||
@@ -1059,9 +864,6 @@ nubusLdapNotifier:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapNotifier.registry | quote }}
|
||||
repository: {{ .Values.images.nubusLdapNotifier.repository }}
|
||||
tag: {{ .Values.images.nubusLdapNotifier.tag }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-ldap-notifier"
|
||||
{{- with .Values.annotations.nubusLdapNotifier.pod }}
|
||||
@@ -1080,10 +882,6 @@ serviceAccount:
|
||||
nubusLdapServer:
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.nubusLdapServer.additional | toYaml | nindent 4 }}
|
||||
global:
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
additionalAnnotations:
|
||||
intents.otterize.com/service-name: "ums-ldap-server"
|
||||
dhInitcontainer:
|
||||
@@ -1091,20 +889,19 @@ nubusLdapServer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapServerDhInitContainer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusLdapServerDhInitContainer.repository }}
|
||||
tag: {{ .Values.images.nubusLdapServerDhInitContainer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
initResources: {{ .Values.resources.umsLdapServer | toYaml | nindent 4 }}
|
||||
ldapServer:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapServer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusLdapServer.repository }}
|
||||
tag: {{ .Values.images.nubusLdapServer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
auth:
|
||||
password: {{ .Values.secrets.nubus.ldapSecret | quote }}
|
||||
leaderElector:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapServerLeaderElector.registry | quote }}
|
||||
repository: {{ .Values.images.nubusLdapServerLeaderElector.repository }}
|
||||
tag: {{ .Values.images.nubusLdapServerLeaderElector.tag }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.nubusLdapServerData.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.nubusLdapServerData.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
@@ -1128,7 +925,6 @@ nubusLdapServer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
nubusProvisioning:
|
||||
enabled: true
|
||||
@@ -1141,14 +937,16 @@ nubusProvisioning:
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
auth:
|
||||
adminPassword: {{ .Values.secrets.nubus.provisioning.api.adminPassword | quote }}
|
||||
prefillPassword: {{ .Values.secrets.nubus.provisioning.api.prefillPassword | quote}}
|
||||
udmTransformerPassword: {{ .Values.secrets.nubus.provisioning.api.udmTransformerPassword | quote}}
|
||||
admin:
|
||||
password: {{ .Values.secrets.nubus.provisioning.api.adminPassword | quote }}
|
||||
prefill:
|
||||
password: {{ .Values.secrets.nubus.provisioning.api.prefillPassword | quote}}
|
||||
eventsUdm:
|
||||
password: {{ .Values.secrets.nubus.provisioning.api.udmTransformerPassword | quote}}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningEventsAndConsumerApi.registry | quote }}
|
||||
repository: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.repository }}
|
||||
tag: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
nats:
|
||||
auth:
|
||||
password: {{ .Values.secrets.nubus.provisioning.api.natsPassword | quote}}
|
||||
@@ -1180,7 +978,6 @@ nubusProvisioning:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningDispatcher.registry | quote }}
|
||||
repository: {{ .Values.images.nubusProvisioningDispatcher.repository }}
|
||||
tag: {{ .Values.images.nubusProvisioningDispatcher.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
nats:
|
||||
auth:
|
||||
password: {{ .Values.secrets.nubus.provisioning.dispatcherNatsPassword | quote}}
|
||||
@@ -1188,11 +985,6 @@ nubusProvisioning:
|
||||
{{ .Values.annotations.nubusProvisioning.dispatcherPod | toYaml | nindent 6 }}
|
||||
resources:
|
||||
{{ .Values.resources.umsProvisioningDispatcher | toYaml | nindent 6 }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ldap:
|
||||
auth:
|
||||
password: {{ .Values.secrets.nubus.ldapSecret | quote }}
|
||||
nats:
|
||||
additionalAnnotations:
|
||||
intents.otterize.com/service-name: "ums-provisioning-nats"
|
||||
@@ -1218,19 +1010,23 @@ nubusProvisioning:
|
||||
runAsNonRoot: true
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.umsProvisioningNats | toYaml | nindent 8 }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||
nats:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusNats.registry | quote }}
|
||||
repository: {{ .Values.images.nubusNats.repository }}
|
||||
tag: {{ .Values.images.nubusNats.tag }}
|
||||
# NOTE: The subchart does not yet fully support
|
||||
# "global.imagePullPolicy". This can be removed once the subchart has
|
||||
# been adjusted.
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
natsBox:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusNatsBox.registry | quote }}
|
||||
repository: {{ .Values.images.nubusNatsBox.repository }}
|
||||
tag: {{ .Values.images.nubusNatsBox.tag }}
|
||||
# NOTE: The subchart does not yet fully support
|
||||
# "global.imagePullPolicy". This can be removed once the subchart has
|
||||
# been adjusted.
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.nubusProvisioningNats.size }}
|
||||
@@ -1240,6 +1036,9 @@ nubusProvisioning:
|
||||
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusNatsReloader.registry | quote }}
|
||||
repository: {{ .Values.images.nubusNatsReloader.repository }}
|
||||
tag: {{ .Values.images.nubusNatsReloader.tag }}
|
||||
# NOTE: The subchart does not yet fully support
|
||||
# "global.imagePullPolicy". This can be removed once the subchart has
|
||||
# been adjusted.
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
resources:
|
||||
{{ .Values.resources.umsProvisioningNats | toYaml | nindent 6 }}
|
||||
@@ -1257,7 +1056,6 @@ nubusProvisioning:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningPrefill.registry | quote }}
|
||||
repository: {{ .Values.images.nubusProvisioningPrefill.repository }}
|
||||
tag: {{ .Values.images.nubusProvisioningPrefill.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
nats:
|
||||
auth:
|
||||
password: {{ .Values.secrets.nubus.provisioning.prefillNatsPassword | quote}}
|
||||
@@ -1275,7 +1073,6 @@ nubusProvisioning:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningUdmTransformer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusProvisioningUdmTransformer.repository }}
|
||||
tag: {{ .Values.images.nubusProvisioningUdmTransformer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
nats:
|
||||
auth:
|
||||
password: {{ .Values.secrets.nubus.provisioning.udmTransformerNatsPassword | quote}}
|
||||
@@ -1300,13 +1097,12 @@ nubusProvisioning:
|
||||
existingSecret:
|
||||
name: ums-provisioning-ox-credentials
|
||||
keyMapping:
|
||||
password: "ox-connector.json"
|
||||
registration: "ox-connector.json"
|
||||
{{- end }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-provisioning-register-consumers"
|
||||
{{- with .Values.annotations.nubusProvisioning.registerConsumersPod }}
|
||||
@@ -1343,9 +1139,9 @@ nubusUdmListener:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningUdmListener.registry | quote }}
|
||||
repository: {{ .Values.images.nubusProvisioningUdmListener.repository }}
|
||||
tag: {{ .Values.images.nubusProvisioningUdmListener.tag }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.nubusUdmListener.size | quote }}
|
||||
# storageClass: -- coalesce .Values.persistence.storages.nubusUdmListener.storageClassName .Values.persistence.storageClassNames.RWO | quote --
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusUdmListener.pod | toYaml | nindent 4 }}
|
||||
replicaCount: {{ .Values.replicas.umsUdmListener }}
|
||||
@@ -1358,13 +1154,6 @@ nubusUdmListener:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusUdmListener.serviceAccount | toYaml | nindent 6 }}
|
||||
|
||||
nubusSelfServiceListener:
|
||||
enabled: false
|
||||
resources:
|
||||
{{ .Values.resources.umsSelfserviceConsumer | toYaml | nindent 4 }}
|
||||
resourcesWaitForDependency:
|
||||
{{ .Values.resources.umsSelfserviceConsumer | toYaml | nindent 4 }}
|
||||
|
||||
nubusSelfServiceConsumer:
|
||||
enabled: true
|
||||
containerSecurityContext:
|
||||
@@ -1385,9 +1174,6 @@ nubusSelfServiceConsumer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusSelfServiceConsumer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusSelfServiceConsumer.repository }}
|
||||
tag: {{ .Values.images.nubusSelfServiceConsumer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-selfservice-listener"
|
||||
{{- with .Values.annotations.nubusSelfserviceConsumer.pod }}
|
||||
@@ -1409,7 +1195,6 @@ nubusSelfServiceConsumer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
# Nubus services
|
||||
nubusStackDataUms:
|
||||
@@ -1438,7 +1223,8 @@ nubusStackDataUms:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusDataLoader.registry | quote }}
|
||||
repository: {{ .Values.images.nubusDataLoader.repository }}
|
||||
tag: {{ .Values.images.nubusDataLoader.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
# TODO: Are these used for anything?
|
||||
nubusPortalConsumer:
|
||||
objectStorage:
|
||||
bucketName: {{ .Values.objectstores.nubus.bucket | quote }}
|
||||
@@ -1447,6 +1233,7 @@ nubusStackDataUms:
|
||||
objectStorage:
|
||||
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 }}
|
||||
|
||||
initResources:
|
||||
{{ .Values.resources.umsStackDataUms | toYaml | nindent 4 }}
|
||||
# In openDesk the external memcache does not expect a username to be set. Overwriting
|
||||
@@ -1464,17 +1251,16 @@ nubusStackDataUms:
|
||||
host: {{ .Values.databases.umsSelfservice.host | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusStackDataUms.pod | toYaml | nindent 4 }}
|
||||
pullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
resources:
|
||||
{{ .Values.resources.umsStackDataUms | toYaml | nindent 4 }}
|
||||
stackDataContext:
|
||||
umcPostgresqlHostname: {{ .Values.databases.umsSelfservice.host | quote }}
|
||||
umcPostgresqlUsername: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||
umcMemcachedHostname: {{ .Values.cache.umsSelfservice.host | quote }}
|
||||
umcMemcachedUsername: ""
|
||||
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
||||
umcHtmlTitle: "Portal - {{ .Values.theme.texts.productName }}"
|
||||
# NOTE: The sub-chart is not yet properly respecting the configuration of
|
||||
# "global.subDomains.portal". This value should be removed once this is
|
||||
# supported in the sub-chart.
|
||||
ldapSamlSpUrls: {{ printf "https://%s.%s/univention/saml/metadata" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
||||
portalFqdn: {{ printf "%s.%s" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
||||
smtpHost: {{ printf "%s.%s.svc.%s" "postfix" (.Values.apps.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||
smtpPort: 25
|
||||
smtpUser: {{ printf "%s@%s" "opendesk-system" ( .Values.global.mailDomain | default .Values.global.domain ) }}
|
||||
@@ -1485,6 +1271,7 @@ nubusStackDataUms:
|
||||
{{ .Values.annotations.nubusStackDataUms.serviceAccount | toYaml | nindent 6 }}
|
||||
templateContext:
|
||||
initialPasswordAdministrator: {{ .Values.secrets.nubus.systemAccounts.administratorPassword | quote }}
|
||||
additionalMailDomains: {{ .Values.global.additionalMailDomains | toYaml | nindent 6 }}
|
||||
apps: {{ .Values.apps | toYaml | nindent 6 }}
|
||||
defaultGroupOtherObjects: "cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}"
|
||||
opendeskEnterprise: {{ env "OPENDESK_ENTERPRISE" }}
|
||||
@@ -1512,8 +1299,11 @@ nubusStackDataUms:
|
||||
portalNotesLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.notes .Values.global.domain }}
|
||||
portalTitleDE: "Portal - {{ .Values.theme.texts.productName }}"
|
||||
portalTitleEN: "Portal - {{ .Values.theme.texts.productName }}"
|
||||
portalLinkLegalNotice: {{ .Values.functional.portal.linkLegalNotice }}
|
||||
portalLinkPrivacyStatement: {{ .Values.functional.portal.linkPrivacyStatement }}
|
||||
portalLinkLegalNotice: {{ .Values.functional.portal.linkLegalNotice | quote }}
|
||||
portalLinkPrivacyStatement: {{ .Values.functional.portal.linkPrivacyStatement | quote }}
|
||||
portalLinkDocumentation: {{ .Values.functional.portal.linkDocumentation | quote }}
|
||||
portalLinkSupport: {{ .Values.functional.portal.linkSupport | quote }}
|
||||
portalLinkFeedback: {{ .Values.functional.portal.linkFeedback | quote }}
|
||||
oxDefaultContext: "1"
|
||||
oxContextHidden: true
|
||||
ldapSearchUsers:
|
||||
@@ -1587,12 +1377,12 @@ nubusUmcServer:
|
||||
capabilities:
|
||||
drop:
|
||||
- "ALL"
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsUser: 999
|
||||
runAsGroup: 999
|
||||
seccompProfile:
|
||||
type: "RuntimeDefault"
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: false
|
||||
runAsNonRoot: true
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }}
|
||||
containerSecurityContextSssd:
|
||||
@@ -1626,10 +1416,6 @@ nubusUmcServer:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusUmcServer.registry | quote }}
|
||||
repository: {{ .Values.images.nubusUmcServer.repository }}
|
||||
tag: {{ .Values.images.nubusUmcServer.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
@@ -1648,10 +1434,7 @@ nubusUmcServer:
|
||||
bundled: false
|
||||
server: {{ .Values.cache.umsSelfservice.host | quote }}
|
||||
auth:
|
||||
existingSecret:
|
||||
name: "ums-umc-server-memcached-opendesk-credentials"
|
||||
keyMapping:
|
||||
memcached-password: "umcServerMemcachedPassword"
|
||||
password: ""
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusUmcServer.pod | toYaml | nindent 4 }}
|
||||
postgresql:
|
||||
@@ -1662,16 +1445,17 @@ nubusUmcServer:
|
||||
auth:
|
||||
username: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||
database: {{ .Values.databases.umsSelfservice.name | quote }}
|
||||
password: {{ .Values.databases.umsSelfservice.password | default .Values.secrets.postgresql.umsSelfserviceUser | quote }}
|
||||
# NOTE: Nubus has still an existing secret configured for legacy reasons.
|
||||
# This disables the existing secret and ensures that the value from above
|
||||
# is used.
|
||||
existingSecret:
|
||||
name: "ums-umc-server-postgresql-opendesk-credentials"
|
||||
keyMapping:
|
||||
password: "umcServerDatabasePassword"
|
||||
name: null
|
||||
proxy:
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusUmcServerProxy.registry | quote }}
|
||||
repository: {{ .Values.images.nubusUmcServerProxy.repository }}
|
||||
tag: {{ .Values.images.nubusUmcServerProxy.tag }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
replicaCount: {{ .Values.replicas.umsUmcServerProxy }}
|
||||
replicaCount: {{ .Values.replicas.umsUmcServer }}
|
||||
resources:
|
||||
@@ -1696,8 +1480,8 @@ nubusUmcServer:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusUmcServer.serviceAccount | toYaml | nindent 6 }}
|
||||
smtp:
|
||||
existingSecret:
|
||||
name: "ums-umc-server-smtp-credentials-custom"
|
||||
auth:
|
||||
password: {{ .Values.secrets.postfix.opendeskSystemPassword | quote }}
|
||||
|
||||
nubusUmcGateway:
|
||||
containerSecurityContext:
|
||||
@@ -1718,10 +1502,6 @@ nubusUmcGateway:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusUmcGateway.registry | quote }}
|
||||
repository: {{ .Values.images.nubusUmcGateway.repository }}
|
||||
tag: {{ .Values.images.nubusUmcGateway.tag }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
ingress:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
@@ -1759,13 +1539,16 @@ nubusKeycloakBootstrap:
|
||||
twoFactorAuthentication:
|
||||
enabled: true
|
||||
group: "2fa-users"
|
||||
config:
|
||||
debug:
|
||||
enabled: {{ .Values.debug.enabled }}
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- "ALL"
|
||||
readOnlyRootFilesystem: false
|
||||
readOnlyRootFilesystem: true
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
@@ -1777,9 +1560,10 @@ nubusKeycloakBootstrap:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakBootstrap.registry | quote }}
|
||||
repository: {{ .Values.images.nubusKeycloakBootstrap.repository }}
|
||||
tag: {{ .Values.images.nubusKeycloakBootstrap.tag }}
|
||||
# NOTE: The subchart does not yet fully support
|
||||
# "global.imagePullPolicy". This can be removed once the subchart has
|
||||
# been adjusted.
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
keycloak:
|
||||
auth:
|
||||
username: "kcadmin"
|
||||
@@ -1802,6 +1586,9 @@ nubusKeycloakBootstrap:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||
# NOTE: The subchart does not yet fully support
|
||||
# "global.imagePullPolicy". This can be removed once the subchart has
|
||||
# been adjusted.
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
@@ -1809,9 +1596,6 @@ nubusKeycloakBootstrap:
|
||||
|
||||
# Credential secrets for accessing customer supplied services
|
||||
extraSecrets:
|
||||
- name: "ums-opendesk-portal-server-central-navigation"
|
||||
stringData:
|
||||
password: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||
- name: "ums-opendesk-guardian-client-secret"
|
||||
stringData:
|
||||
managementApiClientSecret: {{ .Values.secrets.keycloak.clientSecret.guardian | quote }}
|
||||
@@ -1824,15 +1608,6 @@ extraSecrets:
|
||||
- name: "ums-guardian-postgresql-opendesk-credentials"
|
||||
stringData:
|
||||
guardianDatabasePassword: {{ .Values.databases.umsGuardianManagementApi.password | default .Values.secrets.postgresql.umsGuardianManagementApiUser | quote }}
|
||||
- name: "ums-notifications-api-postgresql-opendesk-credentials"
|
||||
stringData:
|
||||
password: {{ .Values.databases.umsNotificationsApi.password | default .Values.secrets.postgresql.umsNotificationsApiUser | quote }}
|
||||
- name: "ums-umc-server-postgresql-opendesk-credentials"
|
||||
stringData:
|
||||
umcServerDatabasePassword: {{ .Values.databases.umsSelfservice.password | default .Values.secrets.postgresql.umsSelfserviceUser | quote }}
|
||||
- name: "ums-umc-server-memcached-opendesk-credentials"
|
||||
stringData:
|
||||
umcServerMemcachedPassword: ""
|
||||
- name: "ums-keycloak-extensions-postgresql-opendesk-credentials"
|
||||
stringData:
|
||||
umcKeycloakExtensionsDatabasePassword: {{ .Values.databases.keycloakExtension.password | default .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
||||
@@ -1842,13 +1617,6 @@ extraSecrets:
|
||||
- name: "ums-keycloak-bootstrap-ldap-opendesk-credentials"
|
||||
stringData:
|
||||
password: {{ .Values.secrets.nubus.ldapSearch.keycloak | quote }}
|
||||
- name: "ums-portal-server-minio-opendesk-credentials"
|
||||
stringData:
|
||||
access-key-id: {{ .Values.objectstores.nubus.username | quote }}
|
||||
secret-key-id: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
||||
- name: "ums-umc-server-smtp-credentials-custom"
|
||||
stringData:
|
||||
password: {{ .Values.secrets.postfix.opendeskSystemPassword | quote }}
|
||||
- name: "ums-provisioning-ox-credentials"
|
||||
stringData:
|
||||
ox-connector.json: "{ \"name\": \"ox-connector\", \"realms_topics\": [{\"realm\": \"udm\", \"topic\": \"oxmail/oxcontext\"}, {\"realm\": \"udm\", \"topic\": \"oxmail/accessprofile\"}, {\"realm\": \"udm\", \"topic\": \"users/user\"}, {\"realm\": \"udm\", \"topic\": \"oxresources/oxresources\"}, {\"realm\": \"udm\", \"topic\": \"groups/group\"}, {\"realm\": \"udm\", \"topic\": \"oxmail/functional_account\"}], \"request_prefill\": true, \"password\": \"{{ .Values.secrets.oxConnector.provisioningApiPassword }}\" }"
|
||||
|
||||
@@ -28,7 +28,7 @@ dovecot:
|
||||
value: {{ .Values.secrets.cassandra.dovecotDictmapUser | quote }}
|
||||
keyspace: {{ .Values.databases.dovecotDictmap.name | quote }}
|
||||
sharedMailboxes:
|
||||
enabled: false
|
||||
enabled: true
|
||||
host: {{ .Values.databases.dovecotACL.host | quote }}
|
||||
port: {{ .Values.databases.dovecotACL.port }}
|
||||
username: {{ .Values.databases.dovecotACL.username | quote }}
|
||||
|
||||
@@ -42,4 +42,8 @@ serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeBootstrap.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
filestore:
|
||||
# identifier must match identifier in /opt/open-xchange/etc/filestore-s3.properties
|
||||
identifier: "ox-filestore-s3"
|
||||
size: {{ .Values.objectstores.openxchange.maxSize }}
|
||||
...
|
||||
|
||||
@@ -39,6 +39,7 @@ appsuite:
|
||||
uiSettings:
|
||||
# Enterprise contact picker
|
||||
io.ox/core//features/enterprisePicker/enabled: "true"
|
||||
io.ox/contacts//search/fields: 'email1,email2'
|
||||
|
||||
yamlFiles:
|
||||
contacts-provider-ldap.yml:
|
||||
@@ -286,6 +287,7 @@ appsuite:
|
||||
givenname: "givenName"
|
||||
surname: "sn"
|
||||
email1: "mailPrimaryAddress"
|
||||
email2: "mailAlternativeAddress"
|
||||
department: "oxDepartment,department"
|
||||
company: "oxCompany,o"
|
||||
branches: "oxBranches"
|
||||
@@ -297,8 +299,6 @@ appsuite:
|
||||
city_home: "oxCityHome"
|
||||
commercial_register: "oxCommercialRegister"
|
||||
country_home: "oxCountryHome"
|
||||
email2: "oxEmail2"
|
||||
email3: "oxEmail3"
|
||||
employeetype: "employeeType"
|
||||
fax_business: "oxFaxBusiness,facsimileTelehoneNumber"
|
||||
fax_home: "oxFaxHome"
|
||||
|
||||
@@ -291,7 +291,14 @@ appsuite:
|
||||
open-xchange-documents-backend: "disabled"
|
||||
open-xchange-documents-monitoring: "disabled"
|
||||
open-xchange-documents-templates: "disabled"
|
||||
# Required for the central contacts integration
|
||||
open-xchange-oauth-provider: "enabled"
|
||||
# Needed to set com.openexchange.hostname
|
||||
open-xchange-hostname-config-cascade: "enabled"
|
||||
# Enable s3 storage
|
||||
open-xchange-filestore-s3: "enabled"
|
||||
properties:
|
||||
com.openexchange.hostname: {{ printf "%s.%s" .Values.global.hosts.openxchange .Values.global.domain }}
|
||||
com.openexchange.UIWebPath: "/appsuite/"
|
||||
com.openexchange.showAdmin: "false"
|
||||
# PDF Export
|
||||
@@ -323,14 +330,32 @@ appsuite:
|
||||
com.openexchange.oidc.userLookupNamePart: "full"
|
||||
com.openexchange.oidc.enablePasswordGrant: "true"
|
||||
com.openexchange.oidc.passwordGrantUserNamePart: "local-part"
|
||||
# OAUTH
|
||||
com.openexchange.oauth.provider.enabled: "true"
|
||||
com.openexchange.oauth.provider.allowedIssuer: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||
com.openexchange.oauth.provider.contextLookupClaim: "context"
|
||||
com.openexchange.oauth.provider.contextLookupNamePart: "full"
|
||||
com.openexchange.oauth.provider.jwt.jwksUri: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}/protocol/openid-connect/certs"
|
||||
com.openexchange.oauth.provider.mode: "expect_jwt"
|
||||
com.openexchange.oauth.provider.userLookupNamePart: "full"
|
||||
com.openexchange.oauth.provider.userLookupClaim: "opendesk_username"
|
||||
# MAIL
|
||||
com.openexchange.mail.authType: "xoauth2"
|
||||
com.openexchange.mail.loginSource: "mail"
|
||||
com.openexchange.mail.loginSource: "name"
|
||||
com.openexchange.mail.mailServer: "dovecot"
|
||||
com.openexchange.mail.mailServerSource: "global"
|
||||
com.openexchange.mail.transport.authType: "xoauth2"
|
||||
com.openexchange.mail.transportServer: "postfix-ox"
|
||||
com.openexchange.mail.transportServerSource: "global"
|
||||
# Mail Login Resolver
|
||||
com.openexchange.mail.login.resolver.enabled: "true"
|
||||
com.openexchange.mail.login.resolver.ldap.enabled: "true"
|
||||
com.openexchange.mail.login.resolver.ldap.clientId: "contactsLdapClient"
|
||||
com.openexchange.mail.login.resolver.ldap.mailLoginSearchFilter: "(entryUUID=[mailLogin])"
|
||||
com.openexchange.mail.login.resolver.ldap.userNameAttribute: "uid"
|
||||
com.openexchange.mail.login.resolver.ldap.contextNameAttribute: "oxContextIDNum"
|
||||
com.openexchange.mail.login.resolver.ldap.entitySearchFilter: "(&(oxContextIDNum=[cid])(uid=[uname]))"
|
||||
com.openexchange.mail.login.resolver.ldap.mailLoginAttribute: "entryUUID"
|
||||
# Requirements for OX-Connector
|
||||
com.openexchange.user.enforceUniqueDisplayName: "false"
|
||||
com.openexchange.folderstorage.database.preferDisplayName: "false"
|
||||
@@ -385,7 +410,7 @@ appsuite:
|
||||
# Usage (in browser console after login):
|
||||
# http = (await import('./io.ox/core/http.js')).default
|
||||
# await http.POST({ module: 'oxguard/smime', params: { action: 'test' } })
|
||||
com.openexchange.smime.test: "true"
|
||||
com.openexchange.smime.test: {{ .Values.debug.enabled | quote }}
|
||||
# DAV
|
||||
{{- if .Values.functional.groupware.davSupport.enabled }}
|
||||
com.openexchange.caldav.enabled: "true"
|
||||
@@ -456,6 +481,11 @@ appsuite:
|
||||
com.openexchange.antivirus.port: "1344"
|
||||
{{- end }}
|
||||
com.openexchange.antivirus.maxFileSize: "1024"
|
||||
/opt/open-xchange/etc/filestore-s3.properties:
|
||||
com.openexchange.filestore.s3.ox-filestore-s3.endpoint: {{ .Values.objectstores.openxchange.endpoint | default (printf "https://%s.%s" .Values.global.hosts.minioApi .Values.global.domain) | quote }}
|
||||
com.openexchange.filestore.s3.ox-filestore-s3.bucketName: {{ .Values.objectstores.openxchange.bucket | quote }}
|
||||
com.openexchange.filestore.s3.ox-filestore-s3.accessKey: {{ .Values.objectstores.openxchange.username | quote }}
|
||||
com.openexchange.filestore.s3.ox-filestore-s3.secretKey: {{ .Values.objectstores.openxchange.secretKey | default .Values.secrets.minio.openxchangeUser | quote }}
|
||||
uiSettings:
|
||||
io.ox.nextcloud//server: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/fs/"
|
||||
io.ox.public-sector//ics/url: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/"
|
||||
@@ -624,6 +654,10 @@ appsuite:
|
||||
cache:
|
||||
remoteCache:
|
||||
enabled: false
|
||||
imagePullSecrets:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . | quote }}
|
||||
{{- end }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeDocumentConverter.registry | quote }}
|
||||
repository: {{ .Values.images.openxchangeDocumentConverter.repository | quote }}
|
||||
@@ -710,6 +744,10 @@ appsuite:
|
||||
adminPassword: {{ .Values.secrets.oxAppSuite.adminPassword | quote }}
|
||||
basicAuthLogin: "oxlogin"
|
||||
basicAuthPassword: {{ .Values.secrets.oxAppSuite.basicAuthPassword | quote }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . | quote }}
|
||||
{{- end }}
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeImageConverter.registry | quote }}
|
||||
repository: {{ .Values.images.openxchangeImageConverter.repository | quote }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{/*
|
||||
# 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
|
||||
*/}}
|
||||
---
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{/*
|
||||
# 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
|
||||
*/}}
|
||||
---
|
||||
|
||||
@@ -72,9 +72,6 @@ job:
|
||||
mariadb:
|
||||
rootPassword:
|
||||
value: {{ .Values.secrets.mariadb.rootPassword | quote }}
|
||||
existingSecret:
|
||||
name: {{ .Values.external_secrets.mariadb.rootPassword.name | quote }}
|
||||
key: {{ .Values.external_secrets.mariadb.rootPassword.key | quote }}
|
||||
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.mariadb.size | quote }}
|
||||
|
||||
@@ -124,6 +124,9 @@ provisioning:
|
||||
- name: {{ .Values.objectstores.openproject.bucket | quote }}
|
||||
versioning: "Suspended"
|
||||
withLock: false
|
||||
- name: {{ .Values.objectstores.openxchange.bucket | quote }}
|
||||
versioning: "Suspended"
|
||||
withLock: false
|
||||
- name: {{ .Values.objectstores.nubus.bucket | quote }}
|
||||
versioning: "Suspended"
|
||||
withLock: false
|
||||
@@ -183,6 +186,18 @@ provisioning:
|
||||
effect: "Allow"
|
||||
actions:
|
||||
- "s3:*"
|
||||
- name: "openxchange-bucket-policy"
|
||||
statements:
|
||||
- resources:
|
||||
- "arn:aws:s3:::openxchange"
|
||||
effect: "Allow"
|
||||
actions:
|
||||
- "s3:*"
|
||||
- resources:
|
||||
- "arn:aws:s3:::openxchange/*"
|
||||
effect: "Allow"
|
||||
actions:
|
||||
- "s3:*"
|
||||
- name: "ums-bucket-policy"
|
||||
statements:
|
||||
- resources:
|
||||
@@ -234,6 +249,12 @@ provisioning:
|
||||
policies:
|
||||
- "openproject-bucket-policy"
|
||||
setPolicies: true
|
||||
- username: {{ .Values.objectstores.openxchange.username | quote }}
|
||||
password: {{ .Values.secrets.minio.openxchangeUser | quote }}
|
||||
disabled: false
|
||||
policies:
|
||||
- "openxchange-bucket-policy"
|
||||
setPolicies: true
|
||||
- username: {{ .Values.objectstores.nubus.username | quote }}
|
||||
password: {{ .Values.secrets.minio.umsUser | quote }}
|
||||
disabled: false
|
||||
|
||||
@@ -6,12 +6,12 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/product-development/charts/opendesk-dovecot-pro"
|
||||
name: "dovecot"
|
||||
version: "3.0.0"
|
||||
version: "3.1.1"
|
||||
verify: true
|
||||
oxAppSuite:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/charts-mirror"
|
||||
name: "appsuite-public-sector-pro-chart"
|
||||
version: "1.15.236"
|
||||
version: "1.18.273"
|
||||
verify: false
|
||||
...
|
||||
|
||||
@@ -5,17 +5,17 @@ images:
|
||||
collabora:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/collabora/images/collabora-online-for-opendesk"
|
||||
tag: "24.04.13.4.1@sha256:4d4f88fa244280f6116b072a923ee7e5c183ab30ee9759952f9b6aa802802300"
|
||||
tag: "25.04.2.3.1@sha256:b6dbe27d7242488dfdb400219abbc6c97fb83df029975e1127f52abc8444475e"
|
||||
dovecot:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/dovecot-pro"
|
||||
tag: "3.0.1-rev3@sha256:b87f16562dd486c0f97e8147a797af16a54f25f1ac64826f4f53bd8177ec9a33"
|
||||
tag: "3.0.2-rev7@sha256:4330240bfeda4dd8b6aa32a6b7f03382126d47caf4f37a5578ad17746101c88b"
|
||||
nextcloud:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/nextcloud/images/opendesk-nextcloud"
|
||||
tag: "1.2.0@sha256:ddd2bec74a22a713967f62fcdcf18fa8d53d730c1db296d570143754c93d20a5"
|
||||
tag: "30.0.10@sha256:a63374dd44d3c6a8873da31fe0554b97fb29993a4cf18b9dd6a304b577f2f2b8"
|
||||
openxchangeCoreMW:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/middleware-public-sector-pro"
|
||||
tag: "8.35.85@sha256:54d01a16ea29a3ae8f1857e5bdf6d2e34046b8a3fa3d6179bb3ad3d047e1318f"
|
||||
tag: "8.38.73@sha256:2ddd6ce6e33a77aadc6043ad01026afbea09d28f7b0c469ab6fd412fb4ca8792"
|
||||
...
|
||||
|
||||
@@ -56,7 +56,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/collabora/charts-mirror"
|
||||
name: "collabora-online"
|
||||
version: "1.1.38"
|
||||
version: "1.1.41"
|
||||
verify: true
|
||||
collaboraController:
|
||||
# Enterprise Component
|
||||
@@ -65,7 +65,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/collabora/charts-mirror"
|
||||
name: "cool-controller"
|
||||
version: "1.1.2"
|
||||
version: "1.1.6"
|
||||
verify: false
|
||||
cryptpad:
|
||||
# providerCategory: "Supplier"
|
||||
@@ -99,7 +99,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-dovecot"
|
||||
name: "dovecot"
|
||||
version: "3.0.0"
|
||||
version: "3.1.1"
|
||||
verify: true
|
||||
element:
|
||||
# providerCategory: "Platform"
|
||||
@@ -231,7 +231,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-migrations"
|
||||
name: "opendesk-migrations"
|
||||
version: "1.6.0"
|
||||
version: "1.7.4"
|
||||
verify: true
|
||||
minio:
|
||||
# providerCategory: "Community"
|
||||
@@ -303,7 +303,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
||||
name: "nubus"
|
||||
version: "1.9.1"
|
||||
version: "1.11.1"
|
||||
verify: true
|
||||
opendeskAlerts:
|
||||
# providerCategory: "Platform"
|
||||
@@ -355,7 +355,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/charts-mirror"
|
||||
name: "openproject"
|
||||
version: "9.10.1"
|
||||
version: "10.1.0"
|
||||
verify: true
|
||||
openprojectBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
@@ -387,7 +387,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/charts-mirror"
|
||||
name: "appsuite-public-sector"
|
||||
version: "2.19.254"
|
||||
version: "2.20.247"
|
||||
verify: false
|
||||
oxAppSuiteBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
@@ -397,7 +397,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-open-xchange-bootstrap"
|
||||
name: "opendesk-open-xchange-bootstrap"
|
||||
version: "2.1.2"
|
||||
version: "3.0.1"
|
||||
verify: true
|
||||
oxConnector:
|
||||
# providerCategory: "Supplier"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
{{/*
|
||||
SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
external_secrets:
|
||||
mariadb:
|
||||
rootPassword:
|
||||
name: ~
|
||||
key: ~
|
||||
...
|
||||
@@ -145,7 +145,12 @@ functional:
|
||||
# yamllint enable rule:line-length
|
||||
|
||||
groupware:
|
||||
# Related settings for the CalDAV and CardCAV support of the groupware module.
|
||||
davSupport:
|
||||
# Enabled by default it is available at:
|
||||
# - https://<.Values.global.hosts.openxchangeDav>.<.Values.global.domain>/caldav/[folderId]"
|
||||
# - https://<.Values.global.hosts.openxchangeDav>.<.Values.global.domain>/carddav/[folderId]"
|
||||
# Can be switched off using the below feature toggle.
|
||||
enabled: true
|
||||
|
||||
migration:
|
||||
@@ -163,6 +168,20 @@ functional:
|
||||
linkLegalNotice: "https://opendesk.eu/impressum"
|
||||
# Link to the privacy statement shown in the portal menu, set to "~" if you want to remove the link
|
||||
linkPrivacyStatement: "https://zendis.de/datenschutzerklaerung"
|
||||
# Link to documentation, shown in the right lower corner of the portal, set to "~" if you want to remove the link
|
||||
linkDocumentation: "https://docs.opendesk.eu/"
|
||||
# Link to support, shown in the right lower corner of the portal, set to "~" if you want to remove the link
|
||||
linkSupport: "https://opendesk.eu/support"
|
||||
# Link to feedback, shown in the right lower corner of the portal, set to "~" if you want to remove the link
|
||||
linkFeedback: "https://opendesk.eu/feedback"
|
||||
# Newsfeed related settings
|
||||
newsfeed:
|
||||
# Newsfeed is enabled by default, when XWiki is also deployed, you can forcefully disable the newsfeed
|
||||
enabled: true
|
||||
# Welcome message related settings
|
||||
welcomeMessage:
|
||||
# Welcome message is enabled by default and can be switched off below.
|
||||
enabled: true
|
||||
|
||||
weboffice:
|
||||
# Set the file format to be used by default when creating new documents from the portal or the Nextcloud app.
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
---
|
||||
global:
|
||||
systemInformation:
|
||||
releaseVersion: "v1.4.0"
|
||||
releaseVersion: "v1.6.0"
|
||||
...
|
||||
|
||||
@@ -20,7 +20,7 @@ images:
|
||||
# upstreamRepository: "bitnami/cassandra"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/cassandra"
|
||||
tag: "5.0.4-debian-12-r3@sha256:af57aa07f866673d4f605bc555e2699dfa7615de216d6a2d0cc607c81831ec2f"
|
||||
tag: "5.0.4-debian-12-r4@sha256:9d909ebe10802dae2fb99ef7c8e9e0dbc496c8d30366e2f7abbe0713b945fa7d"
|
||||
cassandraExporter:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -44,14 +44,14 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/supplier/collabora/images/collabora-online-for-opendesk"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/collabora/images/collabora-online-for-opendesk"
|
||||
tag: "24.04.14.3.1@sha256:b7085475740a4e92ad3611d52808b6d822478e52286d18d3272a9b685e049464"
|
||||
tag: "25.04.2.2.1@sha256:03ec7f7740c5030eeb4f642c41fa0b9989d7a0dab81435a86b5c82479d0f78e2"
|
||||
collaboraController:
|
||||
# Enterprise Component
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Collabora"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/collabora/images-mirror/cool-controller"
|
||||
tag: "1.1.1@sha256:8a5b79920fdf7a8eb9c1e781f480d6134a30c75f14fae3f1ecb0b607e016215c"
|
||||
tag: "1.1.3@sha256:552b63fd748ec873bd286c4d9ea0cf675f349f35a9ca2a69d2962336e4bc5f83"
|
||||
cryptpad:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "XWiki"
|
||||
@@ -84,7 +84,7 @@ images:
|
||||
# upstreamRepository: "alpine/k8s"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "alpine/k8s"
|
||||
tag: "1.33.0@sha256:60333a52c38e9a8df0a9b93a5a24a4870f0db2c7ea3266b185386bd0a500d7dc"
|
||||
tag: "1.33.1@sha256:7f8133af0dd210cb5b168f889c5bc77dd65ecc935f3e3cb72d1b98ff96bfed40"
|
||||
element:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Element"
|
||||
@@ -128,7 +128,7 @@ images:
|
||||
# providerResponsible: "Element"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-element-syncadmins"
|
||||
tag: "1.0.3@sha256:1dea24d5f65a6f9ac63b402c772dd81dcd07a847d24845901c8a039461043097"
|
||||
tag: "1.0.5@sha256:ae0e18eadea762e11f8edacc52285742a5c4ed6e2e92bfa32ec5638e377e7b7b"
|
||||
freshclam:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -296,7 +296,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-migrations"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-migrations"
|
||||
tag: "1.6.1@sha256:cc97de002f5821e3b3751879514f3f45a3b4ffa851d999187c3cf3dd0dee82e7"
|
||||
tag: "1.7.5@sha256:98375df151d4b9bba81b5a7f3ab80dedd4cbd46dd0440c94b014b656b7115c71"
|
||||
milter:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -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: "2.6.0@sha256:47b9d01b70f72a717ce89a80bf36a2c01653c6a7335dd3287f7cab1555aa8864"
|
||||
tag: "30.0.10@sha256:a022c6279072eb45d14cab29296860a15ad0d5801f50a56928334eb99bae50d0"
|
||||
nextcloudExporter:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -328,7 +328,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-exporter"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-exporter"
|
||||
tag: "1.0.1@sha256:63e63c7420e37d3989fa0ffdbcf18a07b2a603ab9b2a849c2e7e44342dd82af0"
|
||||
tag: "1.0.3@sha256:d38f211a3cdc8397deccd0243061e20972a8a796eeb9bb552fe4ddec5d56c829"
|
||||
nginxS3Gateway:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -344,7 +344,7 @@ images:
|
||||
# upstreamRepository: "lasuite/impress-backend"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-notes"
|
||||
tag: "1.7.0-docs-v2.4.0-backend@sha256:837e09dfcb4014de97b5254956dda899e586170276d1d0b0f94cca0685f3d2ef"
|
||||
tag: "1.10.0-docs-v3.3.0-backend@sha256:81e78d7bc07055537bcf7c23313db2fba47d3970a5cc3d8cebd79d765a9bb678"
|
||||
notesFrontend:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "DINUM"
|
||||
@@ -352,7 +352,7 @@ images:
|
||||
# upstreamRepository: "lasuite/impress-frontend"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-notes"
|
||||
tag: "1.7.0-docs-v2.4.0-frontend@sha256:98fb87ad877eb5658c6bef1c09adf4e03f816dce61867bc099838aca15890887"
|
||||
tag: "1.10.0-docs-v3.3.0-frontend@sha256:3cb0ae7bc6a075ae8607a7a52c87904c460e53f3b8e91769a09da8676210a67f"
|
||||
notesYProvider:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "DINUM"
|
||||
@@ -360,7 +360,17 @@ images:
|
||||
# upstreamRepository: "lasuite/impress-y-provider"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "lasuite/impress-y-provider"
|
||||
tag: "v2.4.0@sha256:329d47f5cda80941a7f0812969c3194ba68da3e7e1ef38e3d08c266fc97555c1"
|
||||
tag: "v3.2.1@sha256:9dd7068336c02fe71806bc3576e7dc8636d7ccb139667c6303f0753e18d3ab7e"
|
||||
nubusBlocklistCleanup:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
# upstreamRegistry: "https://artifacts.software-univention.de"
|
||||
# upstreamRepository: "nubus/images/blocklist-cleanup"
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||
# upstreamMirrorStartFrom: ["0", "34", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/blocklist-cleanup"
|
||||
tag: "0.34.2@sha256:137dc06ef02ea4962f5bd55c093153eead2b9f2d204cfc26fd44bc77397b9461"
|
||||
nubusDataLoader:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -370,7 +380,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "41", "5"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/data-loader"
|
||||
tag: "0.90.0@sha256:a776ea84ca5d4f984a1ecf1f97d8c90cd98894c3568401be6858a8e955c7ed92"
|
||||
tag: "0.95.0@sha256:57028c6a76d000a2085f7a429c704ac495be6e4e7ce0a5cc85e3bed25766ce32"
|
||||
nubusGuardianAuthorizationApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -420,7 +430,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "0", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak"
|
||||
tag: "0.0.1@sha256:ce2397ac38920750b81a8a6065f7ed8a551641c6562a551963a2857fe6822beb"
|
||||
tag: "0.2.1@sha256:c338d5bba11185b1cca6d5e5e1b6fe28bedcd8f02af8b4b96e431bde617f5f72"
|
||||
nubusKeycloakBootstrap:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -430,7 +440,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "1", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap"
|
||||
tag: "0.11.0@sha256:55ad741e01dd91bb9b0332fd602a6262d3618abdf97a86c13f1e6148b36bd242"
|
||||
tag: "0.12.1@sha256:4a36e3753bda7d6ccc6fc98f5e115bf96a4257c1a9458d075888256484cfdd4b"
|
||||
nubusKeycloakExtensionHandler:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -460,7 +470,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "8", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-notifier"
|
||||
tag: "0.37.0@sha256:b148e15c268badc45db9a6ce12c97cce332d25b86e86fec47fc417b8fe74d0d2"
|
||||
tag: "0.43.0@sha256:dcd4e7f1008eb4c6c1ae809785bee0da9cba1347af09ddbc147b76c422f4f35c"
|
||||
nubusLdapServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -470,7 +480,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "8", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server"
|
||||
tag: "0.37.0@sha256:caf7de9e121e5500c52dc8338b80057acd3eaa1e3877b526a5ae944bb53fe876"
|
||||
tag: "0.43.0@sha256:67557ec3e3bd7ff4981666dddb5455672ee8767e12e3876ea79447627f9d9742"
|
||||
nubusLdapServerDhInitContainer:
|
||||
# providerCategory: 'Community'
|
||||
# providerResponsible: 'Univention'
|
||||
@@ -488,7 +498,17 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "29", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-server-elector"
|
||||
tag: "0.37.0@sha256:c9580e33ea48ec5d7ab2d4816926ca1b2ef72787f7615f31b124119c376c4324"
|
||||
tag: "0.40.0@sha256:abd273062824bf652b891b37ef3093771a8f686ef414cbe376c837293d115ac9"
|
||||
nubusLdapUpdateUniventionObjectIdentifier:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
# upstreamRegistry: "https://artifacts.software-univention.de"
|
||||
# upstreamRepository: "nubus/images/ldap-update-univention-object-identifier"
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||
# upstreamMirrorStartFrom: ["0", "34", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ldap-update-univention-object-identifier"
|
||||
tag: "0.34.2@sha256:137dc06ef02ea4962f5bd55c093153eead2b9f2d204cfc26fd44bc77397b9461"
|
||||
nubusNats:
|
||||
# providerCategory: 'Community'
|
||||
# providerResponsible: 'Univention'
|
||||
@@ -522,7 +542,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "9", "4"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/notifications-api"
|
||||
tag: "0.67.0@sha256:da28ce84d97b78027eafbe0bcf8286a333efffdfc52a8abe852caed9d8cde339"
|
||||
tag: "0.70.0@sha256:0120cca997eddcd6b9a5f0b9d6fb39ac2ffb118357380c28ab5352c16130a873"
|
||||
nubusOpendeskExtension:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -530,7 +550,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
||||
tag: "1.14.0@sha256:66ee00b6e44276f5f1e9d7a8066352fd5772820c50c10381acfd48c97f0acf4a"
|
||||
tag: "1.14.7@sha256:e00b6829b765dc1319593c1a1f8369950fc179308d65b79838539ca2967eb5ac"
|
||||
nubusOpendeskExtensionA2gMapper:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -558,7 +578,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "10", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ox-extension"
|
||||
tag: "0.11.0@sha256:2cb5a9683b6ff81b995a5c71da52c2ff8177b662bb0be8f11e9cd0c6b48d8a11"
|
||||
tag: "0.11.1@sha256:e57df5c02d0480ccf1d299964e3c676d92440d5e959b4f587945f08624da3ae9"
|
||||
nubusPortalConsumer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -568,7 +588,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "27", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-consumer"
|
||||
tag: "0.67.1@sha256:580adf9079d27f53f6efd0c519252c7855f6907e3badc033b994165856b16126"
|
||||
tag: "0.70.0@sha256:09eed9e5a7066f69b5d6085541ca91538ca9519d765ec7109d6934a6e67ab7cc"
|
||||
nubusPortalExtension:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -584,9 +604,11 @@ images:
|
||||
# providerResponsible: "Univention"
|
||||
# upstreamRegistry: "https://artifacts.software-univention.de"
|
||||
# upstreamRepository: "nubus/images/portal-frontend"
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||
# upstreamMirrorStartFrom: ["0", "67", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus-portal-update"
|
||||
tag: "1.10.14@sha256:fbdec057958fd7e728431cf96896b8453c2f5b390ce3d2f169a7766f49926b1b"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-frontend"
|
||||
tag: "0.70.0@sha256:9e0826c954e99b36b3c7b9ce6dfa1f567a3432158fb78af13337760197f94997"
|
||||
nubusPortalServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -596,7 +618,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "9", "4"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-server"
|
||||
tag: "0.67.0@sha256:d9418c7a1db7541ced1e3034f45683c190bf63270c6ba8f3d67c1fe0ac2edb1a"
|
||||
tag: "0.70.0@sha256:1331d5b5861574195f6bd0dfc3c8e1d6a2650b518e206a2815b682d43ab75d0b"
|
||||
nubusProvisioningDispatcher:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -606,7 +628,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-dispatcher"
|
||||
tag: "0.51.0@sha256:f0cea25f788ff565b883e50c6138874c6f0338e0f91c5f8a32595323059930ef"
|
||||
tag: "0.56.0@sha256:324866b7a80e17c5a1a6bbc02163a14e084eecc86df1ece5b3e10d3344bbe1ad"
|
||||
nubusProvisioningEventsAndConsumerApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -616,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.51.0@sha256:66fec83fd5033cf32cd759e9c73f7ae659a4ec45a433f13417a12e007b1d4db6"
|
||||
tag: "0.56.0@sha256:37d8ac54a9d06685e4536f6f349a51efc0f51a5a06d2503333918377cb7fed37"
|
||||
nubusProvisioningPrefill:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -626,7 +648,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "14", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/provisioning-prefill"
|
||||
tag: "0.51.0@sha256:ff04d8cec6ecc0b33cdea164e1ba1222c90ed9fe8370057a58329b4521e56de1"
|
||||
tag: "0.56.0@sha256:76b6f556a8baec164ee060104d85b9641bd6f17342d40a53943eea03fd432343"
|
||||
nubusProvisioningUdmListener:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -636,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.51.0@sha256:5f0bba855945da2fa97d40b0fe51a14e3495b0b6da83562def6a6fcf4c21c059"
|
||||
tag: "0.56.0@sha256:e89f2094f245b70ffa198942ae4310e5784b61099ac80f427659a28706b509f5"
|
||||
nubusProvisioningUdmTransformer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -646,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.51.0@sha256:ce9c312699ebe42c2e1df0d6caf150dfda1e4cc3fc1aaebe62c9ea5de8c11780"
|
||||
tag: "0.56.0@sha256:4bb855be7a1b9abb8c6ae07afd9c35acb6d7aaad80d36c1132e054fe1bdd0156"
|
||||
nubusSelfServiceConsumer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -656,7 +678,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "3", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/selfservice-invitation"
|
||||
tag: "0.15.0@sha256:a7c4c097029de8903e3c2eee2082d740b5352dcc7a7a2a3c330bd9ebd7ad5b62"
|
||||
tag: "0.17.0@sha256:00e6124eecc1b763326023ecaf9702053e24b39b20f5efbcd35dfaad642d2cda"
|
||||
nubusUdmRestApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -666,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.30.0@sha256:9503666bac5f44a1d7cb6f17c6fd11a7d6976bc9059938596b6ac9f7bb581ca5"
|
||||
tag: "0.37.1@sha256:a0508191a52ed9c388e0574cf6a97031fdfffcff95ab8ca3e4231c795d3a68df"
|
||||
nubusUmcGateway:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -676,7 +698,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-gateway"
|
||||
tag: "0.43.1@sha256:e1f23a199e1e35667e2ba6a45866bcb6d37bc2b13f3b8134e511ae95973c743b"
|
||||
tag: "0.47.1@sha256:71d1fb00a28a7cc83e1a8a675b8e9dc3ff67b1d7f366b2d60f9623fdb5f6e419"
|
||||
nubusUmcServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -686,7 +708,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-server"
|
||||
tag: "0.43.1@sha256:1aef76db446164c3ffaeaf233e9ef6303ebb1609b47f918ac4ab6714abf95283"
|
||||
tag: "0.47.1@sha256:8f451e7b50c6a32a8d4bad5959a103e34e3ae8d0bef2fe3df2dc8fbe7ae9c1b6"
|
||||
nubusUmcServerProxy:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -704,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.30.0@sha256:fa804c2a10aa42439bf3f388007d7e55c046d6da6dc8a74c27f5a989fd422c8d"
|
||||
tag: "0.33.0@sha256:7e0e5e93422b2e99915d95d674ab37a8f9c79c0b8f1ebf69c2e7706bb718ae75"
|
||||
opendeskKeycloakBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -730,7 +752,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["13", "1", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/images-mirror/open_desk"
|
||||
tag: "15.5.1@sha256:9ca328a30fc1e143fc1a34942836ff44923c05c327c27779e248767f2ce9ffc7"
|
||||
tag: "16.1.1@sha256:2fe8a7d1cab42611b01f4ca20ce7179a0637477f2882364b4a1cfdebde9ecd6f"
|
||||
openprojectBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -764,7 +786,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "6", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/core-guidedtours"
|
||||
tag: "8.6.15@sha256:f8ea7b3f4003b518c43b12118980d26d1258396f55848af6a64e7a3e7e103c1d"
|
||||
tag: "8.6.17@sha256:27178fc42f2334385f1d206e4e7991d4953a102f114729d186b61c0d40babb4f"
|
||||
openxchangeCoreMW:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -774,7 +796,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "20", "51"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/middleware-public-sector"
|
||||
tag: "8.37.62@sha256:2eb5f4a472c329cbf170b6e7fba5790756dcc3f6360d5d36dfff5eb06b09f8c3"
|
||||
tag: "8.38.73@sha256:610d4bab888e5749ff918a782ba1c33ed4aa8da9e13d5be4ad71ca2f698d4044"
|
||||
openxchangeCoreUI:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -784,7 +806,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "20", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/core-ui"
|
||||
tag: "8.37.1@sha256:eb30e03a5976d57a62d00a613336631d46bffc84c0d67e422f062635669f6b62"
|
||||
tag: "8.38.1@sha256:77bf250df7ac465006576d5e1e0a8420ce6d0fce622b749c6da318793b88490c"
|
||||
openxchangeCoreUIMiddleware:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -804,7 +826,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "20", "799279"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/core-user-guide"
|
||||
tag: "8.37.1354160@sha256:226b210268cd3c9b13a84a2ca1168e1ab08b62e19bccd3129adad7ffca514655"
|
||||
tag: "8.38.1408226@sha256:1a18c6c7b6a7a0f16376a9c298e65a13a4b482f6df1351582250a88571f1fa73"
|
||||
openxchangeDocumentConverter:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -814,7 +836,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "20", "50"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/documentconverter"
|
||||
tag: "8.37.1751@sha256:c1bbe271d6c0ba9ecc1bbb4ba2a944099f0ba90133dd4e6d3aecd0ea51b2e5bd"
|
||||
tag: "8.38.1817@sha256:d7537574765e19e7c9e13fe936c1a4c69b39bda216abcd000dad9f93fbb62f7b"
|
||||
openxchangeGotenberg:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -844,7 +866,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "20", "50"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/imageconverter"
|
||||
tag: "8.37.2089@sha256:8109351da173fa836d5559973103c8890e6a6e2514866675387bbf4d49606917"
|
||||
tag: "8.38.2105@sha256:9c79f29712c5a5479bc1a08e127c65415a50a63954b244c1d34a570f5f3ed1f6"
|
||||
openxchangeNextcloudIntegrationUI:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -882,7 +904,7 @@ images:
|
||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/postfix"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/postfix"
|
||||
tag: "3.0.2@sha256:e65c6a70d2095a839c4337ef5dacefd42781641b7ac4dc202ff111881dae3716"
|
||||
tag: "3.0.3@sha256:12bcebf57ddb53258c48eaa60e9c25b441f4319ee1b94b363c652ad0a992a875"
|
||||
postfixBootstrap:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
|
||||
@@ -12,6 +12,7 @@ ingress:
|
||||
collabora: "100M"
|
||||
element: "100M"
|
||||
nextcloud: "100M"
|
||||
notes: "100M"
|
||||
openproject: "100M"
|
||||
oxAppSuite: "100M"
|
||||
xwiki: "100M"
|
||||
@@ -19,6 +20,7 @@ ingress:
|
||||
collabora: 600
|
||||
element: 60
|
||||
nextcloud: 600
|
||||
notes: 60
|
||||
openproject: 60
|
||||
oxAppSuite: 60
|
||||
xwiki: 60
|
||||
|
||||
@@ -55,4 +55,14 @@ objectstores:
|
||||
username: "openproject_user"
|
||||
pathStyle: true
|
||||
useIamProfile: false
|
||||
openxchange:
|
||||
bucket: "openxchange"
|
||||
endpoint: ""
|
||||
# Size in MB
|
||||
maxSize: 100000
|
||||
region: ""
|
||||
secretKey: ""
|
||||
storageClass: "STANDARD"
|
||||
username: "openxchange_user"
|
||||
useSSL: true
|
||||
...
|
||||
|
||||
@@ -36,6 +36,14 @@ persistence:
|
||||
nubusProvisioningNats:
|
||||
size: "1Gi"
|
||||
storageClassName: ~
|
||||
# This option was introduced with openDesk 1.6. For now we want to use the Helm charts default empty string
|
||||
# to avoid issues during the upgrade modifying an existing PV, as the migrations in 1.6 required a smooth
|
||||
# Nubus deployment.
|
||||
# In a later openDesk release we will advise in the migrations.md to explicitly set this on existing deployments
|
||||
# to the default storage class.
|
||||
nubusUdmListener:
|
||||
size: "1Gi"
|
||||
#storageClassName: ""
|
||||
oxConnector:
|
||||
size: "1Gi"
|
||||
storageClassName: ~
|
||||
|
||||
@@ -12,7 +12,7 @@ repositories:
|
||||
# Higher precedence than `global.imageRegistry`
|
||||
helm:
|
||||
registryOpencodeDe: ""
|
||||
registryOpencodeDeEnterprise: "registry.opencode.de"
|
||||
registryOpencodeDeEnterprise: ""
|
||||
# ClamAV registry settings
|
||||
clamav:
|
||||
auth: {}
|
||||
|
||||
@@ -7,8 +7,8 @@ SPDX-License-Identifier: Apache-2.0
|
||||
secrets:
|
||||
cassandra:
|
||||
rootPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "cassandra" "root_password" | sha1sum | quote }}
|
||||
dovecotDictmapUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "cassandra" "dovecot_dictmap_user" | sha1sum | quote }}
|
||||
dovecotACLUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "cassandra" "dovecot_acl_user" | sha1sum | quote }}
|
||||
dovecotDictmapUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "cassandra" "dovecot_dictmap_user" | sha1sum | quote }}
|
||||
oxAppSuite:
|
||||
adminPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "ox_appsuite" "admin_password" | sha1sum | quote }}
|
||||
basicAuthPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "ox_appsuite" "basic_auth_password" | sha1sum | quote }}
|
||||
@@ -46,17 +46,18 @@ secrets:
|
||||
provisioning:
|
||||
api:
|
||||
adminPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "api" "admin_api" | sha1sum | quote }}
|
||||
natsPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "api" "nats" | sha1sum | quote }}
|
||||
# prefix `nats` passwords with `n` because of an upstream bug, for further information see https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/docs/getting-started.md?ref_type=heads#password-seed
|
||||
natsPassword: {{ printf "n%s" (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "api" "nats" | sha1sum) | quote }}
|
||||
prefillPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "prefill" "prefill_service" | sha1sum | quote }}
|
||||
udmTransformerPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "udmproducer" "events_api" | sha1sum | quote }}
|
||||
dispatcherNatsPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "dispatcher" "nats" | sha1sum | quote }}
|
||||
prefillNatsPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "prefill" "nats" | sha1sum | quote }}
|
||||
udmListenerNatsPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "udmListener" "nats" | sha1sum | quote }}
|
||||
udmTransformerNatsPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "udmTransformer" "nats" | sha1sum | quote }}
|
||||
dispatcherNatsPassword: {{ printf "n%s" (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "dispatcher" "nats" | sha1sum) | quote }}
|
||||
prefillNatsPassword: {{ printf "n%s" (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "prefill" "nats" | sha1sum) | quote }}
|
||||
udmListenerNatsPassword: {{ printf "n%s" (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "udmListener" "nats" | sha1sum) | quote }}
|
||||
udmTransformerNatsPassword: {{ printf "n%s" (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "udmTransformer" "nats" | sha1sum) | quote }}
|
||||
guardian:
|
||||
udmPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "cn=admin" "udm" | sha1sum | quote }}
|
||||
nats:
|
||||
natsAdminPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "admin" "nats" | sha1sum | quote }}
|
||||
natsAdminPassword: {{ printf "n%s" (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "admin" "nats" | sha1sum) | quote }}
|
||||
postgresql:
|
||||
postgresUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "postgres" "postgres_user" | sha1sum | quote }}
|
||||
keycloakUser: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "postgres" "keycloak_user" | sha1sum | quote }}
|
||||
@@ -81,6 +82,7 @@ secrets:
|
||||
nextcloudUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "nextcloud_user" | sha1sum | quote) }}
|
||||
notesUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "notes_user" | sha1sum | quote) }}
|
||||
openprojectUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "openproject_user" | sha1sum | quote) }}
|
||||
openxchangeUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "openxchange_user" | sha1sum | quote) }}
|
||||
umsUser: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "minio" "ums_user" | sha1sum | quote) }}
|
||||
keycloak:
|
||||
adminPassword: {{ derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "adminPassword" | sha1sum | quote }}
|
||||
|
||||
@@ -66,8 +66,14 @@ theme:
|
||||
faviconIco: {{ readFile "./../../files/theme/notes/favicon.ico" | b64enc | quote }}
|
||||
|
||||
portal:
|
||||
faviconIco: {{ readFile "./../../files/theme/portal/favicon.ico" | b64enc | quote }}
|
||||
waitingSpinnerSvg: {{ readFile "./../../files/theme/portal/waiting-spinner.svg" | b64enc }}
|
||||
faviconIco: {{ readFile "./../../files/theme/portal/favicon/favicon.ico" | b64enc | quote }}
|
||||
faviconSvg: {{ readFile "./../../files/theme/portal/favicon/favicon.svg" | b64enc | quote }}
|
||||
favicon96Png: {{ readFile "./../../files/theme/portal/favicon/favicon-96x96.png" | b64enc | quote }}
|
||||
appleTouchIcon: {{ readFile "./../../files/theme/portal/favicon/apple-touch-icon.png" | b64enc | quote }}
|
||||
webManifestIcon192: {{ readFile "./../../files/theme/portal/favicon/web-app-manifest-192x192.png" | b64enc | quote }}
|
||||
webManifestIcon512: {{ readFile "./../../files/theme/portal/favicon/web-app-manifest-512x512.png" | b64enc | quote }}
|
||||
|
||||
waitingSpinnerSvg: {{ readFile "./../../files/theme/portal/waiting-spinner.svg" | b64enc | quote }}
|
||||
backgroundSvg: {{ readFile "./../../files/theme/portal/background.svg" | b64enc | quote }}
|
||||
portalTiles:
|
||||
adminAnnouncement: {{ readFile "./../../files/theme/admin_announcements/favicon.svg" | b64enc | quote }}
|
||||
@@ -89,6 +95,10 @@ theme:
|
||||
notes: {{ readFile "./../../files/theme/notes/favicon.svg" | b64enc | quote }}
|
||||
realtimeCollaboration: {{ readFile "./../../files/theme/chat/favicon.svg" | b64enc | quote }}
|
||||
realtimeVideoconference: {{ readFile "./../../files/theme/videoconference/favicon.svg" | b64enc | quote }}
|
||||
# links
|
||||
documentation: {{ readFile "./../../files/theme/link_documentation/favicon.svg" | b64enc | quote }}
|
||||
feedback: {{ readFile "./../../files/theme/link_feedback/favicon.svg" | b64enc | quote }}
|
||||
support: {{ readFile "./../../files/theme/link_support/favicon.svg" | b64enc | quote }}
|
||||
# empty.svg
|
||||
empty: {{ readFile "./../../files/theme/_dev/empty.svg" | b64enc | quote }}
|
||||
fileshareActivity: {{ readFile "./../../files/theme/_dev/empty.svg" | b64enc | quote }}
|
||||
|
||||
1
helmfile/files/theme/link_documentation/favicon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" class="portal-help__icon"><mask id="mask0_406_2939" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20" style="mask-type: alpha;"><rect width="20" height="20" fill="#D9D9D9"></rect></mask><g mask="url(#mask0_406_2939)"><path d="M9.9987 16.666C9.33203 16.1382 8.60981 15.7285 7.83203 15.4368C7.05425 15.1452 6.2487 14.9993 5.41536 14.9993C4.83203 14.9993 4.25911 15.0757 3.69661 15.2285C3.13411 15.3813 2.59592 15.5966 2.08203 15.8743C1.79036 16.0271 1.50911 16.0202 1.23828 15.8535C0.967448 15.6868 0.832031 15.4438 0.832031 15.1243V5.08268C0.832031 4.9299 0.870226 4.78407 0.946615 4.64518C1.023 4.50629 1.13759 4.40213 1.29036 4.33268C1.92925 3.99935 2.59592 3.74935 3.29036 3.58268C3.98481 3.41602 4.69314 3.33268 5.41536 3.33268C6.22092 3.33268 7.00912 3.43685 7.77995 3.64518C8.55078 3.85352 9.29037 4.16602 9.9987 4.58268V14.666C10.707 14.2216 11.4501 13.8882 12.2279 13.666C13.0056 13.4438 13.7904 13.3327 14.582 13.3327C15.082 13.3327 15.5716 13.3743 16.0508 13.4577C16.5299 13.541 17.0126 13.666 17.4987 13.8327V3.83268C17.707 3.90213 17.9119 3.97504 18.1133 4.05143C18.3147 4.12782 18.5126 4.22157 18.707 4.33268C18.8598 4.40213 18.9744 4.50629 19.0508 4.64518C19.1272 4.78407 19.1654 4.9299 19.1654 5.08268V15.1243C19.1654 15.4438 19.0299 15.6868 18.7591 15.8535C18.4883 16.0202 18.207 16.0271 17.9154 15.8743C17.4015 15.5966 16.8633 15.3813 16.3008 15.2285C15.7383 15.0757 15.1654 14.9993 14.582 14.9993C13.7487 14.9993 12.9431 15.1452 12.1654 15.4368C11.3876 15.7285 10.6654 16.1382 9.9987 16.666ZM11.6654 12.4993V4.58268L15.832 0.416016V8.74935L11.6654 12.4993ZM8.33203 13.8535V5.60352C7.8737 5.40907 7.398 5.25977 6.90495 5.1556C6.41189 5.05143 5.91536 4.99935 5.41536 4.99935C4.90148 4.99935 4.40148 5.04796 3.91536 5.14518C3.42925 5.2424 2.95703 5.38824 2.4987 5.58268V13.8535C2.98481 13.673 3.46745 13.541 3.94661 13.4577C4.42578 13.3743 4.91536 13.3327 5.41536 13.3327C5.91536 13.3327 6.40495 13.3743 6.88412 13.4577C7.36328 13.541 7.84592 13.673 8.33203 13.8535Z" fill="white"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
1
helmfile/files/theme/link_feedback/favicon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="21" height="20" viewBox="0 0 21 20" fill="none" class="portal-help__icon"><mask id="mask0_592_612" maskUnits="userSpaceOnUse" x="0" y="0" width="21" height="20" style="mask-type: alpha;"><rect x="0.644531" width="20" height="20" fill="#D9D9D9"></rect></mask><g mask="url(#mask0_592_612)"><path d="M18.9792 18.3337L15.6458 15.0003H3.97917C3.52083 15.0003 3.12847 14.8371 2.80208 14.5107C2.47569 14.1844 2.3125 13.792 2.3125 13.3337V3.33366C2.3125 2.87533 2.47569 2.48296 2.80208 2.15658C3.12847 1.83019 3.52083 1.66699 3.97917 1.66699H17.3125C17.7708 1.66699 18.1632 1.83019 18.4896 2.15658C18.816 2.48296 18.9792 2.87533 18.9792 3.33366V18.3337ZM3.97917 13.3337H16.3542L17.3125 14.2712V3.33366H3.97917V13.3337Z" fill="white"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 789 B |
1
helmfile/files/theme/link_support/favicon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none" class="portal-help__icon"><mask id="mask0_406_2944" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20" style="mask-type: alpha;"><rect width="20" height="20" fill="#D9D9D9"></rect></mask><g mask="url(#mask0_406_2944)"><path d="M10 18.3327L9.79167 15.8327H9.58333C7.61111 15.8327 5.9375 15.1452 4.5625 13.7702C3.1875 12.3952 2.5 10.7216 2.5 8.74935C2.5 6.77713 3.1875 5.10352 4.5625 3.72852C5.9375 2.35352 7.61111 1.66602 9.58333 1.66602C10.5694 1.66602 11.4896 1.85004 12.3438 2.2181C13.1979 2.58615 13.9479 3.0931 14.5938 3.73893C15.2396 4.38477 15.7465 5.13477 16.1146 5.98893C16.4826 6.8431 16.6667 7.76324 16.6667 8.74935C16.6667 9.79102 16.4965 10.791 16.1563 11.7493C15.816 12.7077 15.3507 13.5966 14.7604 14.416C14.1701 15.2355 13.4688 15.9785 12.6563 16.6452C11.8438 17.3118 10.9583 17.8743 10 18.3327ZM11.6667 15.291C12.6528 14.4577 13.4549 13.482 14.0729 12.3639C14.691 11.2459 15 10.041 15 8.74935C15 7.23546 14.4757 5.95421 13.4271 4.9056C12.3785 3.85699 11.0972 3.33268 9.58333 3.33268C8.06944 3.33268 6.78819 3.85699 5.73958 4.9056C4.69097 5.95421 4.16667 7.23546 4.16667 8.74935C4.16667 10.2632 4.69097 11.5445 5.73958 12.5931C6.78819 13.6417 8.06944 14.166 9.58333 14.166H11.6667V15.291ZM9.5625 13.3118C9.79861 13.3118 10 13.2285 10.1667 13.0618C10.3333 12.8952 10.4167 12.6938 10.4167 12.4577C10.4167 12.2216 10.3333 12.0202 10.1667 11.8535C10 11.6868 9.79861 11.6035 9.5625 11.6035C9.32639 11.6035 9.125 11.6868 8.95833 11.8535C8.79167 12.0202 8.70833 12.2216 8.70833 12.4577C8.70833 12.6938 8.79167 12.8952 8.95833 13.0618C9.125 13.2285 9.32639 13.3118 9.5625 13.3118ZM8.95833 10.666H10.2083C10.2083 10.2493 10.25 9.95768 10.3333 9.79102C10.4167 9.62435 10.6806 9.31879 11.125 8.87435C11.375 8.62435 11.5833 8.35352 11.75 8.06185C11.9167 7.77018 12 7.45768 12 7.12435C12 6.41602 11.7604 5.88477 11.2813 5.5306C10.8021 5.17643 10.2361 4.99935 9.58333 4.99935C8.97222 4.99935 8.45833 5.16949 8.04167 5.50977C7.625 5.85004 7.33333 6.26324 7.16667 6.74935L8.33333 7.20768C8.40278 6.97157 8.53472 6.73893 8.72917 6.50977C8.92361 6.2806 9.20833 6.16602 9.58333 6.16602C9.95833 6.16602 10.2396 6.27018 10.4271 6.47852C10.6146 6.68685 10.7083 6.91602 10.7083 7.16602C10.7083 7.40213 10.6389 7.61393 10.5 7.80143C10.3611 7.98893 10.1944 8.1799 10 8.37435C9.51389 8.79102 9.21875 9.12088 9.11458 9.36393C9.01042 9.60699 8.95833 10.041 8.95833 10.666Z" fill="white"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
@@ -1,5 +0,0 @@
|
||||
<svg width="111" height="111" viewBox="0 0 111 111" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="0.5" y="0.5" width="110" height="110" rx="20" fill="white"/>
|
||||
<path d="M68.6778 80.1145V81.6565C68.6778 88.1647 63.4498 93.4567 57.0203 93.4567H29.6574C23.2279 93.4567 17.9999 88.1647 17.9999 81.6565V53.9586C17.9999 47.4503 23.2279 42.1583 29.6574 42.1583H31.1807V80.1218H68.6849L68.6778 80.1145Z" fill="#8E75FA"/>
|
||||
<path d="M69.1856 70.877H40.2993V38.553C40.2993 27.5202 49.1676 18.5433 60.067 18.5433H69.1927C81.7656 18.5433 91.9999 28.9029 91.9999 41.6298V47.7833C91.9999 60.5102 81.7656 70.8697 69.1927 70.8697L69.1856 70.877ZM53.473 57.5348H69.1856C74.4922 57.5348 78.8119 53.1622 78.8119 47.7905V41.637C78.8119 36.2654 74.4922 31.8928 69.1856 31.8928H60.0598C56.4267 31.8928 53.473 34.8827 53.473 38.5603V57.542V57.5348Z" fill="#571EFA"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 859 B |
BIN
helmfile/files/theme/portal/favicon/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
helmfile/files/theme/portal/favicon/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
helmfile/files/theme/portal/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
1
helmfile/files/theme/portal/favicon/favicon.svg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
helmfile/files/theme/portal/favicon/web-app-manifest-192x192.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
helmfile/files/theme/portal/favicon/web-app-manifest-512x512.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
@@ -97,39 +97,9 @@
|
||||
--login-logo: url("/static-files/login/logo.svg") no-repeat center;
|
||||
}
|
||||
|
||||
/* Beta overlay for Notes */
|
||||
.portal-tile[target="tab_notes"]:before {
|
||||
position: absolute;
|
||||
content: "Beta";
|
||||
color: #571EFA;
|
||||
transform: rotate(45deg);
|
||||
top: 8px;
|
||||
right: 0px;
|
||||
font-size: var(--font-size-5);
|
||||
font-weight: bold;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 748px) {
|
||||
.portal-tile[target="tab_notes"]:before {
|
||||
top: 5px;
|
||||
font-size: 10px;
|
||||
}
|
||||
.portal-tile__name {
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.portal-tile[target="tab_notes"]:after {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
border-style: solid;
|
||||
border-width: 0 calc(var(--app-tile-side-length) / 2) calc(var(--app-tile-side-length) / 2) 0;
|
||||
border-color: transparent #E9E4FC transparent transparent;
|
||||
z-index: 0;
|
||||
border-top-right-radius: calc(var(--border-radius-apptile) - 1px);
|
||||
/* Speed of flyout mennu */
|
||||
.flyout-wrapper, .flyout-wrapper--isVisible {
|
||||
transition: transform .5s cubic-bezier(0,0,.2,1);
|
||||
}
|
||||
|
||||
/* Keycloak user screens begin */
|
||||
@@ -145,6 +115,13 @@
|
||||
color: var(--color-opendesk-white) !important;
|
||||
}
|
||||
|
||||
#social-sso-federation-idp {
|
||||
margin: 0;
|
||||
color: var(--color-opendesk-white);
|
||||
background-color: var(--pf-c-button--m-primary--BackgroundColor);
|
||||
border-radius: var(--border-radius-interactable, 0.25rem);
|
||||
}
|
||||
|
||||
#kc-login:hover,
|
||||
#kc-logout:hover,
|
||||
#saveTOTPBtn:hover,
|
||||
@@ -521,3 +498,173 @@ textarea {
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* openDesk customization for nubus-frontend below */
|
||||
|
||||
.portal-quick-draft {
|
||||
background-color: var(--color-accent);
|
||||
color: #fff;
|
||||
border: 1px solid #d3d7de;
|
||||
}
|
||||
|
||||
.portal-quick-draft__img {
|
||||
filter: grayscale(1) invert(1);
|
||||
}
|
||||
|
||||
.portal-quick-draft:hover,
|
||||
.portal-quick-draft__toggle:hover {
|
||||
background-color: #4519c2;
|
||||
}
|
||||
|
||||
.portal-quick-draft:focus-within {
|
||||
box-shadow: 0px 0px 0px 3px #c8b9fd;
|
||||
}
|
||||
|
||||
.portal-quick-draft--open:focus-within {
|
||||
box-shadow: unset;
|
||||
}
|
||||
|
||||
.portal-quick-draft__toggle:focus {
|
||||
border-color: var(--color-focus);
|
||||
}
|
||||
|
||||
.portal-quick-draft--open,
|
||||
.portal-quick-draft--open:hover,
|
||||
.portal-quick-draft--open .portal-quick-draft__toggle:hover {
|
||||
background-color: #341291;
|
||||
}
|
||||
|
||||
.portal-quick-draft__item {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.portal-quick-draft__item:hover,
|
||||
.portal-quick-draft__item:focus-visible {
|
||||
color: hsla(0,0%,100%,.7);
|
||||
}
|
||||
|
||||
.portal-category__title {
|
||||
margin-bottom: calc(var(--layout-spacing-unit) * 2);
|
||||
font-size: var(--font-size-3);
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.portal-category .portal-category__tiles {
|
||||
--app-tile-side-length: 5.5rem;
|
||||
--border-radius-apptile: var(--layout-spacing-unit);
|
||||
grid-gap: calc(var(--layout-spacing-unit) * 2.5) calc(var(--layout-spacing-unit) * 4.5);
|
||||
}
|
||||
|
||||
.portal-tile__box {
|
||||
box-shadow: none;
|
||||
border: 1px solid #d9d9d9;
|
||||
margin-bottom: calc(var(--layout-spacing-unit) * 1);
|
||||
}
|
||||
|
||||
.portal-tile__box--with-scaling-hover:hover {
|
||||
scale: 1;
|
||||
}
|
||||
|
||||
.portal-tile:hover .portal-tile__box {
|
||||
border-color: #99a1b2;
|
||||
}
|
||||
|
||||
.portal-tile:focus .portal-tile__box {
|
||||
border-color: #99a1b2;
|
||||
box-shadow: 0 0 0 3px #c8b9fd;
|
||||
}
|
||||
|
||||
.portal-corner__inner {
|
||||
background-color: #203257;
|
||||
}
|
||||
|
||||
.portal-corner__link {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.portal-corner__link:focus-visible,
|
||||
.portal-corner__link:hover {
|
||||
color: hsla(0, 0%, 100%, .7);
|
||||
outline: none;
|
||||
outline-offset: none;
|
||||
}
|
||||
|
||||
.portal-corner__item:after {
|
||||
color: hsla(0,0%,100%,.5);
|
||||
}
|
||||
|
||||
.newsfeed-meta__btn {
|
||||
border: 1px solid var(--bgc-announcements-info);
|
||||
color: var(--color-accent);
|
||||
background-color: var(--color-opendesk-white);
|
||||
}
|
||||
|
||||
.newsfeed-meta__btn:focus,
|
||||
.newsfeed-meta__btn:hover {
|
||||
border-color: var(--newsfeed-link-hover-color);
|
||||
}
|
||||
|
||||
#header-button-menu {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.portal-header__right .header-button[data-test=searchbutton] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.portal-sidebar__flyout {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.portal-sidenavigation__login-header {
|
||||
order: 1;
|
||||
}
|
||||
|
||||
.portal-sidenavigation__login-header + .divider {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.portal-sidenavigation__user-row {
|
||||
display: block;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.portal-sidenavigation__user-text-content {
|
||||
display: block;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.portal-sidenavigation--username {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.portal-sidenavigation__logout-link {
|
||||
padding: 1em 0 1em 20px;
|
||||
cursor: pointer;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
font-size: var(--font-size-4);
|
||||
color: var(--font-color-contrast-high);
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
margin: 0;
|
||||
scale: 1;
|
||||
display: block;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.portal-sidenavigation__logout-link:hover {
|
||||
background-color: #f5f5f5;
|
||||
transition: all var(--portal-transition-duration);
|
||||
}
|
||||
|
||||
.portal-category__title::before {
|
||||
display: block;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgeG1sbnM6dj0iaHR0cHM6Ly92ZWN0YS5pby9uYW5vIj48cGF0aCBkPSJNNS45MzggNC42ODhhMS4yNSAxLjI1IDAgMCAxLS43NzIgMS4xNTUgMS4yNSAxLjI1IDAgMCAxLTEuMzYyLS4yNzEgMS4yNSAxLjI1IDAgMCAxLS4yNzEtMS4zNjIgMS4yNSAxLjI1IDAgMCAxIDEuMTU1LS43NzIgMS4yNSAxLjI1IDAgMCAxIDEuMjUgMS4yNXpNMTAgMy40MzhhMS4yNSAxLjI1IDAgMCAwLTEuMTU1Ljc3MiAxLjI1IDEuMjUgMCAwIDAgLjI3MSAxLjM2MiAxLjI1IDEuMjUgMCAwIDAgMS4zNjIuMjcxIDEuMjUgMS4yNSAwIDAgMCAuNzcyLTEuMTU1QTEuMjUgMS4yNSAwIDAgMCAxMCAzLjQzOHptNS4zMTMgMi41YTEuMjUgMS4yNSAwIDAgMCAxLjE1NS0uNzcyIDEuMjUgMS4yNSAwIDAgMC0uMjcxLTEuMzYyIDEuMjUgMS4yNSAwIDAgMC0xLjM2Mi0uMjcxIDEuMjUgMS4yNSAwIDAgMC0uNzcyIDEuMTU1IDEuMjUgMS4yNSAwIDAgMCAxLjI1IDEuMjV6TTQuNjg4IDguNzVhMS4yNSAxLjI1IDAgMCAwLTEuMTU1Ljc3MiAxLjI1IDEuMjUgMCAwIDAgLjI3MSAxLjM2MiAxLjI1IDEuMjUgMCAwIDAgMS4zNjIuMjcxQTEuMjUgMS4yNSAwIDAgMCA1LjkzOCAxMGExLjI1IDEuMjUgMCAwIDAtMS4yNS0xLjI1em01LjMxMyAwYTEuMjUgMS4yNSAwIDAgMC0xLjE1NS43NzIgMS4yNSAxLjI1IDAgMCAwIC4yNzEgMS4zNjIgMS4yNSAxLjI1IDAgMCAwIDEuMzYyLjI3MUExLjI1IDEuMjUgMCAwIDAgMTEuMjUgMTAgMS4yNSAxLjI1IDAgMCAwIDEwIDguNzV6bTUuMzEzIDBhMS4yNSAxLjI1IDAgMCAwLTEuMTU1Ljc3MiAxLjI1IDEuMjUgMCAwIDAgLjI3MSAxLjM2MiAxLjI1IDEuMjUgMCAwIDAgMS4zNjIuMjcxQTEuMjUgMS4yNSAwIDAgMCAxNi41NjMgMTBhMS4yNSAxLjI1IDAgMCAwLTEuMjUtMS4yNXpNNC42ODggMTQuMDYzYTEuMjUgMS4yNSAwIDAgMC0xLjE1NS43NzIgMS4yNSAxLjI1IDAgMCAwIC4yNzEgMS4zNjIgMS4yNSAxLjI1IDAgMCAwIDEuMzYyLjI3MSAxLjI1IDEuMjUgMCAwIDAgLjc3Mi0xLjE1NSAxLjI1IDEuMjUgMCAwIDAtMS4yNS0xLjI1em01LjMxMyAwYTEuMjUgMS4yNSAwIDAgMC0xLjE1NS43NzIgMS4yNSAxLjI1IDAgMCAwIC4yNzEgMS4zNjIgMS4yNSAxLjI1IDAgMCAwIDEuMzYyLjI3MSAxLjI1IDEuMjUgMCAwIDAgLjc3Mi0xLjE1NSAxLjI1IDEuMjUgMCAwIDAtMS4yNS0xLjI1em01LjMxMyAwYTEuMjUgMS4yNSAwIDAgMC0xLjE1NS43NzIgMS4yNSAxLjI1IDAgMCAwIC4yNzEgMS4zNjIgMS4yNSAxLjI1IDAgMCAwIDEuMzYyLjI3MSAxLjI1IDEuMjUgMCAwIDAgLjc3Mi0xLjE1NSAxLjI1IDEuMjUgMCAwIDAtMS4yNS0xLjI1eiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==');
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{{/*
|
||||
# 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
|
||||
*/}}
|
||||
---
|
||||
@@ -19,7 +19,7 @@ cleanup:
|
||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||
|
||||
migrations:
|
||||
runId: 4
|
||||
runId: 5
|
||||
namespace: {{ .Values.apps.migrations.namespace | default .Release.Namespace | quote }}
|
||||
loglevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"INFO"{{ end }}
|
||||
failOnUnexpectedState: true
|
||||
|
||||
@@ -22,8 +22,8 @@ name: "openDesk"
|
||||
platforms:
|
||||
- "web"
|
||||
developmentStatus: "stable"
|
||||
softwareVersion: "1.3.1"
|
||||
releaseDate: "2025-04-23"
|
||||
softwareVersion: "1.5.0"
|
||||
releaseDate: "2025-06-16"
|
||||
softwareType: "standalone/web"
|
||||
url: "https://gitlab.opencode.de/bmi/opendesk/"
|
||||
logo: ".opencode/openDesk-logo-rgb-color.svg"
|
||||
@@ -92,9 +92,37 @@ description:
|
||||
- ".opencode/screenshots/03-projekte-desktop.png"
|
||||
- ".opencode/screenshots/04-wiki-desktop.png"
|
||||
documentation: "https://docs.opendesk.eu/user"
|
||||
en:
|
||||
features:
|
||||
- "productivity"
|
||||
- "collaboration"
|
||||
- "communication"
|
||||
genericName: "collaboration & communication"
|
||||
shortDescription: >
|
||||
The adaptable office and collaboration suite for the public administration.
|
||||
longDescription: >
|
||||
openDesk is the adaptable office and collaboration suite specifically developed to meet
|
||||
the needs of the public administration.
|
||||
|
||||
|
||||
Focusing on data sovereignty, security, and seamless collaboration, openDesk provides
|
||||
all the familiar tools required for day-to-day administrative work. It brings together
|
||||
all essential office applications under a single, user-friendly interface.
|
||||
|
||||
|
||||
openDesk is the evolution of the “Sovereign Workplace,” an initiative by the
|
||||
Federal Ministry of the Interior.
|
||||
With openDesk, the public administration gains greater control over its digital tools
|
||||
and can respond more flexibly to changing requirements.
|
||||
Federal, state, and local authorities receive a comprehensive office solution that
|
||||
works independently of specific providers, in any browser, and on all devices.
|
||||
screenshots:
|
||||
- ".opencode/screenshots/01-portal-desktop.png"
|
||||
- ".opencode/screenshots/02-dateien-desktop.png"
|
||||
- ".opencode/screenshots/03-projekte-desktop.png"
|
||||
- ".opencode/screenshots/04-wiki-desktop.png"
|
||||
usedBy:
|
||||
- "Robert Koch-Institut"
|
||||
- "Bundesamt für Seeschifffahrt und Hydrographie"
|
||||
- "Föderale IT-Kooperation (FITKO)"
|
||||
- "ZenDiS"
|
||||
...
|
||||
|
||||