mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 15:31:38 +01:00
Compare commits
43 Commits
uv-jlohmer
...
fix/trossn
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a71c6077b5 | ||
|
|
11f750e1d6 | ||
|
|
91e34aabaa | ||
|
|
deacbc9db5 | ||
|
|
cbe6b1ae6c | ||
|
|
67d52c771e | ||
|
|
1023f3d081 | ||
|
|
12680e5c1a | ||
|
|
592f03135f | ||
|
|
bdc6ad2864 | ||
|
|
57f70b876a | ||
|
|
e9f779049c | ||
|
|
9f081d8567 | ||
|
|
603b102f41 | ||
|
|
f297d8c0b7 | ||
|
|
f4b9395b41 | ||
|
|
31753ffb19 | ||
|
|
73455630fd | ||
|
|
5f72da4e57 | ||
|
|
dd80abe622 | ||
|
|
9950b73ae3 | ||
|
|
6b88f731eb | ||
|
|
11ebb80494 | ||
|
|
ade8535c44 | ||
|
|
3d84e804c2 | ||
|
|
8bca56d4ac | ||
|
|
df9380b924 | ||
|
|
7348547d96 | ||
|
|
8ef69ecaf2 | ||
|
|
fa04f88370 | ||
|
|
efc41cb3aa | ||
|
|
370c7cd836 | ||
|
|
ac148d0c28 | ||
|
|
3d441933ca | ||
|
|
b60fe39b5c | ||
|
|
c03566dd63 | ||
|
|
fbe4909a8e | ||
|
|
e1d15e4bc6 | ||
|
|
c63e725525 | ||
|
|
45715a2059 | ||
|
|
3ad81e6b92 | ||
|
|
a395759551 | ||
|
|
8aa1a7fa7d |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -6,7 +6,11 @@
|
|||||||
|
|
||||||
# Ignore changes to sample environments
|
# Ignore changes to sample environments
|
||||||
helmfile/environments/dev/*.yaml.gotmpl
|
helmfile/environments/dev/*.yaml.gotmpl
|
||||||
|
helmfile/environments/test/*.yaml.gotmpl
|
||||||
helmfile/environments/prod/*.yaml.gotmpl
|
helmfile/environments/prod/*.yaml.gotmpl
|
||||||
|
!helmfile/environments/dev/sample.yaml.gotmpl
|
||||||
|
!helmfile/environments/test/sample.yaml.gotmpl
|
||||||
|
!helmfile/environments/prod/sample.yaml.gotmpl
|
||||||
|
|
||||||
# Ignore in CI generated files
|
# Ignore in CI generated files
|
||||||
.kyverno/opendesk.yaml
|
.kyverno/opendesk.yaml
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
---
|
---
|
||||||
include:
|
include:
|
||||||
- project: "${PROJECT_PATH_GITLAB_CONFIG_TOOLING}"
|
- project: "${PROJECT_PATH_GITLAB_CONFIG_TOOLING}"
|
||||||
ref: "v2.3.3"
|
ref: "v2.3.4"
|
||||||
file:
|
file:
|
||||||
- "ci/common/automr.yml"
|
- "ci/common/automr.yml"
|
||||||
- "ci/common/lint.yml"
|
- "ci/common/lint.yml"
|
||||||
@@ -159,7 +159,7 @@ variables:
|
|||||||
- "no"
|
- "no"
|
||||||
RUN_TESTS:
|
RUN_TESTS:
|
||||||
description: "Triggers execution of E2E-tests."
|
description: "Triggers execution of E2E-tests."
|
||||||
value: "yes"
|
value: "no"
|
||||||
options:
|
options:
|
||||||
- "yes"
|
- "yes"
|
||||||
- "no"
|
- "no"
|
||||||
@@ -171,7 +171,19 @@ variables:
|
|||||||
- "no"
|
- "no"
|
||||||
TESTS_BRANCH:
|
TESTS_BRANCH:
|
||||||
description: "Branch of E2E-tests on which the test pipeline is triggered"
|
description: "Branch of E2E-tests on which the test pipeline is triggered"
|
||||||
value: "main"
|
value: "develop"
|
||||||
|
TESTS_PROJECT_URL:
|
||||||
|
description: "Project url for e2e-tests (`<domain of gitlab>/api/v4/projects/<id>`)"
|
||||||
|
value: "gitlab.opencode.de/api/v4/projects/1506"
|
||||||
|
TESTS_TESTSET:
|
||||||
|
description: "Selects testset for E2E-tests"
|
||||||
|
value: "Smoke"
|
||||||
|
options:
|
||||||
|
- "Regression"
|
||||||
|
- "Smoke"
|
||||||
|
TESTS_GRACE_PERIOD:
|
||||||
|
description: "A new deployment sometimes needs a few minutes to sort itself. If tested too early tests may fail. GRACE_PERIOD is the period in seconds that should be waited before running the tests."
|
||||||
|
value: "0"
|
||||||
|
|
||||||
.deploy-common:
|
.deploy-common:
|
||||||
cache: {}
|
cache: {}
|
||||||
@@ -236,14 +248,6 @@ env-start:
|
|||||||
script:
|
script:
|
||||||
- "echo \"Deploying to Environment ${NAMESPACE} in ${CLUSTER} Cluster\""
|
- "echo \"Deploying to Environment ${NAMESPACE} in ${CLUSTER} Cluster\""
|
||||||
- "kubectl create namespace ${NAMESPACE} --dry-run=client -o yaml | kubectl apply -f -"
|
- "kubectl create namespace ${NAMESPACE} --dry-run=client -o yaml | kubectl apply -f -"
|
||||||
- >
|
|
||||||
kubectl create secret
|
|
||||||
--namespace "${NAMESPACE}"
|
|
||||||
docker-registry external-registry
|
|
||||||
--docker-server "${EXTERNAL_REGISTRY}"
|
|
||||||
--docker-username "${EXTERNAL_REGISTRY_USERNAME}"
|
|
||||||
--docker-password "${EXTERNAL_REGISTRY_PASSWORD}"
|
|
||||||
--dry-run=client -o yaml | kubectl apply -f -
|
|
||||||
stage: "env"
|
stage: "env"
|
||||||
|
|
||||||
policies-deploy:
|
policies-deploy:
|
||||||
@@ -307,7 +311,7 @@ provisioning-deploy:
|
|||||||
variables:
|
variables:
|
||||||
COMPONENT: "provisioning"
|
COMPONENT: "provisioning"
|
||||||
|
|
||||||
ums-deploy:
|
nubus-deploy:
|
||||||
stage: "component-deploy-stage-1"
|
stage: "component-deploy-stage-1"
|
||||||
extends: ".deploy-common"
|
extends: ".deploy-common"
|
||||||
rules:
|
rules:
|
||||||
@@ -461,15 +465,11 @@ env-stop:
|
|||||||
|
|
||||||
.ums-default-password: &ums-default-password
|
.ums-default-password: &ums-default-password
|
||||||
- |
|
- |
|
||||||
UMS_PASSWORDS=$( \
|
|
||||||
kubectl -n ${NAMESPACE} get cm ums-stack-data-swp-data -o jsonpath='{.data.dev-test-users\.yaml}' \
|
|
||||||
| yq '.properties.password' > passwords.txt \
|
|
||||||
)
|
|
||||||
DEFAULT_USER_PASSWORD=$( \
|
DEFAULT_USER_PASSWORD=$( \
|
||||||
awk 'NR==1{print $1}' passwords.txt \
|
kubectl -n ${NAMESPACE} get secret ums-nubus-credentials -o jsonpath='{.data.user_password}' | base64 -d \
|
||||||
)
|
)
|
||||||
DEFAULT_ADMIN_PASSWORD=$(
|
DEFAULT_ADMIN_PASSWORD=$(
|
||||||
awk 'NR==3{print $1}' passwords.txt \
|
kubectl -n ${NAMESPACE} get secret ums-nubus-credentials -o jsonpath='{.data.administrator_password}' | base64 -d \
|
||||||
)
|
)
|
||||||
|
|
||||||
run-tests:
|
run-tests:
|
||||||
@@ -490,27 +490,28 @@ run-tests:
|
|||||||
\"ref\": \"${TESTS_BRANCH}\", \
|
\"ref\": \"${TESTS_BRANCH}\", \
|
||||||
\"token\": \"${CI_JOB_TOKEN}\", \
|
\"token\": \"${CI_JOB_TOKEN}\", \
|
||||||
\"variables\": { \
|
\"variables\": { \
|
||||||
\"url\": \"https://portal.${DOMAIN}\", \
|
\"operator\": \"${OPERATOR}\", \
|
||||||
|
\"cluster\": \"${CLUSTER}\", \
|
||||||
|
\"namespace\": \"${NAMESPACE}\", \
|
||||||
|
\"url\": \"https://portal.${DOMAIN}/\", \
|
||||||
\"user_name\": \"${DEFAULT_USER_NAME}\", \
|
\"user_name\": \"${DEFAULT_USER_NAME}\", \
|
||||||
\"user_password\": \"${DEFAULT_USER_PASSWORD}\", \
|
\"user_password\": \"${DEFAULT_USER_PASSWORD}\", \
|
||||||
\"admin_name\": \"${DEFAULT_ADMIN_NAME}\", \
|
\"admin_name\": \"${DEFAULT_ADMIN_NAME}\", \
|
||||||
\"admin_password\": \"${DEFAULT_ADMIN_PASSWORD}\", \
|
\"admin_password\": \"${DEFAULT_ADMIN_PASSWORD}\", \
|
||||||
\"DEPLOY_ALL_COMPONENTS\": \"${DEPLOY_ALL_COMPONENTS}\", \
|
\"screenshot_test\": \"yes\", \
|
||||||
\"DEPLOY_COLLABORA\": \"${DEPLOY_COLLABORA}\", \
|
\"screenshot_before_step\": \"yes\", \
|
||||||
\"DEPLOY_ELEMENT\": \"${DEPLOY_ELEMENT}\", \
|
\"screenshot_after_step\": \"yes\", \
|
||||||
\"DEPLOY_ICS\": \"${DEPLOY_ICS}\", \
|
\"screenshot_redirect_step\": \"yes\", \
|
||||||
\"DEPLOY_JITSI\": \"${DEPLOY_JITSI}\", \
|
\"testset\": \"${TESTS_TESTSET}\", \
|
||||||
\"DEPLOY_KEYCLOAK\": \"${DEPLOY_UMS}\", \
|
\"testprofile\": \"Namespace\", \
|
||||||
\"DEPLOY_NEXTCLOUD\": \"${DEPLOY_NEXTCLOUD}\", \
|
\"gitlab_functional_yaml\": \"https://gitlab.opencode.de/api/v4/projects/1317/repository/files/helmfile%2Fenvironments%2Fdefault%2Ffunctional.yaml?ref=develop\", \
|
||||||
\"DEPLOY_OPENPROJECT\": \"${DEPLOY_OPENPROJECT}\", \
|
\"gitlab_env_namespace_template\": \"https://gitlab.opencode.de/api/v4/projects/1564/repository/files/environments%2F{operator}%2F{cluster}%2F{namespace}.yaml.gotmpl?ref=main\", \
|
||||||
\"DEPLOY_OX\": \"${DEPLOY_OX}\", \
|
\"gitlab_default_env_namespace\": \"values\", \
|
||||||
\"DEPLOY_SERVICES\": \"${DEPLOY_SERVICES}\", \
|
\"GRACE_PERIOD\": \"${TESTS_GRACE_PERIOD}\" \
|
||||||
\"DEPLOY_UCS\": \"${DEPLOY_UMS}\", \
|
|
||||||
\"DEPLOY_XWIKI\": \"${DEPLOY_XWIKI}\", \
|
|
||||||
\"DEPLOY_PROVISIONING\": \"${DEPLOY_PROVISIONING}\" \
|
|
||||||
} \
|
} \
|
||||||
}" \
|
}" \
|
||||||
"https://${TESTS_PROJECT_URL}/trigger/pipeline"
|
"https://${TESTS_PROJECT_URL}/trigger/pipeline"
|
||||||
|
retry: 1
|
||||||
|
|
||||||
avscan-prepare:
|
avscan-prepare:
|
||||||
stage: ".pre"
|
stage: ".pre"
|
||||||
@@ -687,5 +688,4 @@ renovate:
|
|||||||
script:
|
script:
|
||||||
- "renovate ${RENOVATE_EXTRA_FLAGS}"
|
- "renovate ${RENOVATE_EXTRA_FLAGS}"
|
||||||
stage: "renovate"
|
stage: "renovate"
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
---
|
---
|
||||||
variables:
|
variables:
|
||||||
OPENDESK_CI_CLI_IMAGE: "registry.opencode.de/bmi/opendesk/tooling/opendesk-ci-cli:2.4.4\
|
OPENDESK_CI_CLI_IMAGE: "registry.opencode.de/bmi/opendesk/tooling/opendesk-ci-cli:2.5.0\
|
||||||
@sha256:4120fe717071876f4c9ff128f26019d089fda158a4fb1912911e09af2fd3875f"
|
@sha256:630e102edc70c9e730a46180e79ff278fd8b5039eb336110e0df89fe415225ef"
|
||||||
OPENDESK_LINT_IMAGE: "registry.opencode.de/bmi/opendesk/components/platform-development/images/ci-lint:1.0.5\
|
OPENDESK_LINT_IMAGE: "registry.opencode.de/bmi/opendesk/components/platform-development/images/ci-lint:1.0.6\
|
||||||
@sha256:60870adb64b0503d4a6efd16cef4e074b91a4ca52b48811cfcea057bcccd07e4"
|
@sha256:0a8997876a0c3f5a3c73eb6bd75c5cde63757bc31b983bfd92cfcb17389d536f"
|
||||||
|
|
||||||
.common:
|
.common:
|
||||||
cache: {}
|
cache: {}
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ lint-kyverno:
|
|||||||
- "xwiki"
|
- "xwiki"
|
||||||
script:
|
script:
|
||||||
- "cd ${CI_PROJECT_DIR}/helmfile/apps/${APP}"
|
- "cd ${CI_PROJECT_DIR}/helmfile/apps/${APP}"
|
||||||
|
- >
|
||||||
|
node /app/opendesk-ci-cli/src/index.js generate-kyverno-env
|
||||||
|
-d ${CI_PROJECT_DIR}/helmfile/environments
|
||||||
- "helmfile template -e test --include-needs > ${CI_PROJECT_DIR}/.kyverno/opendesk.yaml"
|
- "helmfile template -e test --include-needs > ${CI_PROJECT_DIR}/.kyverno/opendesk.yaml"
|
||||||
- >
|
- >
|
||||||
node /app/opendesk-ci-cli/src/index.js generate-kyverno-tests
|
node /app/opendesk-ci-cli/src/index.js generate-kyverno-tests
|
||||||
|
|||||||
16
.reuse/dep5
16
.reuse/dep5
@@ -1,16 +0,0 @@
|
|||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
|
||||||
Upstream-Name: openDesk - der Souveräne Arbeitsplatz
|
|
||||||
Upstream-Contact: <opendesk@zendis.de>
|
|
||||||
Source: https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk
|
|
||||||
|
|
||||||
Files: helmfile/files/theme/*
|
|
||||||
Copyright: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
|
||||||
License: Apache-2.0
|
|
||||||
|
|
||||||
Files: helmfile/files/gpg-pubkeys/*
|
|
||||||
Copyright: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
License: CC0-1.0
|
|
||||||
|
|
||||||
Files: cspell.json
|
|
||||||
Copyright: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
|
||||||
License: Apache-2.0
|
|
||||||
@@ -36,9 +36,9 @@ openDesk currently features the following functional main components:
|
|||||||
| Groupware | OX App Suite | [8.26](https://documentation.open-xchange.com/appsuite/releases/8.26/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
|
| Groupware | OX App Suite | [8.26](https://documentation.open-xchange.com/appsuite/releases/8.26/) | Online documentation available from within the installed application; [Additional resources](https://www.open-xchange.com/resources/oxpedia) |
|
||||||
| Knowledge management | XWiki | [16.4.1](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.4.1/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
|
| Knowledge management | XWiki | [16.4.1](https://www.xwiki.org/xwiki/bin/view/ReleaseNotes/Data/XWiki/16.4.1/) | [For the most recent release](https://www.xwiki.org/xwiki/bin/view/Documentation) |
|
||||||
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
|
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
|
||||||
| Project management | OpenProject | [14.3.0](https://www.openproject.org/docs/release-notes/14-3-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
| Project management | OpenProject | [14.5.1](https://www.openproject.org/docs/release-notes/14-5-1/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||||
| Videoconferencing | Jitsi | [2.0.9646](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9646) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
| Videoconferencing | Jitsi | [2.0.9646](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9646) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
||||||
| Weboffice | Collabora | [24.04.6.1.1](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
| Weboffice | Collabora | [24.04.7.2](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 shaped for the execution inside containers, one of the project's objectives is to
|
While not all components are perfectly shaped for the execution inside containers, one of the project's objectives is to
|
||||||
align the applications with best practices regarding container design and operations.
|
align the applications with best practices regarding container design and operations.
|
||||||
|
|||||||
19
REUSE.toml
Normal file
19
REUSE.toml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
version = 1
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = "helmfile/files/theme/*"
|
||||||
|
SPDX-FileCopyrightText = "2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||||
|
SPDX-License-Identifier = "Apache-2.0"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = "cspell.json"
|
||||||
|
SPDX-FileCopyrightText = "2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH"
|
||||||
|
SPDX-License-Identifier = "Apache-2.0"
|
||||||
|
|
||||||
|
[[annotations]]
|
||||||
|
path = "helmfile/files/gpg-pubkeys/*"
|
||||||
|
SPDX-FileCopyrightText = "2023 Bundesministerium des Innern und für Heimat, PG ZenDiS \"Projektgruppe für Aufbau ZenDiS\""
|
||||||
|
SPDX-License-Identifier = "CC0-1.0"
|
||||||
@@ -73,7 +73,8 @@
|
|||||||
"Addressbooks",
|
"Addressbooks",
|
||||||
"filestore",
|
"filestore",
|
||||||
"trashbin",
|
"trashbin",
|
||||||
"bootstrap"
|
"bootstrap",
|
||||||
|
"configurability"
|
||||||
],
|
],
|
||||||
"ignoreWords": [],
|
"ignoreWords": [],
|
||||||
"import": []
|
"import": []
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ script_path = os.path.dirname(os.path.realpath(__file__))
|
|||||||
log_path = script_path+'/../logs'
|
log_path = script_path+'/../logs'
|
||||||
charts_yaml = script_path+'/../helmfile/environments/default/charts.yaml'
|
charts_yaml = script_path+'/../helmfile/environments/default/charts.yaml'
|
||||||
base_repo_path = script_path+'/..'
|
base_repo_path = script_path+'/..'
|
||||||
base_helmfile = base_repo_path+'/helmfile_generic.yaml'
|
base_helmfile = base_repo_path+'/helmfile_generic.yaml.gotmpl'
|
||||||
helmfile_backup_extension = '.bak'
|
helmfile_backup_extension = '.bak'
|
||||||
|
|
||||||
Path(log_path).mkdir(parents=True, exist_ok=True)
|
Path(log_path).mkdir(parents=True, exist_ok=True)
|
||||||
|
|||||||
@@ -33,10 +33,11 @@ You might want to set credential variables in the GitLab project at `Settings` >
|
|||||||
# Tests
|
# Tests
|
||||||
|
|
||||||
The GitLab CI pipeline contains a job named `run-tests` that can trigger a test suite pipeline on another GitLab project.
|
The GitLab CI pipeline contains a job named `run-tests` that can trigger a test suite pipeline on another GitLab project.
|
||||||
The `DEPLOY_`-variables are used to determine which components should be tested.
|
|
||||||
In order for the trigger to work, the variable `TESTS_PROJECT_URL` has to be set on this GitLab project's CI variables
|
In order for the trigger to work, the variable `TESTS_PROJECT_URL` has to be set on this GitLab project's CI variables
|
||||||
that can be found at `Settings` -> `CI/CD` -> `Variables`. The variable should have this format:
|
that can be found at `Settings` -> `CI/CD` -> `Variables`. The variable should have this format:
|
||||||
`<domain of gitlab>/api/v4/projects/<id>`.
|
`<domain of gitlab>/api/v4/projects/<id>`.
|
||||||
|
To select the current testset, use the variable `TESTS_TESTSET`. Default: `Smoke`.
|
||||||
If the branch of the test pipeline is not `main` this can be set with the `.gitlab-ci.yml` variable
|
If the branch of the test pipeline is not `main` this can be set with the `.gitlab-ci.yml` variable
|
||||||
`TESTS_BRANCH` while creating a new pipeline.
|
`TESTS_BRANCH` while creating a new pipeline.
|
||||||
|
|
||||||
|
The variable `testprofile` within the job is set to `Namespace`, which tells the e2e tests to use environment specific settings that will be read from the cluster and namespace specific file in the opendesk-env repository.
|
||||||
@@ -33,6 +33,7 @@ they need to be replaced in production deployments.
|
|||||||
| ClamAV (Simple) | Antivirus engine | Eval |
|
| ClamAV (Simple) | Antivirus engine | Eval |
|
||||||
| Collabora | Weboffice | Functional |
|
| Collabora | Weboffice | Functional |
|
||||||
| CryptPad | Weboffice | Functional |
|
| CryptPad | Weboffice | Functional |
|
||||||
|
| dkimpy-milter | DKIM milter for Postfix | Eval |
|
||||||
| Element | Secure communications platform | Functional |
|
| Element | Secure communications platform | Functional |
|
||||||
| Intercom Service | Cross service data exchange | Functional |
|
| Intercom Service | Cross service data exchange | Functional |
|
||||||
| Jitsi | Videoconferencing | Functional |
|
| Jitsi | Videoconferencing | Functional |
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Below you will find some wrap-up notes when it comes to debugging openDesk by ad
|
|||||||
|
|
||||||
You can add a container by editing and updating an existing deployment, which is quite comfortable with tools like [Lens](https://k8slens.dev/).
|
You can add a container by editing and updating an existing deployment, which is quite comfortable with tools like [Lens](https://k8slens.dev/).
|
||||||
|
|
||||||
- Select the container you want to make use of as debugging container, in the example below it's `registry.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-debugging-image:latest`.
|
- Select the container you want to make use of as debugging container, in the example below it is `registry.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-debugging-image:latest`.
|
||||||
- Ensure the `shareProcessNamespace` option is enabled for the Pod.
|
- Ensure the `shareProcessNamespace` option is enabled for the Pod.
|
||||||
- Reference the selected container within the `containers` array of the deployment.
|
- Reference the selected container within the `containers` array of the deployment.
|
||||||
- In case you want to access another containers filesystem, ensure the user/group settings of both containers match.
|
- In case you want to access another containers filesystem, ensure the user/group settings of both containers match.
|
||||||
@@ -121,7 +121,7 @@ Now you can add the ephemeral container with:
|
|||||||
```
|
```
|
||||||
kubectl -n ${NAMESPACE} debug -it --attach=false -c ${EPH_CONTAINER_NAME} --image={DEBUG_IMAGE} ${POD_NAME}
|
kubectl -n ${NAMESPACE} debug -it --attach=false -c ${EPH_CONTAINER_NAME} --image={DEBUG_IMAGE} ${POD_NAME}
|
||||||
```
|
```
|
||||||
and open it's interactive terminal with
|
and open its interactive terminal with
|
||||||
```
|
```
|
||||||
kubectl -n ${NAMESPACE} attach -it -c ${EPH_CONTAINER_NAME} ${POD_NAME}
|
kubectl -n ${NAMESPACE} attach -it -c ${EPH_CONTAINER_NAME} ${POD_NAME}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -138,6 +138,9 @@ configured to pull artifacts that do not originate from Open CoDE into projects
|
|||||||
|
|
||||||
The mirror script takes the information on what artifacts to mirror from the annotation inside the two yaml files:
|
The mirror script takes the information on what artifacts to mirror from the annotation inside the two yaml files:
|
||||||
- `# upstreamRegistry` *required*: To identify the source registry
|
- `# upstreamRegistry` *required*: To identify the source registry
|
||||||
|
- `# upstreamRegistryCredentialId`: *optional*: In case the source registry is not public the access credentials have to be specified as ENV variables containing the value of this key in their name, so you want to specific that key all uppercase:
|
||||||
|
- `MIRROR_CREDENTIALS_SRC_<upstreamRegistryCredentialId>_USERNAME`
|
||||||
|
- `MIRROR_CREDENTIALS_SRC_<upstreamRegistryCredentialId>_PASSWORT`
|
||||||
- `# upstreamRepository` *required*: To identify the source repository
|
- `# upstreamRepository` *required*: To identify the source repository
|
||||||
- `# upstreamMirrorTagFilterRegEx` *required*: If this annotation is set it activates the mirror for the component. Only tags are being mirrored that match the given regular expression. **Note:** You have to use single quotes for this attribute's value in case you use backslash leading regex notation like `\d`.
|
- `# upstreamMirrorTagFilterRegEx` *required*: If this annotation is set it activates the mirror for the component. Only tags are being mirrored that match the given regular expression. **Note:** You have to use single quotes for this attribute's value in case you use backslash leading regex notation like `\d`.
|
||||||
- `# upstreamMirrorStartFrom` *optional*: Array of numeric values in case you want to mirror only artifacts beginning with a specific version. You must use capturing groups
|
- `# upstreamMirrorStartFrom` *optional*: Array of numeric values in case you want to mirror only artifacts beginning with a specific version. You must use capturing groups
|
||||||
|
|||||||
@@ -44,9 +44,9 @@ We will provide additional documents regarding user provisioning in the future,
|
|||||||
- UDM REST API:
|
- UDM REST API:
|
||||||
- Build a provisioning solution by yourself using the [UDM REST API](https://docs.software-univention.de/developer-reference/5.0/en/udm/rest-api.html).
|
- Build a provisioning solution by yourself using the [UDM REST API](https://docs.software-univention.de/developer-reference/5.0/en/udm/rest-api.html).
|
||||||
- The API gives you full control over the contents of the IAM in order to create, update or delete users and groups.
|
- The API gives you full control over the contents of the IAM in order to create, update or delete users and groups.
|
||||||
- Directory Connector:
|
- Nubus Directory Importer:
|
||||||
- It is based on a Python one-way directory synchronization for users and groups.
|
- It is based on a Python one-way directory synchronization for users and groups.
|
||||||
- We will provide more details on this approach soon one the tool is made publicly available.
|
- Please find more details in the [upstream product's documentation](https://docs.software-univention.de/nubus-kubernetes-operation/latest/en/howto-connect-external-iam.html).
|
||||||
- Ad-hoc provisioning (AHP)
|
- Ad-hoc provisioning (AHP)
|
||||||
- This feature is currently not available in the openDesk Keycloak, but there are plans by the Supplier Univention to make it available.
|
- This feature is currently not available in the openDesk Keycloak, but there are plans by the Supplier Univention to make it available.
|
||||||
- Ad-hoc provisioning creates an user account on the fly during a users first login.
|
- Ad-hoc provisioning creates an user account on the fly during a users first login.
|
||||||
|
|||||||
@@ -9,6 +9,10 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
* [Example configuration](#example-configuration)
|
* [Example configuration](#example-configuration)
|
||||||
* [Mail domain](#mail-domain)
|
* [Mail domain](#mail-domain)
|
||||||
* [Matrix domain](#matrix-domain)
|
* [Matrix domain](#matrix-domain)
|
||||||
|
* [DNS](#dns)
|
||||||
|
* [Webserver](#webserver)
|
||||||
|
* [Content Security Policy](#content-security-policy)
|
||||||
|
* [.well-known](#well-known)
|
||||||
|
|
||||||
# Use case
|
# Use case
|
||||||
|
|
||||||
@@ -59,7 +63,9 @@ or via environment variable
|
|||||||
export MATRIX_DOMAIN=my_organization.tld
|
export MATRIX_DOMAIN=my_organization.tld
|
||||||
```
|
```
|
||||||
|
|
||||||
This setup requires also a different DNS setup:
|
### DNS
|
||||||
|
|
||||||
|
The following changes apply to the standard DNS:
|
||||||
|
|
||||||
| Record name | Type | Value | Comment |
|
| Record name | Type | Value | Comment |
|
||||||
| -------------------------------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------- |
|
| -------------------------------- | ---- | -------------------------------------- | ---------------------------------------------------------------------------------- |
|
||||||
@@ -67,6 +73,14 @@ This setup requires also a different DNS setup:
|
|||||||
|
|
||||||
*Note:* `matrix.opendesk.domain.tld` in the "Value" column can also be the IP address where synapse TLS port is listening to.
|
*Note:* `matrix.opendesk.domain.tld` in the "Value" column can also be the IP address where synapse TLS port is listening to.
|
||||||
|
|
||||||
|
### Webserver
|
||||||
|
|
||||||
|
#### Content Security Policy
|
||||||
|
|
||||||
|
The webserver of `my_organization.tld` should add `*.opendesk.domain.tld` to its CSP header.
|
||||||
|
|
||||||
|
#### .well-known
|
||||||
|
|
||||||
If you want to use other Matrix clients,
|
If you want to use other Matrix clients,
|
||||||
e.g., Element Messenger for [iOS](https://apps.apple.com/de/app/element-messenger/id1083446067)
|
e.g., Element Messenger for [iOS](https://apps.apple.com/de/app/element-messenger/id1083446067)
|
||||||
or [Android](https://play.google.com/store/apps/details?id=im.vector.app),
|
or [Android](https://play.google.com/store/apps/details?id=im.vector.app),
|
||||||
@@ -82,4 +96,4 @@ you need to create a JSON file with the following contents that is served from
|
|||||||
```
|
```
|
||||||
|
|
||||||
This ensures clients know where to find the Matrix protocol endpoint when users specify `my_organization.tld`
|
This ensures clients know where to find the Matrix protocol endpoint when users specify `my_organization.tld`
|
||||||
as their homeserver.
|
as their homeserver.
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ files.
|
|||||||
> All configuration options and their default values can be found in files at `helmfile/environments/default/`
|
> All configuration options and their default values can be found in files at `helmfile/environments/default/`
|
||||||
|
|
||||||
For the following guide, we will use `dev` as environment, where variables can be set in
|
For the following guide, we will use `dev` as environment, where variables can be set in
|
||||||
`helmfile/environments/dev/values.yaml`.
|
`helmfile/environments/dev/values.yaml.gotmpl`.
|
||||||
|
|
||||||
## DNS
|
## DNS
|
||||||
|
|
||||||
@@ -60,16 +60,16 @@ The deployment is designed to deploy each application/service under a dedicated
|
|||||||
For your convenience, we recommend to create a `*.domain.tld` A-Record to your cluster ingress controller,
|
For your convenience, we recommend to create a `*.domain.tld` A-Record to your cluster ingress controller,
|
||||||
otherwise you need to create an A-Record for each subdomain.
|
otherwise you need to create an A-Record for each subdomain.
|
||||||
|
|
||||||
| Record name | Type | Value | Additional information |
|
| Record name | Type | Value | Additional information |
|
||||||
| ----------------------- | ---- | -------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|-------------------------------|------|----------------------------------------------------|------------------------------------------------------------------|
|
||||||
| *.domain.tld | A | IPv4 address of your Ingress Controller | |
|
| *.domain.tld | A | IPv4 address of your Ingress Controller | |
|
||||||
| *.domain.tld | AAAA | IPv6 address of your Ingress Controller | |
|
| *.domain.tld | AAAA | IPv6 address of your Ingress Controller | |
|
||||||
| mail.domain.tld | A | IPv4 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
| mail.domain.tld | A | IPv4 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
||||||
| mail.domain.tld | AAAA | IPv6 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
| mail.domain.tld | AAAA | IPv6 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
||||||
| domain.tld | MX | `10 mail.domain.tld` | |
|
| domain.tld | MX | `10 mail.domain.tld` | |
|
||||||
| domain.tld | TXT | `v=spf1 +a +mx +a:mail.domain.tld ~all` | Optional, use proper MTA record if present |
|
| 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 |
|
| _dmarc.domain.tld | TXT | `v=DMARC1; p=quarantine` | Optional |
|
||||||
| _matrix._tcp.domain.tld | SRV | `1 10 PORT matrix.domain.tld` | `PORT` is your NodePort/LoadBalancer port of `opendesk-synapse-federation` service |
|
| default._domainkey.domain.tld | TXT | `v=DKIM1; k=rsa; h=sha256; ...` | Optional DKIM settings |
|
||||||
|
|
||||||
## Domain
|
## Domain
|
||||||
|
|
||||||
@@ -115,13 +115,13 @@ All available apps and their default value can be found in `helmfile/environment
|
|||||||
| Memcached | `memcached.enabled` | `true` | Cache Database |
|
| Memcached | `memcached.enabled` | `true` | Cache Database |
|
||||||
| MinIO | `minio.enabled` | `true` | Object Storage |
|
| MinIO | `minio.enabled` | `true` | Object Storage |
|
||||||
| Nextcloud | `nextcloud.enabled` | `true` | File share |
|
| Nextcloud | `nextcloud.enabled` | `true` | File share |
|
||||||
|
| Nubus | `nubus.enabled` | `true` | Identity Management & Portal |
|
||||||
| OpenProject | `openproject.enabled` | `true` | Project management |
|
| OpenProject | `openproject.enabled` | `true` | Project management |
|
||||||
| OX Appsuite | `oxAppsuite.enabled` | `true` | Groupware |
|
| OX Appsuite | `oxAppsuite.enabled` | `true` | Groupware |
|
||||||
| Provisioning | `oxConnector.enabled` | `true` | Backend provisioning |
|
| Provisioning | `oxConnector.enabled` | `true` | Backend provisioning |
|
||||||
| Postfix | `postfix.enabled` | `true` | MTA |
|
| Postfix | `postfix.enabled` | `true` | MTA |
|
||||||
| PostgreSQL | `postgresql.enabled` | `true` | Database |
|
| PostgreSQL | `postgresql.enabled` | `true` | Database |
|
||||||
| Redis | `redis.enabled` | `true` | Cache Database |
|
| Redis | `redis.enabled` | `true` | Cache Database |
|
||||||
| Nubus | `nubus.enabled` | `true` | Identity Management & Portal |
|
|
||||||
| XWiki | `xwiki.enabled` | `true` | Knowledge management |
|
| XWiki | `xwiki.enabled` | `true` | Knowledge management |
|
||||||
|
|
||||||
Exemplary, Jitsi can be disabled like:
|
Exemplary, Jitsi can be disabled like:
|
||||||
@@ -157,6 +157,15 @@ alternatively you can use an environment variable:
|
|||||||
export PRIVATE_IMAGE_REGISTRY_URL=my_private_registry.domain.tld
|
export PRIVATE_IMAGE_REGISTRY_URL=my_private_registry.domain.tld
|
||||||
```
|
```
|
||||||
|
|
||||||
|
or control repository override fine-granular per registry:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
repositories:
|
||||||
|
image:
|
||||||
|
dockerHub: "my_private_registry.domain.tld/docker.io/"
|
||||||
|
registryOpencodeDe: "my_private_registry.domain.tld/registry.opencode.de/"
|
||||||
|
```
|
||||||
|
|
||||||
If authentication is required, you can reference imagePullSecrets as following:
|
If authentication is required, you can reference imagePullSecrets as following:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -199,18 +208,27 @@ cluster:
|
|||||||
- "127.0.0.0/8"
|
- "127.0.0.0/8"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If your load balancer / reverse proxy IPs are not already covered by the above `cidr` you need to
|
||||||
|
explicitly configure the related IPs or IP ranges:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
cluster:
|
||||||
|
networking:
|
||||||
|
incomingCIDR:
|
||||||
|
- "172.16.0.0/12"
|
||||||
|
```
|
||||||
|
|
||||||
### Ingress
|
### Ingress
|
||||||
|
|
||||||
By default, the `ingressClassName` is empty to choose your default ingress controller, you may want to customize it by
|
By default, the `ingressClassName` is empty to choose your default ingress controller. You may want to customize it by
|
||||||
setting:
|
setting the following attribute to the name of the currently only supported ingress controller `ingress-nginx` (see
|
||||||
|
[requirements.md](./requirements.md)) for reference) within your deployment if that is not the clusters default ingress.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
ingress:
|
ingress:
|
||||||
ingressClassName: "cilium"
|
ingressClassName: "name-of-my-nginx-ingress"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Please check the [requirements.md](./requirements.md) for the supported Ingress controllers.
|
|
||||||
|
|
||||||
### Container runtime
|
### Container runtime
|
||||||
|
|
||||||
Some apps require specific configuration for the container runtime. You can set your container runtime like `cri-o`,
|
Some apps require specific configuration for the container runtime. You can set your container runtime like `cri-o`,
|
||||||
@@ -254,6 +272,8 @@ To use the openDesk functionality with its web based user interface you need to
|
|||||||
|
|
||||||
| Component | Description | Port | Type |
|
| Component | Description | Port | Type |
|
||||||
| ------------------ | ----------------------- | ----: | ---: |
|
| ------------------ | ----------------------- | ----: | ---: |
|
||||||
|
| openDesk | Kubernetes Ingress | 80 | TCP |
|
||||||
|
| openDesk | Kubernetes Ingress | 443 | TCP |
|
||||||
| Jitsi Video Bridge | ICE Port for video data | 10000 | UDP |
|
| Jitsi Video Bridge | ICE Port for video data | 10000 | UDP |
|
||||||
|
|
||||||
#### Mail clients
|
#### Mail clients
|
||||||
@@ -279,6 +299,20 @@ smtp:
|
|||||||
password: "secret"
|
password: "secret"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Enabling DKIM signing of emails helps to reduce spam and increases trust.
|
||||||
|
openDesk ships dkimpy-milter as Postfix milter for signing mails.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
dkimpy:
|
||||||
|
enable: true
|
||||||
|
dkim:
|
||||||
|
key:
|
||||||
|
value: |
|
||||||
|
HzZs08QF1O7UiAkcM9T3U7rePPECtSFvWZIvyKqdg8E=
|
||||||
|
selector: "default"
|
||||||
|
useED25519: true # when false, RSA is used
|
||||||
|
```
|
||||||
|
|
||||||
### TURN configuration
|
### TURN configuration
|
||||||
|
|
||||||
Some components (Jitsi, Element) use for direct communication a TURN server. You can configure your own TURN server with
|
Some components (Jitsi, Element) use for direct communication a TURN server. You can configure your own TURN server with
|
||||||
|
|||||||
@@ -6,14 +6,23 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
<h1>Upgrade migrations</h1>
|
<h1>Upgrade migrations</h1>
|
||||||
|
|
||||||
* [Disclaimer](#disclaimer)
|
* [Disclaimer](#disclaimer)
|
||||||
* [From v0.9.0](#from-v090)
|
* [Releases upgrades](#releases-upgrades)
|
||||||
* [Automated migrations](#automated-migrations)
|
* [From v0.9.0](#from-v090)
|
||||||
* [Updated IAM component Nubus](#updated-iam-component-nubus)
|
* [Changed openDesk defaults](#changed-opendesk-defaults)
|
||||||
* [Manual cleanup](#manual-cleanup)
|
* [MatrixID localpart update](#matrixid-localpart-update)
|
||||||
* [From v0.8.1](#from-v081)
|
* [File-share configurability](#file-share-configurability)
|
||||||
* [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr)
|
* [Updated default subdomains in `global.hosts`](#updated-default-subdomains-in-globalhosts)
|
||||||
* [Updated customizable template attributes](#updated-customizable-template-attributes)
|
* [Updated `global.imagePullSecrets`](#updated-globalimagepullsecrets)
|
||||||
* [`migrations` S3 bucket](#migrations-s3-bucket)
|
* [Automated migrations](#automated-migrations)
|
||||||
|
* [Local Postfix as Relay](#local-postfix-as-relay)
|
||||||
|
* [Updated IAM component Nubus](#updated-iam-component-nubus)
|
||||||
|
* [Manual cleanup](#manual-cleanup)
|
||||||
|
* [From v0.8.1](#from-v081)
|
||||||
|
* [Updated `cluster.networking.cidr`](#updated-clusternetworkingcidr)
|
||||||
|
* [Updated customizable template attributes](#updated-customizable-template-attributes)
|
||||||
|
* [`migrations` S3 bucket](#migrations-s3-bucket)
|
||||||
|
* [Related components and artefacts](#related-components-and-artefacts)
|
||||||
|
* [Development](#development)
|
||||||
|
|
||||||
# Disclaimer
|
# Disclaimer
|
||||||
|
|
||||||
@@ -21,26 +30,165 @@ We do not offer support for upgrades before we reach openDesk 1.0.
|
|||||||
|
|
||||||
Though we try to ease the pain when it comes to 0.x upgrades. That is what this document is for.
|
Though we try to ease the pain when it comes to 0.x upgrades. That is what this document is for.
|
||||||
|
|
||||||
Limitations:
|
**Limitations:**
|
||||||
- We assume that the PV reclaim policy is set to `delete`, so expect that PVs get deleted as soon as the related PVC was deleted and will cover an explicit delete for PVs.
|
- We assume that the PV reclaim policy is set to `delete`, so expect that PVs get deleted as soon as the related PVC was
|
||||||
|
deleted and will cover an explicit delete for PVs.
|
||||||
|
|
||||||
# From v0.9.0
|
# Releases upgrades
|
||||||
|
|
||||||
## Automated migrations
|
## From v0.9.0
|
||||||
|
|
||||||
### Updated IAM component Nubus
|
### Changed openDesk defaults
|
||||||
|
|
||||||
openDesk is integrating the latest [Nubus](https://www.univention.de/produkte/nubus/) development from Univention. The new redundant and scalable LDAP requires migration activities. These have been automated to avoid manual interaction. The `run_2` of the openDesk
|
#### MatrixID localpart update
|
||||||
upgrade migrations executes the following steps
|
|
||||||
|
|
||||||
- Stage PRE:
|
Until 0.9.0 openDesk used the LDAP entryUUID of a user to generate the user's MatrixID. Due to restrictions of the
|
||||||
|
Matrix protocol, an update of a MatrixID is not possible, therefore, it was technically convenient to use the UUID
|
||||||
|
as it is immutable (see https://de.wikipedia.org/wiki/Universally_Unique_Identifier for more details on UUIDs.)
|
||||||
|
|
||||||
|
From the user experience perspective, that was a bad approach, so from now on, by default, the username which
|
||||||
|
is also used for logging into openDesk is used to define the localpart of the MatrixID.
|
||||||
|
|
||||||
|
For existing installations: The changed setting only affects users that login to Element the first time. Existing
|
||||||
|
user accounts will not be harmed. If you want existing users to get new MatrixIDs based on the new setting, you
|
||||||
|
need to update their external ID in Synapse and deactivate the old user afterward. The user will get a new
|
||||||
|
Matrix account from scratch, losing the existing contacts, chats and rooms.
|
||||||
|
|
||||||
|
The following Admin API calls are helpful:
|
||||||
|
- GET /_synapse/admin/v2/users/@<entryuuid>:<matrixdomain> get the user's existing external_id (auth_provider: "oidc")
|
||||||
|
- PUT /_synapse/admin/v2/users/@<entryuuid>:<matrixdomain> update user's external_id with JSON payload:
|
||||||
|
`{ "external_ids": [ { "auth_provider": "oidc", "external_id": "<old_id>+deprecated" } ] }`
|
||||||
|
- POST /_synapse/admin/v1/deactivate/@<entryuuid>:<matrixdomain> deactivate old user with JSON payload:
|
||||||
|
`{ "erase": true }`
|
||||||
|
|
||||||
|
For more details, check the Admin API documentation:
|
||||||
|
https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html
|
||||||
|
|
||||||
|
You can enforce the old standard with the following setting:
|
||||||
|
```
|
||||||
|
functional:
|
||||||
|
chat:
|
||||||
|
matrix:
|
||||||
|
profile:
|
||||||
|
useImmutableIdentifierForLocalpart: true
|
||||||
|
```
|
||||||
|
|
||||||
|
#### File-share configurability
|
||||||
|
|
||||||
|
Now we provide some configurability regarding the sharing capabilities of the Nextcloud component.
|
||||||
|
|
||||||
|
The new default is different from the standard until now.
|
||||||
|
To keep the current state after the upgrade from 0.9.0, you have to provide the following settings:
|
||||||
|
|
||||||
|
```
|
||||||
|
functional:
|
||||||
|
filestore:
|
||||||
|
sharing:
|
||||||
|
external:
|
||||||
|
enabled: true
|
||||||
|
```
|
||||||
|
|
||||||
|
Please also check the other new options available at `functional.filestore.sharing`.
|
||||||
|
|
||||||
|
#### Updated default subdomains in `global.hosts`
|
||||||
|
|
||||||
|
We have streamlined the subdomain names used by openDesk to be more user-friendly and to avoid the use of specific
|
||||||
|
product names.
|
||||||
|
|
||||||
|
This results in following change of default subdomain naming:
|
||||||
|
|
||||||
|
- **collabora**: `collabora` → `office`
|
||||||
|
- **cryptpad**: `cryptpad` → `pad`
|
||||||
|
- **minioApi**: `minio` → `objectstore`
|
||||||
|
- **minioConsole**: `minio-console` → `objectstore-ui`
|
||||||
|
- **nextcloud**: `fs` → `files`
|
||||||
|
- **openproject**: `project` → `projects`
|
||||||
|
|
||||||
|
During upgrade, any existing environment needs to keep the old subdomains,
|
||||||
|
cause url/link changes are not every supported and not tested at all.
|
||||||
|
|
||||||
|
If you have not already defined the entire `global.hosts` dictionary in your custom environments values, please set it
|
||||||
|
to the defaults that were used before the upgrade:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
global:
|
||||||
|
hosts:
|
||||||
|
collabora: "collabora"
|
||||||
|
cryptpad: "cryptpad"
|
||||||
|
element: "chat"
|
||||||
|
intercomService: "ics"
|
||||||
|
jitsi: "meet"
|
||||||
|
keycloak: "id"
|
||||||
|
matrixNeoBoardWidget: "matrix-neoboard-widget"
|
||||||
|
matrixNeoChoiceWidget: "matrix-neochoice-widget"
|
||||||
|
matrixNeoDateFixBot: "matrix-neodatefix-bot"
|
||||||
|
matrixNeoDateFixWidget: "matrix-neodatefix-widget"
|
||||||
|
minioApi: "minio"
|
||||||
|
minioConsole: "minio-console"
|
||||||
|
nextcloud: "fs"
|
||||||
|
openproject: "project"
|
||||||
|
openxchange: "webmail"
|
||||||
|
synapse: "matrix"
|
||||||
|
synapseFederation: "matrix-federation"
|
||||||
|
univentionManagementStack: "portal"
|
||||||
|
whiteboard: "whiteboard"
|
||||||
|
xwiki: "wiki"
|
||||||
|
```
|
||||||
|
|
||||||
|
In case you would like to use the updated hostnames you at least have to apply some manual changes. But do this at
|
||||||
|
your own risk. Be also aware that some of your user's bookmarks and links will stop working.
|
||||||
|
|
||||||
|
- Update the affected portal tiles:
|
||||||
|
- All tiles in the "Files" category.
|
||||||
|
- The "Projects" tile in the "Management" category.
|
||||||
|
- There are two options to change the link for the portal tiles:
|
||||||
|
- Use an admin account to access the portal's edit mode (on the bottom of the sidebar portal's menu).
|
||||||
|
- Utilize the UDM REST API to update the portal tile objects.
|
||||||
|
- Update the hostnames for the OpenProject-Nextcloud integration using a functional admin user for both components:
|
||||||
|
- In OpenProject: *Administration* > *Files* > *External file storages* > Select `Nextcloud at [your_domain]`
|
||||||
|
Edit *Details* - *General Information* - *Storage provider* and update the *hostname* to `files.<your_domain>`.
|
||||||
|
- In Nextcloud: *Administration* > *OpenProject* > *OpenProject server* update the *OpenProject host* to
|
||||||
|
to `projects.<your_domain>`.
|
||||||
|
|
||||||
|
#### Updated `global.imagePullSecrets`
|
||||||
|
|
||||||
|
Without using a custom registry, you can pull all the openDesk images without authentication.
|
||||||
|
Thus defining not existing imagePullSecrets creates unnecessary errors, so we removed them.
|
||||||
|
|
||||||
|
You can keep the current settings by setting the `external-registry` in your custom environment values:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
global:
|
||||||
|
imagePullSecrets:
|
||||||
|
- "external-registry"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Automated migrations
|
||||||
|
|
||||||
|
#### Local Postfix as Relay
|
||||||
|
|
||||||
|
All components relay outgoing mails to the local Postfix. In order for the configuration to be picked up by all components the following restarts are triggered in the migrations `POST` stage:
|
||||||
|
|
||||||
|
- Deployments:
|
||||||
|
- `opendesk-nextcloud-php`
|
||||||
|
- `ums-umc-server`
|
||||||
|
- Stateful Sets:
|
||||||
|
- `ums-selfservice-listener`
|
||||||
|
- `opendesk-synapse`
|
||||||
|
|
||||||
|
#### Updated IAM component Nubus
|
||||||
|
|
||||||
|
openDesk is integrating the latest [Nubus](https://www.univention.de/produkte/nubus/) development from Univention. The now redundant and scalable LDAP requires migration activities. These have been automated to avoid manual interaction. The `run_2` of the openDesk
|
||||||
|
upgrade migrations executes the following steps:
|
||||||
|
|
||||||
|
- Stage `PRE`:
|
||||||
- Delete service `ums-keycloak`, as it will be recreated headless.
|
- Delete service `ums-keycloak`, as it will be recreated headless.
|
||||||
- Scale down `statefulset/ums-ldap-server` and `statefulset/ums-ldap-notifier` in preparation or the next step:
|
- Scale down `statefulset/ums-ldap-server` and `statefulset/ums-ldap-notifier` in preparation or the next step:
|
||||||
- Create two new PVCs `shared-data-ums-ldap-server-primary-0` and `shared-data-ums-ldap-server-primary-1` for the new LDAP primary pods as copy from the existing `shared-data-ums-ldap-server-0`. The LDAP secondaries will sync from the primary nodes.
|
- Create two new PVCs `shared-data-ums-ldap-server-primary-0` and `shared-data-ums-ldap-server-primary-1` for the new LDAP primary pods as copy from the existing `shared-data-ums-ldap-server-0`. The LDAP secondaries will sync from the primary nodes.
|
||||||
- Stage POST:
|
- Stage `POST`:
|
||||||
- Restart Keycloak.
|
- Restart Keycloak.
|
||||||
|
|
||||||
#### Manual cleanup
|
##### Manual cleanup
|
||||||
|
|
||||||
Currently we do not execute possible cleanup steps as part of the migrations POST stage. So you might want to remove the no longer used PVCs after successful upgrade:
|
Currently we do not execute possible cleanup steps as part of the migrations POST stage. So you might want to remove the no longer used PVCs after successful upgrade:
|
||||||
```
|
```
|
||||||
@@ -49,14 +197,14 @@ kubectl -n ${NAMESPACE} delete pvc shared-data-ums-ldap-server-0
|
|||||||
kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
||||||
```
|
```
|
||||||
|
|
||||||
# From v0.8.1
|
## From v0.8.1
|
||||||
|
|
||||||
## Updated `cluster.networking.cidr`
|
### Updated `cluster.networking.cidr`
|
||||||
|
|
||||||
- Action: `cluster.networking.cidr` is now an array (was a string until 0.8.1), please update your setup accordingly if you explicitly set this value.
|
- Action: `cluster.networking.cidr` is now an array (was a string until 0.8.1), please update your setup accordingly if you explicitly set this value.
|
||||||
- Reference:[cluster.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/cluster.yaml)
|
- Reference:[cluster.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/cluster.yaml)
|
||||||
|
|
||||||
## Updated customizable template attributes
|
### Updated customizable template attributes
|
||||||
|
|
||||||
- Action: Please ensure you update you custom deployment values according with the updated default value structure.
|
- Action: Please ensure you update you custom deployment values according with the updated default value structure.
|
||||||
- References:
|
- References:
|
||||||
@@ -65,7 +213,28 @@ kubectl -n ${NAMESPACE} delete pvc shared-run-ums-ldap-server-0
|
|||||||
- `monitoring.` prefix for `prometheus.*` and `graphana.*`, see [monitoring.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/monitoring.yaml).
|
- `monitoring.` prefix for `prometheus.*` and `graphana.*`, see [monitoring.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/monitoring.yaml).
|
||||||
- `smtp.` prefix for `localpartNoReply`, see [smtp.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/smtp.yaml).
|
- `smtp.` prefix for `localpartNoReply`, see [smtp.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/smtp.yaml).
|
||||||
|
|
||||||
## `migrations` S3 bucket
|
### `migrations` S3 bucket
|
||||||
|
|
||||||
- Action: For self managed/external S3/object storages, please ensure you add a bucket `migrations` to your S3.
|
- Action: For self managed/external S3/object storages, please ensure you add a bucket `migrations` to your S3.
|
||||||
- Reference: `objectstores.migrations` in [objectstores.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/objectstores.yaml)
|
- Reference: `objectstores.migrations` in [objectstores.yaml](https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk/-/blob/main/helmfile/environments/default/objectstores.yaml)
|
||||||
|
|
||||||
|
# Related components and artefacts
|
||||||
|
|
||||||
|
openDesk comes with two upgrade steps as part of the deployment, they can be found in the folder [/helmfile/apps](../helmfile/apps/) as all other components:
|
||||||
|
|
||||||
|
- `migrations-pre`: Is the very first app that gets deployed.
|
||||||
|
- `migrations-post`: Is the last app that gets deployed.
|
||||||
|
|
||||||
|
Both migrations have to be deployed exclusively at their first/last position and not in parallel with other components.
|
||||||
|
|
||||||
|
The status of the upgrade migrations is tracked in the ConfigMap `migrations-status`, more details can be found in the [README.md of the related container image](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/README.md).
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
When a new upgrade migration is required, ensure to address the following list:
|
||||||
|
|
||||||
|
- Update the generated release version file [`global.generated.yaml`](../helmfile/environments/default/global.generated.yaml) at least on the patch level to test the upgrade in your feature branch as well as trigger it in the `develop` branch after the feature branch was merged. The set value gets overwritten during the release process with the release's actual version number.
|
||||||
|
- You have to implement the migration logic as a runner script in the [`opendesk-migrations`](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations) image. Please find more instructions in the linked repository.
|
||||||
|
- You most likely have to update the [`opendesk-migrations` Helm chart](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations) within the `rules` section of the [`role.yaml`](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations/-/blob/main/charts/opendesk-migrations/templates/role.yaml) to provide the permissions required for the execution of your migration's logic.
|
||||||
|
- You have to set the runner's ID you want to execute in the [migrations.yaml.gotmpl](../helmfile/shared/migrations.yaml.gotmpl). See also the `migrations.*` section of [the Helm chart's README.md](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-migrations/-/blob/main/charts/opendesk-migrations/README.md).
|
||||||
|
- Update the [`charts.yaml`](../helmfile/environments/default/charts.yaml) and [`images.yaml`](../helmfile/environments/default/images.yaml) to reflect the newer releases of the `opendesk-migrations` Helm chart and container image.
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ The following minimal requirements are thought for initial evaluation deployment
|
|||||||
| RAM | 32 GB, more recommended |
|
| RAM | 32 GB, more recommended |
|
||||||
| Disk | HDD or SSD, >10 GB |
|
| Disk | HDD or SSD, >10 GB |
|
||||||
|
|
||||||
|
Check [`scaling.md`](./scaling.md) for more details on resource requirements and scalability.
|
||||||
|
|
||||||
# Kubernetes
|
# Kubernetes
|
||||||
|
|
||||||
Any self-hosted or managed K8s cluster >= 1.24 listed in
|
Any self-hosted or managed K8s cluster >= 1.24 listed in
|
||||||
|
|||||||
@@ -7,55 +7,17 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
|
|
||||||
This document should cover the abilities to scale apps.
|
This document should cover the abilities to scale apps.
|
||||||
|
|
||||||
<!-- TOC -->
|
# Horizontal scalability
|
||||||
* [Replicas](#replicas)
|
|
||||||
<!-- TOC -->
|
|
||||||
|
|
||||||
# Replicas
|
We are working on generating this document automatically based on the file
|
||||||
|
[`replicas.yaml`](../helmfile/environments/default/replicas.yaml) that contains necessary annotations.
|
||||||
|
In the meantime this file can be used to check the components scaling support / capabilities.
|
||||||
|
|
||||||
The Replicas can be increased of almost any component, but is only effective for high-availability or load-balancing for
|
# Upstream information
|
||||||
apps with a check-mark in `Scaling (effective)` column.
|
|
||||||
|
|
||||||
Verified positive effects are marked with a check-mark in `Scaling (verified)` column, apps which are not yet tested are
|
While scaling services horizontally is the ideal solution, information about vertical scaling is helpful
|
||||||
marked with a gear.
|
when it comes to defining the applications resources, see [`resources.yaml`](../helmfile/environments/default/resources.yaml) for references.
|
||||||
|
|
||||||
|
Please find below links to the application's upstream resources about scaling:
|
||||||
|
|
||||||
| Component | Name | Scaling (effective) | Scaling (verified) |
|
- [OpenProject system requirements](https://www.openproject.org/docs/installation-and-operations/system-requirements/)
|
||||||
|-----------------------------|------------------------------------------|:-------------------:|:------------------:|
|
|
||||||
| ClamAV | `replicas.clamav` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.clamd` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.freshclam` | :x: | :x: |
|
|
||||||
| | `replicas.icap` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.milter` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Collabora | `replicas.collabora` | :white_check_mark: | :gear: |
|
|
||||||
| CryptPad | `replicas.cryptpad` | :white_check_mark: | :gear: |
|
|
||||||
| Dovecot | `replicas.dovecot` | :x: | :gear: |
|
|
||||||
| Element | `replicas.element` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.matrixNeoBoardWidget` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixNeoChoiceWidget` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixNeoDateFixBot` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixNeoDateFixWidget` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.matrixUserVerificationService` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.synapse` | :x: | :gear: |
|
|
||||||
| | `replicas.synapseWeb` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.wellKnown` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Intercom Service | `replicas.intercomService` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Jitsi | `replicas.jibri` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jicofo` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jitsi ` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jitsiKeycloakAdapter` | :white_check_mark: | :gear: |
|
|
||||||
| | `replicas.jvb ` | :x: | :x: |
|
|
||||||
| Keycloak | `replicas.keycloak` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Memcached | `replicas.memcached` | :gear: | :gear: |
|
|
||||||
| Minio | `replicas.minioDistributed` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Nextcloud | `replicas.nextcloudApache2` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.nextcloudExporter` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.nextcloudPHP` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| OpenProject | `replicas.openproject` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| Postfix | `replicas.postfix` | :x: | :gear: |
|
|
||||||
| Redis | `replicas.redis` | :gear: | :gear: |
|
|
||||||
| Univention Management Stack | | :gear: | :gear: |
|
|
||||||
| | `replicas.umsPortalFrontend` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.umsPortalServer` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| | `replicas.umsUdmRestApi` | :white_check_mark: | :white_check_mark: |
|
|
||||||
| XWiki | `replicas.xwiki` | :x: | :gear: |
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ environments:
|
|||||||
---
|
---
|
||||||
# yamllint disable
|
# yamllint disable
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile_generic.yaml"
|
- path: "./helmfile_generic.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
# {{/*
|
# {{/*
|
||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.collabora.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.collabora.registry }}/{{ .Values.charts.collabora.repository }}"
|
||||||
{{ .Values.charts.collabora.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "collabora-online"
|
- name: "collabora-online"
|
||||||
@@ -6,7 +6,7 @@ bases:
|
|||||||
- "../../bases/environments.yaml"
|
- "../../bases/environments.yaml"
|
||||||
---
|
---
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile-child.yaml"
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
...
|
...
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -7,7 +8,7 @@ autoscaling:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
collabora:
|
collabora:
|
||||||
extra_params: "--o:ssl.enable=false --o:ssl.termination=true --o:fetch_update_check=0"
|
extra_params: "--o:ssl.enable=false --o:ssl.termination=true --o:fetch_update_check=0 --o:remote_font_config.url=https://{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}/index.php/apps/richdocuments/settings/fonts.json"
|
||||||
username: "collabora-internal-admin"
|
username: "collabora-internal-admin"
|
||||||
password: {{ .Values.secrets.collabora.adminPassword | quote }}
|
password: {{ .Values.secrets.collabora.adminPassword | quote }}
|
||||||
aliasgroups:
|
aliasgroups:
|
||||||
@@ -24,7 +25,7 @@ grafana:
|
|||||||
{{ .Values.monitoring.grafana.dashboards.annotations | toYaml | nindent 6 }}
|
{{ .Values.monitoring.grafana.dashboards.annotations | toYaml | nindent 6 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.collabora.registry }}/{{ .Values.images.collabora.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.collabora.registry }}/{{ .Values.images.collabora.repository }}"
|
||||||
tag: {{ .Values.images.collabora.tag | quote }}
|
tag: {{ .Values.images.collabora.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
@@ -83,6 +84,8 @@ ingress:
|
|||||||
hosts:
|
hosts:
|
||||||
- "{{ .Values.global.hosts.collabora }}.{{ .Values.global.domain }}"
|
- "{{ .Values.global.hosts.collabora }}.{{ .Values.global.domain }}"
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
fsGroup: 100
|
fsGroup: 100
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.cryptpad.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.cryptpad.registry }}/{{ .Values.charts.cryptpad.repository }}"
|
||||||
{{ .Values.charts.cryptpad.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "cryptpad"
|
- name: "cryptpad"
|
||||||
@@ -6,7 +6,7 @@ bases:
|
|||||||
- "../../bases/environments.yaml"
|
- "../../bases/environments.yaml"
|
||||||
---
|
---
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile-child.yaml"
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
...
|
...
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
# https://github.com/cryptpad/helm/blob/main/charts/cryptpad/README.md or
|
# https://github.com/cryptpad/helm/blob/main/charts/cryptpad/README.md or
|
||||||
# https://github.com/cryptpad/helm/blob/main/charts/cryptpad/values.yaml
|
# https://github.com/cryptpad/helm/blob/main/charts/cryptpad/values.yaml
|
||||||
@@ -23,7 +26,7 @@ enableEmbedding: true
|
|||||||
fullnameOverride: "cryptpad"
|
fullnameOverride: "cryptpad"
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.cryptpad.registry }}/{{ .Values.images.cryptpad.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.cryptpad.registry }}/{{ .Values.images.cryptpad.repository }}"
|
||||||
tag: {{ .Values.images.cryptpad.tag | quote }}
|
tag: {{ .Values.images.cryptpad.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
@@ -50,6 +53,8 @@ ingress:
|
|||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
fsGroup: 4001
|
fsGroup: 4001
|
||||||
|
|
||||||
|
|||||||
@@ -1,184 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
repositories:
|
|
||||||
# openDesk Element
|
|
||||||
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-element
|
|
||||||
- name: "element-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.element.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.element.registry }}/\
|
|
||||||
{{ .Values.charts.element.repository }}"
|
|
||||||
- name: "element-well-known-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.elementWellKnown.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.elementWellKnown.registry }}/\
|
|
||||||
{{ .Values.charts.elementWellKnown.repository }}"
|
|
||||||
- name: "synapse-web-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.synapseWeb.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.synapseWeb.registry }}/\
|
|
||||||
{{ .Values.charts.synapseWeb.repository }}"
|
|
||||||
- name: "synapse-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.synapse.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.synapse.registry }}/\
|
|
||||||
{{ .Values.charts.synapse.repository }}"
|
|
||||||
- name: "synapse-create-account-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.synapseCreateAccount.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.synapseCreateAccount.registry }}/\
|
|
||||||
{{ .Values.charts.synapseCreateAccount.repository }}"
|
|
||||||
|
|
||||||
# openDesk Matrix Widgets
|
|
||||||
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-matrix-widgets
|
|
||||||
- name: "matrix-user-verification-service-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.matrixUserVerificationService.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.matrixUserVerificationService.registry }}/\
|
|
||||||
{{ .Values.charts.matrixUserVerificationService.repository }}"
|
|
||||||
- name: "matrix-neoboard-widget-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.matrixNeoboardWidget.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.matrixNeoboardWidget.registry }}/\
|
|
||||||
{{ .Values.charts.matrixNeoboardWidget.repository }}"
|
|
||||||
- name: "matrix-neochoice-widget-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.matrixNeoboardWidget.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.matrixNeoboardWidget.registry }}/\
|
|
||||||
{{ .Values.charts.matrixNeoboardWidget.repository }}"
|
|
||||||
- name: "matrix-neodatefix-widget-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.matrixNeodatefixWidget.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.matrixNeodatefixWidget.registry }}/\
|
|
||||||
{{ .Values.charts.matrixNeodatefixWidget.repository }}"
|
|
||||||
- name: "matrix-neodatefix-bot-repo"
|
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
|
||||||
verify: {{ .Values.charts.matrixNeodatefixBot.verify }}
|
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
|
||||||
oci: true
|
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.matrixNeodatefixBot.registry }}/\
|
|
||||||
{{ .Values.charts.matrixNeodatefixBot.repository }}"
|
|
||||||
|
|
||||||
|
|
||||||
releases:
|
|
||||||
- name: "opendesk-element"
|
|
||||||
chart: "element-repo/{{ .Values.charts.element.name }}"
|
|
||||||
version: "{{ .Values.charts.element.version }}"
|
|
||||||
values:
|
|
||||||
- "values-element.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "opendesk-well-known"
|
|
||||||
chart: "element-well-known-repo/{{ .Values.charts.elementWellKnown.name }}"
|
|
||||||
version: "{{ .Values.charts.elementWellKnown.version }}"
|
|
||||||
values:
|
|
||||||
- "values-well-known.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "opendesk-synapse-web"
|
|
||||||
chart: "synapse-web-repo/{{ .Values.charts.synapseWeb.name }}"
|
|
||||||
version: "{{ .Values.charts.synapseWeb.version }}"
|
|
||||||
values:
|
|
||||||
- "values-synapse-web.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "opendesk-synapse"
|
|
||||||
chart: "synapse-repo/{{ .Values.charts.synapse.name }}"
|
|
||||||
version: "{{ .Values.charts.synapse.version }}"
|
|
||||||
values:
|
|
||||||
- "values-synapse.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "opendesk-matrix-user-verification-service-bootstrap"
|
|
||||||
chart: "synapse-create-account-repo/{{ .Values.charts.synapseCreateAccount.name }}"
|
|
||||||
version: "{{ .Values.charts.synapseCreateAccount.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-user-verification-service-bootstrap.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "opendesk-matrix-user-verification-service"
|
|
||||||
chart: "matrix-user-verification-service-repo/{{ .Values.charts.matrixUserVerificationService.name }}"
|
|
||||||
version: "{{ .Values.charts.matrixUserVerificationService.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-user-verification-service.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "matrix-neoboard-widget"
|
|
||||||
chart: "matrix-neoboard-widget-repo/{{ .Values.charts.matrixNeoboardWidget.name }}"
|
|
||||||
version: "{{ .Values.charts.matrixNeoboardWidget.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-neoboard-widget.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "matrix-neochoice-widget"
|
|
||||||
chart: "matrix-neochoice-widget-repo/{{ .Values.charts.matrixNeochoiseWidget.name }}"
|
|
||||||
version: "{{ .Values.charts.matrixNeochoiseWidget.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-neochoice-widget.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "matrix-neodatefix-widget"
|
|
||||||
chart: "matrix-neodatefix-widget-repo/{{ .Values.charts.matrixNeodatefixWidget.name }}"
|
|
||||||
version: "{{ .Values.charts.matrixNeodatefixWidget.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-neodatefix-widget.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "matrix-neodatefix-bot-bootstrap"
|
|
||||||
chart: "synapse-create-account-repo/{{ .Values.charts.synapseCreateAccount.name }}"
|
|
||||||
version: "{{ .Values.charts.synapseCreateAccount.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-neodatefix-bot-bootstrap.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
- name: "matrix-neodatefix-bot"
|
|
||||||
chart: "matrix-neodatefix-bot-repo/{{ .Values.charts.matrixNeodatefixBot.name }}"
|
|
||||||
version: "{{ .Values.charts.matrixNeodatefixBot.version }}"
|
|
||||||
values:
|
|
||||||
- "values-matrix-neodatefix-bot.yaml.gotmpl"
|
|
||||||
installed: {{ .Values.element.enabled }}
|
|
||||||
timeout: 900
|
|
||||||
|
|
||||||
commonLabels:
|
|
||||||
deploy-stage: "component-1"
|
|
||||||
component: "element"
|
|
||||||
...
|
|
||||||
72
helmfile/apps/element/helmfile-child.yaml.gotmpl
Normal file
72
helmfile/apps/element/helmfile-child.yaml.gotmpl
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
---
|
||||||
|
repositories:
|
||||||
|
# openDesk Element
|
||||||
|
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-element
|
||||||
|
- name: "element-repo"
|
||||||
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.element.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.element.registry }}/{{ .Values.charts.element.repository }}"
|
||||||
|
- name: "element-well-known-repo"
|
||||||
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.elementWellKnown.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.elementWellKnown.registry }}/{{ .Values.charts.elementWellKnown.repository }}"
|
||||||
|
- name: "synapse-web-repo"
|
||||||
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.synapseWeb.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.synapseWeb.registry }}/{{ .Values.charts.synapseWeb.repository }}"
|
||||||
|
- name: "synapse-repo"
|
||||||
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.synapse.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.synapse.registry }}/{{ .Values.charts.synapse.repository }}"
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: "opendesk-element"
|
||||||
|
chart: "element-repo/{{ .Values.charts.element.name }}"
|
||||||
|
version: "{{ .Values.charts.element.version }}"
|
||||||
|
values:
|
||||||
|
- "values-element.yaml.gotmpl"
|
||||||
|
installed: {{ .Values.element.enabled }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
|
- name: "opendesk-well-known"
|
||||||
|
chart: "element-well-known-repo/{{ .Values.charts.elementWellKnown.name }}"
|
||||||
|
version: "{{ .Values.charts.elementWellKnown.version }}"
|
||||||
|
values:
|
||||||
|
- "values-well-known.yaml.gotmpl"
|
||||||
|
installed: {{ .Values.element.enabled }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
|
- name: "opendesk-synapse-web"
|
||||||
|
chart: "synapse-web-repo/{{ .Values.charts.synapseWeb.name }}"
|
||||||
|
version: "{{ .Values.charts.synapseWeb.version }}"
|
||||||
|
values:
|
||||||
|
- "values-synapse-web.yaml.gotmpl"
|
||||||
|
installed: {{ .Values.element.enabled }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
|
- name: "opendesk-synapse"
|
||||||
|
chart: "synapse-repo/{{ .Values.charts.synapse.name }}"
|
||||||
|
version: "{{ .Values.charts.synapse.version }}"
|
||||||
|
values:
|
||||||
|
- "values-synapse.yaml.gotmpl"
|
||||||
|
installed: {{ .Values.element.enabled }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
|
commonLabels:
|
||||||
|
deploy-stage: "component-1"
|
||||||
|
component: "element"
|
||||||
|
...
|
||||||
@@ -6,7 +6,7 @@ bases:
|
|||||||
- "../../bases/environments.yaml"
|
- "../../bases/environments.yaml"
|
||||||
---
|
---
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile-child.yaml"
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
...
|
...
|
||||||
@@ -1,11 +1,13 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
{{/*
|
||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
configuration:
|
configuration:
|
||||||
endToEndEncryption: true
|
endToEndEncryption: true
|
||||||
additionalConfiguration:
|
additionalConfiguration:
|
||||||
logout_redirect_url: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}/protocol/openid-connect/logout?client_id=matrix&post_logout_redirect_uri=https%3A%2F%2F{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
logout_redirect_url: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}/protocol/openid-connect/logout?client_id=opendesk-matrix&post_logout_redirect_uri=https%3A%2F%2F{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
|
||||||
"net.nordeck.element_web.module.opendesk":
|
"net.nordeck.element_web.module.opendesk":
|
||||||
config:
|
config:
|
||||||
@@ -18,84 +20,6 @@ configuration:
|
|||||||
--cpd-color-bg-action-primary-rest: {{ .Values.theme.colors.primary | quote }}
|
--cpd-color-bg-action-primary-rest: {{ .Values.theme.colors.primary | quote }}
|
||||||
--cpd-color-text-action-accent: {{ .Values.theme.colors.primary | quote }}
|
--cpd-color-text-action-accent: {{ .Values.theme.colors.primary | quote }}
|
||||||
|
|
||||||
"net.nordeck.element_web.module.widget_lifecycle":
|
|
||||||
widget_permissions:
|
|
||||||
"https://{{ .Values.global.hosts.element }}.{{ .Values.global.domain }}/jitsi.html":
|
|
||||||
identity_approved: true
|
|
||||||
"https://{{ .Values.global.hosts.matrixNeoBoardWidget }}.{{ .Values.global.domain }}/*":
|
|
||||||
preload_approved: true
|
|
||||||
capabilities_approved:
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.whiteboard.document.create
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.whiteboard.document.create
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.whiteboard.document.chunk
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.whiteboard.document.chunk
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.whiteboard.document.snapshot
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.whiteboard.document.snapshot
|
|
||||||
- org.matrix.msc2762.send.state_event:m.room.power_levels#
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.power_levels#
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.member
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.name
|
|
||||||
- org.matrix.msc2762.send.state_event:net.nordeck.whiteboard
|
|
||||||
- org.matrix.msc2762.receive.state_event:net.nordeck.whiteboard
|
|
||||||
- org.matrix.msc2762.send.state_event:net.nordeck.whiteboard.sessions#*
|
|
||||||
- org.matrix.msc2762.receive.state_event:net.nordeck.whiteboard.sessions
|
|
||||||
- org.matrix.msc3819.send.to_device:net.nordeck.whiteboard.connection_signaling
|
|
||||||
- org.matrix.msc3819.receive.to_device:net.nordeck.whiteboard.connection_signaling
|
|
||||||
- town.robin.msc3846.turn_servers
|
|
||||||
"https://{{ .Values.global.hosts.matrixNeoChoiceWidget }}.{{ .Values.global.domain }}/*":
|
|
||||||
preload_approved: true
|
|
||||||
capabilities_approved:
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.poll.vote
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.poll.vote
|
|
||||||
- org.matrix.msc2762.send.state_event:net.nordeck.poll
|
|
||||||
- org.matrix.msc2762.receive.state_event:net.nordeck.poll
|
|
||||||
- org.matrix.msc2762.send.state_event:net.nordeck.poll.settings
|
|
||||||
- org.matrix.msc2762.receive.state_event:net.nordeck.poll.settings
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.power_levels
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.name
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.member
|
|
||||||
- org.matrix.msc2762.send.state_event:net.nordeck.poll.group
|
|
||||||
- org.matrix.msc2762.receive.state_event:net.nordeck.poll.group
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.poll.start
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.poll.start
|
|
||||||
"https://{{ .Values.global.hosts.matrixNeoDateFixWidget }}.{{ .Values.global.domain }}/*":
|
|
||||||
preload_approved: true
|
|
||||||
identity_approved: true
|
|
||||||
capabilities_approved:
|
|
||||||
- org.matrix.msc2931.navigate
|
|
||||||
- org.matrix.msc2762.timeline:*
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.power_levels
|
|
||||||
- org.matrix.msc2762.receive.event:m.reaction
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.create
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.tombstone
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.member
|
|
||||||
- org.matrix.msc2762.send.state_event:m.room.member
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.name
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.room.topic
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.space.parent
|
|
||||||
- org.matrix.msc2762.receive.state_event:m.space.child
|
|
||||||
- org.matrix.msc2762.receive.state_event:net.nordeck.meetings.metadata
|
|
||||||
- org.matrix.msc2762.receive.state_event:im.vector.modular.widgets
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.meeting.create
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.meeting.create
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.breakoutsessions.create
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.breakoutsessions.create
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.meeting.close
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.meeting.close
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.meeting.widgets.handle
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.meeting.widgets.handle
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.meeting.participants.handle
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.meeting.participants.handle
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.meeting.update
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.meeting.update
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.meeting.change.message_permissions
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.meeting.change.message_permissions
|
|
||||||
- org.matrix.msc2762.send.event:net.nordeck.meetings.sub_meetings.send_message
|
|
||||||
- org.matrix.msc2762.receive.event:net.nordeck.meetings.sub_meetings.send_message
|
|
||||||
- org.matrix.msc3973.user_directory_search
|
|
||||||
|
|
||||||
welcomeUserId: "@meetings-bot:{{ .Values.global.domain }}"
|
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
@@ -121,7 +45,7 @@ global:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.element.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.element.registry | quote }}
|
||||||
repository: {{ .Values.images.element.repository | quote }}
|
repository: {{ .Values.images.element.repository | quote }}
|
||||||
tag: {{ .Values.images.element.tag | quote }}
|
tag: {{ .Values.images.element.tag | quote }}
|
||||||
|
|
||||||
@@ -133,6 +57,8 @@ ingress:
|
|||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
containerSecurityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
enabled: true
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsGroup: 101
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 101
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.matrixNeoBoardWidget | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
global:
|
|
||||||
domain: {{ .Values.global.domain | quote }}
|
|
||||||
hosts:
|
|
||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
image:
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.matrixNeoBoardWidget.registry | quote }}
|
|
||||||
repository: {{ .Values.images.matrixNeoBoardWidget.repository | quote }}
|
|
||||||
tag: {{ .Values.images.matrixNeoBoardWidget.tag | quote }}
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
|
||||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
|
||||||
tls:
|
|
||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
enabled: true
|
|
||||||
fsGroup: 101
|
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.matrixNeoBoardWidget }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
{{ .Values.resources.matrixNeoBoardWidget | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
theme:
|
|
||||||
{{ .Values.theme | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
...
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
containerSecurityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
enabled: true
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsGroup: 101
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 101
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.matrixNeoChoiceWidget | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
global:
|
|
||||||
domain: {{ .Values.global.domain | quote }}
|
|
||||||
hosts:
|
|
||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
image:
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.matrixNeoChoiceWidget.registry | quote }}
|
|
||||||
repository: {{ .Values.images.matrixNeoChoiceWidget.repository | quote }}
|
|
||||||
tag: {{ .Values.images.matrixNeoChoiceWidget.tag | quote }}
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
|
||||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
|
||||||
tls:
|
|
||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
enabled: true
|
|
||||||
fsGroup: 101
|
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.matrixNeoChoiceWidget }}
|
|
||||||
|
|
||||||
theme:
|
|
||||||
{{ .Values.theme | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
{{ .Values.resources.matrixNeoChoiceWidget | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
...
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
cleanup:
|
|
||||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
|
||||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
|
||||||
|
|
||||||
configuration:
|
|
||||||
username: "meetings-bot"
|
|
||||||
pod: "opendesk-synapse-0"
|
|
||||||
secretName: "matrix-neodatefix-bot-account"
|
|
||||||
password: {{ .Values.secrets.matrixNeoDateFixBot.password | quote }}
|
|
||||||
|
|
||||||
global:
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.synapseCreateUser.registry | quote }}
|
|
||||||
url: {{ .Values.images.synapseCreateUser.repository | quote }}
|
|
||||||
tag: {{ .Values.images.synapseCreateUser.tag | quote }}
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
|
|
||||||
fullnameOverride: "matrix-neodatefix-bot-bootstrap"
|
|
||||||
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsGroup: 101
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 101
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.synapseCreateUser | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
...
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
global:
|
|
||||||
domain: {{ .Values.global.domain | quote }}
|
|
||||||
hosts:
|
|
||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
configuration:
|
|
||||||
bot:
|
|
||||||
username: "meetings-bot"
|
|
||||||
displayname: "Terminplaner Bot"
|
|
||||||
openxchangeBaseUrl: "https://{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
|
||||||
strings:
|
|
||||||
breakoutSessionWidgetName: "Breakoutsessions"
|
|
||||||
calendarRoomName: "Terminplaner"
|
|
||||||
calendarWidgetName: "Terminplaner"
|
|
||||||
cockpitWidgetName: "Meeting Steuerung"
|
|
||||||
jitsiWidgetName: "Videokonferenz"
|
|
||||||
matrixNeoBoardWidgetName: "Whiteboard"
|
|
||||||
matrixNeoChoiceWidgetName: "Abstimmungen"
|
|
||||||
|
|
||||||
containerSecurityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
enabled: true
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsGroup: 101
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 101
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.matrixNeoDateFixBot | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
extraEnvVars:
|
|
||||||
- name: "ACCESS_TOKEN"
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "matrix-neodatefix-bot-account"
|
|
||||||
key: "access_token"
|
|
||||||
|
|
||||||
image:
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.matrixNeoDateFixBot.registry | quote }}
|
|
||||||
repository: {{ .Values.images.matrixNeoDateFixBot.repository | quote }}
|
|
||||||
tag: {{ .Values.images.matrixNeoDateFixBot.tag | quote }}
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
|
||||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
|
||||||
tls:
|
|
||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
|
||||||
|
|
||||||
livenessProbe:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
persistence:
|
|
||||||
size: {{ .Values.persistence.size.matrixNeoDateFixBot | quote }}
|
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
enabled: true
|
|
||||||
fsGroup: 101
|
|
||||||
|
|
||||||
readinessProbe:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.matrixNeoDateFixBot }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
{{ .Values.resources.matrixNeoDateFixBot | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
...
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
configuration:
|
|
||||||
bot:
|
|
||||||
username: "meetings-bot"
|
|
||||||
homeserver: {{ .Values.global.matrixDomain | default .Values.global.domain }}
|
|
||||||
|
|
||||||
containerSecurityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
enabled: true
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsGroup: 101
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 101
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.matrixNeoDateFixWidget | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
global:
|
|
||||||
domain: {{ .Values.global.domain | quote }}
|
|
||||||
hosts:
|
|
||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
image:
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.matrixNeoDateFixWidget.registry | quote }}
|
|
||||||
repository: {{ .Values.images.matrixNeoDateFixWidget.repository | quote }}
|
|
||||||
tag: {{ .Values.images.matrixNeoDateFixWidget.tag | quote }}
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
|
||||||
ingressClassName: {{ .Values.ingress.ingressClassName | quote }}
|
|
||||||
tls:
|
|
||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
enabled: true
|
|
||||||
fsGroup: 101
|
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.matrixNeoDateFixWidget }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
{{ .Values.resources.matrixNeoDateFixWidget | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
theme:
|
|
||||||
{{ .Values.theme | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
...
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
cleanup:
|
|
||||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
|
||||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
|
||||||
|
|
||||||
configuration:
|
|
||||||
username: "uvs"
|
|
||||||
pod: "opendesk-synapse-0"
|
|
||||||
secretName: "opendesk-matrix-user-verification-service-account"
|
|
||||||
password: {{ .Values.secrets.matrixUserVerificationService.password | quote }}
|
|
||||||
|
|
||||||
global:
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.synapseCreateUser.registry | quote }}
|
|
||||||
url: {{ .Values.images.synapseCreateUser.repository | quote }}
|
|
||||||
tag: {{ .Values.images.synapseCreateUser.tag | quote }}
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
|
|
||||||
fullnameOverride: "opendesk-matrix-user-verification-service-bootstrap"
|
|
||||||
|
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: true
|
|
||||||
runAsGroup: 101
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 101
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.synapseCreateUser | toYaml | nindent 4 }}
|
|
||||||
...
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
---
|
|
||||||
containerSecurityContext:
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- "ALL"
|
|
||||||
enabled: true
|
|
||||||
privileged: false
|
|
||||||
readOnlyRootFilesystem: false
|
|
||||||
runAsGroup: 0
|
|
||||||
runAsNonRoot: false
|
|
||||||
runAsUser: 0
|
|
||||||
seccompProfile:
|
|
||||||
type: "RuntimeDefault"
|
|
||||||
seLinuxOptions:
|
|
||||||
{{ .Values.seLinuxOptions.matrixUserVerificationService | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
extraEnvVars:
|
|
||||||
- name: "UVS_ACCESS_TOKEN"
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: "opendesk-matrix-user-verification-service-account"
|
|
||||||
key: "access_token"
|
|
||||||
- name: "UVS_DISABLE_IP_BLACKLIST"
|
|
||||||
value: "true"
|
|
||||||
|
|
||||||
global:
|
|
||||||
domain: {{ .Values.global.domain | quote }}
|
|
||||||
hosts:
|
|
||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
|
||||||
|
|
||||||
image:
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.matrixUserVerificationService.registry | quote }}
|
|
||||||
repository: {{ .Values.images.matrixUserVerificationService.repository | quote }}
|
|
||||||
tag: {{ .Values.images.matrixUserVerificationService.tag | quote }}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
enabled: true
|
|
||||||
fsGroup: 101
|
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.matrixUserVerificationService }}
|
|
||||||
|
|
||||||
resources:
|
|
||||||
{{ .Values.resources.matrixUserVerificationService | toYaml | nindent 2 }}
|
|
||||||
|
|
||||||
...
|
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
clusterDomain: {{ .Values.cluster.networking.domain }}
|
clusterDomain: {{ .Values.cluster.networking.domain }}
|
||||||
|
|
||||||
@@ -29,7 +32,7 @@ global:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.synapseWeb.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.synapseWeb.registry | quote }}
|
||||||
repository: {{ .Values.images.synapseWeb.repository | quote }}
|
repository: {{ .Values.images.synapseWeb.repository | quote }}
|
||||||
tag: {{ .Values.images.synapseWeb.tag | quote }}
|
tag: {{ .Values.images.synapseWeb.tag | quote }}
|
||||||
|
|
||||||
@@ -48,6 +51,8 @@ ingress:
|
|||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
configuration:
|
configuration:
|
||||||
additionalConfiguration:
|
additionalConfiguration:
|
||||||
@@ -9,18 +12,7 @@ configuration:
|
|||||||
room_prejoin_state:
|
room_prejoin_state:
|
||||||
additional_event_types:
|
additional_event_types:
|
||||||
- "m.space.parent"
|
- "m.space.parent"
|
||||||
- "net.nordeck.meetings.metadata"
|
|
||||||
- "m.room.power_levels"
|
- "m.room.power_levels"
|
||||||
# When a user logs into Element a parallel request is done through Intercom Service to allow Synapse API
|
|
||||||
# interaction, to avoid (temporary) blocking of the user for followup logins we want to raise the limits.
|
|
||||||
# https://matrix-org.github.io/synapse/v1.59/usage/configuration/config_documentation.html#ratelimiting
|
|
||||||
rc_login:
|
|
||||||
account:
|
|
||||||
per_second: 2
|
|
||||||
burst_count: 8
|
|
||||||
address:
|
|
||||||
per_second: 2
|
|
||||||
burst_count: 12
|
|
||||||
|
|
||||||
database:
|
database:
|
||||||
host: {{ .Values.databases.synapse.host | quote }}
|
host: {{ .Values.databases.synapse.host | quote }}
|
||||||
@@ -30,40 +22,27 @@ configuration:
|
|||||||
|
|
||||||
homeserver:
|
homeserver:
|
||||||
serverName: {{ .Values.global.matrixDomain | default .Values.global.domain }}
|
serverName: {{ .Values.global.matrixDomain | default .Values.global.domain }}
|
||||||
appServiceConfigs:
|
|
||||||
- as_token: {{ .Values.secrets.intercom.synapseAsToken | quote }}
|
|
||||||
hs_token: {{ .Values.secrets.intercom.synapseAsToken | quote }}
|
|
||||||
id: intercom-service
|
|
||||||
namespaces:
|
|
||||||
users:
|
|
||||||
- exclusive: false
|
|
||||||
regex: "@.*"
|
|
||||||
url: null
|
|
||||||
sender_localpart: intercom-service
|
|
||||||
- as_token: {{ .Values.secrets.oxAppsuite.synapseAsToken | quote }}
|
|
||||||
hs_token: {{ .Values.secrets.oxAppsuite.synapseAsToken | quote }}
|
|
||||||
id: ox-appsuite
|
|
||||||
namespaces:
|
|
||||||
users:
|
|
||||||
- exclusive: false
|
|
||||||
regex: "@.*"
|
|
||||||
url: null
|
|
||||||
sender_localpart: ox-appsuite
|
|
||||||
|
|
||||||
presence:
|
presence:
|
||||||
enabled: {{ .Values.functional.dataProtection.matrixPresence.enabled }}
|
enabled: {{ .Values.functional.dataProtection.matrixPresence.enabled }}
|
||||||
|
|
||||||
|
profile:
|
||||||
|
allowUsersToUpdateDisplayname: {{ .Values.functional.chat.matrix.profile.allowUsersToUpdateDisplayname }}
|
||||||
|
|
||||||
smtp:
|
smtp:
|
||||||
senderAddress: "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.element }}.{{ end }}{{ .Values.global.domain }}"
|
senderAddress: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
host: {{ .Values.smtp.host | quote }}
|
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
port: {{ .Values.smtp.port }}
|
port: 25
|
||||||
username: {{ .Values.smtp.username | quote }}
|
tls: false
|
||||||
password: {{ .Values.smtp.password | quote }}
|
starttls: false
|
||||||
|
username: ""
|
||||||
|
password: ""
|
||||||
|
|
||||||
oidc:
|
oidc:
|
||||||
clientId: "opendesk-matrix"
|
clientId: "opendesk-matrix"
|
||||||
clientSecret: {{ .Values.secrets.keycloak.clientSecret.matrix | quote }}
|
clientSecret: {{ .Values.secrets.keycloak.clientSecret.matrix | quote }}
|
||||||
issuer: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
issuer: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||||
|
matrixIdLocalpart: {{ if .Values.functional.chat.matrix.profile.useImmutableIdentifierForLocalpart }}"opendesk_useruuid"{{ else }}"opendesk_username"{{ end }}
|
||||||
scopes:
|
scopes:
|
||||||
- "openid"
|
- "openid"
|
||||||
- "opendesk-matrix-scope"
|
- "opendesk-matrix-scope"
|
||||||
@@ -81,14 +60,6 @@ configuration:
|
|||||||
transport: {{ .Values.turn.transport | quote }}
|
transport: {{ .Values.turn.transport | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
guestModule:
|
|
||||||
enabled: true
|
|
||||||
image:
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.synapseGuestModule.registry | quote }}
|
|
||||||
repository: {{ .Values.images.synapseGuestModule.repository | quote }}
|
|
||||||
tag: {{ .Values.images.synapseGuestModule.tag | quote }}
|
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
@@ -124,7 +95,7 @@ global:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.synapse.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.synapse.registry | quote }}
|
||||||
repository: {{ .Values.images.synapse.repository | quote }}
|
repository: {{ .Values.images.synapse.repository | quote }}
|
||||||
tag: {{ .Values.images.synapse.tag | quote }}
|
tag: {{ .Values.images.synapse.tag | quote }}
|
||||||
|
|
||||||
@@ -132,6 +103,8 @@ persistence:
|
|||||||
size: {{ .Values.persistence.size.synapse | quote }}
|
size: {{ .Values.persistence.size.synapse | quote }}
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 10991
|
fsGroup: 10991
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
configuration:
|
configuration:
|
||||||
e2ee:
|
e2ee:
|
||||||
@@ -30,7 +33,7 @@ global:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.wellKnown.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.wellKnown.registry | quote }}
|
||||||
repository: {{ .Values.images.wellKnown.repository | quote }}
|
repository: {{ .Values.images.wellKnown.repository | quote }}
|
||||||
tag: {{ .Values.images.wellKnown.tag | quote }}
|
tag: {{ .Values.images.wellKnown.tag | quote }}
|
||||||
|
|
||||||
@@ -42,6 +45,8 @@ ingress:
|
|||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
|
|||||||
@@ -5,13 +5,12 @@ repositories:
|
|||||||
# Intercom Service
|
# Intercom Service
|
||||||
# Source: https://gitlab.souvap-univention.de/souvap/tooling/charts/intercom-service
|
# Source: https://gitlab.souvap-univention.de/souvap/tooling/charts/intercom-service
|
||||||
- name: "intercom-service-repo"
|
- name: "intercom-service-repo"
|
||||||
keyring: "../../files/gpg-pubkeys/souvap-univention-de.gpg"
|
keyring: "../../files/gpg-pubkeys/univention-de.gpg"
|
||||||
verify: {{ .Values.charts.intercomService.verify }}
|
verify: {{ .Values.charts.intercomService.verify }}
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.intercomService.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.intercomService.registry }}/{{ .Values.charts.intercomService.repository }}"
|
||||||
{{ .Values.charts.intercomService.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "intercom-service"
|
- name: "intercom-service"
|
||||||
@@ -6,7 +6,7 @@ bases:
|
|||||||
- "../../bases/environments.yaml"
|
- "../../bases/environments.yaml"
|
||||||
---
|
---
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile-child.yaml"
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
...
|
...
|
||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -52,10 +55,12 @@ ics:
|
|||||||
url: "https://{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
url: "https://{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||||
audience: "opendesk-oxappsuite"
|
audience: "opendesk-oxappsuite"
|
||||||
nextcloud:
|
nextcloud:
|
||||||
|
origin: {{ .Values.global.hosts.nextcloud | quote }}
|
||||||
|
subdomain: {{ .Values.global.hosts.nextcloud | quote }}
|
||||||
audience: "opendesk-nextcloud"
|
audience: "opendesk-nextcloud"
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.intercom.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.intercom.registry | quote }}
|
||||||
repository: {{ .Values.images.intercom.repository | quote }}
|
repository: {{ .Values.images.intercom.repository | quote }}
|
||||||
tag: {{ .Values.images.intercom.tag | quote }}
|
tag: {{ .Values.images.intercom.tag | quote }}
|
||||||
|
|
||||||
@@ -67,11 +72,32 @@ ingress:
|
|||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1000
|
fsGroup: 1000
|
||||||
fsGroupChangePolicy: "Always"
|
fsGroupChangePolicy: "Always"
|
||||||
|
|
||||||
|
provisioning:
|
||||||
|
enabled: true
|
||||||
|
config:
|
||||||
|
nubusBaseUrl: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}"
|
||||||
|
keycloak:
|
||||||
|
url: "http://ums-keycloak:8080/realms/{{ .Values.platform.realm }}/"
|
||||||
|
username: "kcadmin"
|
||||||
|
realm: {{ .Values.platform.realm | quote }}
|
||||||
|
connection:
|
||||||
|
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "http://ums-keycloak:8080"
|
||||||
|
credentialSecret:
|
||||||
|
name: "ums-opendesk-keycloak-credentials"
|
||||||
|
key: "admin_password"
|
||||||
|
ics_client:
|
||||||
|
clientSecret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
||||||
|
credentialSecret:
|
||||||
|
key: "ics_secret"
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.intercomService }}
|
replicaCount: {{ .Values.replicas.intercomService }}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.jitsi.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.jitsi.registry }}/{{ .Values.charts.jitsi.repository }}"
|
||||||
{{ .Values.charts.jitsi.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "jitsi"
|
- name: "jitsi"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/jitsi/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/jitsi/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -9,6 +10,7 @@ global:
|
|||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -31,7 +33,7 @@ cleanup:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.jitsiKeycloakAdapter.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.jitsiKeycloakAdapter.registry | quote }}
|
||||||
repository: {{ .Values.images.jitsiKeycloakAdapter.repository | quote }}
|
repository: {{ .Values.images.jitsiKeycloakAdapter.repository | quote }}
|
||||||
tag: {{ .Values.images.jitsiKeycloakAdapter.tag | quote }}
|
tag: {{ .Values.images.jitsiKeycloakAdapter.tag | quote }}
|
||||||
|
|
||||||
@@ -48,7 +50,7 @@ jitsi:
|
|||||||
web:
|
web:
|
||||||
replicaCount: {{ .Values.replicas.jitsi }}
|
replicaCount: {{ .Values.replicas.jitsi }}
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.jitsi.registry }}/{{ .Values.images.jitsi.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.jitsi.registry }}/{{ .Values.images.jitsi.repository }}"
|
||||||
tag: {{ .Values.images.jitsi.tag | quote }}
|
tag: {{ .Values.images.jitsi.tag | quote }}
|
||||||
ingress:
|
ingress:
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
enabled: {{ .Values.ingress.enabled }}
|
||||||
@@ -61,6 +63,8 @@ jitsi:
|
|||||||
- secretName: {{ .Values.ingress.tls.secretName | quote }}
|
- secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
hosts:
|
hosts:
|
||||||
- "{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
|
- "{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
|
||||||
|
extraConfigJs:
|
||||||
|
doNotStoreRoom: {{ not .Values.functional.dataProtection.jitsiRoomHistory.enabled }}
|
||||||
extraEnvs:
|
extraEnvs:
|
||||||
TURN_ENABLE: "1"
|
TURN_ENABLE: "1"
|
||||||
resources:
|
resources:
|
||||||
@@ -79,7 +83,7 @@ jitsi:
|
|||||||
{{ .Values.seLinuxOptions.jitsi | toYaml | nindent 8 }}
|
{{ .Values.seLinuxOptions.jitsi | toYaml | nindent 8 }}
|
||||||
prosody:
|
prosody:
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.prosody.registry }}/{{ .Values.images.prosody.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.prosody.registry }}/{{ .Values.images.prosody.repository }}"
|
||||||
tag: {{ .Values.images.prosody.tag | quote }}
|
tag: {{ .Values.images.prosody.tag | quote }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.global.imagePullSecrets }}
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
@@ -128,7 +132,7 @@ jitsi:
|
|||||||
jicofo:
|
jicofo:
|
||||||
replicaCount: {{ .Values.replicas.jicofo }}
|
replicaCount: {{ .Values.replicas.jicofo }}
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.jicofo.registry }}/{{ .Values.images.jicofo.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.jicofo.registry }}/{{ .Values.images.jicofo.repository }}"
|
||||||
tag: {{ .Values.images.jicofo.tag | quote }}
|
tag: {{ .Values.images.jicofo.tag | quote }}
|
||||||
xmpp:
|
xmpp:
|
||||||
password: {{ .Values.secrets.jitsi.jicofoAuthPassword | quote }}
|
password: {{ .Values.secrets.jitsi.jicofoAuthPassword | quote }}
|
||||||
@@ -150,7 +154,7 @@ jitsi:
|
|||||||
jvb:
|
jvb:
|
||||||
replicaCount: {{ .Values.replicas.jvb }}
|
replicaCount: {{ .Values.replicas.jvb }}
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.jvb.registry }}/{{ .Values.images.jvb.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.jvb.registry }}/{{ .Values.images.jvb.repository }}"
|
||||||
tag: {{ .Values.images.jvb.tag | quote }}
|
tag: {{ .Values.images.jvb.tag | quote }}
|
||||||
xmpp:
|
xmpp:
|
||||||
password: {{ .Values.secrets.jitsi.jvbAuthPassword | quote }}
|
password: {{ .Values.secrets.jitsi.jvbAuthPassword | quote }}
|
||||||
@@ -173,7 +177,7 @@ jitsi:
|
|||||||
jibri:
|
jibri:
|
||||||
replicaCount: {{ .Values.replicas.jibri }}
|
replicaCount: {{ .Values.replicas.jibri }}
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.jibri.registry }}/{{ .Values.images.jibri.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.jibri.registry }}/{{ .Values.images.jibri.repository }}"
|
||||||
tag: {{ .Values.images.jibri.tag | quote }}
|
tag: {{ .Values.images.jibri.tag | quote }}
|
||||||
recorder:
|
recorder:
|
||||||
password: {{ .Values.secrets.jitsi.jibriRecorderPassword | quote }}
|
password: {{ .Values.secrets.jitsi.jibriRecorderPassword | quote }}
|
||||||
@@ -211,9 +215,12 @@ patchJVB:
|
|||||||
{{ .Values.seLinuxOptions.jitsiPatchJVB | toYaml | nindent 6 }}
|
{{ .Values.seLinuxOptions.jitsiPatchJVB | toYaml | nindent 6 }}
|
||||||
image:
|
image:
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.jitsiPatchJVB.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.jitsiPatchJVB.registry | quote }}
|
||||||
repository: {{ .Values.images.jitsiPatchJVB.repository | quote }}
|
repository: {{ .Values.images.jitsiPatchJVB.repository | quote }}
|
||||||
tag: {{ .Values.images.jitsiPatchJVB.tag | quote }}
|
tag: {{ .Values.images.jitsiPatchJVB.tag | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.jitsiKeycloakAdapter }}
|
replicaCount: {{ .Values.replicas.jitsiKeycloakAdapter }}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.migrations.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.migrations.registry }}/{{ .Values.charts.migrations.repository }}"
|
||||||
{{ .Values.charts.migrations.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "opendesk-migrations-post"
|
- name: "opendesk-migrations-post"
|
||||||
@@ -5,7 +5,7 @@ bases:
|
|||||||
- "../../bases/environments.yaml"
|
- "../../bases/environments.yaml"
|
||||||
---
|
---
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile-child.yaml"
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
...
|
...
|
||||||
@@ -3,6 +3,8 @@
|
|||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
---
|
---
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
migrations:
|
migrations:
|
||||||
stage: "POST"
|
stage: "POST"
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.migrations.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.migrations.registry }}/{{ .Values.charts.migrations.repository }}"
|
||||||
{{ .Values.charts.migrations.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "opendesk-migrations-pre"
|
- name: "opendesk-migrations-pre"
|
||||||
@@ -5,7 +5,7 @@ bases:
|
|||||||
- "../../bases/environments.yaml"
|
- "../../bases/environments.yaml"
|
||||||
---
|
---
|
||||||
helmfiles:
|
helmfiles:
|
||||||
- path: "./helmfile-child.yaml"
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
values:
|
values:
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
...
|
...
|
||||||
@@ -3,6 +3,8 @@
|
|||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
---
|
---
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
migrations:
|
migrations:
|
||||||
stage: "PRE"
|
stage: "PRE"
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -10,16 +10,14 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.nextcloudManagement.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.nextcloudManagement.registry }}/{{ .Values.charts.nextcloudManagement.repository }}"
|
||||||
{{ .Values.charts.nextcloudManagement.repository }}"
|
|
||||||
- name: "nextcloud-repo"
|
- name: "nextcloud-repo"
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
verify: {{ .Values.charts.nextcloud.verify }}
|
verify: {{ .Values.charts.nextcloud.verify }}
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.nextcloud.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.nextcloud.registry }}/{{ .Values.charts.nextcloud.repository }}"
|
||||||
{{ .Values.charts.nextcloud.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "opendesk-nextcloud-management"
|
- name: "opendesk-nextcloud-management"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/nextcloud/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/nextcloud/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -37,7 +37,7 @@ configuration:
|
|||||||
port: {{ .Values.cache.nextcloud.port | quote }}
|
port: {{ .Values.cache.nextcloud.port | quote }}
|
||||||
collabora:
|
collabora:
|
||||||
# internalWopiUrl: ""
|
# internalWopiUrl: ""
|
||||||
wopiAllowlist: {{ join " " .Values.cluster.networking.cidr | quote }}
|
wopiAllowlist: {{ join ", " ( concat .Values.cluster.networking.cidr .Values.cluster.networking.incomingCIDR ) | quote }}
|
||||||
database:
|
database:
|
||||||
host: {{ .Values.databases.nextcloud.host | quote }}
|
host: {{ .Values.databases.nextcloud.host | quote }}
|
||||||
port: {{ .Values.databases.nextcloud.port | quote }}
|
port: {{ .Values.databases.nextcloud.port | quote }}
|
||||||
@@ -73,16 +73,31 @@ configuration:
|
|||||||
value: "opendesk_username"
|
value: "opendesk_username"
|
||||||
password:
|
password:
|
||||||
value: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
value: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||||
|
sharing:
|
||||||
|
allowLinks: {{ .Values.functional.filestore.sharing.external.enabled }}
|
||||||
|
allowMailNotification: {{ .Values.functional.filestore.sharing.external.enabled }}
|
||||||
|
allowPublicUpload: {{ .Values.functional.filestore.sharing.external.enabled }}
|
||||||
|
enforceLinksPassword: {{ .Values.functional.filestore.sharing.external.enforcePasswords }}
|
||||||
|
enforcePasswordProtection: {{ .Values.functional.filestore.sharing.external.enforcePasswords }}
|
||||||
|
defaultInternalExpireEnabled: {{ .Values.functional.filestore.sharing.internal.expiry.activeByDefault }}
|
||||||
|
defaultInternalExpireEnforced: {{ .Values.functional.filestore.sharing.internal.expiry.enforced }}
|
||||||
|
defaultInternalExpireDays: {{ .Values.functional.filestore.sharing.internal.expiry.defaultDays | quote }}
|
||||||
|
defaultExternalExpireEnabled: {{ .Values.functional.filestore.sharing.external.expiry.activeByDefault }}
|
||||||
|
defaultExternalExpireEnforced: {{ .Values.functional.filestore.sharing.external.expiry.enforced }}
|
||||||
|
defaultExternalExpireDays: {{ .Values.functional.filestore.sharing.external.expiry.defaultDays | quote }}
|
||||||
smtp:
|
smtp:
|
||||||
auth:
|
auth:
|
||||||
|
enabled: false
|
||||||
username:
|
username:
|
||||||
value: {{ .Values.smtp.username | quote }}
|
value: ""
|
||||||
password:
|
password:
|
||||||
value: {{ .Values.smtp.password | quote }}
|
value: ""
|
||||||
host: {{ .Values.smtp.host | quote }}
|
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
port: {{ .Values.smtp.port | quote }}
|
port: 25
|
||||||
fromAddress: {{ .Values.smtp.localpartNoReply | quote }}
|
fromAddress: {{ .Values.smtp.localpartNoReply | quote }}
|
||||||
mailDomain: "{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.nextcloud }}.{{ end }}{{ .Values.global.domain }}"
|
mailDomain: "{{ .Values.global.domain }}"
|
||||||
|
security: ""
|
||||||
|
skipVerifyPeer: true
|
||||||
quota:
|
quota:
|
||||||
default: "{{ .Values.functional.filestore.quota.default }} GB"
|
default: "{{ .Values.functional.filestore.quota.default }} GB"
|
||||||
retentionObligation:
|
retentionObligation:
|
||||||
@@ -112,7 +127,7 @@ debug:
|
|||||||
loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"2"{{ end }}
|
loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"2"{{ end }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.nextcloudManagement.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nextcloudManagement.registry | quote }}
|
||||||
repository: {{ .Values.images.nextcloudManagement.repository | quote }}
|
repository: {{ .Values.images.nextcloudManagement.repository | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
tag: {{ .Values.images.nextcloudManagement.tag | quote }}
|
tag: {{ .Values.images.nextcloudManagement.tag | quote }}
|
||||||
|
|||||||
@@ -28,10 +28,11 @@ exporter:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.nextcloudExporter | toYaml | nindent 6 }}
|
{{ .Values.seLinuxOptions.nextcloudExporter | toYaml | nindent 6 }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.nextcloudExporter.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nextcloudExporter.registry | quote }}
|
||||||
repository: "{{ .Values.images.nextcloudExporter.repository }}"
|
repository: "{{ .Values.images.nextcloudExporter.repository }}"
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
tag: {{ .Values.images.nextcloudExporter.tag | quote }}
|
tag: {{ .Values.images.nextcloudExporter.tag | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
prometheus:
|
prometheus:
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: {{ .Values.monitoring.prometheus.serviceMonitors.enabled }}
|
enabled: {{ .Values.monitoring.prometheus.serviceMonitors.enabled }}
|
||||||
@@ -87,10 +88,11 @@ php:
|
|||||||
debug:
|
debug:
|
||||||
loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"2"{{ end }}
|
loglevel: {{ if .Values.debug.enabled }}"0"{{ else }}"2"{{ end }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.nextcloudPHP.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nextcloudPHP.registry | quote }}
|
||||||
repository: "{{ .Values.images.nextcloudPHP.repository }}"
|
repository: "{{ .Values.images.nextcloudPHP.repository }}"
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
tag: {{ .Values.images.nextcloudPHP.tag | quote }}
|
tag: {{ .Values.images.nextcloudPHP.tag | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
prometheus:
|
prometheus:
|
||||||
serviceMonitor:
|
serviceMonitor:
|
||||||
enabled: {{ .Values.monitoring.prometheus.serviceMonitors.enabled }}
|
enabled: {{ .Values.monitoring.prometheus.serviceMonitors.enabled }}
|
||||||
@@ -138,10 +140,11 @@ apache2:
|
|||||||
tls:
|
tls:
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.nextcloudApache2.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nextcloudApache2.registry | quote }}
|
||||||
repository: {{ .Values.images.nextcloudApache2.repository | quote }}
|
repository: {{ .Values.images.nextcloudApache2.repository | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
tag: {{ .Values.images.nextcloudApache2.tag | quote }}
|
tag: {{ .Values.images.nextcloudApache2.tag | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
replicaCount: {{ .Values.replicas.nextcloudApache2 }}
|
replicaCount: {{ .Values.replicas.nextcloudApache2 }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.nextcloudApache2 | toYaml | nindent 4 }}
|
{{ .Values.resources.nextcloudApache2 | toYaml | nindent 4 }}
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url:
|
url:
|
||||||
"{{ .Values.global.helmRegistry | default .Values.charts.nubus.registry }}/\
|
"{{ .Values.global.helmRegistry | default .Values.charts.nubus.registry }}/{{ .Values.charts.nubus.repository }}"
|
||||||
{{ .Values.charts.nubus.repository }}"
|
|
||||||
# OpenDesk Keycloak Bootstrap Chart
|
# OpenDesk Keycloak Bootstrap Chart
|
||||||
- name: "opendesk-keycloak-bootstrap-repo"
|
- name: "opendesk-keycloak-bootstrap-repo"
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
@@ -19,8 +18,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.opendeskKeycloakBootstrap.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.opendeskKeycloakBootstrap.registry }}/{{ .Values.charts.opendeskKeycloakBootstrap.repository }}"
|
||||||
{{ .Values.charts.opendeskKeycloakBootstrap.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
# Univention Management Stack Umbrella Chart
|
# Univention Management Stack Umbrella Chart
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/nubus/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/nubus/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
global:
|
global:
|
||||||
nubusDeployment: true
|
nubusDeployment: true
|
||||||
@@ -7,8 +9,11 @@ global:
|
|||||||
baseDn: {{ .Values.ldap.baseDn | quote }}
|
baseDn: {{ .Values.ldap.baseDn | quote }}
|
||||||
domainName: {{ .Values.global.domain | quote }}
|
domainName: {{ .Values.global.domain | quote }}
|
||||||
domain: {{ .Values.global.domain | quote }}
|
domain: {{ .Values.global.domain | quote }}
|
||||||
|
subDomains:
|
||||||
|
portal: {{ .Values.global.hosts.nubus | quote }}
|
||||||
|
keycloak: {{ .Values.global.hosts.keycloak | quote }}
|
||||||
ingressClass: {{ .Values.ingress.ingressClassName | default "nginx" | quote }}
|
ingressClass: {{ .Values.ingress.ingressClassName | default "nginx" | quote }}
|
||||||
certManagerIssuer: "letsencrypt-prod-dns"
|
certManagerIssuer: {{ .Values.certificate.issuerRef.name | quote }}
|
||||||
nubusMasterPassword: {{ env "MASTER_PASSWORD" | default "sovereign-workplace" | quote }}
|
nubusMasterPassword: {{ env "MASTER_PASSWORD" | default "sovereign-workplace" | quote }}
|
||||||
keycloak:
|
keycloak:
|
||||||
realm: {{ .Values.platform.realm | quote }}
|
realm: {{ .Values.platform.realm | quote }}
|
||||||
@@ -24,21 +29,45 @@ global:
|
|||||||
defaultUsers:
|
defaultUsers:
|
||||||
defaultAdminPassword: {{ .Values.secrets.nubus.defaultAccounts.adminPassword | quote}}
|
defaultAdminPassword: {{ .Values.secrets.nubus.defaultAccounts.adminPassword | quote}}
|
||||||
defaultUserPassword: {{ .Values.secrets.nubus.defaultAccounts.userPassword | quote}}
|
defaultUserPassword: {{ .Values.secrets.nubus.defaultAccounts.userPassword | quote}}
|
||||||
|
defaultAdministratorPassword: {{ .Values.secrets.nubus.systemAccounts.administratorPassword | quote}}
|
||||||
|
portalConsumer:
|
||||||
|
minio:
|
||||||
|
accessKey: {{ .Values.objectstores.nubus.username | quote }}
|
||||||
|
secretKey: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
||||||
|
provisioningApi:
|
||||||
|
password: {{ .Values.secrets.nubus.portalConsumer.provisioningApiPassword | quote}}
|
||||||
|
provisioning:
|
||||||
|
api:
|
||||||
|
adminPassword: {{ .Values.secrets.nubus.provisioning.api.adminPassword | quote}}
|
||||||
|
natsPassword: {{ .Values.secrets.nubus.provisioning.api.natsPassword | quote}}
|
||||||
|
prefillPassword: {{ .Values.secrets.nubus.provisioning.api.prefillPassword | quote}}
|
||||||
|
udmTransformerPassword: {{ .Values.secrets.nubus.provisioning.api.udmTransformerPassword | quote}}
|
||||||
|
dispatcher:
|
||||||
|
natsPassword: {{ .Values.secrets.nubus.provisioning.dispatcherNatsPassword | quote}}
|
||||||
|
nats:
|
||||||
|
adminPassword: {{ .Values.secrets.nats.natsAdminPassword | quote}}
|
||||||
|
prefill:
|
||||||
|
natsPassword: {{ .Values.secrets.nubus.provisioning.prefillNatsPassword | quote}}
|
||||||
|
udmTransformer:
|
||||||
|
natsPassword: {{ .Values.secrets.nubus.provisioning.udmTransformerNatsPassword | quote}}
|
||||||
|
selfserviceConsumer:
|
||||||
|
provisioningApi:
|
||||||
|
password: {{ .Values.secrets.nubus.selfserviceConsumer.provisioningApiPassword | quote}}
|
||||||
|
|
||||||
# -- Extensions to load. Add entries to load additional extensions into Nubus.
|
# -- Extensions to load. Add entries to load additional extensions into Nubus.
|
||||||
extensions:
|
extensions:
|
||||||
- name: "ox"
|
- name: "ox"
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusOxExtension.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOxExtension.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusOxExtension.repository }}
|
repository: {{ .Values.images.nubusOxExtension.repository }}
|
||||||
tag: {{ .Values.images.nubusOxExtension.tag }}
|
tag: {{ .Values.images.nubusOxExtension.tag }}
|
||||||
imagePullPolicy: "IfNotPresent"
|
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||||
- name: "opendesk"
|
- name: "opendesk"
|
||||||
image:
|
image:
|
||||||
registry: "registry.opencode.de"
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpendeskExtension.registry | quote }}
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
repository: {{ .Values.images.nubusOpendeskExtension.repository }}
|
||||||
imagePullPolicy: "IfNotPresent"
|
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||||
tag: "1.1.0"
|
tag: {{ .Values.images.nubusOpendeskExtension.tag }}
|
||||||
|
|
||||||
# -- Allows to configure the system extensions to load. This is intended for
|
# -- Allows to configure the system extensions to load. This is intended for
|
||||||
# internal usage, prefer to use `global.extensions` for user configured
|
# internal usage, prefer to use `global.extensions` for user configured
|
||||||
@@ -46,10 +75,72 @@ global:
|
|||||||
systemExtensions:
|
systemExtensions:
|
||||||
- name: "portal"
|
- name: "portal"
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusPortalExtension.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalExtension.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusPortalExtension.repository }}
|
repository: {{ .Values.images.nubusPortalExtension.repository }}
|
||||||
tag: {{ .Values.images.nubusPortalExtension.tag }}
|
tag: {{ .Values.images.nubusPortalExtension.tag }}
|
||||||
imagePullPolicy: "IfNotPresent"
|
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
|
||||||
|
configUcr:
|
||||||
|
directory:
|
||||||
|
manager:
|
||||||
|
web:
|
||||||
|
modules:
|
||||||
|
users:
|
||||||
|
user:
|
||||||
|
add:
|
||||||
|
default: cn=openDesk User,cn=templates,cn=univention,{{ .Values.ldap.baseDn }}
|
||||||
|
properties:
|
||||||
|
description:
|
||||||
|
syntax: TextArea
|
||||||
|
firstname:
|
||||||
|
required: "true"
|
||||||
|
mailPrimaryAddress:
|
||||||
|
required: "true"
|
||||||
|
username:
|
||||||
|
syntax: uid
|
||||||
|
search:
|
||||||
|
autosearch: "False"
|
||||||
|
wizard:
|
||||||
|
property:
|
||||||
|
invite:
|
||||||
|
default: "True"
|
||||||
|
overridePWLength:
|
||||||
|
default: "False"
|
||||||
|
visible: "False"
|
||||||
|
pwdChangeNextLogin:
|
||||||
|
default: "True"
|
||||||
|
visible: "False"
|
||||||
|
wizard:
|
||||||
|
disabled: "No"
|
||||||
|
|
||||||
|
ucs:
|
||||||
|
web:
|
||||||
|
theme: light
|
||||||
|
|
||||||
|
umc:
|
||||||
|
cookie-banner:
|
||||||
|
show: "false"
|
||||||
|
login:
|
||||||
|
password-complexity-message:
|
||||||
|
de: "Das Passwort muss den folgenden Anforderungen entsprechen:<br><ul><li>Mindestlänge: 8 Zeichen</li></ul>Anmerkung: Wird befinden uns nicht in einer Produktivumgebung."
|
||||||
|
en: "Password must comply with the following rules:<br><ul><li>Minimum length: 8 characters</li></ul>Note: We are in a non production (dev/test/demo) system."
|
||||||
|
module:
|
||||||
|
udm:
|
||||||
|
oxmail:
|
||||||
|
oxcontext:
|
||||||
|
disabled: "True"
|
||||||
|
portals:
|
||||||
|
all:
|
||||||
|
disabled: "True"
|
||||||
|
self-service:
|
||||||
|
passwordreset:
|
||||||
|
token_validity_period: 172800
|
||||||
|
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
# Nubus bundled services
|
# Nubus bundled services
|
||||||
postgresql:
|
postgresql:
|
||||||
@@ -83,9 +174,15 @@ keycloak:
|
|||||||
|
|
||||||
nubusGuardian:
|
nubusGuardian:
|
||||||
provisioning:
|
provisioning:
|
||||||
enabled: true
|
enabled: false
|
||||||
config:
|
config:
|
||||||
|
nubusBaseUrl: {{ printf "https://%s.%s" .Values.global.hosts.nubus .Values.global.domain }}
|
||||||
keycloak:
|
keycloak:
|
||||||
|
realm: {{ .Values.platform.realm | quote }}
|
||||||
|
username: "kcadmin"
|
||||||
|
connection:
|
||||||
|
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "http://ums-keycloak:8080"
|
||||||
credentialSecret:
|
credentialSecret:
|
||||||
name: "ums-opendesk-keycloak-credentials"
|
name: "ums-opendesk-keycloak-credentials"
|
||||||
key: "admin_password"
|
key: "admin_password"
|
||||||
@@ -93,7 +190,12 @@ nubusGuardian:
|
|||||||
credentialSecret:
|
credentialSecret:
|
||||||
name: "ums-opendesk-guardian-client-secret"
|
name: "ums-opendesk-guardian-client-secret"
|
||||||
key: "managementApiClientSecret"
|
key: "managementApiClientSecret"
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
postgresql:
|
postgresql:
|
||||||
connection:
|
connection:
|
||||||
host: {{ .Values.databases.umsGuardianManagementApi.host | quote }}
|
host: {{ .Values.databases.umsGuardianManagementApi.host | quote }}
|
||||||
@@ -114,7 +216,18 @@ nubusNotificationsApi:
|
|||||||
username: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
username: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
||||||
database: {{ .Values.databases.umsNotificationsApi.name | quote }}
|
database: {{ .Values.databases.umsNotificationsApi.name | quote }}
|
||||||
existingSecret: "ums-notifications-api-postgresql-opendesk-credentials"
|
existingSecret: "ums-notifications-api-postgresql-opendesk-credentials"
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
nubusPortalFrontend:
|
||||||
|
ingress:
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName }}
|
||||||
|
|
||||||
nubusKeycloakExtensions:
|
nubusKeycloakExtensions:
|
||||||
keycloak:
|
keycloak:
|
||||||
@@ -138,6 +251,11 @@ nubusKeycloakExtensions:
|
|||||||
path: "/resources/"
|
path: "/resources/"
|
||||||
- pathType: "Prefix"
|
- pathType: "Prefix"
|
||||||
path: "/fingerprintjs"
|
path: "/fingerprintjs"
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
@@ -152,10 +270,13 @@ nubusKeycloakExtensions:
|
|||||||
key: "umcKeycloakExtensionsDatabasePassword"
|
key: "umcKeycloakExtensionsDatabasePassword"
|
||||||
smtp:
|
smtp:
|
||||||
connection:
|
connection:
|
||||||
host: {{ .Values.smtp.host | quote }}
|
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
port: {{ .Values.smtp.port | quote }}
|
port: 25
|
||||||
|
ssl: false
|
||||||
|
starttls: false
|
||||||
auth:
|
auth:
|
||||||
username: {{ .Values.smtp.username | quote }}
|
enabled: false
|
||||||
|
username: ""
|
||||||
credentialSecret:
|
credentialSecret:
|
||||||
name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
||||||
key: "umcKeycloakExtensionsSmtpPassword"
|
key: "umcKeycloakExtensionsSmtpPassword"
|
||||||
@@ -163,16 +284,27 @@ nubusKeycloakExtensions:
|
|||||||
appConfig:
|
appConfig:
|
||||||
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"WARN"{{ end }}
|
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"WARN"{{ end }}
|
||||||
newDeviceLoginSubject: "New device login on your {{ .Values.theme.texts.productName }} account"
|
newDeviceLoginSubject: "New device login on your {{ .Values.theme.texts.productName }} account"
|
||||||
mailFrom: "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.keycloak }}.{{ end }}{{ .Values.global.domain }}"
|
mailFrom: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
|
|
||||||
|
nubusPortalFrontend:
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
nubusPortalListener:
|
nubusPortalListener:
|
||||||
portalListener:
|
enabled: false
|
||||||
|
|
||||||
|
nubusPortalConsumer:
|
||||||
|
enabled: true
|
||||||
|
portalConsumer:
|
||||||
|
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"INFO"{{ end }}
|
||||||
objectStorageEndpoint: {{ .Values.objectstores.nubus.endpoint | default (printf "https://%s.%s" .Values.global.hosts.minioApi .Values.global.domain) | quote }}
|
objectStorageEndpoint: {{ .Values.objectstores.nubus.endpoint | default (printf "https://%s.%s" .Values.global.hosts.minioApi .Values.global.domain) | quote }}
|
||||||
objectStorageBucket: {{ .Values.objectstores.nubus.bucket | quote }}
|
objectStorageBucket: {{ .Values.objectstores.nubus.bucket | quote }}
|
||||||
objectStorageCredentialSecret:
|
provisioningApi:
|
||||||
name: "ums-portal-listener-minio-opendesk-credentials"
|
auth:
|
||||||
accessKeyKey: "access-key-id"
|
username: "portal-consumer"
|
||||||
secretKeyKey: "secret-key-id"
|
|
||||||
|
|
||||||
nubusPortalServer:
|
nubusPortalServer:
|
||||||
portalServer:
|
portalServer:
|
||||||
@@ -185,19 +317,43 @@ nubusPortalServer:
|
|||||||
centralNavigation:
|
centralNavigation:
|
||||||
enabled: true
|
enabled: true
|
||||||
authenticatorSecretName: "ums-opendesk-portal-server-central-navigation"
|
authenticatorSecretName: "ums-opendesk-portal-server-central-navigation"
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
nubusUdmRestApi:
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
# NOTE: disabled until the next update.
|
|
||||||
nubusProvisioning:
|
nubusProvisioning:
|
||||||
enabled: false
|
nats:
|
||||||
nubusUdmListener:
|
config:
|
||||||
enabled: false
|
lame_duck_grace_period: |
|
||||||
nubusSelfServiceListener:
|
10s
|
||||||
|
max_payload: 16MB
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
nubusUdmListener:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
nubusSelfServiceListener:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
nubusSelfServiceConsumer:
|
||||||
enabled: true
|
enabled: true
|
||||||
selfserviceListener:
|
|
||||||
umcAdminUser: "default.admin"
|
|
||||||
|
|
||||||
# Nubus services
|
# Nubus services
|
||||||
nubusStackDataUms:
|
nubusStackDataUms:
|
||||||
|
additionalAnnotations:
|
||||||
|
argocd.argoproj.io/hook: "Sync"
|
||||||
|
argocd.argoproj.io/hook-delete-policy: "HookSucceeded"
|
||||||
stackDataContext:
|
stackDataContext:
|
||||||
umcPostgresqlHostname: {{ .Values.databases.umsSelfservice.host | quote }}
|
umcPostgresqlHostname: {{ .Values.databases.umsSelfservice.host | quote }}
|
||||||
umcPostgresqlUsername: {{ .Values.databases.umsSelfservice.username | quote }}
|
umcPostgresqlUsername: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||||
@@ -205,27 +361,12 @@ nubusStackDataUms:
|
|||||||
umcMemcachedUsername: ""
|
umcMemcachedUsername: ""
|
||||||
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
||||||
umcHtmlTitle: "openDesk Portal"
|
umcHtmlTitle: "openDesk Portal"
|
||||||
installUmcPolicies: true
|
smtpHost: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
nubusUmcServer:
|
smtpPort: 25
|
||||||
memcached:
|
smtpUser: ""
|
||||||
auth:
|
smtpStartTls: false
|
||||||
username: ""
|
|
||||||
|
|
||||||
# TODO: Remove values when upstreaming fixes
|
|
||||||
nubusStackDataSwp:
|
|
||||||
stackDataContext:
|
|
||||||
ldapSearchUsers:
|
|
||||||
{{- range $username, $password := .Values.secrets.nubus.ldapSearch }}
|
|
||||||
- username: {{ printf "ldapsearch_%s" $username | quote }}
|
|
||||||
password: {{ $password | quote }}
|
|
||||||
lastname: "LDAP-Search-User"
|
|
||||||
{{- end }}
|
|
||||||
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
|
||||||
smtpHost: {{ .Values.smtp.host | quote }}
|
|
||||||
smtpPort: {{ .Values.smtp.port | quote }}
|
|
||||||
smtpUser: {{ .Values.smtp.username | quote }}
|
|
||||||
ldapBase: {{ .Values.ldap.baseDn }}
|
ldapBase: {{ .Values.ldap.baseDn }}
|
||||||
# FIXME: Should be templated correctly in the future
|
templateContext:
|
||||||
portalRealtimeCollaborationLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.element .Values.global.domain }}
|
portalRealtimeCollaborationLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.element .Values.global.domain }}
|
||||||
portalRealtimeVideoconferenceLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.jitsi .Values.global.domain }}
|
portalRealtimeVideoconferenceLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.jitsi .Values.global.domain }}
|
||||||
portalManagementProjectLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.openproject .Values.global.domain }}
|
portalManagementProjectLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.openproject .Values.global.domain }}
|
||||||
@@ -235,6 +376,48 @@ nubusStackDataSwp:
|
|||||||
portalTitleDE: "openDesk Portal"
|
portalTitleDE: "openDesk Portal"
|
||||||
portalTitleEN: "openDesk Portal"
|
portalTitleEN: "openDesk Portal"
|
||||||
oxDefaultContext: "1"
|
oxDefaultContext: "1"
|
||||||
|
ldapSearchUsers:
|
||||||
|
{{- range $username, $password := .Values.secrets.nubus.ldapSearch }}
|
||||||
|
- username: {{ printf "ldapsearch_%s" $username | quote }}
|
||||||
|
password: {{ $password | quote }}
|
||||||
|
lastname: "LDAP-Search-User"
|
||||||
|
{{- end }}
|
||||||
|
ldapSystemUsers: []
|
||||||
|
portaltileGroupUserStandard:
|
||||||
|
- 'cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
- 'cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupUserAdmin:
|
||||||
|
- 'cn=Domain Admins,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
- 'cn=Support,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupUserAll:
|
||||||
|
- 'cn=Domain Admins,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
- 'cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupGroupware:
|
||||||
|
- 'cn=managed-by-attribute-Groupware,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupFileshare:
|
||||||
|
- 'cn=managed-by-attribute-Fileshare,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupManagementProject:
|
||||||
|
- 'cn=managed-by-attribute-Projectmanagement,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupManagementKnowledge:
|
||||||
|
- 'cn=managed-by-attribute-Knowledgemanagement,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupManagementLearn:
|
||||||
|
- 'cn=managed-by-attribute-Learnmanagement,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupLiveCollaboration:
|
||||||
|
- 'cn=managed-by-attribute-Livecollaboration,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
systemInformation:
|
||||||
|
enabled: true
|
||||||
|
releaseVersion: "Release: {{ .Values.global.systemInformation.releaseVersion }}"
|
||||||
|
{{- if .Values.functional.admin.portal.deploymentInformation.enabled }}
|
||||||
|
deployDate: "Deployed: {{ now | date "2006-01-02T15:04:05-0700" }}"
|
||||||
|
{{- else }}
|
||||||
|
deployDate: "not available"
|
||||||
|
{{- end }}
|
||||||
|
# In openDesk the external memcache does not expect a username to be set. Overwriting
|
||||||
|
# the default username of `selfservice` is part of the customizing:
|
||||||
|
nubusUmcServer:
|
||||||
|
memcached:
|
||||||
|
auth:
|
||||||
|
username: ""
|
||||||
|
|
||||||
nubusUmcServer:
|
nubusUmcServer:
|
||||||
postgresql:
|
postgresql:
|
||||||
@@ -258,12 +441,26 @@ nubusUmcServer:
|
|||||||
smtp:
|
smtp:
|
||||||
credentialSecret:
|
credentialSecret:
|
||||||
name: "ums-umc-server-smtp-credentials-custom"
|
name: "ums-umc-server-smtp-credentials-custom"
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
nubusUmcGateway:
|
nubusUmcGateway:
|
||||||
umcGateway:
|
umcGateway:
|
||||||
umcHtmlTitle: "openDesk Portal"
|
umcHtmlTitle: "openDesk Portal"
|
||||||
|
ingress:
|
||||||
|
certManager:
|
||||||
|
enabled: false
|
||||||
|
tls:
|
||||||
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
nubusKeycloakBootstrap:
|
nubusKeycloakBootstrap:
|
||||||
|
additionalAnnotations:
|
||||||
|
argocd.argoproj.io/hook: "Sync"
|
||||||
keycloak:
|
keycloak:
|
||||||
auth:
|
auth:
|
||||||
username: "kcadmin"
|
username: "kcadmin"
|
||||||
@@ -277,6 +474,11 @@ nubusKeycloakBootstrap:
|
|||||||
twoFactorAuthentication:
|
twoFactorAuthentication:
|
||||||
enabled: true
|
enabled: true
|
||||||
group: "2fa-users"
|
group: "2fa-users"
|
||||||
|
ldap:
|
||||||
|
auth:
|
||||||
|
bindDn: {{ printf "uid=ldapsearch_keycloak,cn=users,%s" .Values.ldap.baseDn }}
|
||||||
|
credentialSecret:
|
||||||
|
name: "ums-keycloak-bootstrap-ldap-opendesk-credentials"
|
||||||
|
|
||||||
# Credential secrets for accessing customer supplied services
|
# Credential secrets for accessing customer supplied services
|
||||||
extraSecrets:
|
extraSecrets:
|
||||||
@@ -309,15 +511,14 @@ extraSecrets:
|
|||||||
umcKeycloakExtensionsDatabasePassword: {{ .Values.databases.keycloakExtension.password | default .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
umcKeycloakExtensionsDatabasePassword: {{ .Values.databases.keycloakExtension.password | default .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
||||||
- name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
- name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
||||||
stringData:
|
stringData:
|
||||||
umcKeycloakExtensionsSmtpPassword: {{ .Values.smtp.password | quote }}
|
umcKeycloakExtensionsSmtpPassword: ""
|
||||||
- name: "ums-portal-server-minio-opendesk-credentials"
|
- name: "ums-keycloak-bootstrap-ldap-opendesk-credentials"
|
||||||
stringData:
|
stringData:
|
||||||
access-key-id: {{ .Values.objectstores.nubus.username | quote }}
|
password: {{ .Values.secrets.nubus.ldapSearch.keycloak | quote }}
|
||||||
secret-key-id: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
- name: "ums-portal-server-minio-opendesk-credentials"
|
||||||
- name: "ums-portal-listener-minio-opendesk-credentials"
|
|
||||||
stringData:
|
stringData:
|
||||||
access-key-id: {{ .Values.objectstores.nubus.username | quote }}
|
access-key-id: {{ .Values.objectstores.nubus.username | quote }}
|
||||||
secret-key-id: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
secret-key-id: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
||||||
- name: "ums-umc-server-smtp-credentials-custom"
|
- name: "ums-umc-server-smtp-credentials-custom"
|
||||||
stringData:
|
stringData:
|
||||||
password: {{ .Values.smtp.password | quote }}
|
password: ""
|
||||||
|
|||||||
@@ -1,35 +1,130 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
keycloak:
|
keycloak:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsKeycloak | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-keycloak"
|
intents.otterize.com/service-name: "ums-keycloak"
|
||||||
replicaCount: {{ .Values.replicas.keycloak }}
|
replicaCount: {{ .Values.replicas.keycloak }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsKeycloak | toYaml | nindent 4 }}
|
{{ .Values.resources.umsKeycloak | toYaml | nindent 4 }}
|
||||||
|
|
||||||
guardian:
|
nubusGuardian:
|
||||||
authorizationApi:
|
authorizationApi:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-guardian-authorization-api"
|
intents.otterize.com/service-name: "ums-guardian-authorization-api"
|
||||||
|
podSecurityContext:
|
||||||
|
fsGroup: 1000
|
||||||
|
fsGroupChangePolicy: "Always"
|
||||||
|
replicaCount: {{ .Values.replicas.umsGuardianAuthorizationApi }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsGuardianAuthorizationApi | toYaml | nindent 6 }}
|
{{ .Values.resources.umsGuardianAuthorizationApi | toYaml | nindent 6 }}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsGroup: 1000
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsGuardianAuthorizationApi | toYaml | nindent 8 }}
|
||||||
managementApi:
|
managementApi:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-guardian-management-api"
|
intents.otterize.com/service-name: "ums-guardian-management-api"
|
||||||
|
podSecurityContext:
|
||||||
|
fsGroup: 1000
|
||||||
|
fsGroupChangePolicy: "Always"
|
||||||
|
replicaCount: {{ .Values.replicas.umsGuardianManagementApi }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsGuardianManagementApi | toYaml | nindent 6 }}
|
{{ .Values.resources.umsGuardianManagementApi | toYaml | nindent 6 }}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsGroup: 1000
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsGuardianManagementApi | toYaml | nindent 8 }}
|
||||||
managementUi:
|
managementUi:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-guardian-management-ui"
|
intents.otterize.com/service-name: "ums-guardian-management-ui"
|
||||||
|
replicaCount: {{ .Values.replicas.umsGuardianManagementUi }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsGuardianManagementUi | toYaml | nindent 6 }}#
|
{{ .Values.resources.umsGuardianManagementUi | toYaml | nindent 6 }}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsGroup: 1000
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsGuardianManagementUi | toYaml | nindent 8 }}
|
||||||
openPolicyAgent:
|
openPolicyAgent:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
|
podSecurityContext:
|
||||||
|
fsGroup: 1000
|
||||||
|
fsGroupChangePolicy: "Always"
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-ums-open-policy-agent"
|
intents.otterize.com/service-name: "ums-ums-open-policy-agent"
|
||||||
|
replicaCount: {{ .Values.replicas.umsGuardianOpenPolicyAgent }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsOpenPolicyAgent | toYaml | nindent 6 }}
|
{{ .Values.resources.umsOpenPolicyAgent | toYaml | nindent 6 }}
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
privileged: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsGroup: 1000
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsGuardianOpenPolicyAgent | toYaml | nindent 8 }}
|
||||||
provisioning:
|
provisioning:
|
||||||
# Using openDesk keycloak provisioning
|
# Using openDesk keycloak provisioning
|
||||||
enabled: false
|
enabled: false
|
||||||
@@ -37,9 +132,24 @@ guardian:
|
|||||||
nubusNotificationsApi:
|
nubusNotificationsApi:
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-notifications-api"
|
intents.otterize.com/service-name: "ums-notifications-api"
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsNotificationsApi | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
create: true
|
||||||
intended.usage: "compliance"
|
|
||||||
replicaCount: {{ .Values.replicas.umsNotificationsApi }}
|
replicaCount: {{ .Values.replicas.umsNotificationsApi }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsNotificationsApi | toYaml | nindent 4 }}
|
{{ .Values.resources.umsNotificationsApi | toYaml | nindent 4 }}
|
||||||
@@ -47,7 +157,40 @@ nubusNotificationsApi:
|
|||||||
nubusUmcServer:
|
nubusUmcServer:
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-umc-server"
|
intents.otterize.com/service-name: "ums-umc-server"
|
||||||
|
containerSecurityContext:
|
||||||
|
enabled: true
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
runAsUser: 0
|
||||||
|
runAsGroup: 0
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }}
|
||||||
|
containerSecurityContextInit:
|
||||||
|
enabled: true
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
runAsUser: 0
|
||||||
|
runAsGroup: 0
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: false
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsUmcServer | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
proxy:
|
||||||
|
replicaCount: {{ .Values.replicas.umsUmcServerProxy }}
|
||||||
replicaCount: {{ .Values.replicas.umsUmcServer }}
|
replicaCount: {{ .Values.replicas.umsUmcServer }}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsUmcServer | toYaml | nindent 4 }}
|
{{ .Values.resources.umsUmcServer | toYaml | nindent 4 }}
|
||||||
selfService:
|
selfService:
|
||||||
@@ -69,39 +212,111 @@ nubusUmcServer:
|
|||||||
|
|
||||||
nubusKeycloakExtensions:
|
nubusKeycloakExtensions:
|
||||||
handler:
|
handler:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
replicaCount: {{ .Values.replicas.umsKeycloakExtensionsHandler }}
|
replicaCount: {{ .Values.replicas.umsKeycloakExtensionsHandler }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-keycloak-extensions-handler"
|
intents.otterize.com/service-name: "ums-keycloak-extensions-handler"
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsKeycloakExtensionHandler | toYaml | nindent 6 }}
|
{{ .Values.resources.umsKeycloakExtensionHandler | toYaml | nindent 6 }}
|
||||||
|
securityContext:
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsKeycloakExtensionHandler | toYaml | nindent 8 }}
|
||||||
proxy:
|
proxy:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
replicaCount: {{ .Values.replicas.umsKeycloakExtensionsProxy }}
|
replicaCount: {{ .Values.replicas.umsKeycloakExtensionsProxy }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-keycloak-extensions-proxy"
|
intents.otterize.com/service-name: "ums-keycloak-extensions-proxy"
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 6 }}
|
{{ .Values.resources.umsKeycloakExtensionProxy | toYaml | nindent 6 }}
|
||||||
|
securityContext:
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsKeycloakExtensionHandler | toYaml | nindent 8 }}
|
||||||
|
|
||||||
nubusPortalListener:
|
nubusPortalConsumer:
|
||||||
|
image:
|
||||||
|
pullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-portal-listener"
|
intents.otterize.com/service-name: "ums-portal-consumer"
|
||||||
replicaCount: {{ .Values.replicas.umsPortalListener }}
|
replicaCount: {{ .Values.replicas.umsPortalConsumer }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsPortalListener | toYaml | nindent 4 }}
|
{{ .Values.resources.umsPortalConsumer | toYaml | nindent 4 }}
|
||||||
|
resourcesWaitForDependency:
|
||||||
|
{{ .Values.resources.umsPortalConsumerDependencies | toYaml | nindent 4 }}
|
||||||
persistence:
|
persistence:
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
size: {{ .Values.persistence.size.nubus.portalListener | quote }}
|
size: {{ .Values.persistence.size.nubus.portalConsumer | quote }}
|
||||||
|
|
||||||
|
|
||||||
|
nubusUdmListener:
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 102
|
||||||
|
runAsGroup: 65534
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsUdmListener | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
replicaCount: {{ .Values.replicas.umsUdmListener }}
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.umsUdmListener | toYaml | nindent 4 }}
|
||||||
|
|
||||||
nubusPortalServer:
|
nubusPortalServer:
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-portal-server"
|
intents.otterize.com/service-name: "ums-portal-server"
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsPortalServer | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
create: true
|
||||||
intended.usage: "compliance"
|
|
||||||
replicaCount: {{ .Values.replicas.umsPortalServer }}
|
replicaCount: {{ .Values.replicas.umsPortalServer }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsPortalServer | toYaml | nindent 4 }}
|
{{ .Values.resources.umsPortalServer | toYaml | nindent 4 }}
|
||||||
|
|
||||||
nubusLdapNotifier:
|
nubusLdapNotifier:
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 101
|
||||||
|
runAsGroup: 102
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsLdapNotifier | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-ldap-notifier"
|
intents.otterize.com/service-name: "ums-ldap-notifier"
|
||||||
replicaCount: {{ .Values.replicas.umsLdapNotifier }}
|
replicaCount: {{ .Values.replicas.umsLdapNotifier }}
|
||||||
@@ -109,23 +324,95 @@ nubusLdapNotifier:
|
|||||||
{{ .Values.resources.umsLdapNotifier | toYaml | nindent 4 }}
|
{{ .Values.resources.umsLdapNotifier | toYaml | nindent 4 }}
|
||||||
|
|
||||||
nubusLdapServer:
|
nubusLdapServer:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
highAvailabilityMode: false
|
||||||
|
replicaCountPrimary: 1
|
||||||
|
replicaCountSecondary: 0 # {{ .Values.replicas.umsLdapServerSecondary }}
|
||||||
|
replicaCountProxy: 0 # {{ .Values.replicas.umsLdapServerProxy }}
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-ldap-server"
|
intents.otterize.com/service-name: "ums-ldap-server"
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
create: true
|
||||||
intended.usage: "compliance"
|
|
||||||
initResources: {{ .Values.resources.umsLdapServer | toYaml | nindent 4 }}
|
initResources: {{ .Values.resources.umsLdapServer | toYaml | nindent 4 }}
|
||||||
resources: {{ .Values.resources.umsLdapServer | toYaml | nindent 4 }}
|
resources: {{ .Values.resources.umsLdapServer | toYaml | nindent 4 }}
|
||||||
persistence:
|
persistence:
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
size: {{ .Values.persistence.size.nubus.ldapServerData | quote }}
|
size: {{ .Values.persistence.size.nubus.ldapServerData | quote }}
|
||||||
|
extraVolumes:
|
||||||
|
- name: "migration-scripts"
|
||||||
|
secret:
|
||||||
|
secretName: "ums-ldap-server-migration"
|
||||||
|
defaultMode: 0555
|
||||||
|
extraVolumeMounts:
|
||||||
|
- name: "migration-scripts"
|
||||||
|
mountPath: "/entrypoint.d/30-purge.sh"
|
||||||
|
subPath: "30-purge.sh"
|
||||||
|
- name: "migration-scripts"
|
||||||
|
mountPath: "/entrypoint.d/95-slapadd-24-ldiff.sh"
|
||||||
|
subPath: "95-slapadd-24-ldif.sh"
|
||||||
|
extraSecrets:
|
||||||
|
- name: "ums-ldap-server-migration"
|
||||||
|
stringData:
|
||||||
|
30-purge.sh: |
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
me=$(basename "$0")
|
||||||
|
echo "- Running ${me}"
|
||||||
|
if [ -f /var/lib/univention-ldap/ldap-24-export.ldif ]; then
|
||||||
|
echo "- Cleaning up /var/lib/univention-ldap."
|
||||||
|
cd /var/lib/univention-ldap
|
||||||
|
rm -rf internal
|
||||||
|
rm -rf ldap
|
||||||
|
ls -l
|
||||||
|
else
|
||||||
|
echo "- File /var/lib/univention-ldap/ldap-24-export.ldif not found."
|
||||||
|
fi
|
||||||
|
95-slapadd-24-ldif.sh: |
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
me=$(basename "$0")
|
||||||
|
echo "- Running ${me}"
|
||||||
|
ls -l /var/lib/univention-ldap
|
||||||
|
if [ -f /var/lib/univention-ldap/ldap-24-export.ldif ]; then
|
||||||
|
echo "- slapadd-ing /var/lib/univention-ldap/ldap-24-export.ldif"
|
||||||
|
ls -l /var/lib/univention-ldap/
|
||||||
|
rm -rf /var/lib/univention-ldap/ldap
|
||||||
|
rm -rf /var/lib/univention-ldap/internal
|
||||||
|
echo "- deleted /var/lib/univention-ldap/ldap and /var/lib/univention-ldap/internal"
|
||||||
|
ls -l /var/lib/univention-ldap/
|
||||||
|
mkdir /var/lib/univention-ldap/ldap
|
||||||
|
mkdir /var/lib/univention-ldap/internal
|
||||||
|
echo "- created /var/lib/univention-ldap/ldap and /var/lib/univention-ldap/internal"
|
||||||
|
ls -l /var/lib/univention-ldap/
|
||||||
|
/usr/sbin/slapadd -v -l /var/lib/univention-ldap/ldap-24-export.ldif
|
||||||
|
echo "- slapadd executed"
|
||||||
|
ls -l /var/lib/univention-ldap/
|
||||||
|
mv /var/lib/univention-ldap/ldap-24-export.ldif /var/lib/univention-ldap/ldap-24-export.ldif-imported
|
||||||
|
echo "- import file renamed"
|
||||||
|
ls -l /var/lib/univention-ldap/
|
||||||
|
else
|
||||||
|
echo "- File /var/lib/univention-ldap/ldap-24-export.ldif not found."
|
||||||
|
fi
|
||||||
nubusPortalFrontend:
|
nubusPortalFrontend:
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-portal-frontend"
|
intents.otterize.com/service-name: "ums-portal-frontend"
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsPortalFrontend | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
create: true
|
||||||
intended.usage: "compliance"
|
|
||||||
replicaCount: {{ .Values.replicas.umsPortalFrontend }}
|
replicaCount: {{ .Values.replicas.umsPortalFrontend }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsPortalFrontend | toYaml | nindent 4 }}
|
{{ .Values.resources.umsPortalFrontend | toYaml | nindent 4 }}
|
||||||
@@ -142,22 +429,48 @@ nubusStackDataUms:
|
|||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsStackDataUms | toYaml | nindent 4 }}
|
{{ .Values.resources.umsStackDataUms | toYaml | nindent 4 }}
|
||||||
|
|
||||||
nubusStackDataSwp:
|
nubusSelfServiceConsumer:
|
||||||
additionalAnnotations:
|
containerSecurityContext:
|
||||||
intents.otterize.com/service-name: "ums-stack-data-swp"
|
allowPrivilegeEscalation: false
|
||||||
resources:
|
capabilities:
|
||||||
{{ .Values.resources.umsStackDataSwp | toYaml | nindent 4 }}
|
drop:
|
||||||
|
- "ALL"
|
||||||
nubusSelfServiceListener:
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsSelfserviceConsumer | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-selfservice-listener"
|
intents.otterize.com/service-name: "ums-selfservice-listener"
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsSelfserviceListener | toYaml | nindent 4 }}
|
{{ .Values.resources.umsSelfserviceConsumer | toYaml | nindent 4 }}
|
||||||
replicaCount: {{ .Values.replicas.umsSelfserviceListener }}
|
replicaCount: {{ .Values.replicas.umsSelfserviceConsumer }}
|
||||||
|
|
||||||
nubusUdmRestApi:
|
nubusUdmRestApi:
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-udm-rest-api"
|
intents.otterize.com/service-name: "ums-udm-rest-api"
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsUdmRestApi | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
annotations:
|
||||||
intended.usage: "compliance"
|
intended.usage: "compliance"
|
||||||
@@ -168,18 +481,25 @@ nubusUdmRestApi:
|
|||||||
replicaCount: {{ .Values.replicas.umsUdmRestApi }}
|
replicaCount: {{ .Values.replicas.umsUdmRestApi }}
|
||||||
|
|
||||||
nubusUmcGateway:
|
nubusUmcGateway:
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsUmcGateway | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
replicaCount: {{ .Values.replicas.umsUmcGateway }}
|
replicaCount: {{ .Values.replicas.umsUmcGateway }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsUmcGateway | toYaml | nindent 4 }}
|
{{ .Values.resources.umsUmcGateway | toYaml | nindent 4 }}
|
||||||
extraVolumes:
|
|
||||||
- name: "entrypoint-swp-patches"
|
|
||||||
configMap:
|
|
||||||
name: "ums-stack-data-swp-umc-gateway-entrypoint"
|
|
||||||
defaultMode: 0555
|
|
||||||
extraVolumeMounts:
|
|
||||||
- name: "entrypoint-swp-patches"
|
|
||||||
mountPath: "/entrypoint.d/90-swp.sh"
|
|
||||||
subPath: "90-swp.sh"
|
|
||||||
|
|
||||||
nubusKeycloakBootstrap:
|
nubusKeycloakBootstrap:
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
@@ -191,17 +511,56 @@ nubusKeycloakBootstrap:
|
|||||||
{{ .Values.resources.umsKeycloakBootstrap | toYaml | nindent 4 }}
|
{{ .Values.resources.umsKeycloakBootstrap | toYaml | nindent 4 }}
|
||||||
|
|
||||||
nubusProvisioning:
|
nubusProvisioning:
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsProvisioning | toYaml | nindent 6 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
replicaCount:
|
||||||
|
dispatcher: {{ .Values.replicas.umsProvisioningDispatcher }}
|
||||||
|
udmTransformer: {{ .Values.replicas.umsProvisioningUdmTransformer }}
|
||||||
|
prefill: {{ .Values.replicas.umsProvisioningPrefill }}
|
||||||
|
api: {{ .Values.replicas.umsProvisioningApi }}
|
||||||
|
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
create: true
|
||||||
intended.usage: "compliance"
|
|
||||||
nats:
|
nats:
|
||||||
|
config:
|
||||||
|
cluster:
|
||||||
|
replicas: {{ .Values.replicas.umsProvisioningNats }}
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- "ALL"
|
||||||
|
enabled: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.umsProvisioningNats | toYaml | nindent 8 }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 6 }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.nubusProvisioning.nats | toYaml | nindent 6 }}
|
{{ .Values.resources.nubusProvisioning.nats | toYaml | nindent 6 }}
|
||||||
additionalAnnotations:
|
additionalAnnotations:
|
||||||
intents.otterize.com/service-name: "ums-provisioning-nats"
|
intents.otterize.com/service-name: "ums-provisioning-nats"
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
annotations:
|
create: true
|
||||||
intended.usage: "compliance"
|
|
||||||
api:
|
api:
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.nubusProvisioning.api | toYaml | nindent 6 }}
|
{{ .Values.resources.nubusProvisioning.api | toYaml | nindent 6 }}
|
||||||
|
|||||||
@@ -1,241 +1,260 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
|
global:
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
keycloak:
|
keycloak:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusKeycloak.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloak.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusKeycloak.repository }}
|
repository: {{ .Values.images.nubusKeycloak.repository }}
|
||||||
tag: {{ .Values.images.nubusKeycloak.tag }}
|
tag: {{ .Values.images.nubusKeycloak.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusKeycloakBootstrap:
|
nubusKeycloakBootstrap:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusKeycloakBootstrap.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakBootstrap.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusKeycloakBootstrap.repository }}
|
repository: {{ .Values.images.nubusKeycloakBootstrap.repository }}
|
||||||
tag: {{ .Values.images.nubusKeycloakBootstrap.tag }}
|
tag: {{ .Values.images.nubusKeycloakBootstrap.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusKeycloakExtensions:
|
nubusKeycloakExtensions:
|
||||||
handler:
|
handler:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusKeycloakExtensionHandler.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakExtensionHandler.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusKeycloakExtensionHandler.repository }}
|
repository: {{ .Values.images.nubusKeycloakExtensionHandler.repository }}
|
||||||
tag: {{ .Values.images.nubusKeycloakExtensionHandler.tag }}
|
tag: {{ .Values.images.nubusKeycloakExtensionHandler.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusKeycloakExtensionProxy.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusKeycloakExtensionProxy.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusKeycloakExtensionProxy.repository }}
|
repository: {{ .Values.images.nubusKeycloakExtensionProxy.repository }}
|
||||||
tag: {{ .Values.images.nubusKeycloakExtensionProxy.tag }}
|
tag: {{ .Values.images.nubusKeycloakExtensionProxy.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusLdapNotifier:
|
nubusLdapNotifier:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusLdapNotifier.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapNotifier.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusLdapNotifier.repository }}
|
repository: {{ .Values.images.nubusLdapNotifier.repository }}
|
||||||
tag: {{ .Values.images.nubusLdapNotifier.tag }}
|
tag: {{ .Values.images.nubusLdapNotifier.tag }}
|
||||||
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusLdapServer:
|
nubusLdapServer:
|
||||||
ldapServer:
|
ldapServer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusLdapServer.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapServer.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusLdapServer.repository }}
|
repository: {{ .Values.images.nubusLdapServer.repository }}
|
||||||
tag: {{ .Values.images.nubusLdapServer.tag }}
|
tag: {{ .Values.images.nubusLdapServer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
dhInitcontainer:
|
dhInitcontainer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusLdapServerDhInitContainer.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusLdapServerDhInitContainer.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusLdapServerDhInitContainer.repository }}
|
repository: {{ .Values.images.nubusLdapServerDhInitContainer.repository }}
|
||||||
tag: {{ .Values.images.nubusLdapServerDhInitContainer.tag }}
|
tag: {{ .Values.images.nubusLdapServerDhInitContainer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
waitForDependency:
|
waitForDependency:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
|
nubusNotificationsApi:
|
||||||
|
image:
|
||||||
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusNotificationsApi.registry | quote }}
|
||||||
|
repository: {{ .Values.images.nubusNotificationsApi.repository }}
|
||||||
|
tag: {{ .Values.images.nubusNotificationsApi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
|
nubusPortalFrontend:
|
||||||
|
image:
|
||||||
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalFrontend.registry | quote }}
|
||||||
|
repository: {{ .Values.images.nubusPortalFrontend.repository }}
|
||||||
|
tag: {{ .Values.images.nubusPortalFrontend.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusPortalConsumer:
|
nubusPortalConsumer:
|
||||||
portalConsumer:
|
portalConsumer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusPortalConsumer.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalConsumer.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusPortalConsumer.repository }}
|
repository: {{ .Values.images.nubusPortalConsumer.repository }}
|
||||||
tag: {{ .Values.images.nubusPortalConsumer.tag }}
|
tag: {{ .Values.images.nubusPortalConsumer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusNotificationsApi:
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.images.nubusNotificationsApi.registry }}
|
|
||||||
repository: {{ .Values.images.nubusNotificationsApi.repository }}
|
|
||||||
tag: {{ .Values.images.nubusNotificationsApi.tag }}
|
|
||||||
|
|
||||||
nubusPortalFrontend:
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.images.nubusPortalFrontend.registry }}
|
|
||||||
repository: {{ .Values.images.nubusPortalFrontend.repository }}
|
|
||||||
tag: {{ .Values.images.nubusPortalFrontend.tag }}
|
|
||||||
|
|
||||||
nubusPortalListener:
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.images.nubusPortalListener.registry }}
|
|
||||||
repository: {{ .Values.images.nubusPortalListener.repository }}
|
|
||||||
tag: {{ .Values.images.nubusPortalListener.tag }}
|
|
||||||
waitForDependency:
|
waitForDependency:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusPortalServer:
|
nubusPortalServer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusPortalServer.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusPortalServer.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusPortalServer.repository }}
|
repository: {{ .Values.images.nubusPortalServer.repository }}
|
||||||
tag: {{ .Values.images.nubusPortalServer.tag }}
|
tag: {{ .Values.images.nubusPortalServer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusProvisioning:
|
nubusProvisioning:
|
||||||
api:
|
api:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningEventsAndConsumerApi.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.repository }}
|
repository: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.tag }}
|
tag: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
dispatcher:
|
dispatcher:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningDispatcher.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningDispatcher.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningDispatcher.repository }}
|
repository: {{ .Values.images.nubusProvisioningDispatcher.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningDispatcher.tag }}
|
tag: {{ .Values.images.nubusProvisioningDispatcher.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
udmTransformer:
|
udmTransformer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningUdmTransformer.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningUdmTransformer.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningUdmTransformer.repository }}
|
repository: {{ .Values.images.nubusProvisioningUdmTransformer.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningUdmTransformer.tag }}
|
tag: {{ .Values.images.nubusProvisioningUdmTransformer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
prefill:
|
prefill:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningPrefill.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningPrefill.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningPrefill.repository }}
|
repository: {{ .Values.images.nubusProvisioningPrefill.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningPrefill.tag }}
|
tag: {{ .Values.images.nubusProvisioningPrefill.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
registerConsumers:
|
registerConsumers:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
nats:
|
nats:
|
||||||
nats:
|
nats:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusNats.registry }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusNats.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusNats.repository }}
|
repository: {{ .Values.images.nubusNats.repository }}
|
||||||
tag: {{ .Values.images.nubusNats.tag }}
|
tag: {{ .Values.images.nubusNats.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
reloader:
|
reloader:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusNatsReloader.registry }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusNatsReloader.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusNatsReloader.repository }}
|
repository: {{ .Values.images.nubusNatsReloader.repository }}
|
||||||
tag: {{ .Values.images.nubusNatsReloader.tag }}
|
tag: {{ .Values.images.nubusNatsReloader.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
natsBox:
|
natsBox:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusNatsBox.registry }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusNatsBox.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusNatsBox.repository }}
|
repository: {{ .Values.images.nubusNatsBox.repository }}
|
||||||
tag: {{ .Values.images.nubusNatsBox.tag }}
|
tag: {{ .Values.images.nubusNatsBox.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusProvisioningEventsAndConsumerApi:
|
nubusProvisioningEventsAndConsumerApi:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningEventsAndConsumerApi.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.repository }}
|
repository: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.tag }}
|
tag: {{ .Values.images.nubusProvisioningEventsAndConsumerApi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusProvisioningPrefill:
|
nubusProvisioningPrefill:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningPrefill.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningPrefill.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningPrefill.repository }}
|
repository: {{ .Values.images.nubusProvisioningPrefill.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningPrefill.tag }}
|
tag: {{ .Values.images.nubusProvisioningPrefill.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusUdmListener:
|
nubusUdmListener:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusProvisioningUdmListener.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusProvisioningUdmListener.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusProvisioningUdmListener.repository }}
|
repository: {{ .Values.images.nubusProvisioningUdmListener.repository }}
|
||||||
tag: {{ .Values.images.nubusProvisioningUdmListener.tag }}
|
tag: {{ .Values.images.nubusProvisioningUdmListener.tag }}
|
||||||
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusSelfServiceListener:
|
nubusSelfServiceConsumer:
|
||||||
selfserviceListener:
|
image:
|
||||||
image:
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusSelfServiceConsumer.registry | quote }}
|
||||||
registry: {{ .Values.images.nubusSelfserviceListener.registry }}
|
repository: {{ .Values.images.nubusSelfServiceConsumer.repository }}
|
||||||
repository: {{ .Values.images.nubusSelfserviceListener.repository }}
|
tag: {{ .Values.images.nubusSelfServiceConsumer.tag }}
|
||||||
tag: {{ .Values.images.nubusSelfserviceListener.tag }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
selfserviceInvitation:
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.images.nubusSelfserviceInvitation.registry }}
|
|
||||||
repository: {{ .Values.images.nubusSelfserviceInvitation.repository }}
|
|
||||||
tag: {{ .Values.images.nubusSelfserviceInvitation.tag }}
|
|
||||||
waitForDependency:
|
waitForDependency:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusUdmRestApi:
|
nubusUdmRestApi:
|
||||||
# oxPlugin:
|
|
||||||
# image:
|
|
||||||
# registry: \{\{ .Values.images.nubusUdmRestApiOxPlugin.registry }}
|
|
||||||
# repository: \{\{ .Values.images.nubusUdmRestApiOxPlugin.repository }}
|
|
||||||
# tag: \{\{ .Values.images.nubusUdmRestApiOxPlugin.tag }}
|
|
||||||
# portalPlugin:
|
|
||||||
# image:
|
|
||||||
# registry: \{\{ .Values.images.nubusUdmRestApiPortalPlugin.registry }}
|
|
||||||
# repository: \{\{ .Values.images.nubusUdmRestApiPortalPlugin.repository }}
|
|
||||||
# tag: \{\{ .Values.images.nubusUdmRestApiPortalPlugin.tag }}
|
|
||||||
udmRestApi:
|
udmRestApi:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusUdmRestApi.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusUdmRestApi.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusUdmRestApi.repository }}
|
repository: {{ .Values.images.nubusUdmRestApi.repository }}
|
||||||
tag: {{ .Values.images.nubusUdmRestApi.tag }}
|
tag: {{ .Values.images.nubusUdmRestApi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusUmcGateway:
|
nubusUmcGateway:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusUmcGateway.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusUmcGateway.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusUmcGateway.repository }}
|
repository: {{ .Values.images.nubusUmcGateway.repository }}
|
||||||
tag: {{ .Values.images.nubusUmcGateway.tag }}
|
tag: {{ .Values.images.nubusUmcGateway.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusUmcServer:
|
nubusUmcServer:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusUmcServer.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusUmcServer.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusUmcServer.repository }}
|
repository: {{ .Values.images.nubusUmcServer.repository }}
|
||||||
tag: {{ .Values.images.nubusUmcServer.tag }}
|
tag: {{ .Values.images.nubusUmcServer.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
proxy:
|
||||||
|
image:
|
||||||
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.nubusUmcServerProxy.registry | quote }}
|
||||||
|
repository: {{ .Values.images.nubusUmcServerProxy.repository }}
|
||||||
|
tag: {{ .Values.images.nubusUmcServerProxy.tag }}
|
||||||
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusWaitForDependency:
|
nubusWaitForDependency:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusWaitForDependency.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusWaitForDependency.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
repository: {{ .Values.images.nubusWaitForDependency.repository }}
|
||||||
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
tag: {{ .Values.images.nubusWaitForDependency.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
|
|
||||||
nubusGuardian:
|
nubusGuardian:
|
||||||
provisioning:
|
provisioning:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusGuardianProvisioning.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianProvisioning.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusGuardianProvisioning.repository }}
|
repository: {{ .Values.images.nubusGuardianProvisioning.repository }}
|
||||||
tag: {{ .Values.images.nubusGuardianProvisioning.tag }}
|
tag: {{ .Values.images.nubusGuardianProvisioning.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
authorizationApi:
|
authorizationApi:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusGuardianAuthorizationApi.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianAuthorizationApi.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusGuardianAuthorizationApi.repository }}
|
repository: {{ .Values.images.nubusGuardianAuthorizationApi.repository }}
|
||||||
tag: {{ .Values.images.nubusGuardianAuthorizationApi.tag }}
|
tag: {{ .Values.images.nubusGuardianAuthorizationApi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
managementApi:
|
managementApi:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusGuardianManagementApi.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementApi.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusGuardianManagementApi.repository }}
|
repository: {{ .Values.images.nubusGuardianManagementApi.repository }}
|
||||||
tag: {{ .Values.images.nubusGuardianManagementApi.tag }}
|
tag: {{ .Values.images.nubusGuardianManagementApi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
managementUi:
|
managementUi:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusGuardianManagementUi.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusGuardianManagementUi.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusGuardianManagementUi.repository }}
|
repository: {{ .Values.images.nubusGuardianManagementUi.repository }}
|
||||||
tag: {{ .Values.images.nubusGuardianManagementUi.tag }}
|
tag: {{ .Values.images.nubusGuardianManagementUi.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
openPolicyAgent:
|
openPolicyAgent:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusOpenPolicyAgent.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusOpenPolicyAgent.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusOpenPolicyAgent.repository }}
|
repository: {{ .Values.images.nubusOpenPolicyAgent.repository }}
|
||||||
tag: {{ .Values.images.nubusOpenPolicyAgent.tag }}
|
tag: {{ .Values.images.nubusOpenPolicyAgent.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
nubusStackDataUms:
|
nubusStackDataUms:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.images.nubusDataLoader.registry }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.nubusDataLoader.registry | quote }}
|
||||||
repository: {{ .Values.images.nubusDataLoader.repository }}
|
|
||||||
tag: {{ .Values.images.nubusDataLoader.tag }}
|
|
||||||
|
|
||||||
nubusStackDataSwp:
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.images.nubusDataLoader.registry }}
|
|
||||||
repository: {{ .Values.images.nubusDataLoader.repository }}
|
repository: {{ .Values.images.nubusDataLoader.repository }}
|
||||||
tag: {{ .Values.images.nubusDataLoader.tag }}
|
tag: {{ .Values.images.nubusDataLoader.tag }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
---
|
---
|
||||||
@@ -11,7 +11,7 @@ global:
|
|||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.opendeskKeycloakBootstrap.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.opendeskKeycloakBootstrap.registry | quote }}
|
||||||
repository: {{ .Values.images.opendeskKeycloakBootstrap.repository | quote }}
|
repository: {{ .Values.images.opendeskKeycloakBootstrap.repository | quote }}
|
||||||
tag: {{ .Values.images.opendeskKeycloakBootstrap.tag | quote }}
|
tag: {{ .Values.images.opendeskKeycloakBootstrap.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -28,7 +28,8 @@ config:
|
|||||||
{{ .Values.functional.authentication.oidc.clients | toYaml | nindent 6 }}
|
{{ .Values.functional.authentication.oidc.clients | toYaml | nindent 6 }}
|
||||||
managed:
|
managed:
|
||||||
clientScopes: [ 'acr', 'web-origins', 'email', 'profile', 'microprofile-jwt', 'role_list', 'offline_access', 'roles', 'address', 'phone' ]
|
clientScopes: [ 'acr', 'web-origins', 'email', 'profile', 'microprofile-jwt', 'role_list', 'offline_access', 'roles', 'address', 'phone' ]
|
||||||
clients: [ 'UMC', 'guardian-management-api', 'guardian-scripts', 'guardian-ui', '${client_account}', '${client_account-console}', '${client_admin-cli}', '${client_broker}', '${client_realm-management}', '${client_security-admin-console}' ]
|
# 'guardian-management-api', 'guardian-scripts', 'guardian-ui' clients have been added explicitly for the moment (see further down this file)
|
||||||
|
clients: [ 'opendesk-intercom', 'guardian-management-api', 'guardian-scripts', 'guardian-ui', 'UMC', '${client_account}', '${client_account-console}', '${client_admin-cli}', '${client_broker}', '${client_realm-management}', '${client_security-admin-console}' ]
|
||||||
keycloak:
|
keycloak:
|
||||||
adminUser: "kcadmin"
|
adminUser: "kcadmin"
|
||||||
adminPassword: {{ .Values.secrets.keycloak.adminPassword | quote }}
|
adminPassword: {{ .Values.secrets.keycloak.adminPassword | quote }}
|
||||||
@@ -42,8 +43,7 @@ config:
|
|||||||
# We use client specific scopes as we bind them to Keycloak role membership which itself is linked
|
# We use client specific scopes as we bind them to Keycloak role membership which itself is linked
|
||||||
# to LDAP group membership to ensure a user cannot access an application without the required
|
# to LDAP group membership to ensure a user cannot access an application without the required
|
||||||
# group membership.
|
# group membership.
|
||||||
# ToDo:
|
# ToDo: Ensure all applications verify the token's signature to ensure it is not tampered.
|
||||||
# - Jitsi does currently not care if it gets scopes/claims as long as the user is authenticated.
|
|
||||||
clientScopes:
|
clientScopes:
|
||||||
- name: "read_contacts"
|
- name: "read_contacts"
|
||||||
protocol: "openid-connect"
|
protocol: "openid-connect"
|
||||||
@@ -389,60 +389,6 @@ config:
|
|||||||
backchannel.logout.session.required: false
|
backchannel.logout.session.required: false
|
||||||
defaultClientScopes:
|
defaultClientScopes:
|
||||||
- "opendesk-dovecot-scope"
|
- "opendesk-dovecot-scope"
|
||||||
- name: "opendesk-intercom"
|
|
||||||
clientId: "opendesk-intercom"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
clientAuthenticatorType: "client-secret"
|
|
||||||
secret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
|
||||||
redirectUris:
|
|
||||||
- "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/callback"
|
|
||||||
consentRequired: false
|
|
||||||
frontchannelLogout: false
|
|
||||||
publicClient: false
|
|
||||||
authorizationServicesEnabled: false
|
|
||||||
attributes:
|
|
||||||
backchannel.logout.session.required: true
|
|
||||||
backchannel.logout.revoke.offline.tokens: true
|
|
||||||
backchannel.logout.url: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/backchannel-logout"
|
|
||||||
protocolMappers:
|
|
||||||
- name: "intercom-audience"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
protocolMapper: "oidc-audience-mapper"
|
|
||||||
consentRequired: false
|
|
||||||
config:
|
|
||||||
included.client.audience: "opendesk-intercom"
|
|
||||||
id.token.claim: false
|
|
||||||
access.token.claim: true
|
|
||||||
# temporary additional claim while entryuuid is a hardcoded attribute in IntercomService and we cannot set
|
|
||||||
# it to `opendesk_useruuid` standard claim. For reference:
|
|
||||||
# https://github.com/univention/intercom-service/blob/cd819b6ced6433e532e74a8878943d05412c1416/intercom/app.js#L89
|
|
||||||
- name: "entryuuid_temp"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
protocolMapper: "oidc-usermodel-attribute-mapper"
|
|
||||||
consentRequired: false
|
|
||||||
config:
|
|
||||||
userinfo.token.claim: true
|
|
||||||
user.attribute: "entryUUID"
|
|
||||||
id.token.claim: true
|
|
||||||
access.token.claim: true
|
|
||||||
claim.name: "entryuuid"
|
|
||||||
jsonType.label: "String"
|
|
||||||
# temporary additional claim while phoenixusername is a hardcoded attribute in IntercomService and we cannot
|
|
||||||
# set it to `opendesk_username` standard claim. For reference:
|
|
||||||
# https://github.com/univention/intercom-service/blob/cd819b6ced6433e532e74a8878943d05412c1416/intercom/routes/navigation.js#L27
|
|
||||||
- name: "phoenixusername_temp"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
protocolMapper: "oidc-usermodel-attribute-mapper"
|
|
||||||
consentRequired: false
|
|
||||||
config:
|
|
||||||
userinfo.token.claim: true
|
|
||||||
user.attribute: "uid"
|
|
||||||
id.token.claim: true
|
|
||||||
access.token.claim: true
|
|
||||||
claim.name: "phoenixusername"
|
|
||||||
jsonType.label: "String"
|
|
||||||
defaultClientScopes:
|
|
||||||
- "offline_access"
|
|
||||||
- name: "opendesk-jitsi"
|
- name: "opendesk-jitsi"
|
||||||
clientId: "opendesk-jitsi"
|
clientId: "opendesk-jitsi"
|
||||||
protocol: "openid-connect"
|
protocol: "openid-connect"
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.dovecot.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.dovecot.registry }}/{{ .Values.charts.dovecot.repository }}"
|
||||||
{{ .Values.charts.dovecot.repository }}"
|
|
||||||
|
|
||||||
# Open-Xchange
|
# Open-Xchange
|
||||||
- name: "open-xchange-repo"
|
- name: "open-xchange-repo"
|
||||||
@@ -20,8 +19,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.openXchangeAppSuite.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.openXchangeAppSuite.registry }}/{{ .Values.charts.openXchangeAppSuite.repository }}"
|
||||||
{{ .Values.charts.openXchangeAppSuite.repository }}"
|
|
||||||
|
|
||||||
# openDesk Open-Xchange Bootstrap
|
# openDesk Open-Xchange Bootstrap
|
||||||
# Source:
|
# Source:
|
||||||
@@ -32,8 +30,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.openXchangeAppSuiteBootstrap.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.openXchangeAppSuiteBootstrap.registry }}/{{ .Values.charts.openXchangeAppSuiteBootstrap.repository }}"
|
||||||
{{ .Values.charts.openXchangeAppSuiteBootstrap.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "dovecot"
|
- name: "dovecot"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/open-xchange/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/open-xchange/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
---
|
---
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.dovecot.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.dovecot.registry | quote }}
|
||||||
repository: {{ .Values.images.dovecot.repository | quote }}
|
repository: {{ .Values.images.dovecot.repository | quote }}
|
||||||
tag: {{ .Values.images.dovecot.tag | quote }}
|
tag: {{ .Values.images.dovecot.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -36,7 +37,7 @@ dovecot:
|
|||||||
submission:
|
submission:
|
||||||
enabled: true
|
enabled: true
|
||||||
ssl: "no"
|
ssl: "no"
|
||||||
host: "postfix:25"
|
host: "{{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain }}:25"
|
||||||
|
|
||||||
certificate:
|
certificate:
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
@@ -67,6 +68,9 @@ containerSecurityContext:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.dovecot | toYaml | nindent 4 }}
|
{{ .Values.seLinuxOptions.dovecot | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1000
|
fsGroup: 1000
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -8,7 +9,7 @@ cleanup:
|
|||||||
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeBootstrap.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.openxchangeBootstrap.registry | quote }}
|
||||||
url: {{ .Values.images.openxchangeBootstrap.repository | quote }}
|
url: {{ .Values.images.openxchangeBootstrap.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeBootstrap.tag | quote }}
|
tag: {{ .Values.images.openxchangeBootstrap.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -17,4 +18,8 @@ imagePullSecrets:
|
|||||||
{{- range .Values.global.imagePullSecrets }}
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
podAnnotations:
|
||||||
|
argocd.argoproj.io/hook: "Sync"
|
||||||
|
argocd.argoproj.io/hook-delete-policy: "HookSucceeded"
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
appsuite:
|
appsuite:
|
||||||
core-mw:
|
core-mw:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -19,13 +20,15 @@ global:
|
|||||||
|
|
||||||
nextcloud-integration-ui:
|
nextcloud-integration-ui:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeNextcloudIntegrationUI.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeNextcloudIntegrationUI.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeNextcloudIntegrationUI.repository | quote }}
|
repository: {{ .Values.images.openxchangeNextcloudIntegrationUI.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeNextcloudIntegrationUI.tag | quote }}
|
tag: {{ .Values.images.openxchangeNextcloudIntegrationUI.tag | quote }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.global.imagePullSecrets }}
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
podAnnotations: {}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeNextcloudIntegrationUI }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.openxchangeNextcloudIntegrationUI | toYaml | nindent 4 }}
|
{{ .Values.resources.openxchangeNextcloudIntegrationUI | toYaml | nindent 4 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -46,14 +49,17 @@ nextcloud-integration-ui:
|
|||||||
|
|
||||||
public-sector-ui:
|
public-sector-ui:
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangePublicSectorUI.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangePublicSectorUI.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangePublicSectorUI.repository | quote }}
|
repository: {{ .Values.images.openxchangePublicSectorUI.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangePublicSectorUI.tag | quote }}
|
tag: {{ .Values.images.openxchangePublicSectorUI.tag | quote }}
|
||||||
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.global.imagePullSecrets }}
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangePublicSectorUI }}
|
||||||
|
podAnnotations: {}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.openxchangePublicSectorUI | toYaml | nindent 4 }}
|
{{ .Values.resources.openxchangePublicSectorUI | toYaml | nindent 4 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -116,6 +122,7 @@ appsuite:
|
|||||||
jolokiaLogin: "jolokia"
|
jolokiaLogin: "jolokia"
|
||||||
jolokiaPassword: {{ .Values.secrets.oxAppsuite.jolokiaPassword | quote }}
|
jolokiaPassword: {{ .Values.secrets.oxAppsuite.jolokiaPassword | quote }}
|
||||||
hostname: "{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
hostname: "{{ .Values.global.hosts.openxchange }}.{{ .Values.global.domain }}"
|
||||||
|
podAnnotations: {}
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
create: true
|
create: true
|
||||||
features:
|
features:
|
||||||
@@ -131,9 +138,11 @@ appsuite:
|
|||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
image:
|
image:
|
||||||
repository: "{{ .Values.global.imageRegistry | default .Values.images.openxchangeGotenberg.registry }}/{{ .Values.images.openxchangeGotenberg.repository }}"
|
repository: "{{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeGotenberg.registry }}/{{ .Values.images.openxchangeGotenberg.repository }}"
|
||||||
tag: {{ .Values.images.openxchangeGotenberg.tag | quote }}
|
tag: {{ .Values.images.openxchangeGotenberg.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeGotenberg }}
|
||||||
|
podAnnotations: {}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.openxchangeGotenberg | toYaml | nindent 8 }}
|
{{ .Values.resources.openxchangeGotenberg | toYaml | nindent 8 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -222,7 +231,7 @@ appsuite:
|
|||||||
# Old capability can be used to toggle all integrations with a single switch
|
# Old capability can be used to toggle all integrations with a single switch
|
||||||
com.openexchange.capability.public-sector: "true"
|
com.openexchange.capability.public-sector: "true"
|
||||||
# New capabilities in 2.0
|
# New capabilities in 2.0
|
||||||
com.openexchange.capability.public-sector-element: "true"
|
com.openexchange.capability.public-sector-element: "false"
|
||||||
com.openexchange.capability.public-sector-navigation: "true"
|
com.openexchange.capability.public-sector-navigation: "true"
|
||||||
com.openexchange.capability.client-onboarding: "true"
|
com.openexchange.capability.client-onboarding: "true"
|
||||||
com.openexchange.capability.dynamic-theme: "true"
|
com.openexchange.capability.dynamic-theme: "true"
|
||||||
@@ -341,7 +350,7 @@ appsuite:
|
|||||||
enabled: true
|
enabled: true
|
||||||
password: {{ .Values.secrets.redis.password | quote }}
|
password: {{ .Values.secrets.redis.password | quote }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeCoreMW.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeCoreMW.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeCoreMW.repository | quote }}
|
repository: {{ .Values.images.openxchangeCoreMW.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeCoreMW.tag | quote }}
|
tag: {{ .Values.images.openxchangeCoreMW.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -356,6 +365,7 @@ appsuite:
|
|||||||
{{- range .Values.global.imagePullSecrets }}
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
replicas: {{ .Values.replicas.openxchangeCoreMW }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.openxchangeCoreMW | toYaml | nindent 6 }}
|
{{ .Values.resources.openxchangeCoreMW | toYaml | nindent 6 }}
|
||||||
|
|
||||||
@@ -366,10 +376,12 @@ appsuite:
|
|||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeCoreUI.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeCoreUI.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeCoreUI.repository | quote }}
|
repository: {{ .Values.images.openxchangeCoreUI.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeCoreUI.tag | quote }}
|
tag: {{ .Values.images.openxchangeCoreUI.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeCoreUI }}
|
||||||
|
podAnnotations: {}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.openxchangeCoreUI | toYaml | nindent 6 }}
|
{{ .Values.resources.openxchangeCoreUI | toYaml | nindent 6 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -398,12 +410,14 @@ appsuite:
|
|||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeCoreUIMiddleware.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeCoreUIMiddleware.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeCoreUIMiddleware.repository | quote }}
|
repository: {{ .Values.images.openxchangeCoreUIMiddleware.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeCoreUIMiddleware.tag | quote }}
|
tag: {{ .Values.images.openxchangeCoreUIMiddleware.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
overrides: {}
|
overrides: {}
|
||||||
|
podAnnotations: {}
|
||||||
redis: *redisConfiguration
|
redis: *redisConfiguration
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeCoreUIMiddleware }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.openxchangeCoreUIMiddleware | toYaml | nindent 6 }}
|
{{ .Values.resources.openxchangeCoreUIMiddleware | toYaml | nindent 6 }}
|
||||||
updater:
|
updater:
|
||||||
@@ -437,10 +451,12 @@ appsuite:
|
|||||||
remoteCache:
|
remoteCache:
|
||||||
enabled: false
|
enabled: false
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeDocumentConverter.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeDocumentConverter.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeDocumentConverter.repository | quote }}
|
repository: {{ .Values.images.openxchangeDocumentConverter.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeDocumentConverter.tag | quote }}
|
tag: {{ .Values.images.openxchangeDocumentConverter.tag | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
redis: *redisConfiguration
|
redis: *redisConfiguration
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeCoreDocumentConverter }}
|
||||||
resources:
|
resources:
|
||||||
{{- .Values.resources.openxchangeCoreDocumentConverter | toYaml | nindent 6 }}
|
{{- .Values.resources.openxchangeCoreDocumentConverter | toYaml | nindent 6 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -482,10 +498,12 @@ appsuite:
|
|||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeCoreGuidedtours.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeCoreGuidedtours.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeCoreGuidedtours.repository | quote }}
|
repository: {{ .Values.images.openxchangeCoreGuidedtours.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeCoreGuidedtours.tag | quote }}
|
tag: {{ .Values.images.openxchangeCoreGuidedtours.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeCoreGuidedtours }}
|
||||||
resources:
|
resources:
|
||||||
{{- .Values.resources.openxchangeCoreGuidedtours | toYaml | nindent 6 }}
|
{{- .Values.resources.openxchangeCoreGuidedtours | toYaml | nindent 6 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -510,7 +528,7 @@ appsuite:
|
|||||||
basicAuthLogin: "oxlogin"
|
basicAuthLogin: "oxlogin"
|
||||||
basicAuthPassword: {{ .Values.secrets.oxAppsuite.basicAuthPassword | quote }}
|
basicAuthPassword: {{ .Values.secrets.oxAppsuite.basicAuthPassword | quote }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeImageConverter.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeImageConverter.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeImageConverter.repository | quote }}
|
repository: {{ .Values.images.openxchangeImageConverter.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeImageConverter.tag | quote }}
|
tag: {{ .Values.images.openxchangeImageConverter.tag | quote }}
|
||||||
objectCache:
|
objectCache:
|
||||||
@@ -519,7 +537,9 @@ appsuite:
|
|||||||
endpoint: "."
|
endpoint: "."
|
||||||
accessKey: "."
|
accessKey: "."
|
||||||
secretKey: "."
|
secretKey: "."
|
||||||
|
podAnnotations: {}
|
||||||
redis: *redisConfiguration
|
redis: *redisConfiguration
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeCoreImageConverter }}
|
||||||
resources:
|
resources:
|
||||||
{{- .Values.resources.openxchangeCoreImageConverter | toYaml | nindent 6 }}
|
{{- .Values.resources.openxchangeCoreImageConverter | toYaml | nindent 6 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -546,10 +566,12 @@ appsuite:
|
|||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeGuardUI.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeGuardUI.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeGuardUI.repository | quote }}
|
repository: {{ .Values.images.openxchangeGuardUI.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeGuardUI.tag | quote }}
|
tag: {{ .Values.images.openxchangeGuardUI.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeGuardUI }}
|
||||||
resources:
|
resources:
|
||||||
{{- .Values.resources.openxchangeGuardUI | toYaml | nindent 6 }}
|
{{- .Values.resources.openxchangeGuardUI | toYaml | nindent 6 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
@@ -572,7 +594,7 @@ appsuite:
|
|||||||
core-user-guide:
|
core-user-guide:
|
||||||
enabled: true
|
enabled: true
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openxchangeCoreUserGuide.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openxchangeCoreUserGuide.registry | quote }}
|
||||||
repository: {{ .Values.images.openxchangeCoreUserGuide.repository | quote }}
|
repository: {{ .Values.images.openxchangeCoreUserGuide.repository | quote }}
|
||||||
tag: {{ .Values.images.openxchangeCoreUserGuide.tag | quote }}
|
tag: {{ .Values.images.openxchangeCoreUserGuide.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -580,6 +602,8 @@ appsuite:
|
|||||||
{{- range .Values.global.imagePullSecrets }}
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
- name: {{ . | quote }}
|
- name: {{ . | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
podAnnotations: {}
|
||||||
|
replicaCount: {{ .Values.replicas.openxchangeCoreUserGuide }}
|
||||||
resources:
|
resources:
|
||||||
{{- .Values.resources.openxchangeCoreUserGuide | toYaml | nindent 6 }}
|
{{- .Values.resources.openxchangeCoreUserGuide | toYaml | nindent 6 }}
|
||||||
securityContext:
|
securityContext:
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.openprojectBootstrap.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.openprojectBootstrap.registry }}/{{ .Values.charts.openprojectBootstrap.repository }}"
|
||||||
{{ .Values.charts.openprojectBootstrap.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "opendesk-openproject-bootstrap"
|
- name: "opendesk-openproject-bootstrap"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/openproject-bootstrap/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/openproject-bootstrap/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -15,6 +16,8 @@ cleanup:
|
|||||||
keepPVCOnDelete: {{ .Values.debug.cleanup.keepPVCOnDelete }}
|
keepPVCOnDelete: {{ .Values.debug.cleanup.keepPVCOnDelete }}
|
||||||
|
|
||||||
config:
|
config:
|
||||||
|
debug:
|
||||||
|
enabled: {{ .Values.debug.enabled }}
|
||||||
openproject:
|
openproject:
|
||||||
fileshareName: "Nextcloud at {{ .Values.global.domain }}"
|
fileshareName: "Nextcloud at {{ .Values.global.domain }}"
|
||||||
admin:
|
admin:
|
||||||
@@ -42,7 +45,7 @@ containerSecurityContext:
|
|||||||
{{ .Values.seLinuxOptions.openprojectBootstrap | toYaml | nindent 4 }}
|
{{ .Values.seLinuxOptions.openprojectBootstrap | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openprojectBootstrap.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openprojectBootstrap.registry | quote }}
|
||||||
repository: {{ .Values.images.openprojectBootstrap.repository | quote }}
|
repository: {{ .Values.images.openprojectBootstrap.repository | quote }}
|
||||||
tag: {{ .Values.images.openprojectBootstrap.tag | quote }}
|
tag: {{ .Values.images.openprojectBootstrap.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy |quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy |quote }}
|
||||||
@@ -50,6 +53,8 @@ image:
|
|||||||
job:
|
job:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1000
|
fsGroup: 1000
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.openproject.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.openproject.registry }}/{{ .Values.charts.openproject.repository }}"
|
||||||
{{ .Values.charts.openproject.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "openproject"
|
- name: "openproject"
|
||||||
@@ -22,7 +21,7 @@ releases:
|
|||||||
values:
|
values:
|
||||||
- "values.yaml.gotmpl"
|
- "values.yaml.gotmpl"
|
||||||
installed: {{ .Values.openproject.enabled }}
|
installed: {{ .Values.openproject.enabled }}
|
||||||
timeout: 900
|
timeout: 1500
|
||||||
|
|
||||||
commonLabels:
|
commonLabels:
|
||||||
deploy-stage: "component-1"
|
deploy-stage: "component-1"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/openproject/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/openproject/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -7,6 +8,10 @@ global:
|
|||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
appInit:
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.openprojectAppInit | toYaml | nindent 4 }}
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
privileged: false
|
privileged: false
|
||||||
@@ -23,6 +28,15 @@ containerSecurityContext:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.openproject | toYaml | nindent 4 }}
|
{{ .Values.seLinuxOptions.openproject | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
dbInit:
|
||||||
|
image:
|
||||||
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.openprojectDbInit.registry | quote }}
|
||||||
|
repository: {{ .Values.images.openprojectDbInit.repository | quote }}
|
||||||
|
tag: {{ .Values.images.openprojectDbInit.tag | quote }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.openprojectDbInit | toYaml | nindent 4 }}
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
# For more details and more options see
|
# For more details and more options see
|
||||||
# https://www.openproject.org/docs/installation-and-operations/configuration/environment/
|
# https://www.openproject.org/docs/installation-and-operations/configuration/environment/
|
||||||
@@ -31,7 +45,6 @@ environment:
|
|||||||
OPENPROJECT_USER__DEFAULT__TIMEZONE: "Europe/Berlin"
|
OPENPROJECT_USER__DEFAULT__TIMEZONE: "Europe/Berlin"
|
||||||
OPENPROJECT_OAUTH__ALLOW__REMAPPING__OF__EXISTING__USERS: "true"
|
OPENPROJECT_OAUTH__ALLOW__REMAPPING__OF__EXISTING__USERS: "true"
|
||||||
OPENPROJECT_OMNIAUTH__DIRECT__LOGIN__PROVIDER: "keycloak"
|
OPENPROJECT_OMNIAUTH__DIRECT__LOGIN__PROVIDER: "keycloak"
|
||||||
OPENPROJECT_PER__PAGE__OPTIONS: "20, 50, 100, 200"
|
|
||||||
OPENPROJECT_EMAIL__DELIVERY__METHOD: "smtp"
|
OPENPROJECT_EMAIL__DELIVERY__METHOD: "smtp"
|
||||||
OPENPROJECT_DEFAULT__COMMENT__SORT__ORDER: "desc"
|
OPENPROJECT_DEFAULT__COMMENT__SORT__ORDER: "desc"
|
||||||
# Details: https://www.openproject-edge.com/docs/installation-and-operations/configuration/#seeding-ldap-connections
|
# Details: https://www.openproject-edge.com/docs/installation-and-operations/configuration/#seeding-ldap-connections
|
||||||
@@ -59,15 +72,15 @@ environment:
|
|||||||
OPENPROJECT_SOUVAP__NAVIGATION__SECRET: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
OPENPROJECT_SOUVAP__NAVIGATION__SECRET: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||||
OPENPROJECT_SOUVAP__NAVIGATION__URL: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/univention/portal/navigation.json?base=https%3A//{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
OPENPROJECT_SOUVAP__NAVIGATION__URL: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/univention/portal/navigation.json?base=https%3A//{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
OPENPROJECT_SMTP__DOMAIN: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
OPENPROJECT_SMTP__DOMAIN: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
||||||
OPENPROJECT_SMTP__USER__NAME: {{ .Values.smtp.username | quote }}
|
OPENPROJECT_SMTP__USER__NAME: ""
|
||||||
OPENPROJECT_SMTP__PASSWORD: {{ .Values.smtp.password | quote }}
|
OPENPROJECT_SMTP__PASSWORD: ""
|
||||||
OPENPROJECT_SMTP__PORT: {{ .Values.smtp.port | quote }}
|
OPENPROJECT_SMTP__PORT: 25
|
||||||
OPENPROJECT_SMTP__SSL: "false" # (default=false)
|
OPENPROJECT_SMTP__SSL: "false" # (default=false)
|
||||||
OPENPROJECT_SMTP__ADDRESS: {{ .Values.smtp.host | quote }}
|
OPENPROJECT_SMTP__ADDRESS: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
OPENPROJECT_SMTP__AUTHENTICATION: "plain"
|
OPENPROJECT_SMTP__AUTHENTICATION: "none"
|
||||||
OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO: "true"
|
OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO: "false"
|
||||||
OPENPROJECT_SMTP__OPENSSL__VERIFY__MODE: "peer"
|
OPENPROJECT_SMTP__OPENSSL__VERIFY__MODE: "none"
|
||||||
OPENPROJECT_MAIL__FROM: "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.openproject }}.{{ end }}{{ .Values.global.domain }}"
|
OPENPROJECT_MAIL__FROM: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
OPENPROJECT_HOME__URL: {{ printf "https://%s.%s/" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
OPENPROJECT_HOME__URL: {{ printf "https://%s.%s/" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
||||||
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_ISSUER: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_ISSUER: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||||
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
|
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
|
||||||
@@ -76,18 +89,11 @@ environment:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openproject.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.openproject.registry | quote }}
|
||||||
repository: {{ .Values.images.openproject.repository | quote }}
|
repository: {{ .Values.images.openproject.repository | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
tag: {{ .Values.images.openproject.tag | quote }}
|
tag: {{ .Values.images.openproject.tag | quote }}
|
||||||
|
|
||||||
initdb:
|
|
||||||
image:
|
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.openprojectInitDb.registry | quote }}
|
|
||||||
repository: {{ .Values.images.openprojectInitDb.repository | quote }}
|
|
||||||
tag: {{ .Values.images.openprojectInitDb.tag | quote }}
|
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
|
||||||
|
|
||||||
memcached:
|
memcached:
|
||||||
bundled: false
|
bundled: false
|
||||||
connection:
|
connection:
|
||||||
@@ -97,6 +103,8 @@ memcached:
|
|||||||
persistence:
|
persistence:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
bundled: false
|
bundled: false
|
||||||
auth:
|
auth:
|
||||||
@@ -180,5 +188,12 @@ s3:
|
|||||||
seederJob:
|
seederJob:
|
||||||
annotations:
|
annotations:
|
||||||
intents.otterize.com/service-name: "openproject-seeder"
|
intents.otterize.com/service-name: "openproject-seeder"
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.openprojectSeederJob | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
workers:
|
||||||
|
default:
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.openprojectWorkers | toYaml | nindent 6 }}
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.oxConnector.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.oxConnector.registry }}/{{ .Values.charts.oxConnector.repository }}"
|
||||||
{{ .Values.charts.oxConnector.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "ox-connector"
|
- name: "ox-connector"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/provisioning/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/provisioning/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,8 +1,11 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.oxConnector.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.oxConnector.registry | quote }}
|
||||||
repository: {{ .Values.images.oxConnector.repository | quote }}
|
repository: {{ .Values.images.oxConnector.repository | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
tag: {{ .Values.images.oxConnector.tag | quote }}
|
tag: {{ .Values.images.oxConnector.tag | quote }}
|
||||||
@@ -41,6 +44,8 @@ resources:
|
|||||||
persistence:
|
persistence:
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
## Container deployment probes
|
## Container deployment probes
|
||||||
probes:
|
probes:
|
||||||
liveness:
|
liveness:
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.otterize.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.otterize.registry }}/{{ .Values.charts.otterize.repository }}"
|
||||||
{{ .Values.charts.otterize.repository }}"
|
|
||||||
|
|
||||||
# openDesk Home
|
# openDesk Home
|
||||||
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-home
|
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-home
|
||||||
@@ -21,8 +20,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.home.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.home.registry }}/{{ .Values.charts.home.repository }}"
|
||||||
{{ .Values.charts.home.repository }}"
|
|
||||||
|
|
||||||
# openDesk Certificates
|
# openDesk Certificates
|
||||||
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-certificates
|
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-certificates
|
||||||
@@ -32,8 +30,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.certificates.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.certificates.registry }}/{{ .Values.charts.certificates.repository }}"
|
||||||
{{ .Values.charts.certificates.repository }}"
|
|
||||||
|
|
||||||
# openDesk PostgreSQL
|
# openDesk PostgreSQL
|
||||||
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-postgresql
|
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-postgresql
|
||||||
@@ -43,8 +40,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.postgresql.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.postgresql.registry }}/{{ .Values.charts.postgresql.repository }}"
|
||||||
{{ .Values.charts.postgresql.repository }}"
|
|
||||||
|
|
||||||
# openDesk MariaDB
|
# openDesk MariaDB
|
||||||
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-mariadb
|
# Source: https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-mariadb
|
||||||
@@ -54,8 +50,17 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.mariadb.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.mariadb.registry }}/{{ .Values.charts.mariadb.repository }}"
|
||||||
{{ .Values.charts.mariadb.repository }}"
|
|
||||||
|
# openDesk dkimpy-milter
|
||||||
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-dkimpy-milter
|
||||||
|
- name: "dkimpy-repo"
|
||||||
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.dkimpy.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.dkimpy.registry }}/{{ .Values.charts.dkimpy.repository }}"
|
||||||
|
|
||||||
# openDesk Postfix
|
# openDesk Postfix
|
||||||
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-postfix
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-postfix
|
||||||
@@ -65,8 +70,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.postfix.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.postfix.registry }}/{{ .Values.charts.postfix.repository }}"
|
||||||
{{ .Values.charts.postfix.repository }}"
|
|
||||||
|
|
||||||
# openDesk ClamAV
|
# openDesk ClamAV
|
||||||
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-clamav
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-clamav
|
||||||
@@ -76,16 +80,14 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.clamav.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.clamav.registry }}/{{ .Values.charts.clamav.repository }}"
|
||||||
{{ .Values.charts.clamav.repository }}"
|
|
||||||
- name: "clamav-simple-repo"
|
- name: "clamav-simple-repo"
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
verify: {{ .Values.charts.clamavSimple.verify }}
|
verify: {{ .Values.charts.clamavSimple.verify }}
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.clamavSimple.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.clamavSimple.registry }}/{{ .Values.charts.clamavSimple.repository }}"
|
||||||
{{ .Values.charts.clamavSimple.repository }}"
|
|
||||||
|
|
||||||
# VMWare Bitnami
|
# VMWare Bitnami
|
||||||
# Source: https://github.com/bitnami/charts/
|
# Source: https://github.com/bitnami/charts/
|
||||||
@@ -95,24 +97,21 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.memcached.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.memcached.registry }}/{{ .Values.charts.memcached.repository }}"
|
||||||
{{ .Values.charts.memcached.repository }}"
|
|
||||||
- name: "redis-repo"
|
- name: "redis-repo"
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
verify: {{ .Values.charts.redis.verify }}
|
verify: {{ .Values.charts.redis.verify }}
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.redis.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.redis.registry }}/{{ .Values.charts.redis.repository }}"
|
||||||
{{ .Values.charts.redis.repository }}"
|
|
||||||
- name: "minio-repo"
|
- name: "minio-repo"
|
||||||
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
verify: {{ .Values.charts.minio.verify }}
|
verify: {{ .Values.charts.minio.verify }}
|
||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.minio.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.minio.registry }}/{{ .Values.charts.minio.repository }}"
|
||||||
{{ .Values.charts.minio.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "opendesk-otterize"
|
- name: "opendesk-otterize"
|
||||||
@@ -178,6 +177,14 @@ releases:
|
|||||||
installed: {{ .Values.postfix.enabled }}
|
installed: {{ .Values.postfix.enabled }}
|
||||||
timeout: 900
|
timeout: 900
|
||||||
|
|
||||||
|
- name: "opendesk-dkimpy-milter"
|
||||||
|
chart: "dkimpy-repo/{{ .Values.charts.dkimpy.name }}"
|
||||||
|
version: "{{ .Values.charts.dkimpy.version }}"
|
||||||
|
values:
|
||||||
|
- "values-dkimpy.yaml.gotmpl"
|
||||||
|
installed: {{ .Values.dkimpy.enabled }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
- name: "clamav"
|
- name: "clamav"
|
||||||
chart: "clamav-repo/{{ .Values.charts.clamav.name }}"
|
chart: "clamav-repo/{{ .Values.charts.clamav.name }}"
|
||||||
version: "{{ .Values.charts.clamav.version }}"
|
version: "{{ .Values.charts.clamav.version }}"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/services/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/services/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
{{/*
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
*/}}
|
*/}}
|
||||||
@@ -6,7 +7,48 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
global:
|
global:
|
||||||
domain: {{ .Values.global.domain | quote }}
|
domain: {{ .Values.global.domain | quote }}
|
||||||
hosts:
|
hosts:
|
||||||
{{ .Values.global.hosts | toYaml | nindent 4 }}
|
{{- if .Values.collabora.enabled }}
|
||||||
|
collabora: {{ .Values.global.hosts.collabora }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.cryptpad.enabled }}
|
||||||
|
cryptpad: {{ .Values.global.hosts.cryptpad }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.element.enabled }}
|
||||||
|
element: {{ .Values.global.hosts.element }}
|
||||||
|
matrixNeoBoardWidget: {{ .Values.global.hosts.matrixNeoBoardWidget }}
|
||||||
|
matrixNeoChoiceWidget: {{ .Values.global.hosts.matrixNeoChoiceWidget }}
|
||||||
|
matrixNeoDateFixBot: {{ .Values.global.hosts.matrixNeoDateFixBot }}
|
||||||
|
matrixNeoDateFixWidget: {{ .Values.global.hosts.matrixNeoDateFixWidget }}
|
||||||
|
synapse: {{ .Values.global.hosts.synapse }}
|
||||||
|
synapseFederation: {{ .Values.global.hosts.synapseFederation }}
|
||||||
|
whiteboard: {{ .Values.global.hosts.whiteboard }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.intercom.enabled }}
|
||||||
|
intercomService: {{ .Values.global.hosts.intercomService }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.jitsi.enabled }}
|
||||||
|
jitsi: {{ .Values.global.hosts.jitsi }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.minio.enabled }}
|
||||||
|
minioApi: {{ .Values.global.hosts.minioApi }}
|
||||||
|
minioConsole: {{ .Values.global.hosts.minioConsole }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.nextcloud.enabled }}
|
||||||
|
nextcloud: {{ .Values.global.hosts.nextcloud }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.openproject.enabled }}
|
||||||
|
openproject: {{ .Values.global.hosts.openproject }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.oxAppsuite.enabled }}
|
||||||
|
openxchange: {{ .Values.global.hosts.openxchange }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.nubus.enabled }}
|
||||||
|
keycloak: {{ .Values.global.hosts.keycloak }}
|
||||||
|
nubus: {{ .Values.global.hosts.nubus }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.xwiki.enabled }}
|
||||||
|
xwiki: {{ .Values.global.hosts.xwiki }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
issuerRef:
|
issuerRef:
|
||||||
name: {{ .Values.certificate.issuerRef.name | quote }}
|
name: {{ .Values.certificate.issuerRef.name | quote }}
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
clamd:
|
clamd:
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
@@ -18,10 +21,11 @@ clamd:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.clamd | toYaml | nindent 6 }}
|
{{ .Values.seLinuxOptions.clamd | toYaml | nindent 6 }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.clamd.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.clamd.registry | quote }}
|
||||||
repository: {{ .Values.images.clamd.repository | quote }}
|
repository: {{ .Values.images.clamd.repository | quote }}
|
||||||
tag: {{ .Values.images.clamd.tag | quote }}
|
tag: {{ .Values.images.clamd.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
@@ -62,10 +66,11 @@ freshclam:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.freshclam | toYaml | nindent 6 }}
|
{{ .Values.seLinuxOptions.freshclam | toYaml | nindent 6 }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.freshclam.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.freshclam.registry | quote }}
|
||||||
repository: {{ .Values.images.freshclam.repository | quote }}
|
repository: {{ .Values.images.freshclam.repository | quote }}
|
||||||
tag: {{ .Values.images.freshclam.tag | quote }}
|
tag: {{ .Values.images.freshclam.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
@@ -73,7 +78,15 @@ freshclam:
|
|||||||
replicaCount: {{ .Values.replicas.freshclam }}
|
replicaCount: {{ .Values.replicas.freshclam }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.freshclam | toYaml | nindent 4 }}
|
{{ .Values.resources.freshclam | toYaml | nindent 4 }}
|
||||||
|
settings:
|
||||||
|
database:
|
||||||
|
auth:
|
||||||
|
{{ .Values.repositories.clamav.auth | toYaml | nindent 8 }}
|
||||||
|
mirror:
|
||||||
|
scheme: {{ .Values.repositories.clamav.mirror.scheme | quote }}
|
||||||
|
url: {{ .Values.repositories.clamav.mirror.url | quote }}
|
||||||
|
customURLs:
|
||||||
|
{{ .Values.repositories.clamav.customURLs | toYaml | nindent 8 }}
|
||||||
global:
|
global:
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
@@ -95,10 +108,11 @@ icap:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.icap | toYaml | nindent 6 }}
|
{{ .Values.seLinuxOptions.icap | toYaml | nindent 6 }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.icap.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.icap.registry | quote }}
|
||||||
repository: {{ .Values.images.icap.repository | quote }}
|
repository: {{ .Values.images.icap.repository | quote }}
|
||||||
tag: {{ .Values.images.icap.tag | quote }}
|
tag: {{ .Values.images.icap.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
@@ -124,10 +138,11 @@ milter:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.milter | toYaml | nindent 6 }}
|
{{ .Values.seLinuxOptions.milter | toYaml | nindent 6 }}
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.milter.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.milter.registry | quote }}
|
||||||
repository: {{ .Values.images.milter.repository | quote }}
|
repository: {{ .Values.images.milter.repository | quote }}
|
||||||
tag: {{ .Values.images.milter.tag | quote }}
|
tag: {{ .Values.images.milter.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -23,12 +26,12 @@ global:
|
|||||||
|
|
||||||
image:
|
image:
|
||||||
clamav:
|
clamav:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.clamd.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.clamd.registry | quote }}
|
||||||
repository: {{ .Values.images.clamd.repository | quote }}
|
repository: {{ .Values.images.clamd.repository | quote }}
|
||||||
tag: {{ .Values.images.clamd.tag | quote }}
|
tag: {{ .Values.images.clamd.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
icap:
|
icap:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.icap.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.icap.registry | quote }}
|
||||||
repository: {{ .Values.images.icap.repository | quote }}
|
repository: {{ .Values.images.icap.repository | quote }}
|
||||||
tag: {{ .Values.images.icap.tag | quote }}
|
tag: {{ .Values.images.icap.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -37,6 +40,8 @@ persistence:
|
|||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
size: {{ .Values.persistence.size.clamav | quote }}
|
size: {{ .Values.persistence.size.clamav | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 101
|
fsGroup: 101
|
||||||
@@ -47,4 +52,14 @@ replicaCount: {{ .Values.replicas.clamav }}
|
|||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.clamd | toYaml | nindent 4 }}
|
{{ .Values.resources.clamd | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
settings:
|
||||||
|
freshclam:
|
||||||
|
database:
|
||||||
|
auth:
|
||||||
|
{{ .Values.repositories.clamav.auth | toYaml | nindent 8 }}
|
||||||
|
mirror:
|
||||||
|
scheme: {{ .Values.repositories.clamav.mirror.scheme | quote }}
|
||||||
|
url: {{ .Values.repositories.clamav.mirror.url | quote }}
|
||||||
|
customURLs:
|
||||||
|
{{ .Values.repositories.clamav.customURLs | toYaml | nindent 8 }}
|
||||||
...
|
...
|
||||||
|
|||||||
47
helmfile/apps/services/values-dkimpy.yaml.gotmpl
Normal file
47
helmfile/apps/services/values-dkimpy.yaml.gotmpl
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{{/*
|
||||||
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
|
---
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: true
|
||||||
|
capabilities: {}
|
||||||
|
enabled: true
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
privileged: false
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.dkimpy | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
global:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
image:
|
||||||
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.dkimpy.registry | quote }}
|
||||||
|
repository: {{ .Values.images.dkimpy.repository | quote }}
|
||||||
|
tag: {{ .Values.images.dkimpy.tag | quote }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
|
podSecurityContext:
|
||||||
|
enabled: true
|
||||||
|
fsGroup: 1000
|
||||||
|
|
||||||
|
configuration:
|
||||||
|
domain: "{{ .Values.global.domain }}{{ if .Values.global.mailDomain }}, {{ .Values.global.mailDomain }}{{ end }}"
|
||||||
|
key:
|
||||||
|
{{ .Values.smtp.dkim.key | toYaml | nindent 4 }}
|
||||||
|
mode: "s"
|
||||||
|
selector: {{ .Values.smtp.dkim.selector }}
|
||||||
|
useED25519: {{ .Values.smtp.dkim.useED25519 }}
|
||||||
|
|
||||||
|
replicaCount: {{ .Values.replicas.dkimpy }}
|
||||||
|
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.dkimpy | toYaml | nindent 2 }}
|
||||||
|
...
|
||||||
@@ -1,8 +1,12 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
cleanup:
|
cleanup:
|
||||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||||
|
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -25,7 +29,7 @@ global:
|
|||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.mariadb.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.mariadb.registry | quote }}
|
||||||
repository: {{ .Values.images.mariadb.repository | quote }}
|
repository: {{ .Values.images.mariadb.repository | quote }}
|
||||||
tag: {{ .Values.images.mariadb.tag | quote }}
|
tag: {{ .Values.images.mariadb.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -35,19 +39,32 @@ job:
|
|||||||
retries: 10
|
retries: 10
|
||||||
wait: 30
|
wait: 30
|
||||||
users:
|
users:
|
||||||
- username: "xwiki_user"
|
- username: {{ .Values.databases.nextcloud.username | quote }}
|
||||||
password: {{ .Values.secrets.mariadb.xwikiUser | quote }}
|
|
||||||
- username: "openxchange_user"
|
|
||||||
password: {{ .Values.secrets.mariadb.openxchangeUser | quote }}
|
|
||||||
- username: "nextcloud_user"
|
|
||||||
password: {{ .Values.secrets.mariadb.nextcloudUser | quote}}
|
password: {{ .Values.secrets.mariadb.nextcloudUser | quote}}
|
||||||
|
connectionLimit: {{ .Values.databases.nextcloud.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
# OX and XWiki are using the db's `root` users (see `database.yaml`). So we are statically referencing their dedicated
|
||||||
|
# users for the moment.
|
||||||
|
- username: "openxchange_user"
|
||||||
|
# - username: {{ .Values.databases.xwiki.username | quote }}
|
||||||
|
password: {{ .Values.secrets.mariadb.openxchangeUser | quote }}
|
||||||
|
connectionLimit: {{ .Values.databases.oxAppsuite.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: "xwiki_user"
|
||||||
|
# - username: {{ .Values.databases.oxAppsuite.username | quote }}
|
||||||
|
password: {{ .Values.secrets.mariadb.xwikiUser | quote }}
|
||||||
|
connectionLimit: {{ .Values.databases.xwiki.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
databases:
|
databases:
|
||||||
- name: "xwiki"
|
- name: {{ .Values.databases.nextcloud.name | quote }}
|
||||||
user: "xwiki_user"
|
user: {{ .Values.databases.nextcloud.username | quote }}
|
||||||
- name: "nextcloud"
|
# OX and XWiki are using the db's `root` users (see `database.yaml`). So we are statically referencing their dedicated
|
||||||
user: "nextcloud_user"
|
# users for the moment.
|
||||||
- name: "openxchange"
|
- name: "openxchange"
|
||||||
user: "openxchange_user"
|
user: "openxchange_user"
|
||||||
|
# - name: {{ .Values.databases.oxAppsuite.name | quote }}
|
||||||
|
# user: {{ .Values.databases.oxAppsuite.username | quote }}
|
||||||
|
- name: "xwiki"
|
||||||
|
user: "xwiki_user"
|
||||||
|
# - name: {{ .Values.databases.xwiki.name | quote }}
|
||||||
|
# user: {{ .Values.databases.xwiki.username | quote }}
|
||||||
|
|
||||||
mariadb:
|
mariadb:
|
||||||
rootPassword: {{ .Values.secrets.mariadb.rootPassword | quote }}
|
rootPassword: {{ .Values.secrets.mariadb.rootPassword | quote }}
|
||||||
@@ -56,6 +73,8 @@ persistence:
|
|||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
size: {{ .Values.persistence.size.mariadb | quote }}
|
size: {{ .Values.persistence.size.mariadb | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1001
|
fsGroup: 1001
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
architecture: {{ if gt .Values.replicas.memcached 1 }}"high-availability"{{ else }}"standalone"{{ end }}
|
architecture: {{ if gt .Values.replicas.memcached 1 }}"high-availability"{{ else }}"standalone"{{ end }}
|
||||||
|
|
||||||
@@ -24,11 +27,13 @@ global:
|
|||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.memcached.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.memcached.registry | quote }}
|
||||||
repository: {{ .Values.images.memcached.repository | quote }}
|
repository: {{ .Values.images.memcached.repository | quote }}
|
||||||
tag: {{ .Values.images.memcached.tag | quote }}
|
tag: {{ .Values.images.memcached.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.memcached }}
|
replicaCount: {{ .Values.replicas.memcached }}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
apiIngress:
|
apiIngress:
|
||||||
enabled: {{ .Values.ingress.enabled }}
|
enabled: {{ .Values.ingress.enabled }}
|
||||||
@@ -39,7 +42,7 @@ global:
|
|||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.minio.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.minio.registry | quote }}
|
||||||
repository: "{{ .Values.images.minio.repository }}"
|
repository: "{{ .Values.images.minio.repository }}"
|
||||||
tag: "{{ .Values.images.minio.tag }}"
|
tag: "{{ .Values.images.minio.tag }}"
|
||||||
pullPolicy: "{{ .Values.global.imagePullPolicy }}"
|
pullPolicy: "{{ .Values.global.imagePullPolicy }}"
|
||||||
@@ -85,7 +88,8 @@ persistence:
|
|||||||
provisioning:
|
provisioning:
|
||||||
enabled: true
|
enabled: true
|
||||||
cleanupAfterFinished:
|
cleanupAfterFinished:
|
||||||
enabled: true
|
enabled: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||||
|
seconds: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
extraCommands:
|
extraCommands:
|
||||||
- "mc anonymous set download provisioning/ums/portal-assets"
|
- "mc anonymous set download provisioning/ums/portal-assets"
|
||||||
buckets:
|
buckets:
|
||||||
@@ -178,6 +182,8 @@ provisioning:
|
|||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.minio | toYaml | nindent 4 }}
|
{{ .Values.resources.minio | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
enabled: true
|
enabled: true
|
||||||
initialDelaySeconds: 5
|
initialDelaySeconds: 5
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
certificate:
|
certificate:
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
@@ -25,7 +28,7 @@ global:
|
|||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.postfix.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.registryOpencodeDe .Values.global.imageRegistry .Values.images.postfix.registry | quote }}
|
||||||
repository: {{ .Values.images.postfix.repository | quote }}
|
repository: {{ .Values.images.postfix.repository | quote }}
|
||||||
tag: {{ .Values.images.postfix.tag | quote }}
|
tag: {{ .Values.images.postfix.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -49,6 +52,9 @@ postfix:
|
|||||||
- fileName: "sasl_passwd.map"
|
- fileName: "sasl_passwd.map"
|
||||||
content:
|
content:
|
||||||
- {{ printf "%s %s:%s" .Values.smtp.host .Values.smtp.username .Values.smtp.password | quote }}
|
- {{ printf "%s %s:%s" .Values.smtp.host .Values.smtp.username .Values.smtp.password | quote }}
|
||||||
|
{{- if .Values.dkimpy.enabled }}
|
||||||
|
dkimpyHost: "opendesk-dkimpy-milter.{{ .Release.Namespace }}.svc.{{.Values.cluster.networking.domain }}:8892"
|
||||||
|
{{- end }}
|
||||||
rspamdHost: ""
|
rspamdHost: ""
|
||||||
relayHost: {{ if .Values.smtp.host }}{{ printf "[%s]:%d" .Values.smtp.host .Values.smtp.port | quote }}{{ else }}""{{ end }}
|
relayHost: {{ if .Values.smtp.host }}{{ printf "[%s]:%d" .Values.smtp.host .Values.smtp.port | quote }}{{ else }}""{{ end }}
|
||||||
relayNets: {{ join " " .Values.cluster.networking.cidr | quote }}
|
relayNets: {{ join " " .Values.cluster.networking.cidr | quote }}
|
||||||
@@ -70,6 +76,8 @@ postfix:
|
|||||||
virtualMailboxDomains: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
virtualMailboxDomains: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
||||||
virtualTransport: "lmtps:dovecot:24"
|
virtualTransport: "lmtps:dovecot:24"
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
replicaCount: {{ .Values.replicas.postfix }}
|
replicaCount: {{ .Values.replicas.postfix }}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
|
cleanup:
|
||||||
|
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||||
|
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
@@ -17,8 +24,6 @@ containerSecurityContext:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.postgresql | toYaml | nindent 4 }}
|
{{ .Values.seLinuxOptions.postgresql | toYaml | nindent 4 }}
|
||||||
|
|
||||||
job:
|
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1001
|
fsGroup: 1001
|
||||||
@@ -34,7 +39,7 @@ global:
|
|||||||
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.postgresql.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.postgresql.registry | quote }}
|
||||||
repository: {{ .Values.images.postgresql.repository | quote }}
|
repository: {{ .Values.images.postgresql.repository | quote }}
|
||||||
tag: {{ .Values.images.postgresql.tag | quote }}
|
tag: {{ .Values.images.postgresql.tag | quote }}
|
||||||
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -43,41 +48,50 @@ image:
|
|||||||
|
|
||||||
job:
|
job:
|
||||||
users:
|
users:
|
||||||
- username: "keycloak_user"
|
- username: {{ .Values.databases.keycloak.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.keycloakUser | quote }}
|
password: {{ .Values.secrets.postgresql.keycloakUser | quote }}
|
||||||
- username: "openproject_user"
|
connectionLimit: {{ .Values.databases.keycloak.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.openproject.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.openprojectUser | quote }}
|
password: {{ .Values.secrets.postgresql.openprojectUser | quote }}
|
||||||
- username: "keycloak_extensions_user"
|
connectionLimit: {{ .Values.databases.openproject.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.keycloakExtension.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
password: {{ .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
||||||
- username: "matrix_user"
|
connectionLimit: {{ .Values.databases.keycloakExtension.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.synapse.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.matrixUser | quote }}
|
password: {{ .Values.secrets.postgresql.matrixUser | quote }}
|
||||||
- username: "notificationsapi_user"
|
connectionLimit: {{ .Values.databases.synapse.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.umsNotificationsApiUser | quote }}
|
password: {{ .Values.secrets.postgresql.umsNotificationsApiUser | quote }}
|
||||||
- username: "guardianmanagementapi_user"
|
connectionLimit: {{ .Values.databases.umsNotificationsApi.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.umsGuardianManagementApiUser | quote }}
|
password: {{ .Values.secrets.postgresql.umsGuardianManagementApiUser | quote }}
|
||||||
- username: "selfservice_user"
|
connectionLimit: {{ .Values.databases.umsGuardianManagementApi.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.umsSelfserviceUser | quote }}
|
password: {{ .Values.secrets.postgresql.umsSelfserviceUser | quote }}
|
||||||
|
connectionLimit: {{ .Values.databases.umsSelfservice.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
databases:
|
databases:
|
||||||
- name: "keycloak"
|
- name: {{ .Values.databases.keycloak.name | quote }}
|
||||||
user: "keycloak_user"
|
user: {{ .Values.databases.keycloak.username | quote }}
|
||||||
- name: "keycloak_extensions"
|
- name: {{ .Values.databases.keycloakExtension.name | quote }}
|
||||||
user: "keycloak_extensions_user"
|
user: {{ .Values.databases.keycloakExtension.username | quote }}
|
||||||
- name: "openproject"
|
- name: {{ .Values.databases.openproject.name | quote }}
|
||||||
user: "openproject_user"
|
user: {{ .Values.databases.openproject.username | quote }}
|
||||||
- name: "matrix"
|
- name: {{ .Values.databases.synapse.name | quote }}
|
||||||
user: "matrix_user"
|
user: {{ .Values.databases.synapse.username | quote }}
|
||||||
additionalParams: "ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0"
|
additionalParams: "ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0"
|
||||||
- name: "guardianmanagementapi"
|
- name: {{ .Values.databases.umsGuardianManagementApi.name | quote }}
|
||||||
user: "guardianmanagementapi_user"
|
user: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
|
||||||
- name: "notificationsapi"
|
- name: {{ .Values.databases.umsNotificationsApi.name | quote }}
|
||||||
user: "notificationsapi_user"
|
user: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
||||||
- name: "selfservice"
|
- name: {{ .Values.databases.umsSelfservice.name | quote }}
|
||||||
user: "selfservice_user"
|
user: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
size: {{ .Values.persistence.size.postgresql | quote }}
|
size: {{ .Values.persistence.size.postgresql | quote }}
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
password: {{ .Values.secrets.postgresql.postgresUser | quote }}
|
password: {{ .Values.secrets.postgresql.postgresUser | quote }}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
{{/*
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
SPDX-FileCopyrightText: 2024 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
|
||||||
|
*/}}
|
||||||
---
|
---
|
||||||
architecture: "standalone"
|
architecture: "standalone"
|
||||||
|
|
||||||
@@ -12,7 +15,7 @@ global:
|
|||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
|
|
||||||
image:
|
image:
|
||||||
registry: {{ .Values.global.imageRegistry | default .Values.images.redis.registry | quote }}
|
registry: {{ coalesce .Values.repositories.image.dockerHub .Values.global.imageRegistry .Values.images.redis.registry | quote }}
|
||||||
repository: {{ .Values.images.redis.repository | quote }}
|
repository: {{ .Values.images.redis.repository | quote }}
|
||||||
tag: {{ .Values.images.redis.tag | quote }}
|
tag: {{ .Values.images.redis.tag | quote }}
|
||||||
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
@@ -35,6 +38,7 @@ master:
|
|||||||
count: {{ .Values.replicas.redis }}
|
count: {{ .Values.replicas.redis }}
|
||||||
persistence:
|
persistence:
|
||||||
size: {{ .Values.persistence.size.redis | quote }}
|
size: {{ .Values.persistence.size.redis | quote }}
|
||||||
|
podAnnotations: {}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.redis | toYaml | nindent 4 }}
|
{{ .Values.resources.redis | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ repositories:
|
|||||||
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
oci: true
|
oci: true
|
||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.xwiki.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.xwiki.registry }}/{{ .Values.charts.xwiki.repository }}"
|
||||||
{{ .Values.charts.xwiki.repository }}"
|
|
||||||
|
|
||||||
releases:
|
releases:
|
||||||
- name: "xwiki"
|
- name: "xwiki"
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2024 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
|
|
||||||
---
|
|
||||||
bases:
|
|
||||||
- "../../bases/environments.yaml"
|
|
||||||
---
|
|
||||||
helmfiles:
|
|
||||||
- path: "./helmfile-child.yaml"
|
|
||||||
values:
|
|
||||||
- {{ toYaml .Values | nindent 8 }}
|
|
||||||
...
|
|
||||||
12
helmfile/apps/xwiki/helmfile.yaml.gotmpl
Normal file
12
helmfile/apps/xwiki/helmfile.yaml.gotmpl
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 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
|
||||||
|
---
|
||||||
|
bases:
|
||||||
|
- "../../bases/environments.yaml"
|
||||||
|
---
|
||||||
|
helmfiles:
|
||||||
|
- path: "./helmfile-child.yaml.gotmpl"
|
||||||
|
values:
|
||||||
|
- {{ toYaml .Values | nindent 8 }}
|
||||||
|
...
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user