Compare commits
12 Commits
gsautner/f
...
feat/dovec
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f7e28b064e | ||
|
|
a5f9b01ca0 | ||
|
|
1f2d42ea48 | ||
|
|
91882b22e5 | ||
|
|
d444d24489 | ||
|
|
c1f19131d9 | ||
|
|
61ea6bdd44 | ||
|
|
ffe3daa506 | ||
|
|
76a8e03acf | ||
|
|
97cb914f18 | ||
|
|
0c92d1681c | ||
|
|
f6aeffb189 |
@@ -4,7 +4,7 @@
|
||||
---
|
||||
include:
|
||||
- project: "${PROJECT_PATH_GITLAB_CONFIG_TOOLING}"
|
||||
ref: "v2.4.10"
|
||||
ref: "v2.4.8"
|
||||
file:
|
||||
- "ci/common/lint.yml"
|
||||
- "ci/release-automation/semantic-release.yml"
|
||||
@@ -182,9 +182,6 @@ 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"
|
||||
@@ -223,9 +220,6 @@ 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.
|
||||
@@ -238,7 +232,8 @@ variables:
|
||||
extends: ".environments"
|
||||
environment:
|
||||
name: "${NAMESPACE}"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:${HELM_IMAGE_PIN}"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:1.1.0\
|
||||
@sha256:74f349066ac5d20e3afaa6abd28781b4c8dc086f67e3d3c1b8345e4a9c3371b1"
|
||||
script:
|
||||
- "cd ${CI_PROJECT_DIR}/helmfile/apps/${COMPONENT}"
|
||||
# MASTER_PASSWORD_WEB_VAR as precedence for MASTER_PASSWORD
|
||||
@@ -676,34 +671,6 @@ 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"
|
||||
@@ -802,17 +769,6 @@ avscan-prepare:
|
||||
stage: "scan"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/clamav-imagescan:1.0.0"
|
||||
before_script:
|
||||
- "mkdir -p ~/.docker"
|
||||
- |
|
||||
cat << EOF > ~/.docker/config.json
|
||||
{
|
||||
"auths": {
|
||||
"$CI_REGISTRY": {
|
||||
"auth": "$(printf %s:%s ${CI_REGISTRY_USER} ${CI_REGISTRY_PASSWORD} | base64 | tr -d '\n')"
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
- "sed -i \"/^DatabaseMirror .*$/c DatabaseMirror ${DATABASE_MIRROR}\" /etc/clamav/freshclam.conf"
|
||||
- "freshclam"
|
||||
- "mkdir /scan"
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
## 📌 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 +1,16 @@
|
||||
Please select one of the templates, in case your contribution contains more than a **simple** typo fix.
|
||||
<!--
|
||||
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}
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
## 📌 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
|
||||
@@ -1,33 +0,0 @@
|
||||
## 📌 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)
|
||||
@@ -1,49 +0,0 @@
|
||||
## ⬆️ 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
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 693.25 214.02">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #571efa;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #927afa;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<path class="cls-2" d="M126.14,140.32v2.13c0,8.99-7.31,16.3-16.3,16.3h-38.26c-8.99,0-16.3-7.31-16.3-16.3v-38.26c0-8.99,7.31-16.3,16.3-16.3h2.13v52.44h52.44Z"/>
|
||||
<path class="cls-1" d="M126.85,127.56h-40.39v-44.65c0-15.24,12.4-27.64,27.64-27.64h12.76c17.58,0,31.89,14.31,31.89,31.89v8.5c0,17.58-14.31,31.89-31.89,31.89ZM104.88,109.13h21.97c7.42,0,13.46-6.04,13.46-13.46v-8.5c0-7.42-6.04-13.46-13.46-13.46h-12.76c-5.08,0-9.21,4.13-9.21,9.21v26.22Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M210.82,90.76c14.85,0,24.34,10.9,24.34,24.25s-9.49,24.25-24.34,24.25-24.44-10.9-24.44-24.25,9.49-24.25,24.44-24.25ZM210.82,133.34c11.37,0,17.39-8.46,17.39-18.33s-6.02-18.33-17.39-18.33-17.48,8.46-17.48,18.33,6.01,18.33,17.48,18.33Z"/>
|
||||
<path d="M244.19,91.7h6.96v11.84c3.29-7.8,10.25-12.78,20.4-12.78,13.07,0,21.9,9.87,21.9,24.34s-8.83,24.16-21.9,24.16c-10.34,0-17.2-5.17-20.4-12.78v28.95h-6.96v-63.73ZM269.38,133.34c9.4,0,17.11-5.83,17.11-18.24s-7.71-18.42-17.11-18.42-17.95,6.11-17.95,18.42,8.65,18.24,17.95,18.24Z"/>
|
||||
<path d="M322.96,90.76c13.35,0,22.28,8.37,22.28,22.65v2.82h-37.5c.28,9.78,5.26,17.29,15.6,17.29,8.55,0,13.54-4.51,15.23-11.47h6.86c-1.97,8.27-7.61,17.2-21.9,17.2-15.13,0-22.46-11.28-22.46-24.91,0-15.04,8.74-23.59,21.9-23.59ZM338.37,110.78c-.66-9.12-6.77-14.29-15.51-14.29-8.18,0-14.29,5.26-15.04,14.29h30.55Z"/>
|
||||
<path d="M355.01,91.7h6.96v12.97c2.54-8.65,9.12-13.91,19.36-13.91s16.73,6.77,16.73,18.99v28.57h-7.05v-28.01c0-9.68-3.76-13.63-12.03-13.63-10.53,0-17.01,8.84-17.01,21.34v20.3h-6.96v-46.62Z"/>
|
||||
<path d="M409.81,72.05h24.35c6.89,0,12.97.85,18.24,2.54,5.26,1.69,9.57,4.98,12.92,9.87,3.35,4.89,5.03,11.78,5.03,20.68s-1.68,15.89-5.03,20.77c-3.35,4.89-7.66,8.18-12.92,9.87-5.27,1.69-11.34,2.54-18.24,2.54h-24.35v-66.27ZM434.16,125.07c4.76,0,8.57-.38,11.42-1.13s5.17-2.55,6.96-5.41c1.79-2.85,2.68-7.32,2.68-13.39s-.91-10.46-2.72-13.35c-1.82-2.88-4.14-4.7-6.96-5.45s-6.61-1.13-11.37-1.13h-9.31v39.86h9.31Z"/>
|
||||
<path d="M480.17,101.33c2.1-3.67,5.01-6.47,8.74-8.41s8.01-2.91,12.83-2.91c7.9,0,14.07,2.1,18.52,6.3,4.45,4.2,6.67,10,6.67,17.39v3.95h-35.53c.25,3.38,1.32,6.03,3.2,7.94,1.88,1.91,4.45,2.87,7.71,2.87,2.82,0,5.15-.59,7-1.79,1.85-1.19,3.02-2.88,3.53-5.08h14.19c-.75,5.26-3.28,9.53-7.57,12.78-4.29,3.26-9.98,4.89-17.06,4.89-5.2,0-9.71-1.05-13.54-3.15-3.82-2.1-6.75-5.03-8.79-8.79-2.04-3.76-3.05-8.08-3.05-12.97s1.05-9.35,3.15-13.02ZM513.02,109.93c-.25-3.01-1.36-5.33-3.34-6.96-1.97-1.63-4.53-2.44-7.66-2.44s-5.56.82-7.47,2.44c-1.91,1.63-2.99,3.95-3.24,6.96h21.71Z"/>
|
||||
<path d="M539.62,134.65c-4.14-3.07-6.21-7.58-6.21-13.54h14.29c0,2.7.85,4.69,2.54,5.97,1.69,1.29,4.29,1.93,7.8,1.93,2.57,0,4.43-.33,5.59-.99,1.16-.66,1.74-1.71,1.74-3.15,0-1-.34-1.82-1.03-2.44-.69-.63-1.79-1.16-3.29-1.6l-14.48-3.95c-3.2-.81-5.95-2.27-8.27-4.37-2.32-2.1-3.48-5-3.48-8.7,0-4.45,1.83-7.86,5.5-10.25,3.67-2.38,8.79-3.57,15.37-3.57,7.27,0,12.94,1.46,17.01,4.37s6.11,7.13,6.11,12.64h-14.29c0-4.57-2.91-6.86-8.74-6.86-2.07,0-3.7.35-4.89,1.03-1.19.69-1.79,1.6-1.79,2.73,0,1.94,1.72,3.35,5.17,4.23l11.09,2.73c4.32,1.07,7.79,2.71,10.39,4.94,2.6,2.22,3.9,5.34,3.9,9.35,0,4.58-1.83,8.07-5.5,10.48-3.67,2.41-9.1,3.62-16.31,3.62-8.02,0-14.1-1.54-18.24-4.61Z"/>
|
||||
<path d="M587.56,69.23h14.29v40.04l18.89-18.33h17.48l-23.59,23.03,23.5,24.35h-17.39l-18.89-19.93v19.93h-14.29v-69.09Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.5 KiB |
104
CHANGELOG.md
@@ -1,107 +1,3 @@
|
||||
# [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)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **docs:** Update requirements, bump helmfile to v1.0.0 ([88b29c5](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/88b29c57e8197f072b9c80019255ee0b7d1188e1))
|
||||
* **dovecot:** Encode object storage password and add more template values ([c40de73](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/c40de73ccf02bf77df0c3a17c2fccf2e113c4b35))
|
||||
* **nubus:** [[#182](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/issues/182)] Add `KC_TRUSTSTORE_PATHS` to Keycloak when using self-signed certificates ([006aed7](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/006aed791e5cf58850712e468a15c8abe1ee0973))
|
||||
* **nubus:** [[#183](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/issues/183)] Do not override `nubusPortalConsumer.waitForDependency.image` when using self-signed certificates ([b45a0bf](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/b45a0bf832506fb60488cd01c9c883b58e1d60b6))
|
||||
* **nubus:** Update ArgoCD hook annotations ([f2b1384](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/f2b13846700d8a49a066b3343b043dac89d326f5))
|
||||
* **open-xchange:** Update Open-Xchange to v8.36 ([b40b863](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/b40b8630c1a5ba7452d0461d38b1175fa647226d))
|
||||
* **open-xchange:** Update Open-Xchange to v8.37 ([174c73c](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/174c73c012e911342644bdcb89d22b35be9baa36))
|
||||
* **openproject:** Update to 15.5.1 ([e91efa8](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/e91efa8ecc1be9b444092e1a291747bb9f0c00ea))
|
||||
* **openxchange:** Add proper dav URLs in client onboarding and disable unnecessary oauth section ([bba2af0](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/bba2af0f06942bd2063cc7b79f3e39fdb07838f0))
|
||||
* **openxchange:** Disable redundant o-x-authentication-oauth package ([1d2b17b](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/1d2b17b4951581e1f60d8a7f2402512dc1c1c568))
|
||||
* **openxchange:** Enable DAV support ([709e50f](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/709e50ff7c020347dad953be7380d08438d3ab69))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **collabora:** Update enterprise image to 24.04.13.4.1 ([b590810](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/b5908100ddbd7497f7f858e874bcbf7979480d1b))
|
||||
* **helmfile:** Define `global.additionalMailDomains` as list; if you use the setting already, check `migrations.md` for details ([4b30576](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/4b305768c444c166e28829ee05631451ba997126))
|
||||
* **helmfile:** Option to select default file format for weboffice using; see `functional.weboffice.defaultFormat` in `functional.yaml.gotmpl` for details ([5f58a85](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/5f58a857acab38fa7f56e1e14ef0a6f805c7622e))
|
||||
* **nubus:** Update nubus to v1.9.1 ([3d694a8](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/3d694a8248d5e983ab3e05753326088b375f2d82))
|
||||
|
||||
## [1.3.2](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.1...v1.3.2) (2025-05-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **dovecot:** Update Helm chart to fix migration mode ([7ba84b9](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/7ba84b99caf61e5a4a35b71d875e9ede0f71423e))
|
||||
* **helmfile:** Explicitly template auth-modules in OX App Suite; Streamline name of OX App Suite EE image ([6cbb6b6](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/6cbb6b6922864467ca365bcc9b1cfa49182df050))
|
||||
|
||||
## [1.3.1](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.3.0...v1.3.1) (2025-04-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** Update Helm to v3.17.3 ([9446faa](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/9446faaa597777e9fb15d33953e02fdbfef646b2))
|
||||
* **ci:** Update Helm to v3.17.3 ([d794a20](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/d794a2036ed6543bf89a0b661cc8a4c8a383a5f0))
|
||||
* **docs:** Update "Ingress controller" section and add footnote on volume provisioner in `requirements.md` ([17efbd7](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/17efbd79f177f635885735823696a6e50b919d3e))
|
||||
* **helmfile:** Conditional templating of additional annotations in selected components to unblock openDesk deployment despite a bug in Helm 3.17 (https://github.com/helm/helm/issues/30587) ([861b84b](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/861b84b14de9fb42c483f3ddb9e083305750d137))
|
||||
* **postfix:** Disable unauthenticated relaying of mails in `postfix-ox` ([7414f05](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/7414f05005e019f2121e8458fe63e795819fe92c))
|
||||
|
||||
# [1.3.0](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.2.1...v1.3.0) (2025-04-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **helmfile:** Fix Kyverno lint issues for EE components ([46b3834](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/46b38342d3cb6789e1734cd6eba412bc726c834b))
|
||||
* **helmfile:** Remove no longer used `secrets.nubus.defaultAccounts.*` ([6e6d155](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/6e6d15552e87a77870755db3b48f2af686916c1f))
|
||||
* **helmfile:** Support for Keycloak session settings via `functional.authentication.realmSettings.*` ([3fcfa00](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/3fcfa00503854f752a3885321b16b3f3597cb09a))
|
||||
* **migrations:** Optional delete of `ums-minio-rewrites` Ingress, as it is non-existing in deployments with external object storage ([6932953](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/693295391bb02892b537a48513c9e0c2824ed466))
|
||||
* **ox-connector:** Update to v0.19.0 ([fe664a7](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/fe664a7f8d696fea53b6abadec5a0cb5db751f43))
|
||||
* **xwiki:** Update Helm chart to v1.4.4 to fix the problem with XWiki not starting when secrets contained specific (XML interpreted) characters ([67a1df0](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/67a1df0f80dc598287174a8dd6bda3f477227f0d))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **collabora:** Update to 24.04.13 ([8f12208](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/8f12208074b2947ec65ebc3c21920d4f775e0c6e))
|
||||
* **helmfile:** Add template support for annotations ([9cde57d](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/9cde57d74b8cfdd09e4f6b82cf45f1b1a686e035))
|
||||
* **helmfile:** Support for SSO federation; see `ssoFederation` section in `functional.yaml.gotmpl` for details ([79975a5](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/79975a58e3a4f50e59d1d790045c22a32ab49372))
|
||||
* **nubus:** Show openDesk version to all users (instead of admin users only) ([393ee31](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/393ee311630630fd1aae8354ead90bcaaf5e4dba))
|
||||
* **nubus:** Update to 1.8.0 ([90c49f6](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/90c49f6f83df0b34b86c17164eaa4e137d0cd9be))
|
||||
* **openproject:** Update to 15.5.0 ([7f1cfc5](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/commit/7f1cfc55551f608603e0401dfef24bbb9cc334e5))
|
||||
|
||||
## [1.2.1](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/compare/v1.2.0...v1.2.1) (2025-03-28)
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Please read the [project's entire CONTRIBUTING.md](https://gitlab.opencode.de/bm
|
||||
|
||||
# How to contribute?
|
||||
|
||||
Please also read the [project's workflow documentation](./docs/developer/workflow.md) for more details on standards like commit
|
||||
Please also read the [project's workflow documentation](./docs/workflow.md) for more details on standards like commit
|
||||
messages and branching convention.
|
||||
|
||||
## Helm vs. Operators vs. Manifests
|
||||
|
||||
@@ -25,7 +25,7 @@ openDesk Enterprise Edition is recommended for production use. It receives suppo
|
||||
|
||||
This document refers to the openDesk Community Edition as "oD CE" and the openDesk Enterprise Edition as "oD EE".
|
||||
|
||||
Please contact [ZenDiS](mailto:opendesk@zendis.de) to get openDesk Enterprise, either as a SaaS offering or for your on-premises installation.
|
||||
Please contact [ZenDiS](mailto:opendesk@zendis.de) to get openDesk Enterprise, either as a SaaS offering or for you on-premise installation.
|
||||
|
||||
# Enabling the Enterprise deployment
|
||||
|
||||
@@ -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`](./helmfile/environments/default/enterprise_keys.yaml.gotmpl) 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` containing the relevant license keys.
|
||||
|
||||
Please place the file next your other `.yaml.gotmpl` file(s) that configure your deployment.
|
||||
|
||||
@@ -94,7 +94,7 @@ Details regarding the scope/limitation of the component's licenses:
|
||||
|
||||
- Nextcloud: Enterprise license to enable [Nextcloud Enterprise](https://nextcloud.com/de/enterprise/) specific features, can be used across multiple installations until the licensed number of users is reached.
|
||||
- OpenProject: Domain specific enterprise license to enable [OpenProject's Enterprise feature set](https://www.openproject.org/enterprise-edition/), domain matching can use regular expressions.
|
||||
- XWiki: Deployment specific enterprise license (key pair) to activate the [XWiki Pro](https://xwiki.com/en/offerings/products/xwiki-pro) apps. *Caution! XWiki needs these license keys as one-line strings. Multi-line strings result in installation failure*
|
||||
- XWiki: Deployment specific enterprise license (key pair) to activate the [XWiki Pro](https://xwiki.com/en/offerings/products/xwiki-pro) apps.
|
||||
|
||||
# Component overview
|
||||
|
||||
@@ -123,7 +123,7 @@ When a repository path starts with `/zendis`, the artifact is only available in
|
||||
- Collabora Online (COOL) container image: Is build from the same public source code as Collabora Development Edition (CODE), only the build configurations might differ. COOL includes a brand package that is not public and its license is not open source.
|
||||
- COOL Controller container image and Helm chart: Source code and chart are using Mozilla Public License Version 2.0, but the source code is not public. It is provided to customers upon request.
|
||||
|
||||
openDesk updates Collabora once a COOL image based on the version pattern `<major>.<minor>.<patch>.3+.<build>` was made available. This happens usually at the same time the CODE image with `<major>.<minor>.<patch>.2+.<build>` is made available.
|
||||
openDesk updates Collabora once a COOL image based on the version pattern `<major>.<minor>.<patch>.3` is available, at the same time the CODE image will be updated to `<major>.<minor>.<patch>.2`.
|
||||
|
||||
### Element
|
||||
|
||||
|
||||
16
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) | [3.2.1](https://github.com/suitenumerique/docs/releases/tag/v3.2.1) | Online documentation/welcome document available in installed application |
|
||||
| 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 |
|
||||
| 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/) |
|
||||
| File management | Nextcloud | [30.0.6](https://nextcloud.com/de/changelog/#30-0-6) | [Nextcloud 30](https://docs.nextcloud.com/) |
|
||||
| Groupware | OX App Suite | [8.35](https://documentation.open-xchange.com/appsuite/releases/8.35/) | Online documentation available from within the installed application; [Additional resources](https://documentation.open-xchange.com/) |
|
||||
| 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 | [16.0.1](https://www.openproject.org/docs/release-notes/16-0-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||
| Portal & IAM | Nubus | [1.7.0](https://docs.software-univention.de/nubus-kubernetes-release-notes/latest/en/changelog.html#version-1-7-0-2025-02-23) | [Univention's documentation website](https://docs.software-univention.de/n/en/nubus.html) |
|
||||
| Project management | OpenProject | [15.4.2](https://www.openproject.org/docs/release-notes/15-4-2/) | [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 | [24.04.12.4](https://www.collaboraoffice.com/code-24-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.
|
||||
@@ -104,7 +104,7 @@ in the files from the release's git-tag:
|
||||
- `./helmfile/environments/default/images.yaml.gotmpl`
|
||||
- `./helmfile/environments/default/charts.yaml.gotmpl`
|
||||
|
||||
Find more information in our [Workflow documentation](./docs/developer/workflow.md).
|
||||
Find more information in our [Workflow documentation](./docs/workflow.md).
|
||||
|
||||
# Data Storage
|
||||
|
||||
@@ -123,7 +123,7 @@ If you want to address other topics, please check the section
|
||||
|
||||
# Development
|
||||
|
||||
If you want to join or contribute to the development of openDesk please read the [Development guide](./docs/developer/development.md).
|
||||
If you want to join or contribute to the development of openDesk please read the [Development guide](./docs/development.md).
|
||||
|
||||
# License
|
||||
|
||||
|
||||
12
REUSE.toml
@@ -23,17 +23,7 @@ path = "docs/architecture/apis_images/*"
|
||||
SPDX-FileCopyrightText = "2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
SPDX-License-Identifier = "Apache-2.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ".opencode/openDesk-logo-rgb-color.svg"
|
||||
SPDX-FileCopyrightText = "2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||
SPDX-License-Identifier = "CC-BY-SA-4.0"
|
||||
|
||||
[[annotations]]
|
||||
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"
|
||||
SPDX-License-Identifier = "CC-BY-SA-4.0"
|
||||
@@ -16,9 +16,9 @@ This chapter presents APIs available in openDesk, grouped by application.
|
||||
* [UDM Simple API](#udm-simple-api)
|
||||
* [UDM REST API](#udm-rest-api)
|
||||
* [UCR Python API](#ucr-python-api)
|
||||
* [Identity Store and Directory Service (LDAP)](#identity-store-and-directory-service-ldap)
|
||||
* [Nubus Provisioning Service](#nubus-provisioning-service)
|
||||
* [Nubus Authorization Service](#nubus-authorization-service)
|
||||
* [LDAP](#ldap)
|
||||
* [Nubus Provisioning Service (**TBD**)](#nubus-provisioning-service-tbd)
|
||||
* [Nubus Authorization Service (**TBD**)](#nubus-authorization-service-tbd)
|
||||
* [Groupware - OX AppSuite / OX Dovecot](#groupware---ox-appsuite--ox-dovecot)
|
||||
* [Usage of APIs within openDesk](#usage-of-apis-within-opendesk)
|
||||
* [HTTP API](#http-api)
|
||||
@@ -65,13 +65,11 @@ This chapter presents APIs available in openDesk, grouped by application.
|
||||
|
||||
# IAM - Nubus
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/overview/components.html#overview-components-fig)
|
||||

|
||||
|
||||
## UMC Python API
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/developer-reference/latest/en/umc/architecture.html#umc-api)
|
||||

|
||||
|
||||
| Name | UMC Python API |
|
||||
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
@@ -90,20 +88,20 @@ This chapter presents APIs available in openDesk, grouped by application.
|
||||
|
||||
## UMC store API
|
||||
|
||||
| Name | UMC store API (also named UMC JavaScript API or Dojo/UMC JavaScript API) |
|
||||
| ------------------------------ | ---------------------------------------------------------------------------------------------------------- |
|
||||
| Purpose | Encapsulate and ease the access to JavaScript module data |
|
||||
| Versioning | |
|
||||
| Authentication | |
|
||||
| In openDesk provided by | Nubus UMC |
|
||||
| Transport protocol | |
|
||||
| Usage within component | |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/latest/en/umc/local-system-module.html#umc-store-api |
|
||||
| Name | UMC store API (also named UMC JavaScript API or Dojo/UMC JavaScript API) |
|
||||
| ------------------------------ |----------------------------------------------------------------------------------------------------------|
|
||||
| Purpose | Encapsulate and ease the access to JavaScript module data |
|
||||
| Versioning | |
|
||||
| Authentication | |
|
||||
| In openDesk provided by | Nubus UMC |
|
||||
| Transport protocol | |
|
||||
| Usage within component | |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/5.0/en/umc/local-system-module.html#umc-store-api |
|
||||
|
||||
## IntercomService (ICS) API
|
||||
|
||||
@@ -115,7 +113,7 @@ This chapter presents APIs available in openDesk, grouped by application.
|
||||
| In openDesk provided by | Nubus UMC |
|
||||
| Transport protocol | HTTP(S) |
|
||||
| Usage within component | |
|
||||
| Usage within openDesk | The ICS implements the BFF pattern for various openDesk inter-component integrations, see [components.md](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/develop/docs/components.md#component-integration) |
|
||||
| Usage within openDesk | The ICS implements the BFF pattern for various openDesk inter-component integrations, see [components.md](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/develop/docs/components.md#component-integration) |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | Depends on the integration use case. |
|
||||
@@ -137,29 +135,28 @@ This chapter presents APIs available in openDesk, grouped by application.
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | Depends on the integration use case. |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/latest/en/listener/api.html |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/5.0/en/listener/api.html |
|
||||
|
||||
More details on the Nubus provisioning service can be found here: https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/components/provisioning-service.html
|
||||
More details on the Nubus provisioning service can be found here: https://docs.software-univention.de/nubus-kubernetes-architecture/0.5/en/components/provisioning-service.html
|
||||
|
||||
## UDM Simple API
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/architecture/latest/en/services/udm.html#architecture-model-udm)
|
||||

|
||||
|
||||
| Name | UDM Simple API |
|
||||
| ------------------------------ | ------------------------------------------------------------------- |
|
||||
| Purpose | Allows use of capability and objects directly in Python programs. |
|
||||
| Versioning | |
|
||||
| Authentication | |
|
||||
| In openDesk provided by | Univention Directory Manager |
|
||||
| Transport protocol | |
|
||||
| Usage within component | Allows to use UDM capability and objects directly in Python programs. UDM Simple API provides Python modules and classes below `univention.udm.*` |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | Depends on the integration use case. |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/ucs-python-api/univention.udm.html#module-univention.udm. |
|
||||
| Name | UDM Simple API |
|
||||
| ------------------------------ |-------------------------------------------------------------------|
|
||||
| Purpose | Allows use of capability and objects directly in Python programs. |
|
||||
| Versioning | |
|
||||
| Authentication | |
|
||||
| In openDesk provided by | Univention Directory Manager |
|
||||
| Transport protocol | |
|
||||
| Usage within component | |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | Depends on the integration use case. |
|
||||
| Supported standards | |
|
||||
| Documentation | |
|
||||
|
||||
## UDM REST API
|
||||
|
||||
@@ -169,72 +166,58 @@ More details on the Nubus provisioning service can be found here: https://docs.s
|
||||
| Versioning | |
|
||||
| Authentication | Basic Auth |
|
||||
| In openDesk provided by | Univention Directory Manager |
|
||||
| Transport protocol | HTTP() |
|
||||
| Transport protocol | HTTP(S) |
|
||||
| Usage within component | The Nubus bootstrapping process makes use of the API. |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | The [openDesk User Importer](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/user-import) utilizes the API. |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | Depends on the integration use case. |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/nubus-kubernetes-customization/latest/en/api/udm-rest.html |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/5.0/en/udm/rest-api.html |
|
||||
|
||||
## UCR Python API
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/architecture/latest/en/services/ucr.html#services-ucr-architecture-model)
|
||||

|
||||
|
||||
| Name | UCR Python API |
|
||||
| ------------------------------ | --------------------------------------------------------------------------------------------------- |
|
||||
| Purpose | Offers a programming interface for components and other Python programs. |
|
||||
| Versioning | |
|
||||
| Authentication | |
|
||||
| In openDesk provided by | Nubus |
|
||||
| Transport protocol | |
|
||||
| Usage within component | The Nubus bootstrapping process makes use of the API. |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/latest/en/ucr/usage.html#using-ucr-from-python |
|
||||
| Name | UCR Python API |
|
||||
| ------------------------------ | --------------------------------------------------------------------------------------------------- |
|
||||
| Purpose | Offers a programming interface for components and other Python programs. |
|
||||
| Versioning | |
|
||||
| Authentication | |
|
||||
| In openDesk provided by | Nubus |
|
||||
| Transport protocol | |
|
||||
| Usage within component | The Nubus bootstrapping process makes use of the API. |
|
||||
| Usage within openDesk | |
|
||||
| Usage for external integration | |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | |
|
||||
| Supported standards | |
|
||||
| Documentation | https://docs.software-univention.de/developer-reference/5.0/en/ucr/usage.html#using-ucr-from-python |
|
||||
|
||||
## Identity Store and Directory Service (LDAP)
|
||||
## LDAP
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/components/identity-store.html#component-identity-store-figure)
|
||||
| Name | LDAP |
|
||||
| ------------------------------ |-------------------------------------------------------------------------------------------------------------------------|
|
||||
| Purpose | Read access to Nubus LDAP |
|
||||
| Versioning | n/a |
|
||||
| Authentication | LDAP user auth |
|
||||
| In openDesk provided by | Nubus openLDAP |
|
||||
| Transport protocol | LDAP |
|
||||
| Usage within component | Data backend for Nubus |
|
||||
| Usage within openDesk | Used by multiple applications to access user/group data, e.g. Nextcloud Server, OpenProject, OX AppSuite backend, XWiki |
|
||||
| Usage for external integration | Not recommended |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | LDAP |
|
||||
| Supported standards | LDAP |
|
||||
| Documentation | https://docs.software-univention.de/manual/5.0/en/domain-ldap/ldap-directory.html |
|
||||
|
||||
| Name | Identity Store and Directory Service (LDAP) |
|
||||
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Purpose | Read access to Nubus LDAP |
|
||||
| Versioning | n/a |
|
||||
| Authentication | LDAP user auth |
|
||||
| In openDesk provided by | Nubus openLDAP |
|
||||
| Transport protocol | LDAP |
|
||||
| Usage within component | Data backend for Nubus |
|
||||
| Usage within openDesk | Used by multiple applications to access user/group data, e.g. Nextcloud Server, OpenProject, OX AppSuite backend, XWiki |
|
||||
| Usage for external integration | Not recommended |
|
||||
| Parallel access | Allowed |
|
||||
| Message protocol | LDAP |
|
||||
| Supported standards | LDAP |
|
||||
| Documentation | https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/components/identity-store.html#component-identity-store-directory-service |
|
||||
## Nubus Provisioning Service (**TBD**)
|
||||
|
||||
## Nubus Provisioning Service
|
||||
To be delivered.
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/components/provisioning-service.html#component-provisioning-service-complete-figure)
|
||||
## Nubus Authorization Service (**TBD**)
|
||||
|
||||
| Name | Nubus Proisioning Service |
|
||||
| ------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| Documentation | https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/components/provisioning-service.html |
|
||||
|
||||
## Nubus Authorization Service
|
||||
|
||||

|
||||
[Source](https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/overview/interfaces-protocols.html#authorization-service)
|
||||
|
||||
| Name | Nubus Authorization Service |
|
||||
| ------------- | --------------------------------------------------------------------------------------------------- |
|
||||
| Documentation | https://docs.software-univention.de/nubus-kubernetes-architecture/latest/en/overview/interfaces-protocols.html#authorization-service |
|
||||
To be delivered.
|
||||
|
||||
# Groupware - OX AppSuite / OX Dovecot
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 411 KiB |
|
Before Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 80 KiB |
@@ -119,7 +119,7 @@ openDesk should be compliant with the "Deutsche Verwaltungscloud Strategie" (DVS
|
||||
|
||||
## IT-Grundschutz
|
||||
|
||||
The IT-Grundschutz catalog knowns a lot of modules ("Bausteine"), but not all of them apply to all components, as there are some related to hardware or some just relevant for the operator while openDesk is "just" the software platform. The first step for an IT-Grundschutz evaluation of a component (or the platform as a whole) requires defining which modules are applicable. Other modules apply to all components e.g. [APP.4.4 Kubernetes](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/06_APP_Anwendungen/APP_4_4_Kubernetes_Edition_2023.pdf), [SYS.1.6 Containerisierung](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/07_SYS_IT_Systeme/SYS_1_6_Containerisierung_Edition_2023.pdf) and [CON.2 Datenschutz](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/03_CON_Konzepte_und_Vorgehensweisen/CON_2_Datenschutz_Edition_2023.pdf).
|
||||
The IT-Grundschutz catalog knowns a lot of modules ("Bausteine"), but not all of them apply to all components, as there are some related to hardware or some just relevant for the operator while openDesk is "just" the software platform. The first step for an IT-Grundschutz evaluation of a component (or the platform as a whole) requires defining which modules are applicable. Other modules apply to all components e.g. [APP.4.4 Kubernetes](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/06_APP_Anwendungen/APP_4_4_Kubernetes_Edition_2023.pdf), [SYS.1.6 Containerisierung](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/07_SYS_IT_Systeme/SYS_1_6_Containerisierung_Edition_2023.pdf) and [CON 2 Datenschutz](https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-GS-Kompendium_Einzel_PDFs_2023/03_CON_Konzepte_und_Vorgehensweisen/CON_2_Datenschutz_Edition_2023.pdf).
|
||||
|
||||
Within each module are multiple requirements ("Anforderungen") that are usually composed of multiple partial requirements ("Teilanforderungen"). Each requirement has a given category:
|
||||
- B for basic ("Basis") - the requirement must be fulfilled.
|
||||
@@ -133,7 +133,7 @@ Different requirements address different roles in IT-Grundschutz.
|
||||
- Operator: processes & product (service)
|
||||
- Customer: processes.
|
||||
|
||||
As a supplier of an openDesk component, you will focus on the "Supplier" requirements, while the outcome (your product) must enable the Provider to fulfill the requirements that lay with its responsibility for the openDesk platform. Operators use openDesk to provide a service, therefore the openDesk platform must enable an Operator to fulfill the related requirements. Finally, the service must enable the customer to align with the scope of the IT-Grundschutz catalog. So it will happen that a requirement from e.g. the customer level needs a specific capability by the product (Supplier's responsibility), a defined core configuration from the platform (Provider's responsibility), or a certain service setup from the Operator.
|
||||
As a supplier of an openDesk component, you will focus on the "Supplier" requirements, while the outcome (your product) must enable the Provider to fulfill the requirements that lay with its responsibility for the openDesk platform. Operators use openDesk to provide a service, therefore the openDesk platform must enable an Operator to fulfill the related requirements. Finally, the service must enable the customer to align with the scope of the IT Grundschutz catalog. So it will happen that a requirement from e.g. the customer level needs a specific capability by the product (Supplier's responsibility), a defined core configuration from the platform (Provider's responsibility), or a certain service setup from the Operator.
|
||||
|
||||
We are aware that IT-Grundschutz is a complex topic and are working towards a streamlined process to reduce overhead as much as possible and ensure to maximize the use of synergies.
|
||||
|
||||
@@ -167,7 +167,7 @@ Each component must be able to operate according to the [EU's General Data Prote
|
||||
|
||||
While this can be answered by each component that will be in the spotlight for the suppliers, we also need an aligned overall picture for openDesk that at least has the platform-specific user lifecycle and cross-application interfaces in focus.
|
||||
|
||||
Note: The topics of availability, integrity, and confidentiality of personal data are also being addressed by the IT-Grundschutz module "CON.2". It has to be ensured that it is not in contradiction to what is being done in the general area of data protection.
|
||||
Note: The topics of availability, integrity, and confidentiality of personal data are also being addressed by the IT-Grundschutz module "CON 2". It has to be ensured that it is not in contradiction to what is being done in the general area of data protection.
|
||||
|
||||
**Reference:** https://gitlab.opencode.de/bmi/opendesk/documentation/datenschutz
|
||||
|
||||
@@ -185,8 +185,7 @@ With a central Identity- and Access Management (IAM) also the user lifecycle (UL
|
||||
|
||||
The focus is to have all the account information in all applications including the account's state, profile picture ([reference](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/issues/27)) and - where required - the user's group memberships. This cannot be done purely by pushing that data through OIDC claims when a user logs in to an application therefore two ways of managing an account are applicable and described in the following subchapters.
|
||||
|
||||
> **Note**<br>
|
||||
> Allowing ad hoc updates of account data through OIDC claims during login is still encouraged.
|
||||
Note: Allowing ad hoc updates of account data through OIDC claims during login is still encouraged.
|
||||
|
||||
### Pull: LDAP
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ Before you investigate any app-specific configuration, it is recommended that yo
|
||||
The `main` branch is configured to be the default branch, as visitors to the project on openCode should see that
|
||||
branch by default.
|
||||
|
||||
Please use the `develop` branch to diverge your branch(es) from. See the [workflow guide](./docs/developer/workflow.md)
|
||||
Please use the `develop` branch to diverge your branch(es) from. See the [workflow guide](./docs/workflow.md)
|
||||
for more details on naming conventions.
|
||||
|
||||
# External artifacts - `charts.yaml.gotmpl` and `images.yaml.gotmpl`
|
||||
@@ -159,3 +159,4 @@ for Helm charts.
|
||||
You may also want to make use of our [standard CI](https://gitlab.opencode.de/bmi/opendesk/tooling/gitlab-config) to
|
||||
quickly get Helm charts and container images that are signed, linted, scanned, and released.
|
||||
Check out the `.gitlab-ci.yaml` files in the project's [Charts](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts) or [Images](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images) to get an idea just how little you need to do by yourself.
|
||||
components
|
||||
@@ -17,8 +17,6 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Add multiple user accounts via CSV file](#add-multiple-user-accounts-via-csv-file)
|
||||
* [Start the migration](#start-the-migration)
|
||||
* [Monitor migration status](#monitor-migration-status)
|
||||
* [Appendix](#appendix)
|
||||
* [Validating master authentication](#validating-master-authentication)
|
||||
<!-- TOC -->
|
||||
|
||||
Most organizations already have email accounts on various platforms that need to be migrated to openDesk. This document describes the migration from M365 accounts to openDesk using the [audriga Migration Service](https://www.audriga.com) in combination with the master authentication option in openDesk. Other source platforms are also supported, and their migrations work in a similar manner.
|
||||
@@ -72,7 +70,7 @@ In openDesk, you have to have all user accounts with mailboxes pre-defined befor
|
||||
|
||||
## Deploy openDesk with master authentication
|
||||
|
||||
With openDesk 1.0 Enterprise, you can set openDesk's email components (OX AppSuite and OX Dovecot) to master authentication mode to run the migration as described in this document using the following two settings for your deployment. This is NOT available in openDesk Community deployments:
|
||||
With openDesk 1.0 Enterprise, you can set openDesk's email components (OX AppSuite and OX Dovecot) to master authentication mode to run the migration as described in this document using the following two settings for your deployment:
|
||||
|
||||
```
|
||||
secrets:
|
||||
@@ -87,12 +85,10 @@ functional:
|
||||
1. You must specify a master password, it will be referenced later in this document.
|
||||
2. You need to enable the actual master authentication mode.
|
||||
|
||||
To validate the master authentication mode please read the appendix section at the end of the document.
|
||||
|
||||
Updating your deployment with these settings will allow you to continue with the migration scenario. Once the migration is completed, you can remove `secrets.oxAppSuite.adminPassword` and need to turn off the migration mode by setting `functional.migration.oxAppSuite.enabled` to `false` or removing that setting, as `false` is the default before you update your deployment once again.
|
||||
|
||||
> **Note**<br>
|
||||
> For the changes to take effect, it is sufficient to re-deploy the `open-xchange` component alone. But you have to restart the Dovecot Pod(s) manually when switching to/from the master authentication mode for the changes to take effect.
|
||||
> For the changes to take effect, it is sufficient to re-deploy the `open-xchange` component alone.
|
||||
|
||||
> **Note**<br>
|
||||
> While in master authentication mode, regular users cannot log in to the webmail module of openDesk or access the mail using IMAP, as it is not recommended that users interact with the target mail infrastructure during the migration scenario described in this document.
|
||||
@@ -186,39 +182,3 @@ Click on "Details" to get further information about the migration.
|
||||
You can access a detailed log for each account by clicking "Protocol" on the right-hand side. Here, you can see detected duplicates or encountered errors (e.g., if emails cannot be transferred due to your provider's size limitations).
|
||||
|
||||
You will receive status emails for the migration job's submission and start, as well as when the migration job is finished. The emails are sent to the email address you have entered during the configuration. Those emails include a link to the status website so you can easily track and monitor your migration. Once the migration has been started, you can safely close the status website and shut down your computer; the migration will continue. You can re-open the status website anytime.
|
||||
|
||||
# Appendix
|
||||
|
||||
## Validating master authentication
|
||||
|
||||
Below are details in case you want to verify master authentication for Dovecot and OX AppSuite.
|
||||
|
||||
Set a few variables first:
|
||||
|
||||
```shell
|
||||
export MIG_DOMAIN=your-opendesk-domain.tld
|
||||
export MIG_WEBMAIL_HOST=webmail
|
||||
export MIG_USERNAME=eva
|
||||
export MIG_MASTER_PASSWORD=YourMasterPassword
|
||||
export MIG_IMAP_PORT=31123
|
||||
```
|
||||
|
||||
Ensure that you have defined a (your) default context for the migration where the account (in this example `eva`) can be found. The following should be executed in OX App Suite's `open-xchange-core-mw-default-0` container, in the example we set the default context to `1`:
|
||||
|
||||
```shell
|
||||
/opt/open-xchange/sbin/changecontext -c 1 -L defaultcontext -A $MASTER_ADMIN_USER -P $MASTER_ADMIN_PW
|
||||
```
|
||||
|
||||
With the preparation from above you should be able to successfully authenticate to both components:
|
||||
|
||||
**OX App Suite**
|
||||
|
||||
```shell
|
||||
curl -X POST -d "name=${MIG_USERNAME}&password=${MIG_MASTER_PASSWORD}" "https://${MIG_WEBMAIL_HOST}.${MIG_DOMAIN}/appsuite/api/login?action=login"
|
||||
```
|
||||
|
||||
**Dovecot**
|
||||
|
||||
```shell
|
||||
echo "a001 LOGIN ${MIG_USERNAME} ${MIG_MASTER_PASSWORD}" | openssl s_client -ign_eof -connect ${MIG_DOMAIN}:${MIG_IMAP_PORT}
|
||||
```
|
||||
|
||||
@@ -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 helps in setting up your organization's IdP and openDesk to enable IdP federation.
|
||||
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.
|
||||
|
||||
# References
|
||||
|
||||
@@ -33,7 +33,7 @@ We would like to list successful IdP federation scenarios:
|
||||
| [EU Login](https://webgate.ec.europa.eu/cas/userdata/myAccount.cgi) | v0.9.0, v1.2.0 |
|
||||
| [ProConnect](https://www.proconnect.gouv.fr/) | v0.9.0 |
|
||||
|
||||
> If you have successfully federated using another External IdP, please let us know so we can update the list above.
|
||||
>If you have successfully federated using another External IdP, please let us know so we can update the list above.
|
||||
|
||||
# Prerequisites
|
||||
|
||||
@@ -70,23 +70,6 @@ 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.
|
||||
@@ -99,8 +82,8 @@ The following values are used in this example documentation. Please ensure when
|
||||
- `id.opendesk.tld`: hostname for the openDesk IdP, so openDesk is deployed at `opendesk.tld`.
|
||||
- `fed-test-idp-realm`: realm name for your organization's IdP.
|
||||
- `opendesk-federation-client`: OIDC client for the openDesk federation defined in your organization's IdP.
|
||||
- `sso-federation-idp`: Identifier of your organization IdP's configuration within the openDesk Keycloak.
|
||||
- `sso-federation-flow`: Identifier of the required additional login flow to be created and referenced in the openDesk Keycloak.
|
||||
- `auto-federate-idp`: Identifier of your organization IdP's configuration within the openDesk Keycloak.
|
||||
- `auto-federate-flow`: Identifier of the required additional login flow to be created and referenced in the openDesk Keycloak.
|
||||
|
||||
## Keycloak admin console access
|
||||
|
||||
@@ -142,7 +125,7 @@ If you just created the `fed-test-idp-realm`, you are already in the admin scree
|
||||
- `Standard flow`
|
||||
- `Direct access grants`
|
||||
- Client create wizard page 3:
|
||||
- *Valid Redirect URLs*: `https://id.opendesk.tld/realms/opendesk/broker/sso-federation-idp/endpoint`
|
||||
- *Valid Redirect URLs*: `https://id.opendesk.tld/realms/opendesk/broker/auto-federate-idp/endpoint`
|
||||
- When completed with *Save*, you get to the detailed client configuration that also needs some updates:
|
||||
- Tab *Settings* > Section *Logout settings*
|
||||
- *Front channel logout*: `Off`
|
||||
@@ -152,21 +135,17 @@ If you just created the `fed-test-idp-realm`, you are already in the admin scree
|
||||
|
||||
## openDesk IdP
|
||||
|
||||
> **Note**
|
||||
> While manual configuration is possible, an SSO federation can also be configured as part of the deployment.
|
||||
> Check `functional.authentication.ssoFederation` section from the `functional.yaml.gotmpl` for details.
|
||||
|
||||
The following configuration is taking place in the Keycloak realm `opendesk`.
|
||||
|
||||
- *Authentication* > *Create flow*
|
||||
- *Name*: `sso-federation-flow`
|
||||
- *Name*: `auto-federate-flow`
|
||||
- *Flow type*: `Basic flow`
|
||||
- *Create*
|
||||
- *Add execution*: Add `Detect existing broker user` and set it to `Required`
|
||||
- *Add step*: `Automatically set existing user` and set it to `Required`
|
||||
|
||||
- *Identity providers* > *User-defined* > *OpenID Connect 1.0*
|
||||
- *Alias*: `sso-federation-idp` (used in our example)
|
||||
- *Alias*: `auto-federate-idp` (used in our example)
|
||||
- *Display Name*: A descriptive Name, in case you do not forcefully redirect the user to the IdP, that name is shown on the login screen for manual selection.
|
||||
- *Use discovery endpoint*: `On` (default)
|
||||
- *Discovery endpoint*: `https://idp.organization.tld/realms/fed-test-idp-realm/.well-known/openid-configuration` - this URL may look different if you do not use Keycloak or a different Keycloak version as IdP in your organization
|
||||
@@ -176,11 +155,11 @@ The following configuration is taking place in the Keycloak realm `opendesk`.
|
||||
- *Client ID*: Use the client ID you took from your organization's IdP config (`opendesk-federation-client` in this example)
|
||||
- *Client Secret*: Use the secret you took from your organization's IdP config
|
||||
- When completed with *Add*, you get to the detailed IdP configuration which at least needs the following update:
|
||||
- *First login flow override*: `sso-federation-flow`
|
||||
- *First login flow override*: `auto-federate-flow`
|
||||
- Depending on your organizations IdP and process preferences, additional configuration may be required
|
||||
|
||||
- In case you want to forcefully redirect all users to your organization's IdP (disabling login with local openDesk accounts):
|
||||
- *Authentication* > `2fa-browser`
|
||||
- Click on the cogwheel next to the *Identity Provider Re-director*
|
||||
- *Alias*: `sso-federation-idp`
|
||||
- *Default Identity Provider*: `sso-federation-idp`
|
||||
- *Alias*: `auto-federate-idp`
|
||||
- *Default Identity Provider*: `auto-federate-idp`
|
||||
|
||||
@@ -70,14 +70,10 @@ For your convenience, we recommend creating a `*.domain.tld` A-Record for your c
|
||||
| domain.tld | TXT | `v=spf1 +a +mx +a:mail.domain.tld ~all` | Optional, use proper MTA record if present |
|
||||
| _dmarc.domain.tld | TXT | `v=DMARC1; p=quarantine` | Optional |
|
||||
| default._domainkey.domain.tld | TXT | `v=DKIM1; k=rsa; h=sha256; ...` | Optional, DKIM settings |
|
||||
| _caldavs._tcp.domain.tld | SRV | 10 1 443 dav.domain.tld. | Optional, CalDav auto discovery |
|
||||
| _caldav._tcp.domain.tld | SRV | 10 1 80 dav.domain.tld. | Optional, CalDav auto discovery |
|
||||
| _carddavs._tcp.domain.tld | SRV | 10 1 443 dav.domain.tld. | Optional, CardDav auto discovery |
|
||||
| _carddav._tcp.domain.tld | SRV | 10 1 80 dav.domain.tld. | Optional, CardDav auto discovery |
|
||||
|
||||
## Domain
|
||||
|
||||
A list of all subdomains can be found in `helmfile/environments/default/global.yaml.gotmpl`.
|
||||
A list of all subdomains can be found in `helmfile/environments/default/global.gotmpl`.
|
||||
|
||||
All subdomains can be customized. For example, _Nextcloud_ can be changed to `files.domain.tld` in `dev` environment:
|
||||
|
||||
@@ -103,7 +99,7 @@ export DOMAIN=domain.tld
|
||||
### Apps
|
||||
|
||||
Depending on your ideal openDesk deployment, you may wish to disable or enable certain apps.
|
||||
All available apps and their default values are located in `helmfile/environments/default/opendesk_main.yaml.gotmpl`.
|
||||
All available apps and their default values are located in `helmfile/environments/default/opendesk_main.gotmpl`.
|
||||
|
||||
| Component | Name | Default | Description |
|
||||
| -------------------- | --------------------------- | ------- | ------------------------------ |
|
||||
@@ -186,7 +182,7 @@ global:
|
||||
|
||||
Some apps, like Jitsi and Dovecot, require HTTP and external TCP connections.
|
||||
These apps create a Kubernetes service object.
|
||||
You can configure whether `NodePort` (for on-premises), `LoadBalancer` (for cloud), or `ClusterIP` (to disable) should be
|
||||
You can configure whether `NodePort` (for on-premise), `LoadBalancer` (for cloud), or `ClusterIP` (to disable) should be
|
||||
used:
|
||||
|
||||
```yaml
|
||||
@@ -235,7 +231,7 @@ ingress:
|
||||
```
|
||||
|
||||
Currently, the only supported ingress controller is `ingress-nginx` (see
|
||||
[requirements.md](./docs/requirements.md) for reference).
|
||||
[requirements.md](./docs/requirements.md)) for reference).
|
||||
|
||||
### Container runtime
|
||||
|
||||
@@ -276,8 +272,7 @@ While openDesk configures the applications with meaningful defaults, you can che
|
||||
|
||||
### Ports
|
||||
|
||||
> **Note**<br>
|
||||
> If you use `NodePort` for service exposure, you must check your deployment for the actual ports and ensure they are opened where necessary.
|
||||
**Note:** If you use `NodePort` for service exposure, you must check your deployment for the actual ports and ensure they are opened where necessary.
|
||||
|
||||
#### Web-based user interface
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2024-2025 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
|
||||
-->
|
||||
|
||||
@@ -9,23 +9,18 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Disclaimer](#disclaimer)
|
||||
* [Automated migrations - Overview and mandatory upgrade path](#automated-migrations---overview-and-mandatory-upgrade-path)
|
||||
* [Manual checks/actions](#manual-checksactions)
|
||||
* [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)
|
||||
* [From v1.1.2](#from-v112)
|
||||
* [Helmfile cleanup: Do not configure OX provisioning when no OX installed](#helmfile-cleanup-do-not-configure-ox-provisioning-when-no-ox-installed)
|
||||
* [Helmfile new default: PostgreSQL for XWiki and Nextcloud](#helmfile-new-default-postgresql-for-xwiki-and-nextcloud)
|
||||
* [v1.1.2+](#v112)
|
||||
* [Pre-upgrade to v1.1.2+](#pre-upgrade-to-v112)
|
||||
* [From v1.1.1](#from-v111)
|
||||
* [Pre-upgrade from v1.1.1](#pre-upgrade-from-v111)
|
||||
* [Helmfile feature update: App settings wrapped in `apps.` element](#helmfile-feature-update-app-settings-wrapped-in-apps-element)
|
||||
* [v1.1.1+](#v111)
|
||||
* [Pre-upgrade to v1.1.1](#pre-upgrade-to-v111)
|
||||
* [From v1.1.0](#from-v110)
|
||||
* [Pre-upgrade from v1.1.0](#pre-upgrade-from-v110)
|
||||
* [Helmfile feature update: Component specific `storageClassName`](#helmfile-feature-update-component-specific-storageclassname)
|
||||
* [Helmfile new secret: `secrets.nubus.masterpassword`](#helmfile-new-secret-secretsnubusmasterpassword)
|
||||
* [v1.1.0+](#v110)
|
||||
* [Pre-upgrade to v1.1.0](#pre-upgrade-to-v110)
|
||||
* [From v1.0.0](#from-v100)
|
||||
* [Pre-upgrade from v1.0.0](#pre-upgrade-from-v100)
|
||||
* [Helmfile cleanup: Restructured `/helmfile/files/theme` folder](#helmfile-cleanup-restructured-helmfilefilestheme-folder)
|
||||
* [Helmfile cleanup: Consistent use of `*.yaml.gotmpl`](#helmfile-cleanup-consistent-use-of-yamlgotmpl)
|
||||
* [Helmfile cleanup: Prefixing certain app directories with `opendesk-`](#helmfile-cleanup-prefixing-certain-app-directories-with-opendesk-)
|
||||
@@ -35,10 +30,10 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [openDesk defaults (new): Enforce login](#opendesk-defaults-new-enforce-login)
|
||||
* [openDesk defaults (changed): Jitsi room history enabled](#opendesk-defaults-changed-jitsi-room-history-enabled)
|
||||
* [External requirements: Redis 7.4](#external-requirements-redis-74)
|
||||
* [Post-upgrade to v1.1.0+](#post-upgrade-to-v110)
|
||||
* [Post-upgrade from v1.0.0](#post-upgrade-from-v100)
|
||||
* [XWiki fix-ups](#xwiki-fix-ups)
|
||||
* [v1.1.0](#v110-1)
|
||||
* [Pre-upgrade to v1.1.0](#pre-upgrade-to-v110-1)
|
||||
* [From v0.9.0](#from-v090)
|
||||
* [Pre-upgrade from v0.9.0](#pre-upgrade-from-v090)
|
||||
* [Configuration Cleanup: Removal of unnecessary OX-Profiles in Nubus](#configuration-cleanup-removal-of-unnecessary-ox-profiles-in-nubus)
|
||||
* [Configuration Cleanup: Updated `global.imagePullSecrets`](#configuration-cleanup-updated-globalimagepullsecrets)
|
||||
* [Changed openDesk defaults: Matrix presence status disabled](#changed-opendesk-defaults-matrix-presence-status-disabled)
|
||||
@@ -46,20 +41,20 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Changed openDesk defaults: File-share configurability](#changed-opendesk-defaults-file-share-configurability)
|
||||
* [Changed openDesk defaults: Updated default subdomains in `global.hosts`](#changed-opendesk-defaults-updated-default-subdomains-in-globalhosts)
|
||||
* [Changed openDesk defaults: Dedicated group for access to the UDM REST API](#changed-opendesk-defaults-dedicated-group-for-access-to-the-udm-rest-api)
|
||||
* [Post-upgrade to v1.0.0+](#post-upgrade-to-v100)
|
||||
* [Post-upgrade from v0.9.0](#post-upgrade-from-v090)
|
||||
* [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)
|
||||
* [From v0.8.1](#from-v081)
|
||||
* [Pre-upgrade from v0.8.1](#pre-upgrade-from-v081)
|
||||
* [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.2.0+ (automated)](#v120-automated)
|
||||
* [From v1.1.2 (automated)](#from-v112-automated)
|
||||
* [migrations-pre](#migrations-pre)
|
||||
* [migrations-post](#migrations-post)
|
||||
* [v1.1.0+ (automated)](#v110-automated)
|
||||
* [v1.0.0+ (automated)](#v100-automated)
|
||||
* [From v1.0.0 (automated)](#from-v100-automated)
|
||||
* [From v0.9.0 (automated)](#from-v090-automated)
|
||||
* [Related components and artifacts](#related-components-and-artifacts)
|
||||
* [Development](#development)
|
||||
<!-- TOC -->
|
||||
@@ -88,7 +83,7 @@ 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 -->
|
||||
| v1.2.x |
|
||||
| v1.1.x |
|
||||
| v1.0.0 |
|
||||
| v0.9.0 |
|
||||
@@ -101,41 +96,9 @@ If you would like more details about the automated migrations, please read secti
|
||||
|
||||
# Manual checks/actions
|
||||
|
||||
## v1.4.0+
|
||||
Be sure you check all the sections for the releases you are going to update your current deployment from.
|
||||
|
||||
### 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`.
|
||||
|
||||
The `additionalMailDomains` had to be defined as a comma separated string. That now needs to change into a list of domains.
|
||||
|
||||
For example the following config:
|
||||
|
||||
```yaml
|
||||
global:
|
||||
additionalMailDomains: "sub1.maildomain.de,sub2.maildomain.de"
|
||||
```
|
||||
|
||||
Needs to change to:
|
||||
|
||||
```yaml
|
||||
global:
|
||||
additionalMailDomains:
|
||||
- "sub1.maildomain.de"
|
||||
- "sub2.maildomain.de"
|
||||
```
|
||||
|
||||
## v1.2.0+
|
||||
|
||||
### Pre-upgrade to v1.2.0+
|
||||
## From v1.1.2
|
||||
|
||||
#### Helmfile cleanup: Do not configure OX provisioning when no OX installed
|
||||
|
||||
@@ -145,7 +108,7 @@ With openDesk 1.2.0 the OX provisioning consumer will not be registered when the
|
||||
|
||||
We do not remove the consumer for existing installations, if you want to do that for your existing installation please perform the following steps:
|
||||
|
||||
```shell
|
||||
```
|
||||
export NAMESPACE=<your_namespace>
|
||||
kubectl -n ${NAMESPACE} exec -it ums-provisioning-nats-0 -c nats-box -- sh -c 'nats consumer rm stream:ox-connector durable_name:ox-connector --user=admin --password=${NATS_PASSWORD} --force'
|
||||
kubectl -n ${NAMESPACE} exec -it ums-provisioning-nats-0 -c nats-box -- sh -c 'nats stream rm stream:ox-connector --user=admin --password=${NATS_PASSWORD} --force'
|
||||
@@ -196,9 +159,9 @@ In case you are planning to migrate an existing instance from MariaDB to Postgre
|
||||
- https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Backup#HUsingtheXWikiExportfeature
|
||||
- https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/ImportExport
|
||||
|
||||
## v1.1.2+
|
||||
## From v1.1.1
|
||||
|
||||
### Pre-upgrade to v1.1.2+
|
||||
### Pre-upgrade from v1.1.1
|
||||
|
||||
#### Helmfile feature update: App settings wrapped in `apps.` element
|
||||
|
||||
@@ -210,7 +173,7 @@ If you have a deployment where you specify settings found in the aforementioned
|
||||
|
||||
The following configuration:
|
||||
|
||||
```yaml
|
||||
```
|
||||
certificates:
|
||||
enabled: false
|
||||
notes:
|
||||
@@ -219,7 +182,7 @@ notes:
|
||||
|
||||
Needs to be changed to:
|
||||
|
||||
```yaml
|
||||
```
|
||||
apps:
|
||||
certificates:
|
||||
enabled: false
|
||||
@@ -227,9 +190,9 @@ apps:
|
||||
enabled: true
|
||||
```
|
||||
|
||||
## v1.1.1+
|
||||
## From v1.1.0
|
||||
|
||||
### Pre-upgrade to v1.1.1
|
||||
### Pre-upgrade from v1.1.0
|
||||
|
||||
#### Helmfile feature update: Component specific `storageClassName`
|
||||
|
||||
@@ -282,9 +245,9 @@ persistence:
|
||||
|
||||
A not yet templated secret was discovered in the Nubus deployment. It is now declared in [`secrets.yaml.gotmpl`](../helmfile/environments/default/theme.yaml.gotmpl) and can be defined using: `secrets.nubus.masterpassword`. If you define your own secrets, please be sure this new secret is set to the same value as the `MASTER_PASSWORD` environment variable used in your deployment.
|
||||
|
||||
## v1.1.0+
|
||||
## From v1.0.0
|
||||
|
||||
### Pre-upgrade to v1.1.0
|
||||
### Pre-upgrade from v1.0.0
|
||||
|
||||
#### Helmfile cleanup: Restructured `/helmfile/files/theme` folder
|
||||
|
||||
@@ -447,7 +410,7 @@ The update from openDesk v1.0.0 contains Redis 7.4.1, like the other openDesk bu
|
||||
|
||||
Please ensure the Redis you are using is updated to at least version 7.4 to support the requirement of OX App Suite.
|
||||
|
||||
### Post-upgrade to v1.1.0+
|
||||
### Post-upgrade from v1.0.0
|
||||
|
||||
#### XWiki fix-ups
|
||||
|
||||
@@ -473,9 +436,9 @@ Unfortunately XWiki does not upgrade itself as expected. The bug has been report
|
||||
|
||||
You should have now a fully functional XWiki instance with single sign-on and full-text search.
|
||||
|
||||
## v1.1.0
|
||||
## From v0.9.0
|
||||
|
||||
### Pre-upgrade to v1.1.0
|
||||
### Pre-upgrade from v0.9.0
|
||||
|
||||
#### Configuration Cleanup: Removal of unnecessary OX-Profiles in Nubus
|
||||
|
||||
@@ -657,7 +620,7 @@ The IAM admin account `Administrator` is the only member of this group by defaul
|
||||
|
||||
If you need other accounts to use the API, please assign them to the aforementioned group.
|
||||
|
||||
### Post-upgrade to v1.0.0+
|
||||
### Post-upgrade from v0.9.0
|
||||
|
||||
#### Configuration Improvement: Separate user permission for using Video Conference component
|
||||
|
||||
@@ -687,9 +650,9 @@ 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
|
||||
## From v0.8.1
|
||||
|
||||
### Pre-upgrade to v0.9.0
|
||||
### Pre-upgrade from v0.8.1
|
||||
|
||||
#### Updated `cluster.networking.cidr`
|
||||
|
||||
@@ -712,7 +675,7 @@ kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0
|
||||
|
||||
# Automated migrations - Details
|
||||
|
||||
## v1.2.0+ (automated)
|
||||
## From v1.1.2 (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).
|
||||
@@ -726,7 +689,7 @@ kubectl -n ${NAMESPACE} delete pvc ox-connector-ox-contexts-ox-connector-0
|
||||
|
||||
- Restarting Deployment `ums-provisioning-udm-transformer` and StatefulSet `ums-provisioning-udm-listener` as well as deleting the Nubus Provisioning consumer `durable_name:incoming` on stream `stream:incoming`: Due to a bug in Nubus 1.7.0 the `incoming` stream was blocked after the upgrade, the aforementioned measures unblock the stream.
|
||||
|
||||
## v1.1.0+ (automated)
|
||||
## From v1.0.0 (automated)
|
||||
|
||||
With openDesk v1.1.0 the IAM stack supports HA LDAP primary as well as scalable LDAP secondary pods.
|
||||
|
||||
@@ -737,7 +700,7 @@ creating the config map with the mentioned label.
|
||||
> **Note**<br>
|
||||
> Details can be found in [run_3.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_3.py).
|
||||
|
||||
## v1.0.0+ (automated)
|
||||
## From v0.9.0 (automated)
|
||||
|
||||
The `migrations-pre` and `migrations-post` jobs in the openDesk deployment address the automated migration tasks.
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2024-2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
@@ -13,8 +12,6 @@ This section covers the internal system requirements and external service requir
|
||||
* [Hardware](#hardware)
|
||||
* [Kubernetes](#kubernetes)
|
||||
* [Ingress controller](#ingress-controller)
|
||||
* [Supported controllers](#supported-controllers)
|
||||
* [Minimal configuration](#minimal-configuration)
|
||||
* [Volume provisioner](#volume-provisioner)
|
||||
* [Certificate management](#certificate-management)
|
||||
* [External services](#external-services)
|
||||
@@ -28,15 +25,15 @@ 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, 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)[^2]
|
||||
- Ingress controller (Ingress NGINX) >= [4.11.5/1.11.5](https://github.com/kubernetes/ingress-nginx/releases) - tested with v1.11.1 up to v1.11.5
|
||||
- **Important Note**: We are working on support for more recent versions, but please ensure to use at least 1.11.5 due to ["security issues"](https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities) in earlier versions.
|
||||
- Ingress-NGINX introduced new security defaults in version 1.12.0, which are currently not compatible with openDesk. While we are working to adhere to these defaults, you can find additional information below on how to configure Ingress-NGINX >= 1.12.0 to be compatible with openDesk.
|
||||
- [Helm](https://helm.sh/) >= v3.9.0
|
||||
- [Helmfile](https://helmfile.readthedocs.io/en/latest/) >= **v1.0.0-rc8**
|
||||
- [HelmDiff](https://github.com/databus23/helm-diff) >= v3.6.0
|
||||
- Volume provisioner supporting RWO (read-write-once)
|
||||
- Certificate handling with [cert-manager](https://cert-manager.io/)
|
||||
|
||||
**Additional openDesk Enterprise requirements**
|
||||
- [OpenKruise](https://openkruise.io/)[^3] >= v1.6
|
||||
- [OpenKruise](https://openkruise.io/)[^1] >= v1.6
|
||||
|
||||
# Hardware
|
||||
|
||||
@@ -63,33 +60,21 @@ The deployment is tested against [kubespray](https://github.com/kubernetes-sigs/
|
||||
The deployment is intended to be used only over HTTPS via a configured FQDN, therefore it is required to have a properly
|
||||
configured ingress controller deployed in your cluster.
|
||||
|
||||
## Supported controllers
|
||||
|
||||
**Supported controllers:**
|
||||
- [Ingress NGINX Controller](https://github.com/kubernetes/ingress-nginx)
|
||||
|
||||
> **Note**<br>
|
||||
> The platform development team is evaluating the use of [Gateway API](https://gateway-api.sigs.k8s.io/).
|
||||
|
||||
**Compatibility with Ingress NGINX >= 1.12.0**
|
||||
|
||||
With the release 1.12.0 Ingress NGINX introduced new security default settings, which are incompatible with current openDesk releases. If you want to use Ingress-NGINX >= 1.12.0 the following settings have to be set:
|
||||
```
|
||||
controller.config.annotations-risk-level=Critical
|
||||
controller.config.strict-validate-path-type=false
|
||||
```
|
||||
See the [`annotations-risk-level` documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#annotations-risk-level) and [`strict-validate-path-type` documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#strict-validate-path-type) for details.
|
||||
With the release 1.12.0 Ingress NGINX introduced new security default settings, which are incompatible with current openDesk releases. If you want to use Ingress-NGINX >= 1.12.0 the following settings have to be set
|
||||
- The annotation risk level has to be set to `critical`. See the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#annotations-risk-level) for details.
|
||||
- Strict path type validation has to be disabled. See the [documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#strict-validate-path-type) for details.
|
||||
|
||||
> **Important Note**<br>
|
||||
> Ensure to install at least Ingress NGINX 1.11.5 or 1.12.1 due to [security issues](https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities) in earlier versions.
|
||||
> Ensure to install at least Ingress NGINX 1.12.1 due to ["security issues"](https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities) in 1.12.0.
|
||||
|
||||
## Minimal configuration
|
||||
|
||||
Several components in openDesk make use of snippet annotations, which are disabled by default. Please enable them using the following configuration:
|
||||
```
|
||||
controller.allowSnippetAnnotations=true
|
||||
controller.admissionWebhooks.allowSnippetAnnotations=true
|
||||
```
|
||||
See the [`allowSnippetAnnotations` documentation](https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#allow-snippet-annotations) for context.
|
||||
> **Note**<br>
|
||||
> The platform development team is evaluating the use of [Gateway API](https://gateway-api.sigs.k8s.io/). If you can provide input on that topic, please get in contact with us.
|
||||
|
||||
# Volume provisioner
|
||||
|
||||
@@ -117,7 +102,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[^3] | `5.0.x` | Cassandra |
|
||||
| Database | Cassandra[^1] | `5.0.x` | Cassandra |
|
||||
| | MariaDB | `10.x` | MariaDB |
|
||||
| | PostgreSQL | `15.x` | PostgreSQL |
|
||||
| Mail | Mail Transfer Agent | | Postfix |
|
||||
@@ -137,8 +122,4 @@ Helmfile requires [HelmDiff](https://github.com/databus23/helm-diff) to compare
|
||||
|
||||
# Footnotes
|
||||
|
||||
[^1]: Due to a [Helm bug](https://github.com/helm/helm/issues/30890) Helm 3.18.0 is not supported.
|
||||
|
||||
[^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.
|
||||
[^1]: Required for Dovecot Pro as part of openDesk Enterprise Edition.
|
||||
|
||||
@@ -1,39 +1,23 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
|
||||
<h1>Scaling</h1>
|
||||
|
||||
This document covers the possibilities to scale the applications in openDesk.
|
||||
This document covers the possibilities to scale applications.
|
||||
|
||||
It provides rough benchmarks for configuring your own environment across various scale levels.
|
||||
In production, resource demands are primarily driven by actual usage patterns and system load, especially the number of concurrently active users.
|
||||
Consequently, we strongly recommend implementing monitoring and logging solutions to detect usage trends and enable timely intervention when needed.
|
||||
# Horizontal scalability
|
||||
|
||||
| Application | Recommendation | Note(s) |
|
||||
| ------------ | -------------- | ------- |
|
||||
| Collabora | - 1 vCPU per 15 active users <br/> - 50 MB RAM per active user <br/> - 1 MBit/s per 10 active users | - |
|
||||
| Element | Per 10k users with values for federation activated / federation deactivated:<br/><br/> Homeserver:<br/> - 15 / 10 vCPU<br/> - 12 / 8 GB RAM<br/><br/>Postgres:<br/> - 10 / 4 vCPU<br/> - 32 / 16 GB RAM | Required hardware resources are impacted by whether or not federation is being used |
|
||||
| Cryptpad | No large-scale deployments seen, minimum requirements: <br/> - 2 vCPU <br/> - 2 GB RAM <br/> - 20 GB storage (depending on planned usage) | Most of the computation is done client-side |
|
||||
| Jitsi | Jitsi-Meet server: <br/> - 4 vCPU <br/> - 8 GB RAM <br/> <br/> For every 200 concurrent users one JVB with: <br/> - 8 vCPU <br/> - 8 GB RAM <br/><br/> Network bandwidth: <br/> - 1 GBit/s - 10 GBit/s small deployments <br/> - 10 Gbit/s *per bridge* large deployments<br/> | JVB network bandwidth calculation depends on the stream resolution (HD vs. 4k). |
|
||||
| Nextcloud | Up to 5k / more than 5k users: <br/> - 4 to 20 Nextcloud AIO Pods with 8 vCPUs and 32 / 64 GB RAM each <br/> - 2 / 4 DB servers with 8 / 16 vCPUs and 64 / 128 GB RAM each, plus DB load balancer | - |
|
||||
| OpenProject | - 4-6 vCPU per ~500 users <br/> - 6-8 GB per ~500 users <br/> - +20-50 GB storage per ~500 users, depending on workload and attachment storage[^1] <br/><br/> - Web Workers: +4 per ~500 users <br/> - Background Workers: +1-2 multithreaded workers per ~500 users, depending on workload | These values are guidelines and should be adjusted based on actual monitoring of resource usage. Scaling should prioritize CPU and RAM, prioritize scaling Web Workers first, followed by Background Workers and Disk Space as needed. |
|
||||
| Open-Xchange | For ~200 users (64 concurrent users to App Suite & 128 users to Dovecot): <br/> - 10 vCPU <br/> - 58 GB RAM <br/> - 660 GB storage | - |
|
||||
| XWiki | Advise for small instances: <br> - 4 vCPU <br/> - 6 GB RAM | - |
|
||||
|
||||
[^1]: Nextcloud is configured for attachment storage as well.
|
||||
We are working on generating this document automatically based on the file
|
||||
[`replicas.yaml.gotmpl`](../helmfile/environments/default/replicas.yaml.gotmpl) that contains necessary annotations.
|
||||
In the meantime, this file can be used to check the components scaling support/capabilities.
|
||||
|
||||
# Upstream information
|
||||
|
||||
While scaling services horizontally is the ideal solution, information about vertical scaling is helpful
|
||||
when defining the application's resources, see [`resources.yaml.gotmpl`](../helmfile/environments/default/resources.yaml.gotmpl) for references.
|
||||
|
||||
Linked below is documentation related to scaling for upstream applications, where publically available:
|
||||
Linked below is documentation related to scaling from the upstream application:
|
||||
|
||||
- [Collabora Online Technical Documentation](https://mautic.collaboraoffice.com/asset/60:collabora-online-technical-information-pdf)
|
||||
- [OpenProject System Requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
|
||||
- [XWiki Performance](https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Performances/)
|
||||
- [Element Requirements and Recommendations](https://ems-docs.element.io/books/element-server-suite-documentation-lts-2404/page/requirements-and-recommendations)
|
||||
- [Jitsi DevOps Guide (scalable setup)](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-scalable/), [Jitsi Meet Needs](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-requirements/)
|
||||
- [OpenProject system requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
|
||||
|
||||
@@ -100,7 +100,6 @@ containerSecurityContext:
|
||||
type: "RuntimeDefault"
|
||||
```
|
||||
|
||||
|
||||
or
|
||||
|
||||
```yaml
|
||||
@@ -112,7 +111,7 @@ containerSecurityContext:
|
||||
## readOnlyRootFilesystem
|
||||
|
||||
|
||||
Containers should have an immutable file systems, so that attackers can not modify application code or download malicious code.
|
||||
Containers should have immutable file systems, so that attackers can not modify application code or download malicious code.
|
||||
|
||||
```yaml
|
||||
containerSecurityContext:
|
||||
@@ -147,7 +146,7 @@ This list gives you an overview of templated security settings and if they compl
|
||||
|
||||
| process | status | allowPrivilegeEscalation | privileged | readOnlyRootFilesystem | runAsNonRoot | runAsUser | runAsGroup | seccompProfile | capabilities |
|
||||
| ------- | ------ | ------------------------ | ---------- | ---------------------- | ------------ | --------- | ---------- | -------------- | ------------ |
|
||||
| **collabora**/collabora-online | :x: | yes | no | no | yes | 1001 | 1001 | yes | no ["CHOWN","FOWNER","SYS_CHROOT"] |
|
||||
| **collabora**/collabora-online | :x: | yes | no | no | yes | 100 | 101 | yes | no ["CHOWN","FOWNER","SYS_CHROOT"] |
|
||||
| **cryptpad**/cryptpad | :x: | no | no | no | yes | 4001 | 4001 | yes | yes |
|
||||
| **element**/matrix-neoboard-widget | :white_check_mark: | no | no | yes | yes | 101 | 101 | yes | yes |
|
||||
| **element**/matrix-neochoice-widget | :white_check_mark: | no | no | yes | yes | 101 | 101 | yes | yes |
|
||||
@@ -182,9 +181,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 | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusKeycloakBootstrap | :x: | no | n/a | no | 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: | no | n/a | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusKeycloakExtensions/proxy | :x: | n/a | n/a | n/a | n/a | n/a | n/a | yes | no |
|
||||
| **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 |
|
||||
@@ -197,7 +196,7 @@ This list gives you an overview of templated security settings and if they compl
|
||||
| **nubus**/ums/nubusUdmListener | :x: | no | n/a | yes | yes | 102 | 65534 | yes | yes |
|
||||
| **nubus**/ums/nubusUdmRestApi | :x: | no | n/a | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusUmcGateway | :x: | no | n/a | yes | yes | 1000 | 1000 | yes | yes |
|
||||
| **nubus**/ums/nubusUmcServer | :x: | no | n/a | yes | yes | 999 | 999 | yes | yes |
|
||||
| **nubus**/ums/nubusUmcServer | :x: | no | n/a | yes | no | 0 | 0 | yes | yes |
|
||||
| **open-xchange**/dovecot | :x: | no | n/a | yes | n/a | n/a | n/a | yes | no ["CHOWN","DAC_OVERRIDE","KILL","NET_BIND_SERVICE","SETGID","SETUID","SYS_CHROOT"] |
|
||||
| **open-xchange**/open-xchange/appsuite/core-documentconverter | :x: | no | no | no | yes | 987 | 1000 | yes | yes |
|
||||
| **open-xchange**/open-xchange/appsuite/core-guidedtours | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
|
||||
|
||||
@@ -9,14 +9,14 @@ SPDX-License-Identifier: Apache-2.0
|
||||
* [Overview](#overview)
|
||||
* [Test concept](#test-concept)
|
||||
* [Rely on upstream applications QA](#rely-on-upstream-applications-qa)
|
||||
* [Functional QA (end-to-end tests)](#functional-qa-end-to-end-tests)
|
||||
* [Nightly testing](#nightly-testing)
|
||||
* [Reporting test results](#reporting-test-results)
|
||||
* [Load- and performance testing](#load--and-performance-testing)
|
||||
* [Run minimal functional QA (end-to-end tests)](#run-minimal-functional-qa-end-to-end-tests)
|
||||
* [Run extensive load and performance tests](#run-extensive-load-and-performance-tests)
|
||||
* [Base performance testing](#base-performance-testing)
|
||||
* [Load testing to saturation point](#load-testing-to-saturation-point)
|
||||
* [Load testing up to a defined user count](#load-testing-up-to-a-defined-user-count)
|
||||
* [Overload/recovery tests](#overloadrecovery-tests)
|
||||
* [Reporting and test results](#reporting-and-test-results)
|
||||
* [Allure TestOps](#allure-testops)
|
||||
<!-- TOC -->
|
||||
|
||||
# Overview
|
||||
@@ -42,65 +42,24 @@ We receive the release notes early before a new application release is integrate
|
||||
we are able to check for the existence of a sufficient set of test cases.
|
||||
The suppliers create a set of test cases for each new function.
|
||||
|
||||
## Functional QA (end-to-end tests)
|
||||
## Run minimal functional QA (end-to-end tests)
|
||||
|
||||
We develop and maintain a [set of end-to-end tests](https://gitlab.opencode.de/bmi/opendesk/deployment/e2e-tests) focussing on:
|
||||
To ensure the function of all applications, we run a minimal set of testcases to check the
|
||||
basic functionality of openDesk along with the integrated applications.
|
||||
|
||||
- use cases that are spanning more than a single application, e.g.
|
||||
- the filepicker in OX App Suite for selecting files from Nextcloud or
|
||||
- the central navigation that is part of the top bar of most applications.
|
||||
- openDesk specific configurations/supported settings that can be found in the `functional.yaml.gotmpl`, e.g.
|
||||
- SSO federation or
|
||||
- sharing settings for Nextcloud.
|
||||
- bugs identified in the past, e.g.
|
||||
- creating a folder in OX or
|
||||
- enforcement of an account's password renewal.
|
||||
Furthermore, we analyze all features and use cases which are implemented by a set of more than one
|
||||
application.
|
||||
Not all of these features are testable by the suppliers, so we develop testcases
|
||||
for such features.
|
||||
|
||||
We execute the tests using English and German as language profile.
|
||||
The openDesk application owners prioritize this list of end-to-end-testcases, and we
|
||||
implement these testcases in the [test automation framework](https://gitlab.opencode.de/bmi/opendesk/deployment/e2e-tests).
|
||||
|
||||
The development team utilizes the test automation described above for QA'ing their feature branches.
|
||||
|
||||
### Nightly testing
|
||||
|
||||
We use the functional e2e-tests in nightly testruns on a matrix of deployments addressing different application profiles to ensure the quality of the development branch's current state.
|
||||
|
||||
The following naming scheme is applied for the deployment matrix:
|
||||
|
||||
- `<edition>-<type>-<profile>` resulting e.g. in `ce-init-default` or `ee-upgr-extsrv`
|
||||
|
||||
**`<edition>`**
|
||||
|
||||
- `ce`: openDesk Community Edition
|
||||
- `ee`: openDesk Enterprise Edition
|
||||
|
||||
**`<type>`**
|
||||
|
||||
- `init`: Initial / fresh / from the scratch deployment of `develop` branch into an empty namespace.
|
||||
- `upgr`: Deploy latest migration release (needs to be pinned manually) into an empty namespace, afterwards run upgrade deployment with current state of `develop` branch.
|
||||
- `upd`: Deploy latest release (`main` branch) into an empty namespace, afterwards run upgrade deployment with current state of `develop` branch.
|
||||
|
||||
**`<profile>`**: The following profiles are defined
|
||||
- `default`: With
|
||||
- *`functional.yaml`*: No changes beside specific `2FA testing` group and enabled UDM REST API (required for user import).
|
||||
- *Services*: Internal services deployed with openDesk are used.
|
||||
- *Secrets*: Master password based secrets based on `secrets.yaml.gotmpl`
|
||||
- *Certificates*: Letsencrypt-prod certificates are used.
|
||||
- *Deployment*: GitLab CI based deployment.
|
||||
- `funct1`: Different configuration of `functional.yaml`, self-signed-certs [and when available external secrets].
|
||||
- `extsrv`: External services (where possible).
|
||||
- `gitops`: Argo CD based deployment.
|
||||
|
||||
### Reporting test results
|
||||
|
||||
All executions of the end-to-end tests are tracked in a central platform running [Allure TestOps](https://docs.qameta.io/allure-testops/).
|
||||
|
||||
As the TestOps tool contains infrastructure details of our development and test clusters it is currently only accessible for to project members.
|
||||
|
||||
## Load- and performance testing
|
||||
## Run extensive load and performance tests
|
||||
|
||||
Our goal is to deliver openDesk as application-grade software with the ability to serve large user bases.
|
||||
|
||||
We create and perform [load- and performance tests](https://gitlab.opencode.de/bmi/opendesk/deployment/load-tests) for each release of openDesk.
|
||||
We create and perform extensive load and performance tests for each release of openDesk.
|
||||
|
||||
Our approach consists of different layers of load testing.
|
||||
|
||||
@@ -150,4 +109,30 @@ If necessary, we perform overload tests, which will saturate the system with mul
|
||||
test cases until no further increase in throughput is visible. Then we add even more load
|
||||
until the first HTTP requests run into timeouts or errors.
|
||||
After a few minutes, we reduce the load below the saturation point.
|
||||
Now we can check if the system is able to recover from the overload status.
|
||||
Then we check if the system is able to recover from the overload status.
|
||||
|
||||
# Reporting and test results
|
||||
|
||||
We perform test runs every night, on all of our environments.
|
||||
|
||||
For each environment, we define so-called profiles, these contain the features enabled
|
||||
per environment.
|
||||
|
||||
For example: Testing the email features in an environment without deployment of Open-Xchange makes no sense at all.
|
||||
|
||||
Also, we test the whole system via a browser with `language=DE` and another browser with `language=EN`.
|
||||
|
||||
The test results are saved in an [Allure TestOps](https://qameta.io/) server, so interested persons
|
||||
are able to view the test results later in detail.
|
||||
|
||||
## Allure TestOps
|
||||
|
||||
The Allure TestOps [server](https://testops.opendesk.run/) is currently only accessible to project members.
|
||||
|
||||
The relevant project is called *opendesk*.
|
||||
|
||||
To get an overview, click in the left symbol list onto the symbol "Rocket" to
|
||||
check all relevant launches.
|
||||
|
||||
Now you can see the launch #xxxx, and directly check for the success
|
||||
of this launch.
|
||||
|
||||
@@ -14,12 +14,17 @@ This document covers the theming options for an openDesk deployment.
|
||||
|
||||
# Settings
|
||||
|
||||
All default settings can be found in [`theme.yaml.gotmpl`](../helmfile/environments/default/theme.yaml.gotmpl). Most of the components adhere to these settings.
|
||||
All default settings can be found in [`theme.gotmpl`](../helmfile/environments/default/theme.gotmpl). Most of the components adhere to these settings.
|
||||
|
||||
Please review the default configuration that is applied to understand your customization options.
|
||||
|
||||
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.
|
||||
You can just update the files in:
|
||||
- [helmfile/files/theme](../helmfile/files/theme): To change logos, favicons etc.
|
||||
- [helmfile/files/portal-tiles](../helmfile/files/portal-tiles): To change the icons in the portal.
|
||||
|
||||
# Known limitations
|
||||
|
||||
- Portal and Keycloak screen styles, especially colors, must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css),
|
||||
Not all applications support theming. Known exceptions are:
|
||||
- OpenProject, comes with a build in openDesk theming that can be modified in the Enterprise version's OpenProject web interface.
|
||||
- The portal background logo can (currently) only be set on initial deployment.
|
||||
- Portal and Keycloak screen styles must be applied in the [`portalStylesheets.css`](../helmfile/files/theme/portalStylesheet.css).
|
||||
|
||||
@@ -238,7 +238,7 @@ The Standard Quality Gate addresses quality assurance steps that should be execu
|
||||
1. Linting
|
||||
- Blocking
|
||||
- Licensing: [reuse](https://github.com/fsfe/reuse-tool)
|
||||
- openDesk specific: Especially `images.yaml.gotmpl` and `charts.yaml.gotmpl`, find more details in [development.md](./docs/developer/development.md).
|
||||
- openDesk specific: Especially `images.yaml.gotmpl` and `charts.yaml.gotmpl`, find more details in [development.md](./docs/development.md).
|
||||
- Non-Blocking
|
||||
- Security: [Kyverno policy check](../.kyverno) addressing some IT-Grundschutz requirements
|
||||
- Formal: Yaml
|
||||
@@ -374,7 +374,7 @@ Example: `fix(open-xchange): Bump to 8.26 to heal issue with functional mailbox
|
||||
|
||||
#### Verified commits
|
||||
|
||||
We only allow verified commits; please read on about the options you have to make your commits verified:
|
||||
We only allow verified commits; please read about the options you have to make your commits verified:
|
||||
- https://docs.gitlab.com/user/project/repository/signed_commits/ssh/
|
||||
- https://docs.gitlab.com/user/project/repository/signed_commits/gpg/
|
||||
- https://docs.gitlab.com/user/project/repository/signed_commits/x509/
|
||||
@@ -33,8 +33,6 @@ imagePullSecrets:
|
||||
|
||||
ingress:
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
annotations:
|
||||
{{ .Values.annotations.coco.ingress | toYaml | nindent 4 }}
|
||||
className: {{ .Values.ingress.ingressClassName | quote }}
|
||||
hosts:
|
||||
- host: "{{ .Values.global.hosts.collabora }}.{{ .Values.global.domain }}"
|
||||
@@ -46,8 +44,7 @@ ingress:
|
||||
hosts:
|
||||
- "{{ .Values.global.hosts.collabora }}.{{ .Values.global.domain }}"
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.coco.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -68,7 +65,4 @@ replicaCount: {{ .Values.replicas.collaboraController }}
|
||||
resources:
|
||||
{{ .Values.resources.collaboraController | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.coco.serviceAccount | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -65,35 +65,6 @@ ingress:
|
||||
location /cool/getMetrics { deny all; return 403; }
|
||||
location /cool/adminws/ { deny all; return 403; }
|
||||
location /browser/dist/admin/admin.html { deny all; return 403; }
|
||||
# NGINX
|
||||
nginx.org/websocket-services: "collabora"
|
||||
nginx.org/lb-method: "hash $arg_WOPISrc consistent"
|
||||
nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s"
|
||||
nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s"
|
||||
nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.collabora }}"
|
||||
nginx.org/server-snippets: |
|
||||
# block admin and metrics endpoint from outside by default
|
||||
location /cool/getMetrics { deny all; return 403; }
|
||||
location /cool/adminws/ { deny all; return 403; }
|
||||
location /browser/dist/admin/admin.html { deny all; return 403; }
|
||||
# HAProxy
|
||||
haproxy.org/timeout-tunnel: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s"
|
||||
haproxy.org/backend-config-snippet: |
|
||||
balance url_param WOPISrc check_post
|
||||
hash-type consistent
|
||||
# HAProxy - Community: https://haproxy-ingress.github.io/
|
||||
haproxy-ingress.github.io/timeout-tunnel: "{{ .Values.ingress.parameters.bodyTimeout.collabora }}s"
|
||||
haproxy-ingress.github.io/balance-algorithm: "url_param WOPISrc check_post"
|
||||
haproxy-ingress.github.io/config-backend: |
|
||||
hash-type consistent
|
||||
# block admin urls from outside
|
||||
acl admin_url path_beg /cool/getMetrics
|
||||
acl admin_url path_beg /cool/adminws/
|
||||
acl admin_url path_beg /browser/dist/admin/admin.html
|
||||
http-request deny if admin_url
|
||||
{{- with .Values.annotations.collabora.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
className: {{ .Values.ingress.ingressClassName | quote }}
|
||||
hosts:
|
||||
@@ -106,11 +77,10 @@ ingress:
|
||||
hosts:
|
||||
- "{{ .Values.global.hosts.collabora }}.{{ .Values.global.domain }}"
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.collabora.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
fsGroup: 1001
|
||||
fsGroup: 100
|
||||
|
||||
prometheus:
|
||||
servicemonitor:
|
||||
@@ -132,8 +102,8 @@ securityContext:
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1001
|
||||
runAsGroup: 1001
|
||||
runAsUser: 100
|
||||
runAsGroup: 101
|
||||
seccompProfile:
|
||||
type: "RuntimeDefault"
|
||||
capabilities:
|
||||
@@ -146,13 +116,6 @@ securityContext:
|
||||
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.collabora | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
annotations:
|
||||
{{ .Values.annotations.collabora.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.collabora.service | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -39,9 +39,6 @@ ingress:
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
annotations:
|
||||
nginx.org/websocket-services: "cryptpad"
|
||||
{{- with .Values.annotations.cryptpad.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
className: {{ .Values.ingress.ingressClassName | quote }}
|
||||
hosts:
|
||||
- host: "{{ .Values.global.hosts.cryptpad }}.{{ .Values.global.domain }}"
|
||||
@@ -56,8 +53,7 @@ ingress:
|
||||
persistence:
|
||||
enabled: false
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.cryptpad.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
fsGroup: 4001
|
||||
@@ -84,8 +80,6 @@ securityContext:
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
annotations:
|
||||
{{ .Values.annotations.cryptpad.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
workloadStateful: false
|
||||
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.element.common | toYaml | nindent 2 }}
|
||||
|
||||
configuration:
|
||||
endToEndEncryption: true
|
||||
additionalConfiguration:
|
||||
@@ -139,11 +136,8 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.element.ingress | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.element.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -154,14 +148,6 @@ replicaCount: {{ .Values.replicas.element }}
|
||||
resources:
|
||||
{{ .Values.resources.element | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.element.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.element.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
theme:
|
||||
title: "Chat - {{ .Values.theme.texts.productName }}"
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Federal Ministry of the Interior and Community, PG
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeoboardWidget.additional | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -42,11 +39,8 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeoboardWidget.ingress | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeoboardWidget.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -57,14 +51,6 @@ replicaCount: {{ .Values.replicas.matrixNeoBoardWidget }}
|
||||
resources:
|
||||
{{ .Values.resources.matrixNeoBoardWidget | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeoboardWidget.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeoboardWidget.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
theme:
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Federal Ministry of the Interior and Community, PG
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeochoiceWidget.additional | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -42,11 +39,8 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeochoiceWidget.ingress | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeochoiceWidget.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -54,14 +48,6 @@ podSecurityContext:
|
||||
|
||||
replicaCount: {{ .Values.replicas.matrixNeoChoiceWidget }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeochoiceWidget.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeochoiceWidget.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
theme:
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@ image:
|
||||
|
||||
fullnameOverride: "matrix-neodatefix-bot-bootstrap"
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBotBootstrap.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -44,7 +43,4 @@ securityContext:
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.synapseCreateUser | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBotBootstrap.serviceAccount | toYaml | nindent 2 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Federal Ministry of the Interior and Community, PG
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBot.additional | toYaml | nindent 2 }}
|
||||
|
||||
global:
|
||||
domain: {{ .Values.global.domain | quote }}
|
||||
hosts:
|
||||
@@ -79,8 +76,6 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBot.ingress | toYaml | nindent 4 }}
|
||||
|
||||
liveness sample:
|
||||
enabled: true
|
||||
@@ -88,11 +83,8 @@ liveness sample:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.matrixNeoDateFixBot.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.matrixNeoDateFixBot.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBot.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBot.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -106,12 +98,4 @@ replicaCount: {{ .Values.replicas.matrixNeoDateFixBot }}
|
||||
resources:
|
||||
{{ .Values.resources.matrixNeoDateFixBot | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBot.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixBot.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Federal Ministry of the Interior and Community, PG
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixWidget.additional | toYaml | nindent 2 }}
|
||||
|
||||
configuration:
|
||||
bot:
|
||||
username: "meetings-bot"
|
||||
@@ -47,11 +44,8 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixWidget.ingress | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixWidget.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -65,14 +59,6 @@ resources:
|
||||
theme:
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixWidget.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixNeodatefixWidget.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
nginx:
|
||||
ipv4Only: {{ if eq .Values.cluster.networking.ipFamilies "IPv4" }}true{{ else }}false{{ end }}
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@ image:
|
||||
|
||||
fullnameOverride: "opendesk-matrix-user-verification-service-bootstrap"
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixUserVerificationServiceBootstrap.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -43,10 +42,4 @@ securityContext:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.synapseCreateUser | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixUserVerificationServiceBootstrap.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Federal Ministry of the Interior and Community, PG
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.elementMatrixUserVerificationService.additional | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -45,8 +42,7 @@ image:
|
||||
repository: {{ .Values.images.matrixUserVerificationService.repository | quote }}
|
||||
tag: {{ .Values.images.matrixUserVerificationService.tag | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementMatrixUserVerificationService.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -57,12 +53,4 @@ replicaCount: {{ .Values.replicas.matrixUserVerificationService }}
|
||||
resources:
|
||||
{{ .Values.resources.matrixUserVerificationService | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixUserVerificationService.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementMatrixUserVerificationService.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.elementSynapseWeb.common | toYaml | nindent 2 }}
|
||||
|
||||
clusterDomain: {{ .Values.cluster.networking.domain }}
|
||||
|
||||
containerSecurityContext:
|
||||
@@ -47,9 +44,6 @@ ingress:
|
||||
nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.element }}"
|
||||
nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.element }}s"
|
||||
nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.element }}s"
|
||||
{{- with .Values.annotations.elementSynapseWeb.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
host: "{{ .Values.global.hosts.synapse }}.{{ .Values.global.domain }}"
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
||||
@@ -57,8 +51,7 @@ ingress:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementSynapseWeb.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -69,12 +62,4 @@ replicaCount: {{ .Values.replicas.synapseWeb }}
|
||||
resources:
|
||||
{{ .Values.resources.synapseWeb | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementSynapseWeb.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementSynapseWeb.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.elementSynapse.common | toYaml | nindent 2 }}
|
||||
|
||||
configuration:
|
||||
additionalConfiguration:
|
||||
user_directory:
|
||||
@@ -220,8 +217,6 @@ federation:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementSynapse.federationIngress | toYaml | nindent 6 }}
|
||||
|
||||
global:
|
||||
domain: {{ .Values.global.domain | quote }}
|
||||
@@ -239,11 +234,8 @@ image:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.synapse.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.synapse.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementSynapse.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementSynapse.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -258,14 +250,6 @@ replicaCount: {{ .Values.replicas.synapse }}
|
||||
resources:
|
||||
{{ .Values.resources.synapse | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementSynapse.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementSynapse.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
tls:
|
||||
secretName: {{ if .Values.global.matrixDomain }}"opendesk-certificates-synapse-tls"{{ else }}"opendesk-certificates-tls"{{ end }}
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.elementWellKnown.common | toYaml | nindent 2 }}
|
||||
|
||||
configuration:
|
||||
e2ee:
|
||||
forceDisable: false
|
||||
@@ -47,11 +44,8 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.elementWellKnown.ingress | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.elementWellKnown.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -62,11 +56,4 @@ replicaCount: {{ .Values.replicas.wellKnown }}
|
||||
resources:
|
||||
{{ .Values.resources.wellKnown | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementWellKnown.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.elementWellKnown.serviceAccount | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -10,10 +10,8 @@ global:
|
||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
{{- if .Values.annotations.jitsiGlobal.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiGlobal.pod | toYaml | nindent 4}}
|
||||
{{- end }}
|
||||
podAnnotations: {}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
enabled: true
|
||||
@@ -79,12 +77,6 @@ jitsi:
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
ingress:
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
{{- if .Values.annotations.jitsiWeb.ingress }}
|
||||
annotations:
|
||||
{{- with .Values.annotations.jitsiWeb.ingress }}
|
||||
{{ . | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
||||
hosts:
|
||||
- host: "{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
|
||||
@@ -112,10 +104,6 @@ jitsi:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.jitsi | toYaml | nindent 8 }}
|
||||
{{- if .Values.annotations.jitsiWeb.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiWeb.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
prosody:
|
||||
image:
|
||||
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.prosody.registry }}/{{ .Values.images.prosody.repository }}"
|
||||
@@ -165,10 +153,6 @@ jitsi:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.prosody | toYaml | nindent 8 }}
|
||||
{{- if .Values.annotations.jitsiProsody.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiProsody.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
jicofo:
|
||||
replicaCount: {{ .Values.replicas.jicofo }}
|
||||
image:
|
||||
@@ -192,10 +176,6 @@ jitsi:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.jicofo | toYaml | nindent 8 }}
|
||||
{{- if .Values.annotations.jitsiJicofo.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiJicofo.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
jigasi:
|
||||
replicaCount: {{ .Values.replicas.jigasi }}
|
||||
enabled: {{ .Values.sip.jigasi.enabled }}
|
||||
@@ -225,10 +205,6 @@ jitsi:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.jigasi | toYaml | nindent 8 }}
|
||||
{{- if .Values.annotations.jitsiJigasi.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiJigasi.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
jvb:
|
||||
replicaCount: {{ .Values.replicas.jvb }}
|
||||
# The `useNodeIP` option provided by the upstream charts does not support all relevant scenarios, but since
|
||||
@@ -245,10 +221,6 @@ jitsi:
|
||||
{{ .Values.resources.jvb | toYaml | nindent 6 }}
|
||||
service:
|
||||
type: {{ coalesce .Values.service.type.jitsiVideoBridge .Values.cluster.service.type | quote }}
|
||||
{{- if .Values.annotations.jitsiJvb.service }}
|
||||
annotations:
|
||||
{{ .Values.annotations.jitsiJvb.service | toYaml | nindent 8 }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities: {}
|
||||
@@ -261,18 +233,6 @@ jitsi:
|
||||
type: "RuntimeDefault"
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.jvb | toYaml | nindent 8 }}
|
||||
{{- if .Values.annotations.jitsiJvb.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiJvb.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
metrics:
|
||||
prometheusAnnotations:
|
||||
{{ .Values.annotations.jitsiJvb.metricsPrometheus | toYaml | nindent 8 }}
|
||||
{{- if .Values.annotations.jitsiJvb.metricsGrafana }}
|
||||
grafanaDashboards:
|
||||
annotations:
|
||||
{{ .Values.annotations.jitsiJvb.metricsGrafana | toYaml | nindent 10 }}
|
||||
{{- end }}
|
||||
jibri:
|
||||
replicaCount: {{ .Values.replicas.jibri }}
|
||||
image:
|
||||
@@ -289,19 +249,10 @@ jitsi:
|
||||
# Chart does not allow to template more
|
||||
capabilities:
|
||||
add: ["SYS_ADMIN"]
|
||||
{{- if .Values.annotations.jitsiJibri.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsiJibri.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
imagePullSecrets:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.annotations.jitsi.serviceAccount }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.jitsi.serviceAccount | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
|
||||
patchJVB:
|
||||
configuration:
|
||||
@@ -328,17 +279,10 @@ patchJVB:
|
||||
repository: {{ .Values.images.jitsiPatchJVB.repository | quote }}
|
||||
tag: {{ .Values.images.jitsiPatchJVB.tag | quote }}
|
||||
|
||||
{{- if .Values.annotations.jitsi.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.jitsi.pod | toYaml | nindent 2 }}
|
||||
{{- end }}
|
||||
podAnnotations: {}
|
||||
|
||||
replicaCount: {{ .Values.replicas.jitsiKeycloakAdapter }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.jitsiKeycloakAdapter | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.jitsi.serviceAccount | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -12,10 +12,7 @@ global:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
intents.otterize.com/service-name: "opendesk-nextcloud-php"
|
||||
{{- with .Values.annotations.nextcloudNextcloudMgmt.additional }}
|
||||
{{ . | toYaml | nindent 2}}
|
||||
{{- end }}
|
||||
intents.otterize.com/service-name: "opendesk-nextcloud-management"
|
||||
|
||||
cleanup:
|
||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||
@@ -75,7 +72,6 @@ configuration:
|
||||
collabora:
|
||||
# internalWopiUrl: ""
|
||||
wopiAllowlist: {{ join ", " ( concat .Values.cluster.networking.cidr .Values.cluster.networking.incomingCIDR ) | quote }}
|
||||
defaultFormat: {{ .Values.functional.weboffice.defaultFormat | quote }}
|
||||
|
||||
database:
|
||||
{{ if eq .Values.databases.nextcloud.type "mariadb" }}
|
||||
@@ -102,8 +98,6 @@ configuration:
|
||||
|
||||
ldap:
|
||||
host: {{ .Values.ldap.host | quote }}
|
||||
dn: "uid=ldapsearch_nextcloud,cn=users,{{ .Values.ldap.baseDn }}"
|
||||
base: {{ .Values.ldap.baseDn | quote }}
|
||||
password:
|
||||
value: {{ .Values.secrets.nubus.ldapSearch.nextcloud | quote }}
|
||||
adminGroupName: "managed-by-attribute-FileshareAdmin"
|
||||
@@ -190,6 +184,8 @@ containerSecurityContext:
|
||||
runAsNonRoot: true
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.nextcloudManagement | toYaml | nindent 4 }}
|
||||
podSecurityContext:
|
||||
fsGroup: 101
|
||||
|
||||
debug:
|
||||
loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"2"{{ end }}
|
||||
@@ -218,20 +214,10 @@ image:
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
tag: {{ .Values.images.nextcloud.tag | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nextcloudNextcloudMgmt.pod | toYaml | nindent 2 }}
|
||||
|
||||
podSecurityContext:
|
||||
fsGroup: 101
|
||||
theme:
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.nextcloud | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nextcloudNextcloudMgmt.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
theme:
|
||||
{{ .Values.theme | toYaml | nindent 2 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -9,13 +9,6 @@ global:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
exporter:
|
||||
|
||||
additionalAnnotations:
|
||||
intents.otterize.com/service-name: "opendesk-nextcloud-exporter"
|
||||
{{- with .Values.annotations.nextcloudExporter.additional }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
enabled: true
|
||||
configuration:
|
||||
server: "http://opendesk-nextcloud-aio"
|
||||
@@ -41,8 +34,7 @@ exporter:
|
||||
repository: "{{ .Values.images.nextcloudExporter.repository }}"
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
tag: {{ .Values.images.nextcloudExporter.tag | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nextcloudExporter.pod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
prometheus:
|
||||
serviceMonitor:
|
||||
enabled: {{ .Values.monitoring.prometheus.serviceMonitors.enabled }}
|
||||
@@ -56,17 +48,9 @@ exporter:
|
||||
resources:
|
||||
{{ .Values.resources.nextcloudExporter | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nextcloudExporter.serviceAccount | toYaml | nindent 6 }}
|
||||
|
||||
aio:
|
||||
additionalAnnotations:
|
||||
intents.otterize.com/service-name: "opendesk-nextcloud-aio"
|
||||
{{- with .Values.annotations.nextcloudAio.additional }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
configuration:
|
||||
cache:
|
||||
auth:
|
||||
@@ -155,15 +139,11 @@ aio:
|
||||
nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.nextcloud }}"
|
||||
nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.nextcloud }}s"
|
||||
nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.nextcloud }}s"
|
||||
{{- with .Values.annotations.nextcloudAio.ingress }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
||||
host: "{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}"
|
||||
tls:
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nextcloudAio.pod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
podSecurityContext:
|
||||
fsGroup: 101
|
||||
prometheus:
|
||||
@@ -179,12 +159,4 @@ aio:
|
||||
resources:
|
||||
{{ .Values.resources.nextcloud | toYaml | nindent 4 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.nextcloudAio.service | toYaml | nindent 6 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nextcloudAio.serviceAccount | toYaml | nindent 6 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -17,13 +17,6 @@ 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 }}
|
||||
@@ -34,15 +27,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 }}
|
||||
|
||||
ingressAdmin:
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
@@ -51,8 +41,6 @@ ingressAdmin:
|
||||
tls:
|
||||
enabled: "{{ .Values.ingress.tls.enabled }}"
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.notes.ingressAdmin | toYaml | nindent 4 }}
|
||||
|
||||
ingressMedia:
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
@@ -66,9 +54,6 @@ ingressMedia:
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /{{ .Values.objectstores.notes.bucket }}/$1
|
||||
nginx.ingress.kubernetes.io/session-cookie-path: /media
|
||||
{{- with .Values.annotations.notes.ingressMedia }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
tls:
|
||||
enabled: "{{ .Values.ingress.tls.enabled }}"
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
@@ -81,14 +66,11 @@ ingressCollaborationApi:
|
||||
tls:
|
||||
enabled: "{{ .Values.ingress.tls.enabled }}"
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.notes.ingressCollaborationAPI | toYaml | nindent 4 }}
|
||||
|
||||
|
||||
serviceMedia:
|
||||
host: {{ .Values.objectstores.notes.endpoint | default (printf "%s.%s" .Values.global.hosts.minioApi .Values.global.domain) | quote }}
|
||||
port: {{ .Values.objectstores.notes.port | default 443 }}
|
||||
annotations:
|
||||
{{ .Values.annotations.notes.serviceMedia | toYaml | nindent 4 }}
|
||||
|
||||
frontend:
|
||||
image:
|
||||
@@ -98,6 +80,7 @@ frontend:
|
||||
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 }}
|
||||
@@ -120,13 +103,6 @@ frontend:
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.notesFrontend | toYaml | nindent 6 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.notesFrontend.pod | toYaml | nindent 4 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.notesFrontend.service | toYaml | nindent 6 }}
|
||||
|
||||
yProvider:
|
||||
image:
|
||||
repository: {{ printf "%s/%s" (coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.notesYProvider.registry) (.Values.images.notesYProvider.repository) | quote }}
|
||||
@@ -150,19 +126,11 @@ 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 }}
|
||||
Y_PROVIDER_API_KEY: {{ .Values.secrets.notes.collaborationSecret | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.notesYProvider.pod | toYaml | nindent 4 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.notesYProvider.service | toYaml | nindent 6 }}
|
||||
|
||||
oidc:
|
||||
clientId: "opendesk-notes"
|
||||
clientSecret: {{ .Values.secrets.keycloak.clientSecret.notes | quote }}
|
||||
@@ -221,8 +189,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"
|
||||
OIDC_USERINFO_SHORTNAME_FIELD: "given_name"
|
||||
OIDC_USERINFO_FULLNAME_FIELDS: "given_name,family_name"
|
||||
USER_OIDC_FIELD_TO_SHORTNAME: "given_name"
|
||||
USER_OIDC_FIELDS_TO_FULLNAME: "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: "{}"
|
||||
@@ -239,8 +207,6 @@ 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"
|
||||
@@ -249,9 +215,6 @@ backend:
|
||||
python manage.py migrate --no-input
|
||||
restartPolicy: Never
|
||||
|
||||
migrateJobAnnotations:
|
||||
{{ .Values.annotations.notesBackend.migrateJob | toYaml | nindent 4 }}
|
||||
|
||||
createsuperuser:
|
||||
command:
|
||||
- "/bin/sh"
|
||||
@@ -260,9 +223,6 @@ backend:
|
||||
python manage.py createsuperuser --email default.admin@{{ .Values.global.domain }} --password {{ .Values.secrets.notes.superuser }}
|
||||
restartPolicy: Never
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.notesBackend.pod | toYaml | nindent 4 }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.notesBackend | toYaml | nindent 4 }}
|
||||
securityContext:
|
||||
@@ -279,9 +239,4 @@ backend:
|
||||
runAsNonRoot: true
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.notesBackend | toYaml | nindent 6 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.notesBackend.service | toYaml | nindent 6 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.nubusIntercomService.additional | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -102,11 +99,8 @@ ingress:
|
||||
tls:
|
||||
enabled: {{ .Values.ingress.tls.enabled }}
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusIntercomService.ingress | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusIntercomService.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -156,11 +150,4 @@ replicaCount: {{ .Values.replicas.intercomService }}
|
||||
resources:
|
||||
{{ .Values.resources.intercomService | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusIntercomService.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusIntercomService.serviceAccount | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -7,9 +7,6 @@ global:
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.nubusNginxS3Gateway.additional | toYaml | nindent 2 }}
|
||||
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nginxS3Gateway.registry | quote }}
|
||||
repository: {{ .Values.images.nginxS3Gateway.repository | quote }}
|
||||
@@ -23,10 +20,6 @@ ingress:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: "/portal-assets/icons/$2/$3"
|
||||
nginx.ingress.kubernetes.io/use-regex: "true"
|
||||
{{- with .Values.annotations.nubusNginxS3Gateway.ingress }}
|
||||
{{. | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
path: "/univention/(portal|selfservice)/icons/(logos|entries)/(.*)$"
|
||||
tls:
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
@@ -43,20 +36,8 @@ configuration:
|
||||
secretKey:
|
||||
value: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusNginxS3Gateway.pod | toYaml | nindent 2 }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.nginxS3Gateway | toYaml | nindent 2 }}
|
||||
|
||||
replicaCount: {{ .Values.replicas.nginxS3Gateway }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusNginxS3Gateway.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusNginxS3Gateway.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{/*
|
||||
SPDX-FileCopyrightText: 2024-2025 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
|
||||
*/}}
|
||||
---
|
||||
@@ -110,13 +110,8 @@ config:
|
||||
clientSessionMaxLifespan: {{ .Values.functional.authentication.realmSettings.clientSessionMaxLifespan }}
|
||||
clientOfflineSessionIdleTimeout: {{ .Values.functional.authentication.realmSettings.clientOfflineSessionIdleTimeout }}
|
||||
clientOfflineSessionMaxLifespan: {{ .Values.functional.authentication.realmSettings.clientOfflineSessionMaxLifespan }}
|
||||
ssoFederation:
|
||||
enabled: {{ .Values.functional.authentication.ssoFederation.enabled }}
|
||||
enforceFederatedLogin: {{ .Values.functional.authentication.ssoFederation.enforceFederatedLogin }}
|
||||
name: {{ .Values.functional.authentication.ssoFederation.name | quote }}
|
||||
idpDetails: {{ .Values.functional.authentication.ssoFederation.idpDetails | toYaml | nindent 6 }}
|
||||
twoFactorSettings:
|
||||
additionalGroups: {{ .Values.functional.authentication.twoFactor.groups | toYaml | nindent 6 }}
|
||||
additionalGroups: {{ .Values.functional.authentication.twoFactor.groups }}
|
||||
precreateGroups: [ 'Domain Admins', 'Domain Users', '2fa-users', 'IAM API - Full Access',
|
||||
{{ if .Values.apps.nextcloud.enabled }}'managed-by-attribute-Fileshare', 'managed-by-attribute-FileshareAdmin',{{ end }}
|
||||
{{ if .Values.apps.xwiki.enabled }}'managed-by-attribute-Knowledgemanagement', 'managed-by-attribute-KnowledgemanagementAdmin',{{ end }}
|
||||
@@ -125,7 +120,7 @@ config:
|
||||
{{ if .Values.apps.jitsi.enabled }}'managed-by-attribute-Videoconference',{{ end }}
|
||||
{{ if .Values.apps.oxAppSuite.enabled }}'managed-by-attribute-Groupware',{{ end }}
|
||||
{{ if .Values.apps.notes.enabled }}'managed-by-attribute-Notes',{{ end }}
|
||||
]
|
||||
]
|
||||
|
||||
opendesk:
|
||||
# We use client specific scopes as we bind them to Keycloak role membership which itself is linked
|
||||
@@ -759,17 +754,11 @@ containerSecurityContext:
|
||||
{{ .Values.seLinuxOptions.opendeskKeycloakBootstrap | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
argocd.argoproj.io/hook: "Sync"
|
||||
argocd.argoproj.io/hook-delete-policy: "BeforeHookCreation"
|
||||
{{- with .Values.annotations.nubusKeycloakBootstrap.additional }}
|
||||
{{. | toYaml | nindent 2 }}
|
||||
{{- end }}
|
||||
argocd.argoproj.io/hook: "Sync"
|
||||
argocd.argoproj.io/hook-delete-policy: "BeforeHookCreation"
|
||||
|
||||
podAnnotations:
|
||||
intents.otterize.com/service-name: "ums-keycloak-bootstrap"
|
||||
{{- with .Values.annotations.nubusKeycloakBootstrap.pod }}
|
||||
{{. | toYaml | nindent 2 }}
|
||||
{{- end }}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -779,10 +768,6 @@ podSecurityContext:
|
||||
resources:
|
||||
{{ .Values.resources.opendeskKeycloakBootstrap | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusKeycloakBootstrap.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
{{- if .Values.certificate.selfSigned }}
|
||||
extraVolumes:
|
||||
- name: "trusted-cert-secret-volume"
|
||||
|
||||
@@ -28,7 +28,7 @@ dovecot:
|
||||
value: {{ .Values.secrets.cassandra.dovecotDictmapUser | quote }}
|
||||
keyspace: {{ .Values.databases.dovecotDictmap.name | quote }}
|
||||
sharedMailboxes:
|
||||
enabled: true
|
||||
enabled: false
|
||||
host: {{ .Values.databases.dovecotACL.host | quote }}
|
||||
port: {{ .Values.databases.dovecotACL.port }}
|
||||
username: {{ .Values.databases.dovecotACL.username | quote }}
|
||||
@@ -36,7 +36,6 @@ dovecot:
|
||||
value: {{ .Values.secrets.cassandra.dovecotACLUser | quote }}
|
||||
keyspace: {{ .Values.databases.dovecotACL.name | quote }}
|
||||
objectStorage:
|
||||
bucket: {{ .Values.objectstores.dovecot.bucket | quote }}
|
||||
encryption:
|
||||
privateKey:
|
||||
value: {{ env "DOVECOT_CRYPT_PRIVATE_KEY" | quote }}
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.openxchangeDovecot.common | toYaml | nindent 2 }}
|
||||
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.dovecot.registry | quote }}
|
||||
repository: {{ .Values.images.dovecot.repository | quote }}
|
||||
@@ -23,8 +20,7 @@ imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 2 }}
|
||||
|
||||
dovecot:
|
||||
mailDomains: {{ toYaml (prepend .Values.global.additionalMailDomains (.Values.global.mailDomain | default .Values.global.domain) | uniq) | nindent 4 }}
|
||||
defaultMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
||||
mailDomain: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
||||
password:
|
||||
value: {{ .Values.secrets.dovecot.doveadm | quote }}
|
||||
migration:
|
||||
@@ -83,9 +79,8 @@ containerSecurityContext:
|
||||
seLinuxOptions:
|
||||
{{ .Values.seLinuxOptions.dovecot | toYaml | nindent 4 }}
|
||||
|
||||
{{- if .Values.debug.enabled }}
|
||||
debug: true
|
||||
{{- end }}
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
{{- if .Values.certificate.selfSigned }}
|
||||
extraVolumes:
|
||||
@@ -116,26 +111,14 @@ persistence:
|
||||
- "ReadWriteOnce"
|
||||
{{- end }}
|
||||
size: {{ .Values.persistence.storages.dovecot.size | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeDovecot.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeDovecot.pod | toYaml | nindent 2 }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.dovecot | toYaml | nindent 2 }}
|
||||
|
||||
{{- if or (eq (coalesce .Values.service.type.dovecot .Values.cluster.service.type) "NodePort") (eq (coalesce .Values.service.type.dovecot .Values.cluster.service.type) "LoadBalancer") }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeDovecot.service | toYaml | nindent 4 }}
|
||||
external:
|
||||
enabled: true
|
||||
type: {{ coalesce .Values.service.type.dovecot .Values.cluster.service.type | quote }}
|
||||
{{- end }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeDovecot.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,13 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
argocd.argoproj.io/hook: "Sync"
|
||||
argocd.argoproj.io/hook-delete-policy: "HookSucceeded"
|
||||
{{- with .Values.annotations.openxchangeBootstrap.additional }}
|
||||
{{ . | toYaml | nindent 2 }}
|
||||
{{- end }}
|
||||
|
||||
cleanup:
|
||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||
@@ -38,8 +31,7 @@ image:
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeBootstrap.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
argocd.argoproj.io/hook: "Sync"
|
||||
argocd.argoproj.io/hook-delete-policy: "HookSucceeded"
|
||||
...
|
||||
|
||||
@@ -6,11 +6,7 @@ SPDX-License-Identifier: Apache-2.0
|
||||
---
|
||||
appsuite:
|
||||
core-mw:
|
||||
podAnnotations:
|
||||
logging.open-xchange.com/format: "appsuite-json"
|
||||
{{- with .Values.annotations.openxchangeEnterpriseContactPicker.appsuiteCoreMwPod }}
|
||||
{{ . | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
|
||||
properties:
|
||||
# Enterprise contact picker
|
||||
com.openexchange.contacts.ldap.accounts: "opendesk,other,functional"
|
||||
@@ -32,10 +28,6 @@ appsuite:
|
||||
dn: "uid=ldapsearch_ox,cn=users,{{ .Values.ldap.baseDn }}"
|
||||
password: {{ .Values.secrets.nubus.ldapSearch.ox | quote }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeEnterpriseContactPicker.appsuiteCoreMwServiceAccount | toYaml | nindent 8 }}
|
||||
|
||||
uiSettings:
|
||||
# Enterprise contact picker
|
||||
io.ox/core//features/enterprisePicker/enabled: "true"
|
||||
|
||||
@@ -32,8 +32,7 @@ nextcloud-integration-ui:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . | quote }}
|
||||
{{- end }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeNextcloudIntegrationUi.pod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
replicaCount: {{ .Values.replicas.openxchangeNextcloudIntegrationUI }}
|
||||
resources:
|
||||
{{ .Values.resources.openxchangeNextcloudIntegrationUI | toYaml | nindent 4 }}
|
||||
@@ -67,8 +66,7 @@ public-sector-ui:
|
||||
{{- end }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
replicaCount: {{ .Values.replicas.openxchangePublicSectorUI }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangePublicSectorUi.pod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
resources:
|
||||
{{ .Values.resources.openxchangePublicSectorUI | toYaml | nindent 4 }}
|
||||
securityContext:
|
||||
@@ -97,8 +95,6 @@ appsuite:
|
||||
istio:
|
||||
enabled: false
|
||||
ingress:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.ingress | toYaml | nindent 6 }}
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
||||
tls:
|
||||
@@ -108,105 +104,14 @@ appsuite:
|
||||
hosts:
|
||||
- "{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||
dav:
|
||||
enabled: {{ .Values.functional.groupware.davSupport.enabled }}
|
||||
hosts:
|
||||
- "{{ .Values.global.hosts.openxchangeDav }}.{{ .Values.global.domain }}"
|
||||
- "{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||
routes:
|
||||
appsuite-base:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.appsuitebase | toYaml | nindent 10 }}
|
||||
rootredirect:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.rootredirect | toYaml | nindent 10 }}
|
||||
trailslash:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.trailslash | toYaml | nindent 10 }}
|
||||
rest-routes-admin:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.restRoutesAdmin | toYaml | nindent 10 }}
|
||||
rest-routes-advertisement:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.restRoutesAdvertisement | toYaml | nindent 10 }}
|
||||
rest-routes-chronos:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.restRoutesChronos | toYaml | nindent 10 }}
|
||||
rest-routes-preliminary:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.restRoutesPreliminary | toYaml | nindent 10 }}
|
||||
rest-routes-userfeedback:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.restRoutesUserfeedback | toYaml | nindent 10 }}
|
||||
static-routes-servlet:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.staticRoutesServlet | toYaml | nindent 10 }}
|
||||
static-routes-realtime:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.staticRoutesRealtime | toYaml | nindent 10 }}
|
||||
static-routes-infostore:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.staticRoutesInfostore | toYaml | nindent 10 }}
|
||||
static-routes-webservices:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.staticRoutesWebservices | toYaml | nindent 10 }}
|
||||
drive-client-windows-ox-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.driveClientWindowsOxRoute | toYaml | nindent 10 }}
|
||||
guard-api-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.guardApiRoute | toYaml | nindent 10 }}
|
||||
guard-support-api-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.guardSupportApiRoute | toYaml | nindent 10 }}
|
||||
guard-pgp-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.guardPgpRoute | toYaml | nindent 10 }}
|
||||
http-api-routes-api:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.httpApiRoutesApi | toYaml | nindent 10 }}
|
||||
http-api-routes-ajax:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.httpApiRoutesAjax | toYaml | nindent 10 }}
|
||||
http-api-routes-appsuite-api:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "{{ .Values.ingress.parameters.bodySize.oxAppSuite }}"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.oxAppSuite }}"
|
||||
nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.oxAppSuite }}"
|
||||
{{- with .Values.annotations.openxchangeAppsuiteIngress.httpApiRoutesAppsuiteApi }}
|
||||
{{ . | toYaml | nindent 10 }}
|
||||
{{- end }}
|
||||
http-api-routes-app-root-api:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.httpApiRoutesAppRootApi | toYaml | nindent 10 }}
|
||||
rt2-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.rt2Route | toYaml | nindent 10 }}
|
||||
documents-help-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.documentsHelpRoute | toYaml | nindent 10 }}
|
||||
drive-help-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.driveHelpRoute | toYaml | nindent 10 }}
|
||||
core-help-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.coreHelpRoute | toYaml | nindent 10 }}
|
||||
office-web-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.officeWebRoute | toYaml | nindent 10 }}
|
||||
caldav-well-known-redirect:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.caldavWellKnownRedirect | toYaml | nindent 10 }}
|
||||
carddav-well-known-redirect:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.carddavWellKnownRedirect | toYaml | nindent 10 }}
|
||||
dav-infostore-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.davInfostoreRoute | toYaml | nindent 10 }}
|
||||
dav-root-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.davRootRoute | toYaml | nindent 10 }}
|
||||
wopi-server-route:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteIngress.wopiServerRoute | toYaml | nindent 10 }}
|
||||
trailslash:
|
||||
enabled: false
|
||||
core-mw:
|
||||
@@ -216,7 +121,7 @@ appsuite:
|
||||
host: "all"
|
||||
productName: {{ .Values.theme.texts.productName | quote }}
|
||||
oidcLogin: true
|
||||
oidcPath: "/oidc/"
|
||||
oidcPath: "/oidc"
|
||||
masterAdmin: "admin"
|
||||
masterPassword: {{ .Values.secrets.oxAppSuite.adminPassword | quote }}
|
||||
hzGroupName: "hzgroup"
|
||||
@@ -226,11 +131,8 @@ appsuite:
|
||||
jolokiaLogin: "jolokia"
|
||||
jolokiaPassword: {{ .Values.secrets.oxAppSuite.jolokiaPassword | quote }}
|
||||
hostname: "{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreMw.pod | toYaml | nindent 6 }}
|
||||
podAnnotations: {}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreMw.serviceAccount | toYaml | nindent 8 }}
|
||||
create: true
|
||||
features:
|
||||
status:
|
||||
@@ -249,8 +151,7 @@ appsuite:
|
||||
tag: {{ .Values.images.openxchangeGotenberg.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
replicaCount: {{ .Values.replicas.openxchangeGotenberg }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreMw.gotenbergPod | toYaml | nindent 8 }}
|
||||
podAnnotations: {}
|
||||
resources:
|
||||
{{ .Values.resources.openxchangeGotenberg | toYaml | nindent 8 }}
|
||||
securityContext:
|
||||
@@ -278,25 +179,21 @@ appsuite:
|
||||
packages:
|
||||
status:
|
||||
{{- if .Values.functional.migration.oxAppSuite.enabled }}
|
||||
open-xchange-oidc: "disabled"
|
||||
open-xchange-authentication-masterpassword: "enabled"
|
||||
open-xchange-authentication-ldap: "disabled"
|
||||
open-xchange-authentication-oauth: "disabled"
|
||||
open-xchange-oidc: "disabled"
|
||||
{{- else }}
|
||||
open-xchange-oidc: "enabled"
|
||||
open-xchange-authentication-masterpassword: "disabled"
|
||||
{{- end }}
|
||||
open-xchange-authentication-oauth: "disabled"
|
||||
open-xchange-authentication-database: "disabled"
|
||||
open-xchange-authentication-oauth: "enabled"
|
||||
open-xchange-authentication-ldap: "disabled"
|
||||
{{- end }}
|
||||
# OX Documents (office-web) is not used in openDesk
|
||||
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"
|
||||
properties:
|
||||
com.openexchange.hostname: {{ printf "%s.%s" .Values.global.hosts.openxchange .Values.global.domain }}
|
||||
com.openexchange.UIWebPath: "/appsuite/"
|
||||
com.openexchange.showAdmin: "false"
|
||||
# PDF Export
|
||||
@@ -326,8 +223,6 @@ appsuite:
|
||||
com.openexchange.oidc.startDefaultBackend: "true"
|
||||
com.openexchange.oidc.userLookupClaim: "opendesk_username"
|
||||
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 }}"
|
||||
@@ -337,6 +232,9 @@ appsuite:
|
||||
com.openexchange.oauth.provider.mode: "expect_jwt"
|
||||
com.openexchange.oauth.provider.userLookupNamePart: "full"
|
||||
com.openexchange.oauth.provider.userLookupClaim: "opendesk_username"
|
||||
com.openexchange.authentication.oauth.clientId: "opendesk-oxappsuite"
|
||||
com.openexchange.authentication.oauth.tokenEndpoint: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}/protocol/openid-connect/token"
|
||||
com.openexchange.authentication.oauth.clientSecret: {{ .Values.secrets.keycloak.clientSecret.as8oidc | quote }}
|
||||
# MAIL
|
||||
com.openexchange.mail.authType: "xoauth2"
|
||||
com.openexchange.mail.loginSource: "name"
|
||||
@@ -348,12 +246,16 @@ appsuite:
|
||||
# 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"
|
||||
com.openexchange.mail.login.resolver.ldap.clientId: contactsLdapClient
|
||||
com.openexchange.mail.login.resolver.ldap.mailLoginSearchFilter: "(&(univentionObjectType=users/user)(isOxUser=OK)(mailPrimaryAddress=[mailLogin]))"
|
||||
com.openexchange.mail.login.resolver.ldap.userNameAttribute: uid
|
||||
com.openexchange.mail.login.resolver.ldap.contextIdAttribute: oxContextIDNum
|
||||
com.openexchange.mail.login.resolver.ldap.entitySearchFilter: "(&(univentionObjectType=users/user)(isOxUser=OK)(oxContextIDNum=[cid])(uid=[uname]))"
|
||||
#com.openexchange.mail.login.resolver.ldap.mailLoginAttribute: entryUUID
|
||||
# Workaround until either OX issue /appsuite/platform/core#251 is fixed
|
||||
# or entryUUIDs are replaced by a different field.
|
||||
com.openexchange.mail.login.resolver.ldap.mailLoginAttribute: departmentName
|
||||
#com.openexchange.mail.login.resolver.ldap.cacheExpire: "1"
|
||||
# Requirements for OX-Connector
|
||||
com.openexchange.user.enforceUniqueDisplayName: "false"
|
||||
com.openexchange.folderstorage.database.preferDisplayName: "false"
|
||||
@@ -409,15 +311,6 @@ appsuite:
|
||||
# http = (await import('./io.ox/core/http.js')).default
|
||||
# await http.POST({ module: 'oxguard/smime', params: { action: 'test' } })
|
||||
com.openexchange.smime.test: "true"
|
||||
# DAV
|
||||
{{- if .Values.functional.groupware.davSupport.enabled }}
|
||||
com.openexchange.caldav.enabled: "true"
|
||||
com.openexchange.caldav.url: {{ printf "https://%s.%s/caldav/[folderId]" .Values.global.hosts.openxchangeDav .Values.global.domain }}
|
||||
com.openexchange.carddav.enabled: "true"
|
||||
com.openexchange.carddav.url: {{ printf "https://%s.%s/carddav/[folderId]" .Values.global.hosts.openxchangeDav .Values.global.domain }}
|
||||
com.openexchange.client.onboarding.caldav.url: {{ printf "https://%s.%s/" .Values.global.hosts.openxchangeDav .Values.global.domain }}
|
||||
com.openexchange.client.onboarding.carddav.url: {{ printf "https://%s.%s/" .Values.global.hosts.openxchangeDav .Values.global.domain }}
|
||||
{{- end }}
|
||||
# Other
|
||||
com.openexchange.secret.secretSource: "\"<user-id> + '@' + <context-id> + '/' + <random>\""
|
||||
{{- if .Values.certificate.selfSigned }}
|
||||
@@ -450,10 +343,8 @@ appsuite:
|
||||
com.openexchange.share.cryptKey: {{ .Values.secrets.oxAppSuite.shareCryptKey | quote }}
|
||||
com.openexchange.conference.element.authToken: {{ .Values.secrets.oxAppSuite.synapseAsToken | quote }}
|
||||
propertiesFiles:
|
||||
{{- if .Values.functional.migration.oxAppSuite.enabled }}
|
||||
/opt/open-xchange/etc/masterpassword-authentication.properties:
|
||||
com.openexchange.authentication.masterpassword.password: {{ .Values.secrets.oxAppSuite.migrationsMasterPassword | quote }}
|
||||
{{- end }}
|
||||
/opt/open-xchange/etc/AdminDaemon.properties:
|
||||
MASTER_ACCOUNT_OVERRIDE: "true"
|
||||
/opt/open-xchange/etc/AdminUser.properties:
|
||||
@@ -543,8 +434,6 @@ appsuite:
|
||||
# podSecurityContext: {}
|
||||
# securityContext: {}
|
||||
update:
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreMw.updatePod | toYaml | nindent 8 }}
|
||||
image:
|
||||
repository: {{ .Values.images.openxchangeCoreMW.repository | quote }}
|
||||
tag: {{ .Values.images.openxchangeCoreMW.tag | quote }}
|
||||
@@ -571,8 +460,7 @@ appsuite:
|
||||
tag: {{ .Values.images.openxchangeCoreUI.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
replicaCount: {{ .Values.replicas.openxchangeCoreUI }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreUi.pod | toYaml | nindent 6 }}
|
||||
podAnnotations: {}
|
||||
resources:
|
||||
{{ .Values.resources.openxchangeCoreUI | toYaml | nindent 6 }}
|
||||
securityContext:
|
||||
@@ -608,8 +496,7 @@ appsuite:
|
||||
tag: {{ .Values.images.openxchangeCoreUIMiddleware.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
overrides: {}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreUiMiddleware.pod | toYaml | nindent 6 }}
|
||||
podAnnotations: {}
|
||||
redis: *redisConfiguration
|
||||
replicaCount: {{ .Values.replicas.openxchangeCoreUIMiddleware }}
|
||||
resources:
|
||||
@@ -652,10 +539,7 @@ appsuite:
|
||||
repository: {{ .Values.images.openxchangeDocumentConverter.repository | quote }}
|
||||
tag: {{ .Values.images.openxchangeDocumentConverter.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
{{- if .Values.annotations.openxchangeAppsuiteCoreDocumentconverter.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreDocumentconverter.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
podAnnotations: {}
|
||||
redis: *redisConfiguration
|
||||
replicaCount: {{ .Values.replicas.openxchangeCoreDocumentConverter }}
|
||||
resources:
|
||||
@@ -705,8 +589,7 @@ appsuite:
|
||||
repository: {{ .Values.images.openxchangeCoreGuidedtours.repository | quote }}
|
||||
tag: {{ .Values.images.openxchangeCoreGuidedtours.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreGuidedtours.pod | toYaml | nindent 6 }}
|
||||
podAnnotations: {}
|
||||
replicaCount: {{ .Values.replicas.openxchangeCoreGuidedtours }}
|
||||
resources:
|
||||
{{- .Values.resources.openxchangeCoreGuidedtours | toYaml | nindent 6 }}
|
||||
@@ -744,10 +627,7 @@ appsuite:
|
||||
endpoint: "."
|
||||
accessKey: "."
|
||||
secretKey: "."
|
||||
{{- if .Values.annotations.openxchangeAppsuiteCoreImageconverter.pod }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreImageconverter.pod | toYaml | nindent 6 }}
|
||||
{{- end }}
|
||||
podAnnotations: {}
|
||||
redis: *redisConfiguration
|
||||
replicaCount: {{ .Values.replicas.openxchangeCoreImageConverter }}
|
||||
resources:
|
||||
@@ -816,8 +696,7 @@ appsuite:
|
||||
{{- range .Values.global.imagePullSecrets }}
|
||||
- name: {{ . | quote }}
|
||||
{{- end }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangeAppsuiteCoreUserGuide.pod | toYaml | nindent 6 }}
|
||||
podAnnotations: {}
|
||||
replicaCount: {{ .Values.replicas.openxchangeCoreUserGuide }}
|
||||
resources:
|
||||
{{- .Values.resources.openxchangeCoreUserGuide | toYaml | nindent 6 }}
|
||||
|
||||
@@ -69,8 +69,7 @@ persistence:
|
||||
size: {{ .Values.persistence.storages.oxConnector.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.oxConnector.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.nubusOxConnector.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
replicaCount: {{ .Values.replicas.oxConnector }}
|
||||
|
||||
@@ -93,8 +92,6 @@ securityContext:
|
||||
{{ .Values.seLinuxOptions.oxConnector | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.nubusOxConnector.serviceAccount | toYaml | nindent 4 }}
|
||||
create: true
|
||||
|
||||
...
|
||||
|
||||
@@ -55,13 +55,9 @@ postfix:
|
||||
{{- if .Values.apps.dkimpy.enabled }}
|
||||
dkimpyHost: "opendesk-dkimpy-milter.{{ .Release.Namespace }}.svc.{{.Values.cluster.networking.domain }}:8892"
|
||||
{{- end }}
|
||||
|
||||
minTLSVersion: "TLSv1.3"
|
||||
smtpdTLSMandatoryCiphers: "high"
|
||||
|
||||
rspamdHost: ""
|
||||
relayHost: {{ if .Values.smtp.host }}{{ printf "[%s]:%d" .Values.smtp.host .Values.smtp.port | quote }}{{ else }}""{{ end }}
|
||||
allowRelayNets: false
|
||||
relayNets: {{ join " " .Values.cluster.networking.cidr | quote }}
|
||||
smtpSASLAuthEnable: "yes"
|
||||
smtpSASLPasswordMaps: "lmdb:/etc/postfix/sasl_passwd.map"
|
||||
smtpTLSSecurityLevel: "encrypt"
|
||||
@@ -85,11 +81,10 @@ postfix:
|
||||
smtpdMilters: "inet:clamav-simple:7357"
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
virtualMailboxDomains: {{ toYaml (prepend .Values.global.additionalMailDomains (.Values.global.mailDomain | default .Values.global.domain) | uniq) | nindent 4 }}
|
||||
virtualMailboxDomains: {{ if .Values.global.additionalMailDomains }}{{ printf "%s,%s" (.Values.global.mailDomain | default .Values.global.domain) .Values.global.additionalMailDomains }}{{ else }}{{ .Values.global.mailDomain | default .Values.global.domain | quote }}{{ end }}
|
||||
virtualTransport: "lmtps:dovecot:24"
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openxchangePostfix.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
replicaCount: {{ .Values.replicas.postfix }}
|
||||
|
||||
@@ -98,8 +93,6 @@ resources:
|
||||
|
||||
{{- if or (eq (coalesce .Values.service.type.postfix .Values.cluster.service.type) "NodePort") (eq (coalesce .Values.service.type.postfix .Values.cluster.service.type) "LoadBalancer") }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.openxchangePostfix.service | toYaml | nindent 4 }}
|
||||
external:
|
||||
enabled: true
|
||||
type: {{ coalesce .Values.service.type.postfix .Values.cluster.service.type | quote }}
|
||||
|
||||
@@ -3,15 +3,7 @@
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.opendeskMigrationsPost.additional | toYaml | nindent 2 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.opendeskMigrationsPost.pod | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.opendeskMigrationsPost.serviceAccount | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
|
||||
migrations:
|
||||
stage: "POST"
|
||||
|
||||
@@ -3,15 +3,7 @@
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.opendeskMigrationsPre.additional | toYaml | nindent 2 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.opendeskMigrationsPre.pod | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.opendeskMigrationsPre.serviceAccount | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
|
||||
migrations:
|
||||
stage: "PRE"
|
||||
|
||||
@@ -11,9 +11,6 @@ global:
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.openprojectBootstrap.additional | toYaml | nindent 2 }}
|
||||
|
||||
cleanup:
|
||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||
@@ -75,9 +72,6 @@ image:
|
||||
job:
|
||||
enabled: true
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openprojectBootstrap.pod | toYaml | nindent 2 }}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 1000
|
||||
|
||||
@@ -3,9 +3,6 @@ SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlic
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.opendeskServicesHome.additional | toYaml | nindent 2 }}
|
||||
|
||||
global:
|
||||
domain: {{ .Values.global.domain | quote }}
|
||||
hosts:
|
||||
@@ -15,6 +12,4 @@ ingress:
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
||||
tls:
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.opendeskServicesHome.ingress | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -10,9 +10,6 @@ global:
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.opendeskServicesStaticFiles.additional | toYaml | nindent 2 }}
|
||||
|
||||
assets:
|
||||
element:
|
||||
subdomain: {{ .Values.global.hosts.element }}
|
||||
@@ -99,8 +96,6 @@ ingress:
|
||||
host: "{{ .Values.global.hosts.static }}.{{ .Values.global.domain }}"
|
||||
tls:
|
||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.opendeskServicesStaticFiles.ingress | toYaml | nindent 4 }}
|
||||
|
||||
image:
|
||||
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.opendeskStaticFiles.registry | quote }}
|
||||
@@ -108,8 +103,6 @@ image:
|
||||
tag: {{ .Values.images.opendeskStaticFiles.tag | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.opendeskServicesStaticFiles.pod | toYaml | nindent 2 }}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -123,11 +116,4 @@ resources:
|
||||
|
||||
service:
|
||||
type: "ClusterIP"
|
||||
annotations:
|
||||
{{ .Values.annotations.opendeskServicesStaticFiles.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.opendeskServicesStaticFiles.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -8,9 +8,6 @@ global:
|
||||
hosts:
|
||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
||||
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.opendeskServicesOtterize.additional | toYaml | nindent 2 }}
|
||||
|
||||
apps:
|
||||
clamavDistributed:
|
||||
enabled: {{ .Values.apps.clamavDistributed.enabled }}
|
||||
|
||||
@@ -131,8 +131,7 @@ memcached:
|
||||
persistence:
|
||||
enabled: false
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.openproject.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
postgresql:
|
||||
bundled: false
|
||||
@@ -180,12 +179,6 @@ openproject:
|
||||
login: "opendesk_username"
|
||||
admin: "openproject_admin"
|
||||
useTmpVolumes: true
|
||||
tmpVolumesAnnotations:
|
||||
{{ .Values.annotations.openproject.openprojectTempVolumes | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.openproject.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
ingress:
|
||||
annotations:
|
||||
@@ -195,9 +188,6 @@ ingress:
|
||||
nginx.org/client-max-body-size: "{{ .Values.ingress.parameters.bodySize.openproject }}"
|
||||
nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openproject }}s"
|
||||
nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.openproject }}s"
|
||||
{{- with .Values.annotations.openproject.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
host: "{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}"
|
||||
enabled: {{ .Values.ingress.enabled }}
|
||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
||||
@@ -231,9 +221,6 @@ seederJob:
|
||||
intents.otterize.com/service-name: "openproject-seeder"
|
||||
argocd.argoproj.io/hook: "Sync"
|
||||
argocd.argoproj.io/hook-delete-policy: "HookSucceeded"
|
||||
{{- with .Values.annotations.openproject.seederJob }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ .Values.resources.openprojectSeederJob | toYaml | nindent 4 }}
|
||||
|
||||
|
||||
@@ -33,10 +33,6 @@ image:
|
||||
tag: {{ .Values.images.cassandra.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
ingress:
|
||||
annotations:
|
||||
{{ .Values.annotations.cassandra.ingress | toYaml | nindent 6 }}
|
||||
|
||||
initDB:
|
||||
initUserData.cql: >
|
||||
CREATE KEYSPACE IF NOT EXISTS {{ .Values.databases.dovecotDictmap.name | quote }} WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
|
||||
@@ -74,8 +70,7 @@ persistence:
|
||||
size: {{ .Values.persistence.storages.cassandra.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.cassandra.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.cassandra.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -97,10 +92,6 @@ replicaCount: {{ .Values.replicas.cassandra }}
|
||||
resources:
|
||||
{{ .Values.resources.cassandra | toYaml | nindent 2 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.cassandra.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
startupProbe:
|
||||
enabled: false
|
||||
initialDelaySeconds: 0
|
||||
|
||||
@@ -5,8 +5,6 @@ SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
clamd:
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.clamdCommon | toYaml | nindent 4 }}
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -27,8 +25,7 @@ clamd:
|
||||
repository: {{ .Values.images.clamd.repository | quote }}
|
||||
tag: {{ .Values.images.clamd.tag | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.clamdPod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 101
|
||||
@@ -36,13 +33,6 @@ clamd:
|
||||
replicaCount: {{ .Values.replicas.clamd }}
|
||||
resources:
|
||||
{{ .Values.resources.clamd | toYaml | nindent 4 }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.clamdService | toYaml | nindent 6 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.clamdServiceAccount | toYaml | nindent 6 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -60,8 +50,6 @@ containerSecurityContext:
|
||||
{{ .Values.seLinuxOptions.clamav | toYaml | nindent 4 }}
|
||||
|
||||
freshclam:
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.freshclamCommon | toYaml | nindent 4 }}
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -82,8 +70,7 @@ freshclam:
|
||||
repository: {{ .Values.images.freshclam.repository | quote }}
|
||||
tag: {{ .Values.images.freshclam.tag | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.freshclamPod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 101
|
||||
@@ -91,9 +78,6 @@ freshclam:
|
||||
replicaCount: {{ .Values.replicas.freshclam }}
|
||||
resources:
|
||||
{{ .Values.resources.freshclam | toYaml | nindent 4 }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.freshclamServiceAccount | toYaml | nindent 6 }}
|
||||
settings:
|
||||
database:
|
||||
auth:
|
||||
@@ -108,8 +92,6 @@ global:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
|
||||
icap:
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.icapCommon | toYaml | nindent 4 }}
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -130,8 +112,7 @@ icap:
|
||||
repository: {{ .Values.images.icap.repository | quote }}
|
||||
tag: {{ .Values.images.icap.tag | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.icapPod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 101
|
||||
@@ -139,17 +120,8 @@ icap:
|
||||
replicaCount: {{ .Values.replicas.icap }}
|
||||
resources:
|
||||
{{ .Values.resources.icap | toYaml | nindent 4 }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.icapService | toYaml | nindent 6 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.icapServiceAccount | toYaml | nindent 6 }}
|
||||
|
||||
milter:
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.milterCommon | toYaml | nindent 4 }}
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -170,8 +142,7 @@ milter:
|
||||
repository: {{ .Values.images.milter.repository | quote }}
|
||||
tag: {{ .Values.images.milter.tag | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.milterPod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 101
|
||||
@@ -179,17 +150,8 @@ milter:
|
||||
replicaCount: {{ .Values.replicas.milter }}
|
||||
resources:
|
||||
{{ .Values.resources.milter | toYaml | nindent 4 }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.milterService | toYaml | nindent 6 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.milterServiceAccount | toYaml | nindent 6 }}
|
||||
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.clamav.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.clamav.storageClassName .Values.persistence.storageClassNames.RWX | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavDistributed.persistence | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavSimple.common | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -42,11 +39,8 @@ image:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.clamav.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.clamav.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavSimple.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalClamavSimple.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -68,13 +62,4 @@ settings:
|
||||
url: {{ .Values.repositories.clamav.mirror.url | quote }}
|
||||
customURLs:
|
||||
{{ .Values.repositories.clamav.customURLs | toYaml | nindent 8 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavSimple.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalClamavSimple.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
additionalAnnotations:
|
||||
{{ .Values.annotations.servicesExternalDkimpy.additional | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: true
|
||||
capabilities: {}
|
||||
@@ -31,9 +28,6 @@ image:
|
||||
tag: {{ .Values.images.dkimpy.tag | quote }}
|
||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalDkimpy.service | toYaml | nindent 2 }}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
fsGroup: 1000
|
||||
@@ -50,13 +44,4 @@ replicaCount: {{ .Values.replicas.dkimpy }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.dkimpy | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalDkimpy.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalDkimpy.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -8,9 +8,6 @@ cleanup:
|
||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalMariadb.common | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -76,15 +73,10 @@ mariadb:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.mariadb.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.mariadb.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMariadb.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
argocd.argoproj.io/hook: "PostSync"
|
||||
argocd.argoproj.io/hook-delete-policy: "BeforeHookCreation"
|
||||
{{- with .Values.annotations.servicesExternalMariadb.pod }}
|
||||
{{ . | toYaml | nindent 2 }}
|
||||
{{- end }}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -96,12 +88,4 @@ replicaCount: {{ .Values.replicas.mariadb }}
|
||||
resources:
|
||||
{{ .Values.resources.mariadb | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMariadb.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMariadb.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -6,9 +6,6 @@ SPDX-License-Identifier: Apache-2.0
|
||||
---
|
||||
architecture: {{ if gt .Values.replicas.memcached 1 }}"high-availability"{{ else }}"standalone"{{ end }}
|
||||
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalMemcached.common | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -35,21 +32,13 @@ image:
|
||||
tag: {{ .Values.images.memcached.tag | quote }}
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalMemcached.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
replicaCount: {{ .Values.replicas.memcached }}
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.memcached | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMemcached.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMemcached.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -15,16 +15,10 @@ apiIngress:
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "4G"
|
||||
nginx.org/client-max-body-size: "4G"
|
||||
{{- with .Values.annotations.servicesExternalMinio.apiIngress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
auth:
|
||||
rootPassword: {{ .Values.secrets.minio.rootPassword | quote }}
|
||||
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.common | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
enabled: true
|
||||
allowPrivilegeEscalation: false
|
||||
@@ -72,9 +66,6 @@ ingress:
|
||||
secretName: "{{ .Values.ingress.tls.secretName }}"
|
||||
annotations:
|
||||
nginx.org/websocket-services: "minio"
|
||||
{{- with .Values.annotations.servicesExternalMinio.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
livenessProbe:
|
||||
@@ -101,8 +92,6 @@ podSecurityContext:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.minio.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.minio.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.persistence | toYaml | nindent 4 }}
|
||||
|
||||
provisioning:
|
||||
enabled: true
|
||||
@@ -132,8 +121,6 @@ provisioning:
|
||||
versioning: "Suspended"
|
||||
withLock: false
|
||||
{{- end }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.provisioningPod | toYaml | nindent 4 }}
|
||||
policies:
|
||||
- name: "migrations-bucket-policy"
|
||||
statements:
|
||||
@@ -251,8 +238,7 @@ provisioning:
|
||||
resources:
|
||||
{{ .Values.resources.minio | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.pod | toYaml | nindent 2 }}
|
||||
podAnnotations: {}
|
||||
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
@@ -263,17 +249,6 @@ readinessProbe:
|
||||
resources:
|
||||
{{ .Values.resources.minio | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.serviceService | toYaml | nindent 4 }}
|
||||
headless:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.serviceHeadless | toYaml | nindent 6 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalMinio.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
startupProbe:
|
||||
enabled: true
|
||||
periodSeconds: 10
|
||||
|
||||
@@ -9,9 +9,6 @@ certificate:
|
||||
request:
|
||||
enabled: false
|
||||
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalPostfix.common | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: true
|
||||
capabilities: {}
|
||||
@@ -39,11 +36,6 @@ image:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.postfix.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.postfix.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalPostfix.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalPostfix.pod | toYaml | nindent 2 }}
|
||||
|
||||
podSecurityContext:
|
||||
enabled: true
|
||||
@@ -65,14 +57,7 @@ postfix:
|
||||
{{- end }}
|
||||
rspamdHost: ""
|
||||
relayHost: {{ if .Values.smtp.host }}{{ printf "[%s]:%d" .Values.smtp.host .Values.smtp.port | quote }}{{ else }}""{{ end }}
|
||||
|
||||
# Warning: This setting allows unauthenticated mail relay from relayNets!
|
||||
relayNets: {{ join " " .Values.cluster.networking.cidr | quote }}
|
||||
allowRelayNets: true
|
||||
|
||||
minTLSVersion: "TLSv1.3"
|
||||
smtpdTLSMandatoryCiphers: "high"
|
||||
|
||||
smtpSASLAuthEnable: "yes"
|
||||
smtpSASLPasswordMaps: "lmdb:/etc/postfix/sasl_passwd.map"
|
||||
smtpTLSSecurityLevel: "encrypt"
|
||||
@@ -102,7 +87,7 @@ postfix:
|
||||
{{- end }}
|
||||
# Only deliver mail to Dovecot, if it is available
|
||||
{{- if .Values.apps.oxAppSuite.enabled }}
|
||||
virtualMailboxDomains: {{ toYaml (prepend .Values.global.additionalMailDomains (.Values.global.mailDomain | default .Values.global.domain) | uniq) | nindent 4 }}
|
||||
virtualMailboxDomains: {{ if .Values.global.additionalMailDomains }}{{ printf "%s,%s" (.Values.global.mailDomain | default .Values.global.domain) .Values.global.additionalMailDomains }}{{ else }}{{ .Values.global.mailDomain | default .Values.global.domain | quote }}{{ end }}
|
||||
virtualTransport: "lmtps:dovecot:24"
|
||||
{{- end }}
|
||||
|
||||
@@ -114,12 +99,6 @@ resources:
|
||||
{{ .Values.resources.postfix | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalPostfix.service | toYaml | nindent 4 }}
|
||||
external:
|
||||
enabled: false
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalPostfix.serviceAccount | toYaml | nindent 4 }}
|
||||
...
|
||||
|
||||
@@ -8,9 +8,6 @@ cleanup:
|
||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalPostgresql.common | toYaml | nindent 2 }}
|
||||
|
||||
containerSecurityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
@@ -113,15 +110,10 @@ job:
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.postgresql.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.postgresql.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalPostgresql.persistence | toYaml | nindent 4 }}
|
||||
|
||||
podAnnotations:
|
||||
argocd.argoproj.io/hook: "PostSync"
|
||||
argocd.argoproj.io/hook-delete-policy: "BeforeHookCreation"
|
||||
{{- with .Values.annotations.servicesExternalPostgresql.pod}}
|
||||
{{ . | toYaml | nindent 2 }}
|
||||
{{- end }}
|
||||
|
||||
postgres:
|
||||
user: "postgres"
|
||||
@@ -129,13 +121,4 @@ postgres:
|
||||
|
||||
resources:
|
||||
{{ .Values.resources.postgresql | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalPostgresql.service | toYaml | nindent 4 }}
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalPostgresql.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
...
|
||||
|
||||
@@ -9,9 +9,6 @@ architecture: "standalone"
|
||||
auth:
|
||||
password: {{ .Values.secrets.redis.password | quote }}
|
||||
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.common | toYaml | nindent 2 }}
|
||||
|
||||
global:
|
||||
imagePullSecrets:
|
||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||
@@ -24,8 +21,6 @@ image:
|
||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||
|
||||
master:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.masterMaster | toYaml | nindent 4 }}
|
||||
containerSecurityContext:
|
||||
privileged: false
|
||||
readOnlyRootFilesystem: true
|
||||
@@ -43,40 +38,13 @@ master:
|
||||
count: {{ .Values.replicas.redis }}
|
||||
persistence:
|
||||
size: {{ .Values.persistence.storages.redis.size | quote }}
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.masterPersistence | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.masterPod | toYaml | nindent 4 }}
|
||||
podAnnotations: {}
|
||||
resources:
|
||||
{{ .Values.resources.redis | toYaml | nindent 4 }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.masterService | toYaml | nindent 6 }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.masterServiceAccount | toYaml | nindent 6 }}
|
||||
|
||||
metrics:
|
||||
enabled: false
|
||||
|
||||
replica:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.replicaReplica | toYaml | nindent 4 }}
|
||||
persistence:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.replicaPersistence | toYaml | nindent 6 }}
|
||||
podAnnotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.replicaPod | toYaml | nindent 4 }}
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.replicaService | toYaml | nindent 6 }}
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.replicaServiceAccount | toYaml | nindent 6 }}
|
||||
|
||||
secretAnnotations:
|
||||
{{ .Values.annotations.servicesExternalRedis.secret | toYaml | nindent 2 }}
|
||||
|
||||
sentinel:
|
||||
enabled: false
|
||||
|
||||
|
||||
@@ -4,9 +4,6 @@ SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG Ze
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
*/}}
|
||||
---
|
||||
commonAnnotations:
|
||||
{{ .Values.annotations.xwiki.common | toYaml | nindent 2 }}
|
||||
|
||||
image:
|
||||
{{- if eq .Values.databases.xwiki.type "mariadb" }}
|
||||
name: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.xwikiMariadb.registry }}/{{ .Values.images.xwikiMariadb.repository }}"
|
||||
@@ -132,9 +129,6 @@ ingress:
|
||||
nginx.org/proxy-read-timeout: "{{ .Values.ingress.parameters.bodyTimeout.xwiki }}s"
|
||||
nginx.org/proxy-send-timeout: "{{ .Values.ingress.parameters.bodyTimeout.xwiki }}s"
|
||||
haproxy-ingress.github.io/headers: "X-Forwarded-Host {{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}"
|
||||
{{- with .Values.annotations.xwiki.ingress }}
|
||||
{{ . | toYaml | nindent 4 }}
|
||||
{{- end }}
|
||||
hosts:
|
||||
- host: "{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}"
|
||||
paths:
|
||||
@@ -155,8 +149,6 @@ mysql:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
annotations:
|
||||
{{ .Values.annotations.xwiki.persistence | toYaml | nindent 4 }}
|
||||
size: {{ .Values.persistence.storages.xwiki.size | quote }}
|
||||
storageClass: {{ coalesce .Values.persistence.storages.xwiki.storageClassName .Values.persistence.storageClassNames.RWO | quote }}
|
||||
|
||||
@@ -225,15 +217,9 @@ resources:
|
||||
{{ .Values.resources.xwiki | toYaml | nindent 2 }}
|
||||
|
||||
service:
|
||||
annotations:
|
||||
{{ .Values.annotations.xwiki.service | toYaml | nindent 4 }}
|
||||
externalPort: 80
|
||||
enabled: true
|
||||
|
||||
serviceAccount:
|
||||
annotations:
|
||||
{{ .Values.annotations.xwiki.serviceAccount | toYaml | nindent 4 }}
|
||||
|
||||
volumePermissions:
|
||||
enabled: true
|
||||
|
||||
|
||||
@@ -6,11 +6,12 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/product-development/charts/opendesk-dovecot-pro"
|
||||
name: "dovecot"
|
||||
version: "3.1.1"
|
||||
version: "2.0.2"
|
||||
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.17.292"
|
||||
version: "1.15.236"
|
||||
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: "24.04.12.4.1@sha256:af4d4d0e743c71f7995e81cb081d0e1db79d016b0c50169480096f70b4b42f85"
|
||||
dovecot:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/dovecot-pro"
|
||||
tag: "3.0.2-rev7@sha256:4330240bfeda4dd8b6aa32a6b7f03382126d47caf4f37a5578ad17746101c88b"
|
||||
tag: "3.0.1-rev3@sha256:b87f16562dd486c0f97e8147a797af16a54f25f1ac64826f4f53bd8177ec9a33"
|
||||
nextcloud:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/nextcloud/images/opendesk-nextcloud"
|
||||
tag: "30.0.10@sha256:a63374dd44d3c6a8873da31fe0554b97fb29993a4cf18b9dd6a304b577f2f2b8"
|
||||
tag: "1.1.9@sha256:ad28c9dd8cdb4bdd325fe132215d0cf094392c3ddd1f114707b09bb7d1c61a9e"
|
||||
openxchangeCoreMW:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/middleware-public-sector-pro"
|
||||
tag: "8.37.69@sha256:40908484e71bc45ad23598685b0519d82fc9e3cf372e00fe38befe9196cf84e2"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/open-xchange/images-mirror/core-mw"
|
||||
tag: "8.35.85@sha256:54d01a16ea29a3ae8f1857e5bdf6d2e34046b8a3fa3d6179bb3ad3d047e1318f"
|
||||
...
|
||||
|
||||
@@ -1,440 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
---
|
||||
annotations:
|
||||
cassandra:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
coco:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
collabora:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
cryptpad:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
element:
|
||||
common: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixNeoboardWidget:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixNeochoiceWidget:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixNeodatefixBot:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixNeodatefixBotBootstrap:
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixNeodatefixWidget:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixUserVerificationService:
|
||||
additional: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementMatrixUserVerificationServiceBootstrap:
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
elementSynapse:
|
||||
common: ~
|
||||
federationIngress: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementSynapseWeb:
|
||||
common: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
elementWellKnown:
|
||||
common: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
jitsi:
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
jitsiGlobal:
|
||||
pod: ~
|
||||
jitsiJibri:
|
||||
pod: ~
|
||||
jitsiJicofo:
|
||||
pod: ~
|
||||
jitsiJigasi:
|
||||
pod: ~
|
||||
jitsiJitsiPatchJVB:
|
||||
serviceAccount: ~
|
||||
jitsiJvb:
|
||||
pod: ~
|
||||
service: ~
|
||||
metricsPrometheus: ~
|
||||
metricsGrafana: ~
|
||||
jitsiProsody:
|
||||
pod: ~
|
||||
jitsiWeb:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
nextcloudAio:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nextcloudExporter:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nextcloudNextcloudMgmt:
|
||||
additional: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
notes:
|
||||
ingressAdmin: ~
|
||||
ingressCollaborationWS: ~
|
||||
ingressCollaborationAPI: ~
|
||||
ingressMedia: ~
|
||||
serviceMedia: ~
|
||||
notesBackend:
|
||||
migrateJob: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
notesFrontend:
|
||||
pod: ~
|
||||
service: ~
|
||||
notesYProvider:
|
||||
pod: ~
|
||||
service: ~
|
||||
nubus:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
nubusGuardian:
|
||||
authorizationApiPod: ~
|
||||
globalPod: ~
|
||||
ingressIngress: ~
|
||||
ingressManagementUi: ~
|
||||
ingressManagementApi: ~
|
||||
ingressAuthorizationApi: ~
|
||||
managementApiPod: ~
|
||||
managementUiPod: ~
|
||||
serviceAccount: ~
|
||||
nubusIntercomService:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusKeycloak:
|
||||
common: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusKeycloakBootstrap:
|
||||
additional: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusKeycloakBootstrapNubus:
|
||||
additional: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nubusKeycloakExtensions:
|
||||
handlerAdditional: ~
|
||||
handlerPod: ~
|
||||
handlerService: ~
|
||||
handlerServiceAccount: ~
|
||||
proxyAdditional: ~
|
||||
proxyIngress: ~
|
||||
proxyPod: ~
|
||||
proxyService: ~
|
||||
proxyServiceAccount: ~
|
||||
nubusLdapNotifier:
|
||||
additional: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusLdapServer:
|
||||
additional: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusNotificationsApi:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusOxConnector:
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nubusPortalConsumer:
|
||||
pod: ~
|
||||
nubusPortalFrontend:
|
||||
additional: ~
|
||||
ingressIngress: ~
|
||||
ingressRewrites: ~
|
||||
ingressRedirects: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusPortalServer:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusProvisioning:
|
||||
additional: ~
|
||||
apiAdditional: ~
|
||||
apiPod: ~
|
||||
dispatcherAdditional: ~
|
||||
dispatcherPod: ~
|
||||
natsAdditional: ~
|
||||
natsPod: ~
|
||||
udmTransformerAdditional: ~
|
||||
udmTransformerPod: ~
|
||||
pod: ~
|
||||
prefillAdditional: ~
|
||||
prefillPod: ~
|
||||
registerConsumersAdditional: ~
|
||||
registerConsumersPod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusNginxS3Gateway:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusSelfserviceConsumer:
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nubusStackDataUms:
|
||||
additional: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nubusUdmListener:
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nubusUdmRestApi:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
nubusUmcGateway:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
nubusUmcServer:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
opendeskMigrationsPost:
|
||||
additional: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
opendeskMigrationsPre:
|
||||
additional: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
opendeskServicesHome:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
opendeskServicesOtterize:
|
||||
additional: ~
|
||||
opendeskServicesStaticFiles:
|
||||
additional: ~
|
||||
ingress: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
openproject:
|
||||
ingress: ~
|
||||
pod: ~
|
||||
openprojectTempVolumes: ~
|
||||
serviceAccount: ~
|
||||
seederJob: ~
|
||||
openprojectBootstrap:
|
||||
additional: ~
|
||||
pod: ~
|
||||
openxchangeAppsuiteCoreDocumentconverter:
|
||||
pod: ~
|
||||
openxchangeAppsuiteCoreGuidedtours:
|
||||
pod: ~
|
||||
openxchangeAppsuiteCoreImageconverter:
|
||||
pod: ~
|
||||
openxchangeAppsuiteCoreUi:
|
||||
pod: ~
|
||||
openxchangeAppsuiteCoreUiMiddleware:
|
||||
pod: ~
|
||||
openxchangeAppsuiteCoreMw:
|
||||
gotenbergPod: ~
|
||||
pod: ~
|
||||
serviceAccount: ~
|
||||
updatePod: ~
|
||||
openxchangeAppsuiteCoreUserGuide:
|
||||
pod: ~
|
||||
openxchangeAppsuiteIngress:
|
||||
appsuitebase: ~
|
||||
ingress: ~
|
||||
rootredirect: ~
|
||||
trailslash: ~
|
||||
restRoutesAdmin: ~
|
||||
restRoutesAdvertisement: ~
|
||||
restRoutesChronos: ~
|
||||
restRoutesPreliminary: ~
|
||||
restRoutesUserfeedback: ~
|
||||
staticRoutesServlet: ~
|
||||
staticRoutesRealtime: ~
|
||||
staticRoutesInfostore: ~
|
||||
staticRoutesWebservices: ~
|
||||
driveClientWindowsOxRoute: ~
|
||||
guardApiRoute: ~
|
||||
guardSupportApiRoute: ~
|
||||
guardPgpRoute: ~
|
||||
httpApiRoutesApi: ~
|
||||
httpApiRoutesAjax: ~
|
||||
httpApiRoutesAppsuiteApi: ~
|
||||
httpApiRoutesAppRootApi: ~
|
||||
rt2Route: ~
|
||||
documentsHelpRoute: ~
|
||||
driveHelpRoute: ~
|
||||
coreHelpRoute: ~
|
||||
officeWebRoute: ~
|
||||
caldavWellKnownRedirect: ~
|
||||
carddavWellKnownRedirect: ~
|
||||
davInfostoreRoute: ~
|
||||
davRootRoute: ~
|
||||
wopiServerRoute: ~
|
||||
openxchangeBootstrap:
|
||||
additional: ~
|
||||
serviceAccount: ~
|
||||
openxchangeDovecot:
|
||||
common: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
openxchangeEnterpriseContactPicker:
|
||||
appsuiteCoreMw:
|
||||
appsuiteCoreMwPod: ~
|
||||
appsuiteCoreMwServiceAccount: ~
|
||||
openxchangeNextcloudIntegrationUi:
|
||||
pod: ~
|
||||
openxchangePostfix:
|
||||
pod: ~
|
||||
service: ~
|
||||
openxchangePublicSectorUi:
|
||||
pod: ~
|
||||
servicesExternalClamavDistributed:
|
||||
clamdCommon: ~
|
||||
clamdPod: ~
|
||||
clamdService: ~
|
||||
clamdServiceAccount: ~
|
||||
freshclamCommon: ~
|
||||
freshclamService: ~
|
||||
freshclamServiceAccount: ~
|
||||
milterCommon: ~
|
||||
milterPod: ~
|
||||
milterService: ~
|
||||
milterServiceAccount: ~
|
||||
persistence: ~
|
||||
servicesExternalClamavSimple:
|
||||
common: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalDkimpy:
|
||||
additional: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalMariadb:
|
||||
common: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalMemcached:
|
||||
common: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalMinio:
|
||||
apiIngress: ~
|
||||
common:
|
||||
ingress: ~
|
||||
persistence: ~
|
||||
provisioningPod: ~
|
||||
pod: ~
|
||||
serviceService: ~
|
||||
serviceHeadless: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalPostfix:
|
||||
common: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalPostgresql:
|
||||
common: ~
|
||||
persistence: ~
|
||||
pod: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
servicesExternalRedis:
|
||||
common: ~
|
||||
masterMaster: ~
|
||||
masterPersistence: ~
|
||||
masterPod: ~
|
||||
masterService: ~
|
||||
masterServiceAccount: ~
|
||||
replicaReplica: ~
|
||||
replicaPersistence: ~
|
||||
replicaPod: ~
|
||||
replicaService: ~
|
||||
replicaServiceAccount: ~
|
||||
secret: ~
|
||||
xwiki:
|
||||
common: ~
|
||||
ingress: ~
|
||||
persistence: ~
|
||||
service: ~
|
||||
serviceAccount: ~
|
||||
...
|
||||
@@ -2,7 +2,7 @@
|
||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Please read the /docs/developer/development.md for information about structure and annotations used in this file.
|
||||
# Please read the /docs/development.md for information about structure and annotations used in this file.
|
||||
# yamllint disable rule:line-length
|
||||
---
|
||||
charts:
|
||||
@@ -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.21"
|
||||
verify: true
|
||||
collaboraController:
|
||||
# Enterprise Component
|
||||
@@ -99,7 +99,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-dovecot"
|
||||
name: "dovecot"
|
||||
version: "3.1.1"
|
||||
version: "2.0.0"
|
||||
verify: true
|
||||
element:
|
||||
# providerCategory: "Platform"
|
||||
@@ -241,7 +241,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/external/charts/bitnami-charts"
|
||||
name: "minio"
|
||||
version: "16.0.10"
|
||||
version: "14.10.1"
|
||||
verify: true
|
||||
nextcloud:
|
||||
# providerCategory: "Platform"
|
||||
@@ -251,7 +251,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud"
|
||||
version: "4.1.0"
|
||||
version: "4.0.3"
|
||||
verify: true
|
||||
nextcloudManagement:
|
||||
# providerCategory: "Platform"
|
||||
@@ -261,7 +261,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||
name: "opendesk-nextcloud-management"
|
||||
version: "4.1.0"
|
||||
version: "4.0.3"
|
||||
verify: true
|
||||
nginx:
|
||||
# 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.7.0"
|
||||
verify: true
|
||||
opendeskAlerts:
|
||||
# providerCategory: "Platform"
|
||||
@@ -333,7 +333,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-keycloak-bootstrap"
|
||||
name: "opendesk-keycloak-bootstrap"
|
||||
version: "2.6.0"
|
||||
version: "2.5.0"
|
||||
verify: true
|
||||
opendeskStaticFiles:
|
||||
# providerCategory: "Platform"
|
||||
@@ -355,7 +355,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/charts-mirror"
|
||||
name: "openproject"
|
||||
version: "10.0.3"
|
||||
version: "9.8.3"
|
||||
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.262"
|
||||
version: "2.17.164"
|
||||
verify: false
|
||||
oxAppSuiteBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
@@ -419,7 +419,7 @@ charts:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-postfix"
|
||||
name: "postfix"
|
||||
version: "4.0.0"
|
||||
version: "3.0.0"
|
||||
verify: true
|
||||
postgresql:
|
||||
# providerCategory: "Platform"
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
---
|
||||
functional:
|
||||
|
||||
admin:
|
||||
portal:
|
||||
deploymentTimestamp:
|
||||
@@ -41,40 +40,6 @@ functional:
|
||||
clientSessionMaxLifespan: 0
|
||||
clientOfflineSessionIdleTimeout: 0
|
||||
clientOfflineSessionMaxLifespan: 0
|
||||
# SSO federation allows an external OIDC IdP to authenticate users within openDesk
|
||||
ssoFederation:
|
||||
# Enabling SSO federation requires an upstream IdP specific configuration in `idpDetails` below.
|
||||
enabled: false
|
||||
# When enforcing the federated login all users are immediately redirected to the federated IdP when a login
|
||||
# is requested or required.
|
||||
enforceFederatedLogin: false
|
||||
# Name of the SSO federation, if you do not enforce the login the name is shown as a login option the user can select
|
||||
# within the openDesk login dialog.
|
||||
name: "My upstream IdP"
|
||||
# Configuration details for your upstream IdP, when you configured them manually in the Keycloak UI e.g. for
|
||||
# testing the setup, you can get them from a Keycloak realm export in the `identityProviders` list.
|
||||
# Notes:
|
||||
# - You have to convert the configuration into YAML to apply it below.
|
||||
# - You have to omit the following attributes as they are either defined explicitly above or implicitly by
|
||||
# the openDesk configuration
|
||||
# - `displayName`
|
||||
# - `alias`
|
||||
# - `firstBrokerLoginFlowAlias`
|
||||
# - `internalId`
|
||||
idpDetails: {}
|
||||
|
||||
chat:
|
||||
matrix:
|
||||
profile:
|
||||
# Once connected with a user that user's Matrix ID is rarely checked by their communication partners, as the
|
||||
# display name is used to see whom they are communicating with. Not allowing users to change their
|
||||
# own display name reduces the risk of identity fraud.
|
||||
# To get the display name updated from the central identity and access management you have to have the Synapse
|
||||
# enterprise feature "groupsync" configured.
|
||||
allowUsersToUpdateDisplayname: true
|
||||
|
||||
# If the LDAP entryUUID should be used for the localpart of user's Matrix IDs following setting must be `true`.
|
||||
useImmutableIdentifierForLocalpart: false
|
||||
|
||||
externalServices:
|
||||
nubus:
|
||||
@@ -88,16 +53,6 @@ functional:
|
||||
# List of matrix homeserver domains you want to allow federation with
|
||||
domainAllowList: []
|
||||
|
||||
dataProtection:
|
||||
matrixPresence:
|
||||
# Enable to allow information about the user presence status to be shared.
|
||||
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence
|
||||
enabled: false
|
||||
jitsiRoomHistory:
|
||||
# Disable to avoid the room history to be stored in the user's browser local storage.
|
||||
# Ref.: https://github.com/jitsi/docker-jitsi-meet/issues/898
|
||||
enabled: true
|
||||
|
||||
filestore:
|
||||
quota:
|
||||
# Set the default quota for all users in GB
|
||||
@@ -144,16 +99,15 @@ functional:
|
||||
versions: "auto"
|
||||
# yamllint enable rule:line-length
|
||||
|
||||
groupware:
|
||||
davSupport:
|
||||
enabled: true
|
||||
|
||||
migration:
|
||||
oxAppSuite:
|
||||
# Note: Only available in openDesk Enterprise.
|
||||
# Turn on temporary for migration purposes only. Will enable master password auth in OX AppSuite and Dovecot using
|
||||
# `secrets.oxAppSuite.migrationsMasterPassword`.
|
||||
dataProtection:
|
||||
matrixPresence:
|
||||
# Enable to allow information about the user presence status to be shared.
|
||||
# Ref.: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#presence
|
||||
enabled: false
|
||||
jitsiRoomHistory:
|
||||
# Disable to avoid the room history to be stored in the user's browser local storage.
|
||||
# Ref.: https://github.com/jitsi/docker-jitsi-meet/issues/898
|
||||
enabled: true
|
||||
|
||||
portal:
|
||||
# Configure if the a re-direct to the login dialogue is enforced, or if the portal is shown and the user as to actively
|
||||
@@ -164,10 +118,24 @@ functional:
|
||||
# Link to the privacy statement shown in the portal menu, set to "~" if you want to remove the link
|
||||
linkPrivacyStatement: "https://zendis.de/datenschutzerklaerung"
|
||||
|
||||
weboffice:
|
||||
# Set the file format to be used by default when creating new documents from the portal or the Nextcloud app.
|
||||
# You can choose between "ODF" and "OOXML".
|
||||
# Ref.: https://en.wikipedia.org/wiki/Comparison_of_Office_Open_XML_and_OpenDocument
|
||||
defaultFormat: "ODF"
|
||||
chat:
|
||||
matrix:
|
||||
profile:
|
||||
# Once connected with a user that user's Matrix ID is rarely checked by their communication partners, as the
|
||||
# display name is used to see whom they are communicating with. Not allowing users to change their
|
||||
# own display name reduces the risk of identity fraud.
|
||||
# To get the display name updated from the central identity and access management you have to have the Synapse
|
||||
# enterprise feature "groupsync" configured.
|
||||
allowUsersToUpdateDisplayname: true
|
||||
|
||||
# If the LDAP entryUUID should be used for the localpart of user's Matrix IDs following setting must be `true`.
|
||||
useImmutableIdentifierForLocalpart: false
|
||||
|
||||
migration:
|
||||
oxAppSuite:
|
||||
# Note: Only available in openDesk Enterprise.
|
||||
# Turn on temporary for migration purposes only. Will enable master password auth in OX AppSuite and Dovecot using
|
||||
# `secrets.oxAppSuite.migrationsMasterPassword`.
|
||||
enabled: false
|
||||
|
||||
...
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
---
|
||||
global:
|
||||
systemInformation:
|
||||
releaseVersion: "v1.5.0"
|
||||
releaseVersion: "v1.2.1"
|
||||
...
|
||||
|
||||
@@ -19,7 +19,7 @@ global:
|
||||
|
||||
## Define additional mail domains, comma separated, e.g. domain1.de,domain2.de
|
||||
#
|
||||
additionalMailDomains: []
|
||||
additionalMailDomains: ""
|
||||
|
||||
## Define synapse host
|
||||
## If this is unset the "domain" value above should be used in all references
|
||||
@@ -55,7 +55,6 @@ global:
|
||||
nubus: "portal"
|
||||
openproject: "projects"
|
||||
openxchange: "webmail"
|
||||
openxchangeDav: "dav"
|
||||
static: "static"
|
||||
synapse: "matrix"
|
||||
synapseAdmin: "synapse-admin"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Please read the /docs/developer/development.md for information about structure and annotations used in this file.
|
||||
# Please read the /docs/development.md for information about structure and annotations used in this file.
|
||||
---
|
||||
images:
|
||||
bitnamiOSShell:
|
||||
@@ -12,7 +12,7 @@ images:
|
||||
# upstreamRepository: "bitnami/os-shell"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/os-shell"
|
||||
tag: "12-debian-12-r44@sha256:6388c7c27a09472906e2f2094410c9ffdadf23b4b242293ce023d0314ec10920"
|
||||
tag: "12-debian-12-r34@sha256:41e0561b0f08011c24acc5e8ad4c0d09a36062cfab35d9ec7b3fdd4cfecc01e0"
|
||||
cassandra:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -20,7 +20,7 @@ images:
|
||||
# upstreamRepository: "bitnami/cassandra"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/cassandra"
|
||||
tag: "5.0.4-debian-12-r4@sha256:9d909ebe10802dae2fb99ef7c8e9e0dbc496c8d30366e2f7abbe0713b945fa7d"
|
||||
tag: "5.0.2-debian-12-r1@sha256:9f5fd6fe3a24b7e5ea215a99a0e0d6a10d11a914d6eb8c511780271a9097f5ea"
|
||||
cassandraExporter:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -28,7 +28,7 @@ images:
|
||||
# upstreamRepository: "bitnami/cassandra-exporter"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/cassandra-exporter"
|
||||
tag: "2.3.8-debian-12-r46@sha256:e44c65f08d85153041f68bcf180f948341d74018eef8b56e8869ed87fdfd34f0"
|
||||
tag: "2.3.8-debian-12-r31@sha256:ae861f6c8712dd32c2304c680e4564802df689a62dc4aed2f4e7cfcbba8a8051"
|
||||
clamd:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -36,7 +36,7 @@ images:
|
||||
# upstreamRepository: "clamav/clamav"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "clamav/clamav"
|
||||
tag: "1.4.2-38_base@sha256:e7d108f30ea8f16935dbd12e4b58665f1bc148ce3dd59028cf04088330216910"
|
||||
tag: "1.1.1-10_base@sha256:aed8d5a3ef58352c862028fae44241215a50eae0b9acb7ba8892b1edc0a6598f"
|
||||
collabora:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Collabora"
|
||||
@@ -44,7 +44,7 @@ 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: "24.04.12.4.1@sha256:c794cefc3b56b13479e29626bb13e903ccc77a49163dacab1328efed69140c62"
|
||||
collaboraController:
|
||||
# Enterprise Component
|
||||
# providerCategory: "Supplier"
|
||||
@@ -84,7 +84,7 @@ images:
|
||||
# upstreamRepository: "alpine/k8s"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "alpine/k8s"
|
||||
tag: "1.33.1@sha256:7f8133af0dd210cb5b168f889c5bc77dd65ecc935f3e3cb72d1b98ff96bfed40"
|
||||
tag: "1.32.3@sha256:eec3541331932d8613ce7b3283508063cba7f704302e9b4eda45e49b38a2a0f9"
|
||||
element:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Element"
|
||||
@@ -108,6 +108,13 @@ images:
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/element/images-mirror/groupsync"
|
||||
tag: "v0.14.0@sha256:a8cee92b9035d8cc80cc13194e4e0118c7dfbfcbc4c0ee5ac173582d0cd55846"
|
||||
elementHaProxy:
|
||||
# Enterprise Component
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Element"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "zendis/opendesk-enterprise/components/supplier/element/images-mirror/haproxy"
|
||||
tag: "3.0-alpine@sha256:c22c8710886104a48b920306f063401f0d11811858e3c6b9d87d88a7556b2e61"
|
||||
elementPipe:
|
||||
# Enterprise Component
|
||||
# providerCategory: "Supplier"
|
||||
@@ -128,7 +135,7 @@ images:
|
||||
# providerResponsible: "Element"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-element-syncadmins"
|
||||
tag: "1.0.5@sha256:ae0e18eadea762e11f8edacc52285742a5c4ed6e2e92bfa32ec5638e377e7b7b"
|
||||
tag: "1.0.3@sha256:1dea24d5f65a6f9ac63b402c772dd81dcd07a847d24845901c8a039461043097"
|
||||
freshclam:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -136,7 +143,7 @@ images:
|
||||
# upstreamRepository: "clamav/clamav"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "clamav/clamav"
|
||||
tag: "1.4.2-38_base@sha256:e7d108f30ea8f16935dbd12e4b58665f1bc148ce3dd59028cf04088330216910"
|
||||
tag: "1.1.1-10_base@sha256:aed8d5a3ef58352c862028fae44241215a50eae0b9acb7ba8892b1edc0a6598f"
|
||||
icap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -230,7 +237,7 @@ images:
|
||||
# upstreamRepository: "library/mariadb"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "library/mariadb"
|
||||
tag: "10.6.21@sha256:8a16204dc96c08ed0ee2c52c0f9324aa5d2dd0e43ad23a471d447a39f75765b5"
|
||||
tag: "10.5@sha256:aa1ccc18000c32d1f39ac0b055117b27bffd93e622ec961d682de40fe2a1a95f"
|
||||
matrixNeoBoardWidget:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Nordeck"
|
||||
@@ -288,7 +295,7 @@ images:
|
||||
# upstreamRepository: "bitnami/memcached"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/memcached"
|
||||
tag: "1.6.38-debian-12-r3@sha256:3e548fba727578be9d996262471f5f3e07726d625702d26743a5e0f34684cb21"
|
||||
tag: "1.6.21-debian-11-r107@sha256:247ec29efd6030960047a623aef025021154662edf6b6d6e88c97936f164d99d"
|
||||
migrations:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -296,7 +303,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.6.0@sha256:67ac4872f879b3ef3e27924754b3f89c6bdb158c22bd91c6c7c484aa2fed91ce"
|
||||
milter:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -304,7 +311,7 @@ images:
|
||||
# upstreamRepository: "clamav/clamav"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "clamav/clamav"
|
||||
tag: "1.4.2-38_base@sha256:e7d108f30ea8f16935dbd12e4b58665f1bc148ce3dd59028cf04088330216910"
|
||||
tag: "1.1.1-10_base@sha256:aed8d5a3ef58352c862028fae44241215a50eae0b9acb7ba8892b1edc0a6598f"
|
||||
minio:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -312,7 +319,7 @@ images:
|
||||
# upstreamRepository: "bitnami/minio"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/minio"
|
||||
tag: "2025.4.22-debian-12-r1@sha256:d7cd0e172c4cc0870f4bdc3142018e2a37be9acf04d68f386600daad427e0cab"
|
||||
tag: "2024.12.13-debian-12-r0@sha256:2a258ab6876f6ed3cd5609836d065f20927955a2ae721fd9edde8ca388b52135"
|
||||
nextcloud:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -320,7 +327,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: "30.0.10@sha256:a022c6279072eb45d14cab29296860a15ad0d5801f50a56928334eb99bae50d0"
|
||||
tag: "2.4.11@sha256:2fe6e311735c706016fe7b39c8f60a6cf0f0e735761dbc60fb4cd2eedbe135c4"
|
||||
nextcloudExporter:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -328,7 +335,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.3@sha256:d38f211a3cdc8397deccd0243061e20972a8a796eeb9bb552fe4ddec5d56c829"
|
||||
tag: "1.0.1@sha256:63e63c7420e37d3989fa0ffdbcf18a07b2a603ab9b2a849c2e7e44342dd82af0"
|
||||
nginxS3Gateway:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -336,7 +343,7 @@ images:
|
||||
# upstreamRepository: "nginxinc/nginx-s3-gateway"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "nginxinc/nginx-s3-gateway"
|
||||
tag: "unprivileged-oss-20250512@sha256:064d14fc64ba968bd8123f2f25e446e597cfc5170124879b3834deac1a6d69fd"
|
||||
tag: "unprivileged-oss-20241111@sha256:20d6b6ec5fc987b18c3e345de33674374a8335c593d6d0841ac64eb49ae2dea4"
|
||||
notesBackend:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "DINUM"
|
||||
@@ -344,7 +351,7 @@ images:
|
||||
# upstreamRepository: "lasuite/impress-backend"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-notes"
|
||||
tag: "1.9.0-docs-v3.2.1-backend@sha256:17c16e4e00b15e4637d01553d56e7eecb7a477bec48677d1e7fb07b04c48d2b8"
|
||||
tag: "1.7.0-docs-v2.4.0-backend@sha256:837e09dfcb4014de97b5254956dda899e586170276d1d0b0f94cca0685f3d2ef"
|
||||
notesFrontend:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "DINUM"
|
||||
@@ -352,7 +359,7 @@ images:
|
||||
# upstreamRepository: "lasuite/impress-frontend"
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-notes"
|
||||
tag: "1.9.0-docs-v3.2.1-frontend@sha256:328d5a8bf41875eb5945229adfc4a52eb2fef109e25d980910ee77edd4bc1887"
|
||||
tag: "1.7.0-docs-v2.4.0-frontend@sha256:98fb87ad877eb5658c6bef1c09adf4e03f816dce61867bc099838aca15890887"
|
||||
notesYProvider:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "DINUM"
|
||||
@@ -360,7 +367,7 @@ images:
|
||||
# upstreamRepository: "lasuite/impress-y-provider"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "lasuite/impress-y-provider"
|
||||
tag: "v3.2.1@sha256:9dd7068336c02fe71806bc3576e7dc8636d7ccb139667c6303f0753e18d3ab7e"
|
||||
tag: "v2.4.0@sha256:329d47f5cda80941a7f0812969c3194ba68da3e7e1ef38e3d08c266fc97555c1"
|
||||
nubusDataLoader:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -370,7 +377,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.87.0@sha256:b45af938d7b0c3138054a859985e60c76c8a79caeb1dc31a6cd4189035bb07b7"
|
||||
nubusGuardianAuthorizationApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -410,17 +417,17 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "3", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/guardian-init"
|
||||
tag: "0.19.1@sha256:9030841a136d9addc37b2b62d39d80b113b824e50bd9cdcd5cf2c22bad74eeb0"
|
||||
tag: "0.14.0@sha256:91613f123f7e46b321002d4b2b86c4635b79621376e513d4bea1bb1d01aa99f8"
|
||||
nubusKeycloak:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
# upstreamRegistry: "https://artifacts.software-univention.de"
|
||||
# upstreamRepository: "nubus/images/keycloak"
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||
# upstreamMirrorStartFrom: ["0", "0", "1"]
|
||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+).+$'
|
||||
# upstreamMirrorStartFrom: ["22", "0", "3"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak"
|
||||
tag: "0.0.1@sha256:ce2397ac38920750b81a8a6065f7ed8a551641c6562a551963a2857fe6822beb"
|
||||
tag: "25.0.6-ucs5@sha256:8e9df64f9b6c5ce6e5f0ae732f0aadc928e13e7166236bd16bf647b92dad22bb"
|
||||
nubusKeycloakBootstrap:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -430,7 +437,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.7.1@sha256:1675e1615732914f01f832af7347c5913af51b447f7e5ca4bdd38557d798c52e"
|
||||
nubusKeycloakExtensionHandler:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -460,7 +467,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.33.0@sha256:1aed364bff3a5ce8fe6c19e6c8914a3243f7a0684c3ea9330fc61bcb6cbe4cac"
|
||||
nubusLdapServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -470,7 +477,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.33.0@sha256:9354c79788ac48820ac781463e50f6ee315bf352b4ae384c3355124347953aa8"
|
||||
nubusLdapServerDhInitContainer:
|
||||
# providerCategory: 'Community'
|
||||
# providerResponsible: 'Univention'
|
||||
@@ -488,7 +495,7 @@ 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.33.0@sha256:c1304a156094b276199fb263baf93e3704ceece478d7f663061b1b1f05f5931c"
|
||||
nubusNats:
|
||||
# providerCategory: 'Community'
|
||||
# providerResponsible: 'Univention'
|
||||
@@ -522,7 +529,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.55.0@sha256:845d027becc48892314ed9bed4f2c78feaa63d632fcded2fe1cdc6458b1ba831"
|
||||
nubusOpendeskExtension:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -530,7 +537,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.4@sha256:cf0e22c1eef138a413a90a60c5405126dc769195dd4dd37229a27afaa82ef3b3"
|
||||
tag: "1.12.8@sha256:9c5e06ed459c0b5f35e511c476b982b86466760bd3fe1617aa908fdcf9e389df"
|
||||
nubusOpendeskExtensionA2gMapper:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -568,7 +575,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.55.0@sha256:919b4de5d2ef27e239f1d3e944ab58dfaa3e5ef52b865a31fe465da165b03eed"
|
||||
nubusPortalExtension:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -578,7 +585,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["0", "28", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/portal-extension"
|
||||
tag: "0.59.1@sha256:c9c7faa3cca2be2f45d073517a50e8a8cc89d46c978c2f3a6be3c13d0e6ae900"
|
||||
tag: "0.55.0@sha256:6f4fff6a53ffb8be858f3a06e9832b90f773500877dd8ab0e20da82008f3d964"
|
||||
nubusPortalFrontend:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -596,7 +603,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.55.0@sha256:bb9d73f1a75cf50073d7f8f8cfbeeecce930a7370cb80f1c543956aa669f7fd4"
|
||||
nubusProvisioningDispatcher:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -606,7 +613,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.49.1@sha256:3ebc70a95749504f771e257187854d6bd3623fe9b0f8085aa4116e5290db9beb"
|
||||
nubusProvisioningEventsAndConsumerApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -616,7 +623,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.49.1@sha256:8ad56dc861fa4880c100ba9efffe75398e8b077e4eeb673dadac34cfe44aa1ba"
|
||||
nubusProvisioningPrefill:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -626,7 +633,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.49.1@sha256:3b3eac87ca6dd140236e8a36cd5b42efceb33013beb836f1caeff85ff700a570"
|
||||
nubusProvisioningUdmListener:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -636,7 +643,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.49.1@sha256:4534ec7c0ee1af3a1eabd4a39cc28c5ddc225e0c3a6bea31a0d6cdf6dcb11147"
|
||||
nubusProvisioningUdmTransformer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -646,7 +653,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.49.1@sha256:43f4636ed88333005570c97c51cf46deba499a25ffd65e993b37cf1418dfc483"
|
||||
nubusSelfServiceConsumer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -656,7 +663,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.14.0@sha256:999c50058a02f6006a8d1732b651a5c738c5ee91fc453dc8ae3fcdbb9d4192c0"
|
||||
nubusUdmRestApi:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -666,7 +673,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.29.0@sha256:2b061d1cf244aeadcb790a08cac94804a32abe73dd442382355a6657b05c0ff2"
|
||||
nubusUmcGateway:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -676,7 +683,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.37.0@sha256:3ac0e34e9b1c353ab7778bae548804e3dcc236dd454c3f500de9795eb7dda947"
|
||||
nubusUmcServer:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -686,7 +693,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.37.0@sha256:ef06422cab2ab2bc4f84a13dfd7bfb7e862a3504f83fc6957fcbdfaa433d0468"
|
||||
nubusUmcServerProxy:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -704,7 +711,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.28.0@sha256:816ad27b76046be360398274ba3c1f1bcec8f58c2ea5a200b2fb675aab1a5ab8"
|
||||
opendeskKeycloakBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -720,7 +727,7 @@ images:
|
||||
# upstreamRepository: "library/nginx"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "library/nginx"
|
||||
tag: "1.28.0-alpine3.21@sha256:aed99734248e851764f1f2146835ecad42b5f994081fa6631cc5d79240891ec9"
|
||||
tag: "1.27.3-alpine3.20@sha256:41523187cf7d7a2f2677a80609d9caa14388bf5c1fbca9c410ba3de602aaaab4"
|
||||
openproject:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "OpenProject"
|
||||
@@ -730,7 +737,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["13", "1", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/openproject/images-mirror/open_desk"
|
||||
tag: "16.0.1@sha256:c5b1172aed7e5e5ae21cca915e3349cc67fdf1366c9ded3c94db1ae5084e3841"
|
||||
tag: "15.4.2@sha256:d88df284e03b5c255ad3963ebe335f38a4e069754569dd47c5e92930e0b26a1b"
|
||||
openprojectBootstrap:
|
||||
# providerCategory: "Platform"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -746,7 +753,7 @@ images:
|
||||
# upstreamRepository: "library/postgres"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "library/postgres"
|
||||
tag: "16.9-alpine3.20@sha256:e5507c984377515b8c9922b0eb19f55aba2063fdc7bccf268cefd53133f97054"
|
||||
tag: "16.8-alpine3.20@sha256:951d0626662c85a25e1ba0a89e64f314a2b99abced2c85b4423506249c2d82b0"
|
||||
openxchangeBootstrap:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -754,7 +761,7 @@ images:
|
||||
# upstreamRepository: "alpine/k8s"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "alpine/k8s"
|
||||
tag: "1.33.0@sha256:60333a52c38e9a8df0a9b93a5a24a4870f0db2c7ea3266b185386bd0a500d7dc"
|
||||
tag: "1.31.3@sha256:77812543abe5649b286d5f0dc17a7dbaa4056433225f6f695150f329cb4b6803"
|
||||
openxchangeCoreGuidedtours:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -764,7 +771,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "6", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/core-guidedtours"
|
||||
tag: "8.6.17@sha256:27178fc42f2334385f1d206e4e7991d4953a102f114729d186b61c0d40babb4f"
|
||||
tag: "8.6.14@sha256:c00546144667d2d5036fa37b2e6185f1abb53c13e9eee7b0c78ec64ac8e5250a"
|
||||
openxchangeCoreMW:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -774,7 +781,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.69@sha256:dc06c7d9880505ad44ec7892ddf8f379fcd5f106ba1508436501c8f6e94dddb3"
|
||||
tag: "8.35.83@sha256:5c4180c1ba255193059241921e6fe0a34555592aa29104a145a0e1beb91157d2"
|
||||
openxchangeCoreUI:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -784,7 +791,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.35.2@sha256:658563b6ec4d3d5f2e06f2987cd8e730d91b8d0c65b0206495007d347f98965f"
|
||||
openxchangeCoreUIMiddleware:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -794,7 +801,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["2", "0", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/core-ui-middleware"
|
||||
tag: "2.1.2@sha256:36fe59a047fa466bef6fcdeed1ed8e4bbeaf7824c37c63e3bfe7262cd135cb9e"
|
||||
tag: "2.1.1@sha256:1a3e96243353a53e06bf3d90067d7d07de449e8273fa60a043d7ac4a5e6464c3"
|
||||
openxchangeCoreUserGuide:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -804,7 +811,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.35.1292950@sha256:a6937222e3b07b42c7dc6a066aae0cd05b3b899325a4e4aee50ee91355c9b3b5"
|
||||
openxchangeDocumentConverter:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -814,7 +821,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["8", "20", "50"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/documentconverter"
|
||||
tag: "8.37.1818@sha256:d9dc76ac6b24987c1fc0d95ffd81b3d594f7f34aa38a687b98c738bdcd110928"
|
||||
tag: "8.35.1671@sha256:0a7b9d7af9cd22562196b854ad11ca3fd477ddcc70f2ccd113e87ab3b7aad26c"
|
||||
openxchangeGotenberg:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -834,7 +841,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["4", "2", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/guard-ui"
|
||||
tag: "8.33.2@sha256:920b5ac87128f30c176c0ae75c6bedd32d226a97c6c5a822235606c39992ee9a"
|
||||
tag: "8.32.0@sha256:5c9542f9112882e46c3b8cb6f0ca2bef61585abac0e640a4fafa7d7ef60a392b"
|
||||
openxchangeImageConverter:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -844,7 +851,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.35.77@sha256:fb67cbaf0771ea6c18b5a1b94aaec9bf72b930227613e70535d382be58940372"
|
||||
openxchangeNextcloudIntegrationUI:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -854,7 +861,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["1", "2", "0"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/nextcloud-integration-ui"
|
||||
tag: "1.4.1@sha256:423d596b52ab32778d7227d98ccc719f98395a00d95ff0bcac826665b59e1937"
|
||||
tag: "1.4.0@sha256:4be267ab2dc8dbef6b8382e2de6b28f3851a7af7f68702f360d457898cb9011e"
|
||||
openxchangePublicSectorUI:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Open-Xchange"
|
||||
@@ -864,7 +871,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["2", "2", "1"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/open-xchange/images-mirror/public-sector-ui"
|
||||
tag: "2.4.1@sha256:c9f0f5425517e1740aaf9998c5944ce36ce26eda52329754e6b8ac733e2dacc5"
|
||||
tag: "2.4.0@sha256:6513e948028ed98aca633d9943ef3be5fed890e4757eee6b527b7215206d2bd6"
|
||||
oxConnector:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Univention"
|
||||
@@ -882,7 +889,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.3@sha256:12bcebf57ddb53258c48eaa60e9c25b441f4319ee1b94b363c652ad0a992a875"
|
||||
tag: "3.0.1@sha256:d2c6543b35b616ac3e6c8c27222d3154c0d35680813a8942ce0cc3fa9ea72a6d"
|
||||
postfixBootstrap:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -890,7 +897,7 @@ images:
|
||||
# upstreamRepository: "alpine/k8s"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "alpine/k8s"
|
||||
tag: "1.33.0@sha256:60333a52c38e9a8df0a9b93a5a24a4870f0db2c7ea3266b185386bd0a500d7dc"
|
||||
tag: "1.32.3@sha256:eec3541331932d8613ce7b3283508063cba7f704302e9b4eda45e49b38a2a0f9"
|
||||
postgresql:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "openDesk"
|
||||
@@ -898,7 +905,7 @@ images:
|
||||
# upstreamRepository: "library/postgres"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "library/postgres"
|
||||
tag: "15.13-alpine3.20@sha256:f7de0e2497b9a3b027d41377606f94bb0140a034ed303f6de690aa77637bfbc9"
|
||||
tag: "15.4-alpine3.18@sha256:f36c528a2dc8747ea40b4cb8578da69fa75c5063fd6a71dcea3e3b2a6404ff7b"
|
||||
prosody:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Nordeck"
|
||||
@@ -916,7 +923,7 @@ images:
|
||||
# upstreamRepository: "bitnami/redis"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "bitnami/redis"
|
||||
tag: "7.4.3-debian-12-r0@sha256:a25b5d07a14ec13730022c7cd9bab6308d55ccd86b74af7315553c17be884889"
|
||||
tag: "7.4.1-debian-12-r2@sha256:3cfa11e8fef45c006a101ed7cfaae2cdaed7a5167c8ada2a3f76a1de54488cd0"
|
||||
synapse:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Element"
|
||||
@@ -926,7 +933,7 @@ images:
|
||||
# upstreamMirrorStartFrom: ["1", "91", "2"]
|
||||
registry: "registry.opencode.de"
|
||||
repository: "bmi/opendesk/components/supplier/element/images-mirror/synapse"
|
||||
tag: "v1.129.0@sha256:13ac3293547d8c06e1e03fca4e02ef9a47f132acc2e2cdb4143a01495dd924cf"
|
||||
tag: "v1.127.1@sha256:0b0b933314ac9e1ba917a72c29d5b49c47828ab6e8df3aae3ac244ee947a89fc"
|
||||
synapseCreateUser:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "Nordeck"
|
||||
@@ -934,7 +941,7 @@ images:
|
||||
# upstreamRepository: "alpine/k8s"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "alpine/k8s"
|
||||
tag: "1.33.0@sha256:60333a52c38e9a8df0a9b93a5a24a4870f0db2c7ea3266b185386bd0a500d7dc"
|
||||
tag: "1.32.0@sha256:6d49f7f37ae5f4c07bfe46edb44e3d3b6896974d1b87da76d8aa8d6e23b4d619"
|
||||
synapseGuestModule:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "Element"
|
||||
@@ -952,7 +959,7 @@ images:
|
||||
# upstreamRepository: "rapidfort/haproxy-official"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "rapidfort/haproxy-official"
|
||||
tag: "3.1.7-bookworm@sha256:ab50f196f66884f62fb379c40824036cd0dabb10df660097cff99b7ae22c2c44"
|
||||
tag: "2.6.15-bullseye@sha256:47b6ca4074347788cb414fbf3db35d0c51e9e47af33be46457f95c750540887c"
|
||||
wellKnown:
|
||||
# providerCategory: "Community"
|
||||
# providerResponsible: "Element"
|
||||
@@ -960,7 +967,7 @@ images:
|
||||
# upstreamRepository: "library/nginx"
|
||||
registry: "registry-1.docker.io"
|
||||
repository: "library/nginx"
|
||||
tag: "1.28.0-alpine3.21@sha256:aed99734248e851764f1f2146835ecad42b5f994081fa6631cc5d79240891ec9"
|
||||
tag: "1.27.3-alpine3.20@sha256:41523187cf7d7a2f2677a80609d9caa14388bf5c1fbca9c410ba3de602aaaab4"
|
||||
xwikiMariadb:
|
||||
# providerCategory: "Supplier"
|
||||
# providerResponsible: "XWiki"
|
||||
|
||||
@@ -12,7 +12,6 @@ ingress:
|
||||
collabora: "100M"
|
||||
element: "100M"
|
||||
nextcloud: "100M"
|
||||
notes: "100M"
|
||||
openproject: "100M"
|
||||
oxAppSuite: "100M"
|
||||
xwiki: "100M"
|
||||
@@ -20,7 +19,6 @@ ingress:
|
||||
collabora: 600
|
||||
element: 60
|
||||
nextcloud: 600
|
||||
notes: 60
|
||||
openproject: 60
|
||||
oxAppSuite: 60
|
||||
xwiki: 60
|
||||
|
||||
@@ -97,26 +97,52 @@
|
||||
--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);
|
||||
}
|
||||
|
||||
/* Keycloak user screens begin */
|
||||
#kc-login,
|
||||
#kc-logout,
|
||||
#saveTOTPBtn,
|
||||
.pf-c-button.btn-lg {
|
||||
color: var(--color-opendesk-white) !important;
|
||||
.pf-c-button.btn-lg,
|
||||
.kc-social-provider-name
|
||||
{
|
||||
color: var(--color-opendesk-white);
|
||||
border: 2px solid;
|
||||
}
|
||||
|
||||
.kc-social-provider-name {
|
||||
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,
|
||||
|
||||
@@ -22,11 +22,11 @@ name: "openDesk"
|
||||
platforms:
|
||||
- "web"
|
||||
developmentStatus: "stable"
|
||||
softwareVersion: "1.5.0"
|
||||
releaseDate: "2025-04-23"
|
||||
softwareVersion: "1.2.1"
|
||||
releaseDate: "2025-03-21"
|
||||
softwareType: "standalone/web"
|
||||
url: "https://gitlab.opencode.de/bmi/opendesk/"
|
||||
logo: ".opencode/openDesk-logo-rgb-color.svg"
|
||||
logo: "openDesk-logo-rgb-color.svg"
|
||||
maintenance:
|
||||
type: "contract"
|
||||
|
||||
@@ -91,6 +91,8 @@ description:
|
||||
- ".opencode/screenshots/02-dateien-desktop.png"
|
||||
- ".opencode/screenshots/03-projekte-desktop.png"
|
||||
- ".opencode/screenshots/04-wiki-desktop.png"
|
||||
videos:
|
||||
- ".opencode/screenshots/openDesk_Intro.mp4"
|
||||
documentation: "https://docs.opendesk.eu/user"
|
||||
usedBy:
|
||||
- "Robert Koch-Institut"
|
||||
|
||||