Compare commits

..

38 Commits

Author SHA1 Message Date
openDesk
dfc7fed325 chore(release): 0.5.32 [skip ci]
## [0.5.32](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.31...v0.5.32) (2023-11-09)

### Bug Fixes

* **collabora:** Resource definitions ([65ce9a1](65ce9a171b))
2023-11-09 06:44:45 +00:00
Thorsten Roßner
65ce9a171b fix(collabora): Resource definitions 2023-11-08 21:01:11 +01:00
openDesk
5e50ed119f chore(release): 0.5.31 [skip ci]
## [0.5.31](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.30...v0.5.31) (2023-11-08)

### Bug Fixes

* **univention-management-stack:** Update optional UMS preview state ([d0a0799](d0a07997c1))
2023-11-08 13:43:13 +00:00
Johannes Bornhold
d0a07997c1 fix(univention-management-stack): Update optional UMS preview state 2023-11-08 13:41:22 +00:00
openDesk
985df5906f chore(release): 0.5.30 [skip ci]
## [0.5.30](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.29...v0.5.30) (2023-11-06)

### Bug Fixes

* **collabora:** Init monitoring in defaults and in collabora (for prometheus-monitor, -rules and grafana dashboard) ([0ad0434](0ad043406b))
* **helmfile:** Add monitoring.yaml for optional monitoring ([385d81b](385d81b9a9))
2023-11-06 23:26:23 +00:00
Dominik Kaminski
385d81b9a9 fix(helmfile): Add monitoring.yaml for optional monitoring 2023-11-06 17:12:53 -06:00
Martin Müller
0ad043406b fix(collabora): Init monitoring in defaults and in collabora (for prometheus-monitor, -rules and grafana dashboard) 2023-11-06 16:12:15 -06:00
openDesk
4a79728f01 chore(release): 0.5.29 [skip ci]
## [0.5.29](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.28...v0.5.29) (2023-11-06)

### Bug Fixes

* **xwiki:** Update XWiki Helm configuration to enable LDAP and OIDC user synchronization ([7c56c72](7c56c7244f))
2023-11-06 19:34:52 +00:00
Clément Aubin
7c56c7244f fix(xwiki): Update XWiki Helm configuration to enable LDAP and OIDC user synchronization 2023-11-06 15:41:23 +00:00
openDesk
e0fce6631b chore(release): 0.5.28 [skip ci]
## [0.5.28](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.27...v0.5.28) (2023-11-06)

### Bug Fixes

* **open-xchange:** Add Document- and ImageConverter, improve LDAP address book filters ([899a8c5](899a8c5af9))
2023-11-06 15:40:22 +00:00
Viktor Pracht
899a8c5af9 fix(open-xchange): Add Document- and ImageConverter, improve LDAP address book filters 2023-11-06 15:38:35 +00:00
openDesk
6cee2c878b chore(release): 0.5.27 [skip ci]
## [0.5.27](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.26...v0.5.27) (2023-11-04)

### Bug Fixes

* **docs:** Re-include release artefacts ([4359b21](4359b21f1c))
2023-11-04 12:21:17 +00:00
Thorsten Rossner
4359b21f1c fix(docs): Re-include release artefacts 2023-11-04 12:19:45 +00:00
openDesk
d8b2bd3af0 chore(release): 0.5.26 [skip ci]
## [0.5.26](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.25...v0.5.26) (2023-11-02)

### Bug Fixes

* **element:** Enables user directory search for all users ([8fafd90](8fafd906a3))
2023-11-02 14:32:46 +00:00
Milton Moura
8fafd906a3 fix(element): Enables user directory search for all users 2023-11-02 11:45:05 -01:00
openDesk
fece4ace87 chore(release): 0.5.25 [skip ci]
## [0.5.25](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.24...v0.5.25) (2023-11-01)

### Bug Fixes

* **cryptpad:** Add CryptPad to support editing of diagrams.net files from within Nextcloud ([ab6014f](ab6014f8c6))
2023-11-01 17:25:13 +00:00
Thomas Kaltenbrunner
ab6014f8c6 fix(cryptpad): Add CryptPad to support editing of diagrams.net files from within Nextcloud 2023-11-01 17:23:21 +00:00
openDesk
fecd13612b chore(release): 0.5.24 [skip ci]
## [0.5.24](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.23...v0.5.24) (2023-11-01)

### Bug Fixes

* **collabora:** Update image to 23.05.5.3.1 ([38336d0](38336d0240))
2023-11-01 16:27:49 +00:00
Thorsten Roßner
38336d0240 fix(collabora): Update image to 23.05.5.3.1 2023-11-01 08:53:27 +01:00
openDesk
9f9e4e9521 chore(release): 0.5.23 [skip ci]
## [0.5.23](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.22...v0.5.23) (2023-11-01)

### Bug Fixes

* **element:** Update Element Web to latest release ([b47de62](b47de62f98))
2023-11-01 14:29:33 +00:00
Mikhail Aheichyk
b47de62f98 fix(element): Update Element Web to latest release 2023-11-01 16:55:14 +03:00
openDesk
9e54299917 chore(release): 0.5.22 [skip ci]
## [0.5.22](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.21...v0.5.22) (2023-10-31)

### Bug Fixes

* **openproject:** Nextcloud integration within K8s instances ([d249d0e](d249d0e3ce))
2023-10-31 14:04:35 +00:00
Oliver Günther
d249d0e3ce fix(openproject): Nextcloud integration within K8s instances 2023-10-31 14:02:40 +00:00
Thorsten Roßner
fbe7de3c56 chore(release): 0.5.21 [skip ci]
## [0.5.21](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.20...v0.5.21) (2023-10-30)

### Bug Fixes

* **helmfile:** Deinstall components if disabled ([7feaadf](7feaadf7f8))
* **helmfile:** Put enviroments in first document inside of a yaml ([034e98c](034e98c850))
2023-10-30 17:01:00 +00:00
Martin Müller
034e98c850 fix(helmfile): Put enviroments in first document inside of a yaml
see: https://helmfile.readthedocs.io/en/latest/#environment
2023-10-30 17:55:26 +01:00
Martin Müller
7feaadf7f8 fix(helmfile): Deinstall components if disabled 2023-10-30 17:42:35 +01:00
Thorsten Roßner
a7fef3afff chore(release): 0.5.20 [skip ci]
## [0.5.20](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.19...v0.5.20) (2023-10-30)

### Bug Fixes

* **helmfile:** Remove old XWiki image, set explicit timeout for OP deployment, bump Jitsi Helm chart to enable chat for stand-alone Jitsi ([5d01f8c](5d01f8ca46))
2023-10-30 15:41:11 +00:00
Thorsten Rossner
5d01f8ca46 fix(helmfile): Remove old XWiki image, set explicit timeout for OP deployment, bump Jitsi Helm chart to enable chat for stand-alone Jitsi 2023-10-30 15:38:48 +00:00
Thorsten Roßner
7093022ec4 chore(release): 0.5.19 [skip ci]
## [0.5.19](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.18...v0.5.19) (2023-10-30)

### Bug Fixes

* **element:** Update Element Web and Nordeck Widgets to latest releases ([2313f75](2313f75dbe))
2023-10-30 14:46:49 +00:00
Milton Moura
2313f75dbe fix(element): Update Element Web and Nordeck Widgets to latest releases 2023-10-30 14:43:46 +00:00
Thorsten Roßner
af9caea726 chore(release): 0.5.18 [skip ci]
## [0.5.18](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.17...v0.5.18) (2023-10-28)

### Bug Fixes

* **xwiki:** Switch to Alpine/Jetty slim image ([b399869](b39986907c))
2023-10-28 04:51:22 +00:00
Thomas Kaltenbrunner
b39986907c fix(xwiki): Switch to Alpine/Jetty slim image 2023-10-28 04:49:31 +00:00
Thorsten Roßner
a02d7c6085 chore(release): 0.5.17 [skip ci]
## [0.5.17](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.16...v0.5.17) (2023-10-28)

### Bug Fixes

* **nextcloud:** Update swp_integration app and prepare CryptPad integration ([a046dea](a046deaf17))
2023-10-28 04:30:26 +00:00
Thomas Kaltenbrunner
a046deaf17 fix(nextcloud): Update swp_integration app and prepare CryptPad integration 2023-10-28 04:28:48 +00:00
Thorsten Roßner
c76e960446 chore(release): 0.5.16 [skip ci]
## [0.5.16](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.15...v0.5.16) (2023-10-26)

### Bug Fixes

* **openproject:** Slim container with upgraded helm-chart ([535823e](535823e0a8))
2023-10-26 16:50:26 +00:00
Oliver Günther
535823e0a8 fix(openproject): Slim container with upgraded helm-chart 2023-10-26 16:48:46 +00:00
Thorsten Roßner
9966bf640e chore(release): 0.5.15 [skip ci]
## [0.5.15](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.14...v0.5.15) (2023-10-25)

### Bug Fixes

* **helmfile:** Add XWiki Jetty and UniventionKeycloak to image.yaml for Compliance checks. They are not yet part of standard deployment. ([8e376bb](8e376bb4a5))
2023-10-25 11:52:23 +00:00
Thorsten Rossner
8e376bb4a5 fix(helmfile): Add XWiki Jetty and UniventionKeycloak to image.yaml for Compliance checks. They are not yet part of standard deployment. 2023-10-25 11:50:08 +00:00
64 changed files with 1163 additions and 296 deletions

View File

@@ -78,6 +78,12 @@ variables:
options:
- "yes"
- "no"
DEPLOY_CRYPTPAD:
description: "Enable CryptPad deployment."
value: "no"
options:
- "yes"
- "no"
DEPLOY_ELEMENT:
description: "Enable Element deployment."
value: "no"
@@ -342,6 +348,18 @@ collabora-deploy:
variables:
COMPONENT: "collabora"
cryptpad-deploy:
stage: "component-deploy-stage-1"
extends: ".deploy-common"
rules:
- if: >
$CI_PIPELINE_SOURCE =~ "web|schedules|triggers" &&
$NAMESPACE =~ /.+/ &&
($DEPLOY_ALL_COMPONENTS != "no" || $DEPLOY_NEXTCLOUD != "no" || $DEPLOY_CRYPTPAD != "no")
when: "always"
variables:
COMPONENT: "cryptpad"
nextcloud-deploy:
stage: "component-deploy-stage-1"
extends: ".deploy-common"

View File

@@ -1,3 +1,131 @@
## [0.5.32](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.31...v0.5.32) (2023-11-09)
### Bug Fixes
* **collabora:** Resource definitions ([65ce9a1](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/65ce9a171b7c8ebc453fb6bbe96743c8516da2c6))
## [0.5.31](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.30...v0.5.31) (2023-11-08)
### Bug Fixes
* **univention-management-stack:** Update optional UMS preview state ([d0a0799](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/d0a07997c12ddb9731a0dfed0d6fa71d9a3790e7))
## [0.5.30](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.29...v0.5.30) (2023-11-06)
### Bug Fixes
* **collabora:** Init monitoring in defaults and in collabora (for prometheus-monitor, -rules and grafana dashboard) ([0ad0434](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/0ad043406bef7bb10d561ef1418b58cbd8714d43))
* **helmfile:** Add monitoring.yaml for optional monitoring ([385d81b](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/385d81b9a9e1ec319706493c51629c8e48822aa7))
## [0.5.29](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.28...v0.5.29) (2023-11-06)
### Bug Fixes
* **xwiki:** Update XWiki Helm configuration to enable LDAP and OIDC user synchronization ([7c56c72](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/7c56c7244f3862b6b21627661430a94d804c6974))
## [0.5.28](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.27...v0.5.28) (2023-11-06)
### Bug Fixes
* **open-xchange:** Add Document- and ImageConverter, improve LDAP address book filters ([899a8c5](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/899a8c5af9052634b98d9876dfbaea517d89ad49))
## [0.5.27](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.26...v0.5.27) (2023-11-04)
### Bug Fixes
* **docs:** Re-include release artefacts ([4359b21](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/4359b21f1cdae91a87b87ad2b270d67a2b1eda21))
## [0.5.26](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.25...v0.5.26) (2023-11-02)
### Bug Fixes
* **element:** Enables user directory search for all users ([8fafd90](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/8fafd906a3b0efa7e4164b357656d7903fc55371))
## [0.5.25](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.24...v0.5.25) (2023-11-01)
### Bug Fixes
* **cryptpad:** Add CryptPad to support editing of diagrams.net files from within Nextcloud ([ab6014f](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/ab6014f8c6285785be5c56cd656fe0636df4434c))
## [0.5.24](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.23...v0.5.24) (2023-11-01)
### Bug Fixes
* **collabora:** Update image to 23.05.5.3.1 ([38336d0](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/38336d024033f4fe1a28b0f76f9c63ecdb076156))
## [0.5.23](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.22...v0.5.23) (2023-11-01)
### Bug Fixes
* **element:** Update Element Web to latest release ([b47de62](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/b47de62f987e8778878fee55ecda3032beb55f3d))
## [0.5.22](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.21...v0.5.22) (2023-10-31)
### Bug Fixes
* **openproject:** Nextcloud integration within K8s instances ([d249d0e](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/d249d0e3ce3ee0966033e870ea5c4d9e1928f045))
## [0.5.21](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.20...v0.5.21) (2023-10-30)
### Bug Fixes
* **helmfile:** Deinstall components if disabled ([7feaadf](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/7feaadf7f8830d8d0d5df752733c9b8f47315df6))
* **helmfile:** Put enviroments in first document inside of a yaml ([034e98c](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/034e98c850fa1f67300c04883904737a69448a25))
## [0.5.20](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.19...v0.5.20) (2023-10-30)
### Bug Fixes
* **helmfile:** Remove old XWiki image, set explicit timeout for OP deployment, bump Jitsi Helm chart to enable chat for stand-alone Jitsi ([5d01f8c](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/5d01f8ca46384d63d69dab0119998c4bb3183084))
## [0.5.19](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.18...v0.5.19) (2023-10-30)
### Bug Fixes
* **element:** Update Element Web and Nordeck Widgets to latest releases ([2313f75](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/2313f75dbe32d855b0c440944bd0de51c8e104ca))
## [0.5.18](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.17...v0.5.18) (2023-10-28)
### Bug Fixes
* **xwiki:** Switch to Alpine/Jetty slim image ([b399869](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/b39986907cece3cec06012531a55b2699d131f90))
## [0.5.17](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.16...v0.5.17) (2023-10-28)
### Bug Fixes
* **nextcloud:** Update swp_integration app and prepare CryptPad integration ([a046dea](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/a046deaf173ab41029c2ab5e3161bd89e0fdabcb))
## [0.5.16](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.15...v0.5.16) (2023-10-26)
### Bug Fixes
* **openproject:** Slim container with upgraded helm-chart ([535823e](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/535823e0a8b2bde72d159835248b2287fd136af7))
## [0.5.15](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.14...v0.5.15) (2023-10-25)
### Bug Fixes
* **helmfile:** Add XWiki Jetty and UniventionKeycloak to image.yaml for Compliance checks. They are not yet part of standard deployment. ([8e376bb](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/commit/8e376bb4a5e37e16d76ea527cd02a5f614cdfe3d))
## [0.5.14](https://gitlab.opencode.de/bmi/souveraener_arbeitsplatz/deployment/sovereign-workplace/compare/v0.5.13...v0.5.14) (2023-10-20)

View File

@@ -6,11 +6,20 @@ SPDX-License-Identifier: Apache-2.0
[[_TOC_]]
# Disclaimer August 2023
# Disclaimer
The current state of the Sovereign Workplace contains components that are going to be
replaced. Like for example the UCS dev container monolith will be substituted by
multiple Univention Management Stack containers.
openDesk will face breaking changes in the near future without upgrade paths.
While most components support upgrades, major configuration or component changes
may occur, therefore we recommend always installing from scratch.
Components that are going to be replaced soon are:
- The UCS dev container monolith will be substituted by multiple Univention
Management Stack containers,
- the Nextcloud community container is going to be replaced by an openDesk
specific Nextcloud distroless container and
- Dovecot Community is going to be replaced by a Dovecot container tailored for the
needs of the public sector.
In the next months we not only expect upstream updates of the functional
components within their feature scope, but we are also going to address
@@ -19,8 +28,6 @@ operational issues like monitoring and network policies.
Of course, further development also includes enhancing the documentation.
The first release of the Sovereign Workplace is scheduled for December 2023.
Before that release there will be breaking changes in the deployment.
# The Sovereign Workplace (SWP)
@@ -209,6 +216,7 @@ subdirectory `/helmfile/apps/services`.
| ClamAV (Distributed) | `clamavDistributed.enabled` | `false` | Antivirus engine | Eval |
| ClamAV (Simple) | `clamavSimple.enabled` | `true` | Antivirus engine | Eval |
| Collabora | `collabora.enabled` | `true` | Weboffice | Functional |
| CryptPad | `cryptpad.enabled` | `true` | Weboffice | Functional |
| Dovecot | `dovecot.enabled` | `true` | Mail backend | Functional |
| Element | `element.enabled` | `true` | Secure communications platform | Functional |
| Intercom Service | `intercom.enabled` | `true` | Cross service data exchange | Functional |
@@ -315,6 +323,7 @@ actual scalability of the components (see column `Scaling (verified)`).
| | `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.synapse` | :x: | :gear: |
@@ -333,7 +342,7 @@ actual scalability of the components (see column `Scaling (verified)`).
### Mail/SMTP configuration
To use the full potential of the openDesk, you need to set up a STMP Smarthost/Relay which allows to send emails from
To use the full potential of the openDesk, you need to set up a STMP Smarthost/Relay which allows to send emails from
the whole subdomain.
```yaml
@@ -376,10 +385,11 @@ This list gives you an overview of default security settings and if they comply
| | icap | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 100 | 101 | 101 |
| | milter | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 100 | 101 | 101 |
| Collabora | collabora | :x: | :x: | :x: (`CHOWN`, `DAC_OVERRIDE`, `FOWNER`, `FSETID`, `KILL`, `SETGID`, `SETUID`, `SETPCAP`, `NET_BIND_SERVICE`, `NET_RAW`, `SYS_CHROOT`, `MKNOD`) | :white_check_mark: | :x: | :white_check_mark: | 100 | 101 | 100 |
| Element | element | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 101 | 101 | 101 |
| | synapse | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 10991 | - | 10991 |
| | synapseWeb | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 101 | 101 | 101 |
| | wellKnown | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 101 | 101 | 101 |
| CryptPad | cryptpad | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | - | - | 4001 |
| Element | element | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 101 | 101 | 101 |
| | synapse | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 10991 | - | 10991 |
| | synapseWeb | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 101 | 101 | 101 |
| | wellKnown | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 101 | 101 | 101 |
| Jitsi | jibri | :x: | :x: | :x: (`SYS_ADMIN`) | :white_check_mark: | :x: | :x: | - | - | - |
| | jicofo | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :x: | :x: | - | - | - |
| | jitsiKeycloakAdapter | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | 1993 | 1993 | - |
@@ -407,6 +417,7 @@ Helm Charts which are released via openDesk CI/CD process are always signed. The
| bitnami-repo (openDesk build) | yes | :white_check_mark: |
| clamav-repo | yes | :white_check_mark: |
| collabora-online-repo | no | :x: |
| cryptpad-online-repo | no | :x: |
| intercom-service-repo | yes | :white_check_mark: |
| istio-resources-repo | yes | :white_check_mark: |
| jitsi-repo | yes | :white_check_mark: |
@@ -430,6 +441,50 @@ Helm Charts which are released via openDesk CI/CD process are always signed. The
| xwiki-repo | no | :x: |
## Monitoring
Together with
[kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) into
you can monitor openDesk components with Prometheus and Grafana.
Before enabling the following options, you need to install the respective CRDs from the kube-prometheus-stack
repository.
### Metrics
To deploy podMonitor and serviceMonitor custom resources, enable it by:
```yaml
prometheus:
serviceMonitors:
enabled: true
podMonitors:
enabled: true
```
### Alerts
Some helm-charts provide a default set of prometheusRules for alerting, enable it by:
```yaml
prometheus:
prometheusRules:
enabled: true
```
### Dashboards for Grafana
To deploy optional ConfigMaps with Grafana dashboards, enable it by:
```yaml
grafana:
dashboards:
enabled: true
```
### Components
| Component | Metrics (pod- or serviceMonitor) | Alerts (prometheusRule) | Dashboard (Grafana) |
|:------------|-----------------------------------|-------------------------|---------------------|
| Collabora | :white_check_mark: | :white_check_mark: | :white_check_mark: |
# Component integration
## Functional use cases
@@ -516,6 +571,7 @@ flowchart TD
J[Jitsi]-->K
I[IntercomService]-->K
C[Collabora]-->N
R[CryptPad]-->N
F[Postfix]-->D
```
@@ -567,6 +623,11 @@ that can be found at `Settings` -> `CI/CD` -> `Variables`. The variable should h
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.
# License
This project uses the following license: Apache-2.0
# Copyright
Copyright (C) 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# Footnotes

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# Collabora Online
@@ -16,12 +20,9 @@ releases:
values:
- "values.yaml"
- "values.gotmpl"
condition: "collabora.enabled"
installed: {{ .Values.collabora.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "collabora"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -38,4 +38,23 @@ replicaCount: {{ .Values.replicas.collabora }}
resources:
{{ .Values.resources.collabora | toYaml | nindent 2 }}
prometheus:
servicemonitor:
enabled: {{ .Values.prometheus.serviceMonitors.enabled }}
labels:
{{- toYaml .Values.prometheus.serviceMonitors.labels | nindent 6 }}
rules:
enabled: {{ .Values.prometheus.prometheusRules.enabled }}
additionalLabels:
{{- toYaml .Values.prometheus.prometheusRules.labels | nindent 6 }}
grafana:
dashboards:
enabled: {{ .Values.grafana.dashboards.enabled }}
labels:
{{- toYaml .Values.grafana.dashboards.labels | nindent 6 }}
annotations:
{{- toYaml .Values.grafana.dashboards.annotations | nindent 6 }}
...

View File

@@ -0,0 +1,28 @@
# 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"
---
repositories:
# CryptPad
# Source: https://github.com/cryptpad/helm
- name: "cryptpad-online-repo"
url: >-
{{ env "PRIVATE_CHART_REPOSITORY_URL" |
default "https://cryptpad.github.io/helm" }}
releases:
- name: "cryptpad"
chart: "cryptpad-online-repo/cryptpad"
version: "0.0.13"
values:
- "values.yaml"
- "values.gotmpl"
installed: {{ .Values.cryptpad.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "cryptpad"
...

View File

@@ -0,0 +1,33 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
image:
repository: "{{ .Values.global.imageRegistry }}/{{ .Values.images.cryptpad.repository }}"
tag: {{ .Values.images.cryptpad.tag | quote }}
pullPolicy: {{ .Values.global.imagePullPolicy | quote }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . | quote }}
{{- end }}
ingress:
enabled: {{ .Values.ingress.enabled }}
className: {{ .Values.ingress.ingressClassName | quote }}
hosts:
- host: "{{ .Values.global.hosts.cryptpad }}.{{ .Values.global.domain }}"
paths:
- path: "/"
pathType: "ImplementationSpecific"
tls:
- secretName: {{ .Values.ingress.tls.secretName | quote }}
hosts:
- "{{ .Values.global.hosts.cryptpad }}.{{ .Values.global.domain }}"
replicaCount: {{ .Values.replicas.cryptpad }}
resources:
{{ .Values.resources.cryptpad | toYaml | nindent 2 }}
...

View File

@@ -0,0 +1,45 @@
# 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/values.yaml
# Disable registration and access to unregistered users:
# (https://docs.cryptpad.org/en/admin_guide/customization.html#application-config)
application_config:
availablePadTypes:
- "diagram"
# Deactivating public access breaks nextcloud plugin!
# registeredOnlyTypes:
# - "diagram"
autoscaling:
enabled: false
enableEmbedding: true
fullnameOverride: "cryptpad"
persistence:
enabled: false
podSecurityContext:
fsGroup: 4001
securityContext:
seccompProfile:
type: "RuntimeDefault"
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
serviceAccount:
create: true
workloadStateful: false
...

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Element
@@ -33,7 +37,8 @@ releases:
values:
- "values-element.yaml"
- "values-element.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "opendesk-well-known"
chart: "opendesk-element-repo/opendesk-well-known"
@@ -41,7 +46,8 @@ releases:
values:
- "values-well-known.yaml"
- "values-well-known.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "opendesk-synapse-web"
chart: "opendesk-element-repo/opendesk-synapse-web"
@@ -49,7 +55,8 @@ releases:
values:
- "values-synapse-web.yaml"
- "values-synapse-web.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "opendesk-synapse"
chart: "opendesk-element-repo/opendesk-synapse"
@@ -57,7 +64,8 @@ releases:
values:
- "values-synapse.yaml"
- "values-synapse.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "opendesk-matrix-user-verification-service-bootstrap"
chart: "opendesk-element-repo/opendesk-synapse-create-account"
@@ -65,7 +73,8 @@ releases:
values:
- "values-matrix-user-verification-service-bootstrap.yaml"
- "values-matrix-user-verification-service-bootstrap.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "opendesk-matrix-user-verification-service"
chart: "opendesk-element-repo/opendesk-matrix-user-verification-service"
@@ -73,7 +82,8 @@ releases:
values:
- "values-matrix-user-verification-service.yaml"
- "values-matrix-user-verification-service.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "matrix-neoboard-widget"
chart: "opendesk-matrix-widgets-repo/matrix-neoboard-widget"
@@ -81,7 +91,8 @@ releases:
values:
- "values-matrix-neoboard-widget.yaml"
- "values-matrix-neoboard-widget.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "matrix-neochoice-widget"
chart: "opendesk-matrix-widgets-repo/matrix-neochoice-widget"
@@ -89,7 +100,8 @@ releases:
values:
- "values-matrix-neochoice-widget.yaml"
- "values-matrix-neochoice-widget.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "matrix-neodatefix-widget"
chart: "opendesk-matrix-widgets-repo/matrix-neodatefix-widget"
@@ -97,7 +109,8 @@ releases:
values:
- "values-matrix-neodatefix-widget.yaml"
- "values-matrix-neodatefix-widget.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "matrix-neodatefix-bot-bootstrap"
chart: "opendesk-element-repo/opendesk-synapse-create-account"
@@ -105,7 +118,8 @@ releases:
values:
- "values-matrix-neodatefix-bot-bootstrap.yaml"
- "values-matrix-neodatefix-bot-bootstrap.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
- name: "matrix-neodatefix-bot"
chart: "opendesk-matrix-widgets-repo/matrix-neodatefix-bot"
@@ -113,12 +127,10 @@ releases:
values:
- "values-matrix-neodatefix-bot.yaml"
- "values-matrix-neodatefix-bot.gotmpl"
condition: "element.enabled"
installed: {{ .Values.element.enabled }}
timeout: 900
commonLabels:
deploy-stage: "component-1"
component: "element"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -9,10 +9,10 @@ containerSecurityContext:
enabled: true
privileged: false
# TODO: the service can't run with read only filesystem or as non-root
#readOnlyRootFilesystem: true
#runAsGroup: 101
#runAsNonRoot: true
#runAsUser: 101
# readOnlyRootFilesystem: true
# runAsGroup: 101
# runAsNonRoot: true
# runAsUser: 101
seccompProfile:
type: "RuntimeDefault"

View File

@@ -3,6 +3,9 @@
---
configuration:
additionalConfiguration:
user_directory:
enabled: true
search_all_users: true
room_prejoin_state:
additional_event_types:
- "m.space.parent"

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# Intercom Service
@@ -18,12 +22,9 @@ releases:
version: "2.0.0"
values:
- "values.gotmpl"
condition: "intercom.enabled"
installed: {{ .Values.intercom.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "intercom-service"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Jitsi
@@ -15,16 +19,13 @@ repositories:
releases:
- name: "jitsi"
chart: "jitsi-repo/sovereign-workplace-jitsi"
version: "1.5.1"
version: "1.7.1"
values:
- "values-jitsi.gotmpl"
condition: "jitsi.enabled"
installed: {{ .Values.jitsi.enabled }}
timeout: 900
commonLabels:
deploy-stage: "component-1"
component: "jitsi"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Keycloak Bootstrap
@@ -21,14 +25,11 @@ releases:
values:
- "values-bootstrap.gotmpl"
- "values-bootstrap.yaml"
condition: "keycloak.enabled"
installed: {{ .Values.keycloak.enabled }}
# as we have seen some slow clusters we want to ensure we not just fail due to a timeout.
timeout: 1800
commonLabels:
deploy-stage: "component-1"
component: "keycloak-bootstrap"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# VMWare Bitnami
@@ -32,7 +36,7 @@ releases:
version: "2.0.0"
values:
- "values-theme.gotmpl"
condition: "keycloak.enabled"
installed: {{ .Values.keycloak.enabled }}
- name: "keycloak"
chart: "bitnami-repo/keycloak"
version: "12.1.5"
@@ -41,7 +45,7 @@ releases:
- "values-keycloak.yaml"
- "values-keycloak-idp.yaml"
wait: true
condition: "keycloak.enabled"
installed: {{ .Values.keycloak.enabled }}
- name: "keycloak-extensions"
chart: "keycloak-extensions-repo/keycloak-extensions"
version: "0.1.0"
@@ -50,12 +54,9 @@ releases:
values:
- "values-extensions.yaml"
- "values-extensions.gotmpl"
condition: "keycloak.enabled"
installed: {{ .Values.keycloak.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "keycloak"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -34,7 +34,7 @@ keycloakConfigCli:
- name: "LDAP_USERS_DN"
value: "cn=users,dc=swp-ldap,dc=internal"
- name: "LDAP_SERVER_URL"
value: "univention-corporate-container"
value: "{{ .Values.global.ldap.host }}"
- name: "IDENTIFIER"
value: "souvap"
- name: "THEME"

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Keycloak Bootstrap
@@ -24,13 +28,13 @@ repositories:
releases:
- name: "opendesk-nextcloud-bootstrap"
chart: "opendesk-nextcloud-bootstrap-repo/opendesk-nextcloud-bootstrap"
version: "3.1.2"
version: "3.2.2"
wait: true
waitForJobs: true
values:
- "values-bootstrap.gotmpl"
- "values-bootstrap.yaml"
condition: "nextcloud.enabled"
installed: {{ .Values.nextcloud.enabled }}
timeout: 900
- name: "nextcloud"
@@ -41,13 +45,10 @@ releases:
values:
- "values-nextcloud.gotmpl"
- "values-nextcloud.yaml"
condition: "nextcloud.enabled"
installed: {{ .Values.nextcloud.enabled }}
timeout: 900
commonLabels:
deploy-stage: "component-1"
component: "nextcloud"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -36,6 +36,7 @@ config:
password: {{ .Values.databases.nextcloud.password | default .Values.secrets.mariadb.nextcloudUser | quote }}
ldapSearch:
host: "{{ .Values.global.ldap.host }}"
password: "{{ .Values.secrets.univentionCorporateServer.ldapSearch.nextcloud }}"
smtp:

View File

@@ -11,6 +11,6 @@ config:
userOidc:
username: "ncoidc"
ldapSearch:
host: "univention-corporate-container"
cryptpad:
enabled: true
...

View File

@@ -44,6 +44,18 @@ externalDatabase:
metrics:
enabled: false
nextcloud:
configs:
mimetypealiases.json: |-
{
"application/x-drawio": "image"
}
mimetypemapping.json: |-
{
"drawio": ["application/x-drawio"]
}
# this is not documented but can be found in values.yaml
service:
port: "80"

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Dovecot
@@ -35,18 +39,18 @@ releases:
values:
- "values-dovecot.yaml"
- "values-dovecot.gotmpl"
condition: "dovecot.enabled"
installed: {{ .Values.dovecot.enabled }}
timeout: 900
- name: "open-xchange"
chart: "openxchange-repo/appsuite-public-sector/charts/appsuite-public-sector"
version: "2.0.4"
version: "2.1.1"
values:
- "values-openxchange.yaml"
- "values-openxchange.gotmpl"
- "values-openxchange-enterprise-contact-picker.yaml"
- "values-openxchange-enterprise-contact-picker.gotmpl"
condition: "oxAppsuite.enabled"
installed: {{ .Values.oxAppsuite.enabled }}
timeout: 900
- name: "opendesk-open-xchange-bootstrap"
@@ -54,13 +58,10 @@ releases:
version: "1.3.1"
values:
- "values-openxchange-bootstrap.gotmpl"
condition: "oxAppsuite.enabled"
installed: {{ .Values.oxAppsuite.enabled }}
timeout: 900
commonLabels:
deploy-stage: "component-1"
component: "open-xchange"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -19,6 +19,7 @@ dovecot:
password: {{ .Values.secrets.dovecot.doveadm | quote }}
ldap:
dn: "uid=ldapsearch_dovecot,cn=users,dc=swp-ldap,dc=internal"
host: "{{ .Values.global.ldap.host }}"
password: {{ .Values.secrets.univentionCorporateServer.ldapSearch.dovecot | quote }}
oidc:
introspectionURL: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap/protocol/openid-connect/token/introspect"

View File

@@ -7,7 +7,6 @@ containerSecurityContext:
dovecot:
ldap:
enabled: true
host: "univention-corporate-container"
port: 389
base: "dc=swp-ldap,dc=internal"

View File

@@ -8,6 +8,10 @@ appsuite:
secretYAMLFiles:
ldap-client-config.yml:
contactsLdapClient:
pool:
host:
address: "{{ .Values.global.ldap.host }}"
port: 389
auth:
adminDN:
password: {{ .Values.secrets.univentionCorporateServer.ldapSearch.ox | quote }}

View File

@@ -6,7 +6,7 @@ appsuite:
properties:
# Enterprise contact picker
com.openexchange.contacts.ldap.accounts: "opendesk"
com.openexchange.contacts.ldap.accounts: "opendesk,other,functional"
com.openexchange.admin.bypassAccessCombinationChecks: "true"
ENABLE_INTERNAL_USER_EDIT: "false"
@@ -16,9 +16,6 @@ appsuite:
contactsLdapClient:
pool:
type: "simple"
host:
address: "univention-corporate-container"
port: 389
auth:
type: "adminDN"
adminDN:
@@ -153,7 +150,7 @@ appsuite:
# allows to sort the attributes lexicographically, either "ascending" or "descending".
dynamicAttributes:
attributeName: "o"
contactFilterTemplate: "(&(univentionObjectType=users/user)(o=[value]))"
contactFilterTemplate: "(&(univentionObjectType=users/user)(isOxUser=OK)(o=[value]))"
contactSearchScope: "sub"
# refreshInterval: 1h
refreshInterval: "5m"
@@ -174,6 +171,48 @@ appsuite:
- "Management"
- "Human Resources"
other:
name: "Other contacts"
ldapClientId: "contactsLdapClient"
mappings: "ucs"
folders:
mode: "static"
usedForSync:
protected: true
defaultValue: false
usedInPicker:
protected: false
defaultValue: true
shownInTree:
protected: false
defaultValue: true
static:
commonContactFilter: "(&(univentionObjectType=users/user)(isOxUser=OK)(!(o=*)))"
folders:
- name: "Ohne Organisation"
contactFilter: "(&(univentionObjectType=users/user)(isOxUser=OK)(!(o=*)))"
functional:
name: "Functional mailboxes"
ldapClientId: "contactsLdapClient"
mappings: "functional"
folders:
mode: "static"
usedForSync:
protected: true
defaultValue: false
usedInPicker:
protected: false
defaultValue: true
shownInTree:
protected: false
defaultValue: true
static:
commonContactFilter: "(univentionObjectType=oxmail/functional_account)"
folders:
- name: "Funktionale Postfächer"
contactFilter: "(univentionObjectType=oxmail/functional_account)"
contacts-provider-ldap-mappings.yml:
# Example definitions of contact property <-> LDAP attribute mappings.
#
@@ -347,3 +386,9 @@ appsuite:
# image_last_modified :
# Will be set automatically to "image/jpeg" if not defined.
# image1_content_type :
functional:
objectid: "mailPrimaryAddress"
displayname: "oxPersonal,cn,mailPrimaryAddress"
file_as: "oxPersonal,cn,mailPrimaryAddress"
email1: "mailPrimaryAddress"

View File

@@ -83,6 +83,7 @@ appsuite:
propertiesFiles:
"/opt/open-xchange/etc/ldapauth.properties":
bindDNPassword: {{ .Values.secrets.univentionCorporateServer.ldapSearch.ox | quote }}
java.naming.provider.url: "ldap://{{ .Values.global.ldap.host }}:389/dc=swp-ldap,dc=internal"
uiSettings:
"io.ox.nextcloud//server": "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/fs/"
"io.ox.public-sector//ics/url": "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/"
@@ -103,6 +104,9 @@ appsuite:
oxguardpass: |
{{ .Values.secrets.oxAppsuite.oxguardMC }}
{{ .Values.secrets.oxAppsuite.oxguardRC }}
redis:
auth:
password: {{ .Values.secrets.redis.password | quote }}
image:
repository: {{ .Values.images.openxchangeCoreMW.repository }}
tag: {{ .Values.images.openxchangeCoreMW.tag }}
@@ -139,6 +143,16 @@ appsuite:
repository: {{ .Values.images.openxchangeCoreUIMiddleware.repository }}
tag: {{ .Values.images.openxchangeCoreUIMiddleware.tag }}
pullPolicy: "{{ .Values.global.imagePullPolicy }}"
redis:
auth:
password: {{ .Values.secrets.redis.password | quote }}
core-documentconverter:
image:
repository: {{ .Values.images.openxchangeDocumentConverter.repository }}
tag: {{ .Values.images.openxchangeDocumentConverter.tag }}
resources:
{{- .Values.resources.oxDocumentConverter | toYaml | nindent 6 }}
core-guidedtours:
imagePullSecrets:
@@ -150,6 +164,11 @@ appsuite:
tag: {{ .Values.images.openxchangeCoreGuidedtours.tag }}
pullPolicy: "{{ .Values.global.imagePullPolicy }}"
core-imageconverter:
image:
repository: {{ .Values.images.openxchangeImageConverter.repository }}
tag: {{ .Values.images.openxchangeImageConverter.tag }}
guard-ui:
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}

View File

@@ -6,6 +6,9 @@ appsuite:
ingressGateway:
name: "opendesk-gateway-istio-gateway"
switchboard:
enabled: false
core-mw:
enabled: true
masterAdmin: "admin"
@@ -63,6 +66,8 @@ appsuite:
com.openexchange.mail.filter.credentialSource: "mail"
com.openexchange.mail.filter.server: "dovecot"
com.openexchange.mail.filter.preferredSaslMech: "XOAUTH2"
# Dovecot
com.openexchange.imap.attachmentMarker.enabled: "true"
# Capabilities
# Old capability can be used to toggle all integrations with a single switch
com.openexchange.capability.public-sector: "true"
@@ -78,6 +83,7 @@ appsuite:
com.openexchange.capability.smime: "true"
com.openexchange.capability.share_links: "false"
com.openexchange.capability.invite_guests: "false"
com.openexchange.capability.document_preview: "true"
# Secondary Accounts
com.openexchange.mail.secondary.authType: "XOAUTH2"
com.openexchange.mail.transport.secondary.authType: "xoauth2"
@@ -89,6 +95,8 @@ appsuite:
com.openexchange.gdpr.dataexport.enabled: "false"
com.openexchange.gdpr.dataexport.active: "false"
# Guard
com.openexchange.guard.storage.file.fileStorageType: "file"
com.openexchange.guard.storage.file.uploadDirectory: "/opt/open-xchange/guard-files/"
com.openexchange.guard.guestSMTPServer: "postfix"
# S/MIME
# Usage (in browser console after login):
@@ -103,7 +111,6 @@ appsuite:
/opt/open-xchange/etc/system.properties:
SERVER_NAME: "oxserver"
/opt/open-xchange/etc/ldapauth.properties:
java.naming.provider.url: "ldap://univention-corporate-container:389/dc=swp-ldap,dc=internal"
bindOnly: "false"
bindDN: "uid=ldapsearch_ox,cn=users,dc=swp-ldap,dc=internal"
@@ -139,10 +146,31 @@ appsuite:
oidcLogin: true
oidcPath: "/oidc"
redis:
enabled: true
mode: "standalone"
hosts:
- "redis-master"
hooks:
beforeAppsuiteStart:
create-guard-dir.sh: |
mkdir -p /opt/open-xchange/guard-files
chown open-xchange:open-xchange /opt/open-xchange/guard-files
core-ui:
enabled: true
core-ui-middleware:
enabled: true
overrides: {}
redis:
mode: "standalone"
hosts:
- "redis-master:6379"
auth:
enabled: true
core-guidedtours:
enabled: true
guard-ui:
@@ -151,12 +179,26 @@ appsuite:
enabled: false
core-user-guide:
enabled: true
core-imageconverter:
enabled: false
enabled: true
objectCache:
s3ObjectStores:
- id: -1
endpoint: "."
accessKey: "."
secretKey: "."
core-spellcheck:
enabled: false
core-documentconverter:
enabled: false
enabled: true
documentConverter:
cache:
remoteCache:
enabled: false
core-documents-collaboration:
enabled: false
office-web:

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# OpenProject
@@ -12,16 +16,16 @@ repositories:
releases:
- name: "openproject"
chart: "openproject-repo/openproject"
version: "1.8.0"
version: "2.0.4"
wait: true
waitForJobs: true
values:
- "values.yaml"
- "values.gotmpl"
condition: "openproject.enabled"
installed: {{ .Values.openproject.enabled }}
timeout: 900
commonLabels:
deploy-stage: "component-1"
component: "openproject"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -54,6 +54,9 @@ environment:
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_HOST: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_END__SESSION__ENDPOINT: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap/protocol/openid-connect/logout"
# Details: https://www.openproject-edge.com/docs/installation-and-operations/configuration/#seeding-ldap-connections
OPENPROJECT_SEED_LDAP_OPENDESK_HOST: "{{ .Values.global.ldap.host }}"
OPENPROJECT_SEED_LDAP_OPENDESK_PORT: "389"
OPENPROJECT_SOUVAP__NAVIGATION__SECRET: {{ .Values.secrets.centralnavigation.apiKey | quote }}
OPENPROJECT_SOUVAP__NAVIGATION__URL: "https://{{ .Values.global.hosts.univentionCorporateServer }}.{{ .Values.global.domain }}/univention/portal/navigation.json?base=https%3A//{{ .Values.global.hosts.univentionCorporateServer }}.{{ .Values.global.domain }}"
OPENPROJECT_SMTP__DOMAIN: "{{ .Values.global.domain }}"
@@ -68,7 +71,7 @@ environment:
persistence:
size: "{{ .Values.persistence.size.openproject }}"
storageClassName: "{{ .Values.persistence.storageClassNames.RWO }}"
storageClassName: "{{ .Values.persistence.storageClassNames.RWX }}"
replicaCount: {{ .Values.replicas.openproject }}

View File

@@ -36,6 +36,10 @@ securityContext:
type: "RuntimeDefault"
readOnlyRootFilesystem: false
persistence:
accessModes:
- "ReadWriteMany"
# For more details and more options see
# https://www.openproject.org/docs/installation-and-operations/configuration/environment/
environment:
@@ -51,9 +55,6 @@ environment:
OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO: "true"
OPENPROJECT_SMTP__OPENSSL__VERIFY__MODE: "peer"
OPENPROJECT_DEFAULT__COMMENT__SORT__ORDER: "desc"
# Details: https://www.openproject-edge.com/docs/installation-and-operations/configuration/#seeding-ldap-connections
OPENPROJECT_SEED_LDAP_OPENDESK_HOST: "univention-corporate-container"
OPENPROJECT_SEED_LDAP_OPENDESK_PORT: "389"
OPENPROJECT_SEED_LDAP_OPENDESK_SECURITY: "plain_ldap"
OPENPROJECT_SEED_LDAP_OPENDESK_BINDUSER: "uid=ldapsearch_openproject,cn=users,dc=swp-ldap,dc=internal"
OPENPROJECT_SEED_LDAP_OPENDESK_BASEDN: "dc=swp-ldap,dc=internal"

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# OX Connector
@@ -15,12 +19,9 @@ releases:
values:
- "values-oxconnector.yaml"
- "values-oxconnector.gotmpl"
condition: "oxConnector.enabled"
installed: {{ .Values.oxConnector.enabled }}
commonLabels:
deploy-stage: "component-2"
component: "provisioning"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -19,6 +19,8 @@ persistence:
oxConnector:
domainName: "{{ .Values.global.domain }}"
ldapHost: "{{ .Values.global.ldap.host }}"
notifierServer: "{{ .Values.global.ldap.notifierHost }}"
#oxMasterAdmin: "(( .Values.appsuite.core-mw.masterAdmin ))"
oxMasterAdmin: "admin"
oxMasterPassword: {{ .Values.secrets.oxAppsuite.adminPassword | quote }}

View File

@@ -5,11 +5,9 @@ ingress:
enabled: false
oxConnector:
ldapHost: "univention-corporate-container"
# ldapHostIp: ""
ldapBaseDn: "dc=swp-ldap,dc=internal"
ldapHostDn: "cn=admin,dc=swp-ldap,dc=internal"
notifierServer: "univention-corporate-container"
tlsMode: "off"
# current static password for UCC
ldapPassword: "ucctempldapstring"

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Certificates
@@ -74,28 +78,28 @@ releases:
version: "2.1.0"
values:
- "values-certificates.gotmpl"
condition: "certificates.enabled"
installed: {{ .Values.certificates.enabled }}
- name: "redis"
chart: "bitnami-repo/redis"
version: "18.1.2"
values:
- "values-redis.gotmpl"
- "values-redis.yaml"
condition: "redis.enabled"
installed: {{ .Values.redis.enabled }}
- name: "memcached"
chart: "bitnami-repo/memcached"
version: "6.6.2"
values:
- "values-memcached.yaml"
- "values-memcached.gotmpl"
condition: "memcached.enabled"
installed: {{ .Values.memcached.enabled }}
- name: "postgresql"
chart: "postgresql-repo/postgresql"
version: "2.0.2"
values:
- "values-postgresql.yaml"
- "values-postgresql.gotmpl"
condition: "postgresql.enabled"
installed: {{ .Values.postgresql.enabled }}
timeout: 900
- name: "mariadb"
chart: "mariadb-repo/mariadb"
@@ -103,7 +107,7 @@ releases:
values:
- "values-mariadb.yaml"
- "values-mariadb.gotmpl"
condition: "mariadb.enabled"
installed: {{ .Values.mariadb.enabled }}
timeout: 900
- name: "postfix"
chart: "postfix-repo/postfix"
@@ -111,33 +115,30 @@ releases:
values:
- "values-postfix.yaml"
- "values-postfix.gotmpl"
condition: "postfix.enabled"
installed: {{ .Values.postfix.enabled }}
- name: "clamav"
chart: "clamav-repo/opendesk-clamav"
version: "4.0.0"
values:
- "values-clamav-distributed.yaml"
- "values-clamav-distributed.gotmpl"
condition: "clamavDistributed.enabled"
installed: {{ .Values.clamavDistributed.enabled }}
- name: "clamav-simple"
chart: "clamav-repo/clamav-simple"
version: "4.0.0"
values:
- "values-clamav-simple.yaml"
- "values-clamav-simple.gotmpl"
condition: "clamavSimple.enabled"
installed: {{ .Values.clamavSimple.enabled }}
- name: "opendesk-gateway"
chart: "istio-resources-repo/istio-gateway"
version: "2.0.0"
values:
- "values-istio-gateway.yaml"
- "values-istio-gateway.gotmpl"
condition: "istio.enabled"
installed: {{ .Values.istio.enabled }}
commonLabels:
deploy-stage: "services"
component: "services"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# openDesk Univention Corporate Server (as eval Container)
@@ -20,12 +24,9 @@ releases:
values:
- "values.yaml"
- "values.gotmpl"
condition: "univentionCorporateServer.enabled"
installed: {{ .Values.univentionCorporateServer.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "univention-corporate-container"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -4,115 +4,143 @@
bases:
- "../../bases/environments.yaml"
---
repositories:
# Univention Management Stack
- name: "ums-repo"
url: >-
{{ env "PRIVATE_CHART_REPOSITORY_URL" |
default "https://gitlab.souvap-univention.de/api/v4/projects/155/packages/helm/stable" }}
# VMWare Bitnami
# Source: https://github.com/bitnami/charts/
- name: "bitnami-repo"
oci: true
url: >-
{{ env "PRIVATE_IMAGE_REGISTRY_URL" |
default "external-registry.souvap-univention.de/sovereign-workplace/souvap/tooling/charts/bitnami-charts" }}
verify: true
keyring: "../../files/gpg-pubkeys/souvap-univention-de.gpg"
releases:
# TODO: Interim, until the UMS stack has a stack umbrella chart and provides a solution
{{- if eq .Values.ingress.ingressClassName "dedicated-haproxy-external" }}
- name: "ums-stack-gateway"
chart: "bitnami-repo/nginx"
version: "15.3.5"
values:
- "values-ums-stack-gateway.gotmpl"
condition: "univentionManagementStack.enabled"
{{- end }}
- name: "ums-store-dav"
chart: "ums-repo/store-dav"
version: "0.2.0"
version: "0.5.2"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-store-dav.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-ldap-server"
chart: "ums-repo/ldap-server"
version: "0.1.0"
version: "0.4.1"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-ldap-server.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-ldap-notifier"
chart: "ums-repo/ldap-notifier"
version: "0.1.0"
version: "0.4.1"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-ldap-notifier.gotmpl"
- "values-ldap-notifier.yaml"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-udm-rest-api"
chart: "ums-repo/udm-rest-api"
version: "0.1.0"
version: "0.3.2"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-udm-rest-api.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-stack-data-ums"
chart: "ums-repo/stack-data-ums"
version: "0.1.0"
version: "0.15.2"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-stack-data-ums.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-stack-data-swp"
chart: "ums-repo/stack-data-swp"
version: "0.1.0"
version: "0.15.2"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-stack-data-swp.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-portal-server"
chart: "ums-repo/portal-server"
version: "0.1.0"
version: "0.3.4"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-portal-server.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-notifications-api"
chart: "ums-repo/notifications-api"
version: "0.1.0"
version: "0.3.4"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-notifications-api.gotmpl"
- "values-notifications-api.yaml"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-portal-listener"
chart: "ums-repo/portal-listener"
version: "0.1.0"
version: "0.3.4"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-portal-listener.gotmpl"
- "values-portal-listener.yaml"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-portal-frontend"
chart: "ums-repo/portal-frontend"
version: "0.1.0"
version: "0.3.4"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-portal-frontend.gotmpl"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-portal-frontend-custom"
# TODO: Replace with our own Nginx chart.
chart: "bitnami-repo/nginx"
version: "15.3.5"
values:
- "values-portal-frontend-custom.yaml"
- "values-portal-frontend-custom.gotmpl"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-umc-gateway"
chart: "ums-repo/umc-gateway"
version: "0.1.0"
version: "0.3.2"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-umc-gateway.gotmpl"
- "values-umc-gateway.yaml"
condition: "univentionManagementStack.enabled"
installed: {{ .Values.univentionManagementStack.enabled }}
- name: "ums-umc-server"
chart: "ums-repo/umc-server"
version: "0.1.0"
version: "0.3.2"
values:
- "values-common.gotmpl"
- "values-common.yaml"
- "values-umc-server.gotmpl"
condition: "univentionManagementStack.enabled"
- "values-umc-server.yaml"
installed: {{ .Values.univentionManagementStack.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "univention-management-stack"
...

View File

@@ -5,7 +5,7 @@ SPDX-License-Identifier: Apache-2.0
---
ingress:
enabled: {{ .Values.ingress.enabled }}
enabled: {{ if eq .Values.ingress.ingressClassName "dedicated-haproxy-external" }}false{{ else }}{{ .Values.ingress.enabled }}{{ end }}
host: "{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
ingressClassName: "{{ .Values.ingress.ingressClassName }}"
tls:

View File

@@ -1,6 +1,10 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
global:
configMapUcrDefaults: "ums-stack-data-ums-ucr"
configMapUcr: "ums-stack-data-swp-ucr"
configMapUcrForced: null
istio:
enabled: false

View File

@@ -14,10 +14,9 @@ ldapServer:
# dhParam: ""
tlsMode: "off"
# TODO: SAML integration
# samlMetadataUrl: "http://localhost:8097/realms/ucs/protocol/saml/descriptor"
# samlMetadataUrlInternal: "http://keycloak.default/realms/ucs/protocol/saml/descriptor"
# serviceProviders: "http://localhost:8000/univention/saml/metadata,http://localhost:8000/auth/realms/ucs"
samlMetadataUrl: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap/protocol/saml/descriptor"
samlMetadataUrlInternal: null
serviceProviders: "https://{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}/univention/saml/metadata"
image:
registry: "{{ .Values.global.imageRegistry }}"
@@ -29,6 +28,12 @@ image:
- name: {{ . }}
{{- end }}
waitForDependency:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.umsWaitForDependency.repository }}"
imagePullPolicy: "Always"
tag: "{{ .Values.images.umsWaitForDependency.tag }}"
# TODO: Pending upstream support, #199
persistence:
data:

View File

@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
ingress:
enabled: true
hostname: "{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
ingressClassName: "nginx"
annotations:
nginx.org/mergeable-ingress-type: "minion"
tls: false
pathType: Exact
path: /favicon.ico
extraPaths:
- pathType: Exact
path: /univention/portal/css/custom.css
backend:
service:
name: ums-portal-frontend-custom-nginx
port:
name: http
- pathType: Exact
path: /univention/portal/icons/logo.svg
backend:
service:
name: ums-portal-frontend-custom-nginx
port:
name: http
- pathType: Exact
path: /univention/portal/icons/logo_small_border.svg
backend:
service:
name: ums-portal-frontend-custom-nginx
port:
name: http
- pathType: Exact
path: /univention/portal/custom/portal_background_image.png
backend:
service:
name: ums-portal-frontend-custom-nginx
port:
name: http
- pathType: Exact
path: /univention/portal/custom/portal_background_image.svg
backend:
service:
name: ums-portal-frontend-custom-nginx
port:
name: http
...

View File

@@ -0,0 +1,33 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
service:
type: "ClusterIP"
extraVolumes:
- name: "opendesk-branding"
configMap:
name: "ums-stack-data-swp-branding"
extraVolumeMounts:
- name: "opendesk-branding"
mountPath: "/app/favicon.ico"
subPath: "favicon.ico"
- name: "opendesk-branding"
mountPath: "/app/univention/portal/css/custom.css"
subPath: "custom.css"
- name: "opendesk-branding"
mountPath: "/app/univention/portal/icons/logo.svg"
subPath: "logo.svg"
- name: "opendesk-branding"
mountPath: "/app/univention/portal/icons/logo_small_border.svg"
subPath: "logo_small_border.svg"
- name: "opendesk-branding"
mountPath: "/app/univention/portal/custom/portal_background_image.png"
subPath: "portal_background_image.png"
- name: "opendesk-branding"
mountPath: "/app/univention/portal/custom/portal_background_image.svg"
subPath: "portal_background_image.svg"
...

View File

@@ -16,11 +16,12 @@ image:
extraIngresses:
redirects:
enabled: {{ if eq .Values.ingress.ingressClassName "dedicated-haproxy-external" }}false{{ else }}{{ .Values.ingress.enabled }}{{ end }}
# The TLS configuration is on the "master" Ingress, see below.
tls:
enabled: false
master:
enabled: {{ .Values.ingress.enabled }}
enabled: {{ if eq .Values.ingress.ingressClassName "dedicated-haproxy-external" }}false{{ else }}{{ .Values.ingress.enabled }}{{ end }}
tls:
enabled: {{ .Values.ingress.tls.enabled }}
secretName: "{{ .Values.ingress.tls.secretName }}"

View File

@@ -13,7 +13,7 @@ portalListener:
umcSessionUrl: "http://ums-umc-server/get/session-info"
ldapBaseDn: "dc=swp-ldap,dc=internal"
ldapHost: "ums-ldap-server"
ldapHost: "{{ .Values.global.ldap.host }}"
ldapHostDn: "cn=admin,dc=swp-ldap,dc=internal"
ldapSecret: "{{ .Values.secrets.univentionManagementStack.ldapSecret }}"
machineSecret: "{{ .Values.secrets.univentionManagementStack.ldapSecret }}"

View File

@@ -7,7 +7,7 @@ portalServer:
adminGroup: "cn=Domain Admins,cn=groups,dc=swp-ldap,dc=internal"
authMode: "saml"
environment: "staging"
editable: "true"
editable: "false"
logLevel: "DEBUG"
ucsInternalUrl: "http://portal-server:{{ .Values.secrets.univentionManagementStack.storeDavUsers.portalServer }}@ums-store-dav/portal-data"
umcGetUrl: "http://ums-umc-server/get"

View File

@@ -4,22 +4,29 @@ SPDX-License-Identifier: Apache-2.0
*/}}
---
stackDataSwp:
udmApiUsername: "cn=admin"
udmApiUser: "cn=admin"
udmApiPassword: {{ .Values.secrets.univentionManagementStack.ldapSecret | quote }}
udmApiUrl: "http://ums-udm-rest-api/udm/"
loadDevData: true
stackDataContext:
ldapBase: "dc=swp-ldap,dc=internal"
ldapSearchUsers:
{{- range $k, $v := .Values.secrets.univentionCorporateServer.ldapSearch }}
- username: {{ printf "ldapsearch_%s" $k | quote }}
password: {{ $v | quote }}
lastname: {{ "LDAP-Search-User" }}
{{- end }}
externalDomainName: "{{ .Values.global.domain }}"
externalMailDomain: "{{ .Values.global.domain }}"
portalGroupwareLinkBase: "https://webmail.{{ .Values.istio.domain }}"
portalFileshareLinkBase: "https://fs.{{ .Values.global.domain }}"
portalRealtimeCollaborationLinkBase: "https://chat.{{ .Values.global.domain }}"
portalRealtimeVideoconferenceLinkBase: "https://meet.{{ .Values.global.domain }}"
portalManagementProjectLinkBase: "https://project.{{ .Values.global.domain }}"
portalManagementKnowledgeLinkBase: "https://wiki.{{ .Values.global.domain }}"
portalGroupwareLinkBase: "https://{{ .Values.global.hosts.openxchange }}.{{ .Values.istio.domain }}"
portalFileshareLinkBase: "https://{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}"
portalRealtimeCollaborationLinkBase: "https://{{ .Values.global.hosts.element }}.{{ .Values.global.domain }}"
portalRealtimeVideoconferenceLinkBase: "https://{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
portalManagementProjectLinkBase: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}"
portalManagementKnowledgeLinkBase: "https://{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}"
oxDefaultContext: "10"

View File

@@ -10,8 +10,22 @@ stackDataUms:
loadDevData: true
stackDataContext:
domainname: "{{ .Values.global.domain }}"
externalMailDomain: "{{ .Values.global.domain }}"
hostname: "{{ .Values.global.hosts.univentionManagementStack }}"
ldapHost: "{{ .Values.global.ldap.host }}"
ldapBase: "dc=swp-ldap,dc=internal"
initialPasswordAdministrator: {{ .Values.secrets.univentionManagementStack.defaultAccounts.administratorPassword | quote }}
# TODO: This should not be required, the machine account is not there
# ldapHostDn: cn=stub-value,cn=dc,cn=computers,dc=swp-ldap,dc=internal
ldapHostDn: cn=admin,dc=swp-ldap,dc=internal
samlMetadataUrl: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap/protocol/saml/descriptor"
samlMetadataUrlInternal: null
samlSpServer: "{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
samlSchemes: "https"
ssoFqdn: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
initialPasswordAdministrator: "{{ .Values.secrets.univentionManagementStack.defaultAccounts.administratorPassword }}"
# The SWP configuration brings its own UMC policies.
installUmcPolicies: false

View File

@@ -4,29 +4,15 @@ SPDX-License-Identifier: Apache-2.0
*/}}
---
udmRestApi:
apiLogLevel: "4"
authGroups:
dcBackup: "cn=DC Backup Hosts,cn=groups,dc=swp-ldap,dc=internal"
dcSlaves: "cn=DC Slave Hosts,cn=groups,dc=swp-ldap,dc=internal"
domainAdmins: "cn=Domain Admins,cn=groups,dc=swp-ldap,dc=internal"
ldapHost: "ums-ldap-server"
ldapBaseDn: "dc=swp-ldap,dc=internal"
# TODO: This should not be required, the machine account is not there
# ldapHostDn: cn=stub-value,cn=dc,cn=computers,dc=swp-ldap,dc=internal
ldapHostDn: "cn=admin,dc=swp-ldap,dc=internal"
# TODO: Secret should be entered without b64enc
ldapSecret: "{{ .Values.secrets.univentionManagementStack.ldapSecret | b64enc }}"
# TODO: Secret should be entered without b64enc
machineSecret: "{{ .Values.secrets.univentionManagementStack.ldapSecret | b64enc }}"
# TODO: why do we need this many subprocesses?
numberOfSubprocesses: 8
# TODO: Stub value currently
caCert: ""
# TODO: This should not be part of the udm-rest-api anymore
loadJoinData:
enabled: true
# TODO: configurable
tlsMode: "off"
image:
registry: "{{ .Values.global.imageRegistry }}"

View File

@@ -4,9 +4,17 @@ SPDX-License-Identifier: Apache-2.0
*/}}
---
umcGateway:
domainname: "{{ .Values.global.domain }}"
hostname: "{{ .Values.global.hosts.univentionManagementStack }}"
ssoFqdn: "localhost:8097"
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"
image:
registry: "{{ .Values.global.imageRegistry }}"

View File

@@ -1,18 +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
---
umcGateway:
showCookieBanner: true
cookieBannerTitleDE: "Cookie Zustimmung"
cookieBannerTitleEN: "Cookie Consent"
cookieBannerTextDE: >-
Die Nutzung dieses Angebots ist nur möglich, wenn Cookies gespeichert und
verarbeitet werden können (essenzielle Cookies). Dafür benötigen wir Ihre
Zustimmung. Bitte akzeptieren Sie um fortzufahren oder schließen Sie die
Seite.
cookieBannerTextEN: >-
Usage of this site is only possible by storing and processing cookie
information (essential cookies). We require your consent. Please accept to
continue or close the page.
...

View File

@@ -4,24 +4,6 @@ SPDX-License-Identifier: Apache-2.0
*/}}
---
umcServer:
domainname: "{{ .Values.global.domain }}"
hostname: "{{ .Values.global.hosts.univentionManagementStack }}"
ldapHost: "ums-ldap-server"
ldapBaseDn: "dc=swp-ldap,dc=internal"
# TODO: This should not be required, the machine account is not there
# ldapHostDn: cn=stub-value,cn=dc,cn=computers,dc=swp-ldap,dc=internal
ldapHostDn: cn=admin,dc=swp-ldap,dc=internal
enforceSessionCookie: "true"
# TODO: The keycloak integration is pending
samlEnabled: false
samlMetadataUrl: "http://localhost:8097/realms/ucs/protocol/saml/descriptor"
samlMetadataUrlInternal: "http://keycloak/realms/ucs/protocol/saml/descriptor"
samlSpServer: "localhost:8000"
samlSchemes: "http"
tlsMode: "off"
# TODO: Secret should be entered without b64enc
ldapSecret: "{{ .Values.secrets.univentionManagementStack.ldapSecret | b64enc }}"
# TODO: Secret should be entered without b64enc

View File

@@ -0,0 +1,17 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
umcServer:
certPemFile: "/var/secrets/ssl/tls.crt"
privateKeyFile: "/var/secrets/ssl/tls.key"
extraVolumes:
- name: "certificates"
secret:
secretName: "opendesk-certificates-tls"
extraVolumeMounts:
- name: "certificates"
mountPath: "/var/secrets/ssl"
...

View File

@@ -0,0 +1,173 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
ingress:
enabled: true
hostname: "{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
ingressClassName: "{{ .Values.ingress.ingressClassName }}"
tls: false
extraTls:
- hosts:
- "{{ .Values.global.hosts.univentionManagementStack }}.{{ .Values.global.domain }}"
secretName: "{{ .Values.ingress.tls.secretName }}"
service:
type: "ClusterIP"
# The content of the "serverBlock" does resemble the Ingress configuration of
# the UMS components. The "location" entries do intentionally reflect precisely
# the respective paths which are configured.
serverBlock: |
server {
listen 8080;
## portal-frontend
# The frontend does not own "/univention/portal", only these two bits
location = /univention/portal/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80/;
}
location = /univention/portal/index.html {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80/;
}
# The following prefixes are owned by the frontend
location /univention/portal/css/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80;
}
location /univention/portal/fonts/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80;
}
location /univention/portal/i18n/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80;
}
location /univention/portal/media/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80;
}
location /univention/portal/js/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80;
}
location /univention/portal/oidc/ {
rewrite ^/univention/portal(/.*)$ $1 break;
proxy_pass http://ums-portal-frontend:80;
}
## frontend redirects
location = / {
absolute_redirect off;
return 302 /univention/portal/;
}
location = /univention {
absolute_redirect off;
return 302 /univention/portal/;
}
location = /univention/ {
absolute_redirect off;
return 302 /univention/portal/;
}
location = /univention/portal {
absolute_redirect off;
return 302 /univention/portal/;
}
## portal-server
location = /univention/portal/portal.json {
proxy_pass http://ums-portal-server:80;
}
location = /univention/portal/navigation.json {
proxy_pass http://ums-portal-server:80;
}
## store-dav
location /univention/portal/icons/entries/ {
rewrite ^/univention/portal(/icons/entries/.*)$ /portal-assets$1 break;
proxy_pass http://ums-store-dav:80;
}
location /univention/portal/icons/logos/ {
rewrite ^/univention/portal(/icons/logos/.*)$ /portal-assets$1 break;
proxy_pass http://ums-store-dav:80;
}
## udm-rest-api
location /univention/udm/ {
rewrite ^/univention(/udm/.*)$ $1 break;
proxy_pass http://ums-udm-rest-api:80;
proxy_set_header X-Forwarded-Host $host;
}
## umc-gateway
location = /univention/languages.json {
proxy_pass http://ums-umc-gateway:80;
}
location = /univention/meta.json {
proxy_pass http://ums-umc-gateway:80;
}
location = /univention/theme.css {
proxy_pass http://ums-umc-gateway:80;
}
location /univention/js/ {
proxy_pass http://ums-umc-gateway:80;
}
location /univention/login/ {
proxy_pass http://ums-umc-gateway:80;
}
location /univention/management/ {
proxy_pass http://ums-umc-gateway:80;
}
location /univention/themes/ {
proxy_pass http://ums-umc-gateway:80;
}
## umc-server
location = /univention/auth {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
location /univention/logout/ {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
location /univention/saml/ {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
location /univention/get/ {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
location /univention/set/ {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
location /univention/command/ {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
location /univention/upload/ {
rewrite ^/univention(/.*)$ $1 break;
proxy_pass http://ums-umc-server:80;
}
## notifications-api
location /univention/portal/notifications-api/ {
rewrite ^/univention/portal/notifications-api(/.*)$ $1 break;
proxy_pass http://ums-notifications-api:80;
}
}

View File

@@ -1,5 +1,9 @@
# 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"
---
repositories:
# XWiki
@@ -12,18 +16,15 @@ repositories:
releases:
- name: "xwiki"
chart: "xwiki-repo/xwiki"
version: "1.1.3"
version: "1.2.3"
wait: true
values:
- "values.yaml"
- "values.gotmpl"
condition: "xwiki.enabled"
installed: {{ .Values.xwiki.enabled }}
timeout: 900
commonLabels:
deploy-stage: "component-1"
component: "xwiki"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -18,13 +18,13 @@ customConfigs:
"xwiki.cfg":
"xwiki.superadminpassword": "{{ .Values.secrets.xwiki.superadminpassword }}"
## LDAP Server configuration
# "xwiki.authentication.ldap.server": "univention-corporate-container"
# xwiki.authentication.ldap.port: 389
xwiki.authentication.ldap.server: "{{ .Values.global.ldap.host }}"
xwiki.authentication.ldap.port: 389
## Authentication to the LDAP server
# xwiki.authentication.ldap.bind_DN: "uid=ldapsearch_xwiki,cn=users,dc=swp-ldap,dc=internal"
# xwiki.authentication.ldap.bind_pass: "{{ .Values.secrets.univentionCorporateServer.ldapSearch.xwiki }}"
xwiki.authentication.ldap.bind_DN: "uid=ldapsearch_xwiki,cn=users,dc=swp-ldap,dc=internal"
xwiki.authentication.ldap.bind_pass: "{{ .Values.secrets.univentionCorporateServer.ldapSearch.xwiki }}"
## Base DN used for searching for users
# xwiki.authentication.ldap.base_DN: "dc=swp-ldap,dc=internal"
xwiki.authentication.ldap.base_DN: "dc=swp-ldap,dc=internal"
"xwiki.properties":
"oidc.endpoint.authorization": "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap/protocol/openid-connect/auth"
@@ -43,8 +43,8 @@ properties:
"property:xwiki:FlamingoThemes.Iceberg^FlamingoThemesCode.ThemeClass.navbar-default-bg": "{{ .Values.theme.colors.white }}"
"property:xwiki:FlamingoThemes.Iceberg^FlamingoThemesCode.ThemeClass.navbar-default-link-hover-bg": "{{ .Values.theme.colors.secondaryGreyLight }}"
## Link LDAP users and users authenticated through OIDC
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.addOIDCObject": 1
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.OIDCIssuer": "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap"
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.addOIDCObject": 1
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.OIDCIssuer": "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap"
ingress:
enabled: {{ .Values.ingress.enabled }}

View File

@@ -1,6 +1,31 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
containerSecurityContext:
enabled: true
customConfigs:
xwiki.cfg:
xwiki.url.protocol: "https"
## Indicate the LDAP field defining the user UID
xwiki.authentication.ldap.UID_attr: "uid"
## Indicate the LDAP field defining the user profile picture
# xwiki.authentication.ldap.photo_attribute: "jpegPhoto"
## Enable the synchronization of the LDAP profile picture
# xwiki.authentication.ldap.update_photo: 1
xwiki.properties:
oidc.scope: "openid,profile,email,address,phoenix"
oidc.endpoint.userinfo.method: "GET"
oidc.user.nameFormater: "${oidc.user.phoenixusername._clean._lowerCase}"
oidc.user.subjectFormater: "${oidc.user.phoenixusername._lowerCase}"
# yamllint disable-line rule:line-length
oidc.userinfoclaims: "xwiki_user_accessibility,xwiki_user_company,xwiki_user_displayHiddenDocuments,xwiki_user_editor,xwiki_user_usertype"
oidc.clientid: "xwiki"
oidc.endpoint.token.auth_method: "client_secret_basic"
oidc.skipped: false
oidc.logoutMechanism: "rpInitiated"
image:
pullPolicy: "IfNotPresent"
@@ -15,9 +40,8 @@ ingress:
istio:
enabled: false
service:
externalPort: 80
enabled: true
mariadb:
enabled: false
mysql:
enabled: false
@@ -25,14 +49,11 @@ mysql:
postgresql:
enabled: false
mariadb:
enabled: false
properties:
"property:xwiki:XWiki.XWikiPreferences^XWiki.XWikiPreferences.colorTheme": "FlamingoThemes.Iceberg"
"property:xwiki:XWiki.XWikiPreferences^XWiki.XWikiPreferences.default_language": "de_DE"
"property:xwiki:XWiki.XWikiPreferences^XWiki.XWikiPreferences.default_language": "de"
"property:xwiki:XWiki.XWikiPreferences^XWiki.XWikiPreferences.timezone": "Europe/Berlin"
"property:xwiki:XWiki.XWikiPreferences^XWiki.XWikiPreferences.languages": "de_DE"
"property:xwiki:XWiki.XWikiPreferences^XWiki.XWikiPreferences.languages": "de"
"property:xwiki:FlamingoThemes.Iceberg^FlamingoThemesCode.ThemeClass.link-color": "@brand-primary"
"property:xwiki:FlamingoThemes.Iceberg^FlamingoThemesCode.ThemeClass.btn-primary-bg": "@brand-primary"
"property:xwiki:FlamingoThemes.Iceberg^FlamingoThemesCode.ThemeClass.navbar-default-color": "@brand-primary"
@@ -46,41 +67,26 @@ properties:
"property:xwiki:XWiki.AuthService.Configuration^XWiki.AuthService.ConfigurationClass.authService": "oidc"
## Fields to search in when importing users from the administration UI (not completely in scope for now)
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.ldapUserAttributes":
# "sn,givenname,uid"
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.ldapUserAttributes": "sn,givenname,uid"
## Restrict user import in the UI to global administrators
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.usersAllowedToImport": "globalAdmin"
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.usersAllowedToImport": "globalAdmin"
## Enable group and user synchronization
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.triggerGroupsUpdate": 1
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.triggerGroupImport": 1
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.forceXWikiUsersGroupMembershipUpdate":
# 1
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.triggerGroupsUpdate": 1
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.triggerGroupImport": 1
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.forceXWikiUsersGroupMembershipUpdate": 1
## Base DN under which groups should be searched for
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.ldapGroupImportSearchDN":
# "dc=swp-ldap,dc=internal"
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.ldapGroupImportSearchDN": "dc=swp-ldap,dc=internal"
## LDAP filter to only synchronize some groups
# "property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.ldapGroupImportSearchFilter":
# "(&(objectClass=opendeskKnowledgemanagementGroup)(opendeskKnowledgemanagementEnabled=TRUE))"
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.ldapGroupImportSearchFilter":
"(&(objectClass=opendeskKnowledgemanagementGroup)(opendeskKnowledgemanagementEnabled=TRUE))"
customConfigs:
xwiki.cfg:
xwiki.url.protocol: "https"
## Indicate the LDAP field defining the user UID
# xwiki.authentication.ldap.UID_attr: "uid"
## Indicate the LDAP field defining the user profile picture
# xwiki.authentication.ldap.photo_attribute: "jpegPhoto"
## Enable the synchronization of the LDAP profile picture
# xwiki.authentication.ldap.update_photo: 1
securityContext:
enabled: true
xwiki.properties:
oidc.scope: "openid,profile,email,address,phoenix"
oidc.endpoint.userinfo.method: "GET"
oidc.user.nameFormater: "${oidc.user.phoenixusername._lowerCase}"
oidc.user.subjectFormater: "${oidc.user.subject}"
# yamllint disable-line rule:line-length
oidc.userinfoclaims: "xwiki_user_accessibility,xwiki_user_company,xwiki_user_displayHiddenDocuments,xwiki_user_editor,xwiki_user_usertype"
oidc.clientid: "xwiki"
oidc.endpoint.token.auth_method: "client_secret_basic"
oidc.skipped: false
oidc.logoutMechanism: "rpInitiated"
service:
externalPort: 80
enabled: true
volumePermissions:
enabled: true
...

View File

@@ -27,7 +27,7 @@ databases:
password: ""
oxAppsuite:
host: "mariadb"
name: "CONFIGDB"
name: "configdb"
username: "root"
password: ""
synapse:

View File

@@ -11,6 +11,12 @@ global:
#
domain: {{ env "DOMAIN" | default "souvap.cloud" }}
## Define LDAP service (supports "ums_eval" from the CI pipeline)
ldap:
host: {{ if eq (env "DEPLOY_UCS") "ums-eval" }} "ums-ldap-server" {{ else }} "univention-corporate-container" {{ end }}
notifierHost: {{ if eq (env "DEPLOY_UCS") "ums-eval" }} "ums-ldap-notifier" {{ else }} "univention-corporate-container" {{ end }}
## Define docker registry address.
#
imageRegistry: {{ env "PRIVATE_IMAGE_REGISTRY_URL" | default "external-registry.souvap-univention.de/sovereign-workplace" }}

View File

@@ -9,6 +9,7 @@ global:
#
hosts:
collabora: "collabora"
cryptpad: "cryptpad"
dimension: "integration"
element: "chat"
etherpad: "etherpad"

View File

@@ -8,15 +8,19 @@ images:
# @supplier: "openDesk DevSecOps"
collabora:
repository: "souvap/tooling/images/collabora"
tag: "23.05.4.2.1@sha256:ee9ce83811700f1ff57e1218d22388dbaca96306df33f82aa14b334c5302285a"
tag: "23.05.5.3.1@sha256:496c913527ce83feb3fe2383d710851aa3781ffa56d200c75def74904d32adc3"
# @supplier: "Collabora"
cryptpad:
repository: "cryptpad/cryptpad"
tag: "opendesk-20231020@sha256:b0bfe09601d8c8064e1b174d21a225ddb10aaa4103892fdfdf3d216726c26dde"
# @supplier: "XWiki"
dovecot:
repository: "dovecot/dovecot"
tag: "2.3.20@sha256:96d414aa3f6978669b417f6468c16313a54ee6143a4846870e9f0eda280806e7"
# @supplier: "Open-Xchange"
element:
repository: "souvap/tooling/images/element-web"
tag: "1.3.0@sha256:25bd7d731dc501cd00fac61c9db8807b635d1150a99067137b7fb290981ec8f8"
tag: "1.5.0@sha256:d690c485c971f52ba2ab8e1011aa039a2e32ec1ffb504826f4fa050aa989067a"
# @supplier: "Element"
freshclam:
repository: "clamav/clamav"
@@ -58,6 +62,11 @@ images:
repository: "bitnami/keycloak"
tag: "19.0.3-debian-11-r22@sha256:4ac04104d20d4861ecca24ff2d07d71b34a98ee1148c6e6b6e7969a6b2ad085e"
# @supplier: "Univention"
keycloakUnivention:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/keycloak-app-on-use-base-manpub-tr"
tag: "latest"
# @supplier: "Univention"
keycloakBootstrap:
repository: "souvap/tooling/images/ansible"
tag: "4.10.0@sha256:89d8212c20e03b0fd079e08afaf3247c1b96b380c4db1b572d68d0b4a6abc0ac"
@@ -77,7 +86,7 @@ images:
# @supplier: "openDesk DevSecOps"
matrixNeoBoardWidget:
repository: "nordeck/matrix-neoboard-widget"
tag: "0.4.0@sha256:c5e72409a0edc1962e9be618fcb83acce19e64c0c645075d8ff0ccde06e93fc7"
tag: "1.0.0@sha256:584b9c18ea3dfd4b7f1e73f3e114bc1dcd5731b400a8d037576bf2a797c8b086"
# @supplier: "Nordeck"
matrixNeoChoiceWidget:
repository: "nordeck/matrix-poll-widget"
@@ -85,11 +94,11 @@ images:
# @supplier: "Nordeck"
matrixNeoDateFixBot:
repository: "nordeck/matrix-meetings-bot"
tag: "2.4.0@sha256:d6560841c3708bd8b55623ef70dd55bf4792da6ed6cd5026c37a5e4df7c8a3a3"
tag: "2.4.2@sha256:f5b3362560255470076f3e6c95a0dd93a8f781398afb992c1e1212764fa87297"
# @supplier: "Nordeck"
matrixNeoDateFixWidget:
repository: "nordeck/matrix-meetings-widget"
tag: "1.5.1@sha256:a518c194fa1b8cf2886c02623d883810f166f27259ce7d4e0138b962dea565e7"
tag: "1.5.2@sha256:cc9e2592c9159cc8f6bed96dae0be6e6fe599977dbef64cbdb1c1b84db85a2bb"
# @supplier: "Nordeck"
matrixUserVerificationService:
repository: "matrixdotorg/matrix-user-verification-service"
@@ -108,8 +117,8 @@ images:
tag: "27.1.1-apache@sha256:47325758ffcd54563021e697905aaba6aac8c21bceefb245c67d40194813ce39"
# @supplier: "Nextcloud Community"
openproject:
repository: "souvap/tooling/images/openproject/opendesk"
tag: "fat-dev@sha256:e5d0fb5125df968ba98cb3005b7051ddff25b05da54922c94bb2ee61e6ec842c"
repository: "openproject/open_desk"
tag: "dev@sha256:ca5b843fd7f0687617ce3038a52fd6ac73fb4e9db7b762b8ac7d5090f168f0b1"
# @supplier: "OpenProject"
openxchangeBootstrap:
repository: "alpine/k8s"
@@ -117,39 +126,47 @@ images:
# @supplier: "Open-Xchange"
openxchangeCoreGuidedtours:
repository: "appsuite-public-sector/core-guidedtours"
tag: "8.5.1@sha256:469457562a378cca50460e08d9437a954fc6f19622f18128fa74979f7905ecd9"
tag: "8.6.0@sha256:6c20780f8c609636f2182c41709e2ee26586b4a23679fd13b15875a5f443445b"
# @supplier: "Open-Xchange"
openxchangeCoreMW:
repository: "appsuite-public-sector/middleware-public-sector"
tag: "8.16.60@sha256:269c5b72f380c49ba1888c4300c409745d2ce757ca0b269afe1e8ac9bb26f028"
tag: "8.19.33@sha256:369c44369d727e4172f10c25137dbb00d936d20dd844cdca3a34f7f31273ea05"
# @supplier: "Open-Xchange"
openxchangeCoreUI:
repository: "appsuite-public-sector/core-ui"
tag: "8.16.5@sha256:4f4dd4e36fb8a1b493c195e38e2f13b87c9582bfcdc3d23b646698fce2ffef8c"
tag: "8.19.0@sha256:7fdd73f78fd7094f2968f6fcaaae175e60824f9ef68f9e7e70418de6a2b623e9"
# @supplier: "Open-Xchange"
openxchangeCoreUIMiddleware:
repository: "appsuite-public-sector/core-ui-middleware"
tag: "1.8.4@sha256:c707fbd5496c894f201dab8f4e78aad98f1ad80c8058778f04dfa5e6e201ed64"
tag: "2.0.0@sha256:8082edf30498a3ac1715f2d9b3e406f240ea586e2616b97f40c207ef55dff11f"
# @supplier: "Open-Xchange"
openxchangeCoreUserGuide:
repository: "appsuite-public-sector/core-user-guide"
tag: "8.16.727397@sha256:5d8dbf9a91456dea59a235b495dcd002b971e2b23ef6c3a2ea5fd2071664e2a4"
tag: "8.19.771856@sha256:e00ed8f94c3c42cd288dd03f7fb18d228eb516b5e5ebd318825289b1c4ed17ab"
# @supplier: "Open-Xchange"
openxchangeGuardUI:
repository: "appsuite-public-sector/guard-ui"
tag: "4.0.6@sha256:7bb8fdf944228dd78a5c33bbd8d0019d5a9e4ce1c35bda674166f2febc5d9a02"
# @supplier: "Open-Xchange"
openxchangeNextcloudIntegrationUI:
repository: "appsuite-public-sector/nextcloud-integration-ui"
tag: "1.0.5@sha256:cad4ecba431f84b8627d2e541cfea773d5ef54b65d847fa8f7e3fd0d63156497"
# @supplier: "Open-Xchange"
openxchangePublicSectorUI:
repository: "appsuite-public-sector/public-sector-ui"
tag: "2.0.1@sha256:8df90f6dfb59008567d8ded0dbd17b8f92f409c78ba2cf4ab2a39e1b23e34d3b"
openxchangeDocumentConverter:
repository: "appsuite-public-sector/documentconverter"
tag: "8.19.32@sha256:82354e858b6aeeae7f0ebaf66ad106f8e9ae46e605e97bb1d2d14e6ce1c3d708"
# @supplier: "Open-Xchange"
openxchangeGotenberg:
repository: "appsuite-public-sector/3rdparty/gotenberg"
tag: "7.8.2@sha256:34af7b6d21c02b8183785177f5f3f1731633d72ec69e1f2ecdb8b43747887f62"
tag: "7.9.2@sha256:c97c1adb971d149222062ec46c5d749d710b38ad153c5c6ed954023e2401c9d0"
# @supplier: "Open-Xchange"
openxchangeGuardUI:
repository: "appsuite-public-sector/guard-ui"
tag: "4.0.7@sha256:8c9fa5d6aed055c0e84042ab28b3f0e9add94390362266ad440da4f90b8c93a8"
# @supplier: "Open-Xchange"
openxchangeImageConverter:
repository: "appsuite-public-sector/imageconverter"
tag: "8.19.33@sha256:9543c1409a129567bd6e4a657a353819842a4b1e1807ab86a1ea2e7f73f8c18e"
# @supplier: "Open-Xchange"
openxchangeNextcloudIntegrationUI:
repository: "appsuite-public-sector/nextcloud-integration-ui"
tag: "1.1.0@sha256:82cecb5adac63806ab41546e6b49090a93a5f4645750bb3967d87585b60df2e1"
# @supplier: "Open-Xchange"
openxchangePublicSectorUI:
repository: "appsuite-public-sector/public-sector-ui"
tag: "2.1.0@sha256:ed56730add8afdb08bef8b43a114aba406fd86d83c7fd7af93dc16bb002fa233"
# @supplier: "Open-Xchange"
oxConnector:
repository: "souvap/tooling/images/ox-connector/ox-connector-standalone"
@@ -194,56 +211,69 @@ images:
tag: "20230829T094822@sha256:6415847851ee3b474cea756212698f4a110fbbde74882e22da92500a6358a4f8"
# @supplier: "Univention"
umsConfigHtpasswd:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/config-htpasswd"
tag: "latest"
tag: "0.5.2"
# @supplier: "Univention"
umsDataLoader:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/data-loader"
tag: "latest"
tag: "0.15.2"
# @supplier: "Univention"
umsLdapNotifier:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/ldap-notifier"
tag: "latest"
tag: "0.4.1"
# @supplier: "Univention"
umsLdapServer:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/ldap-server"
tag: "latest"
tag: "0.4.1"
# @supplier: "Univention"
umsNotificationsApi:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/notifications-api"
tag: "latest"
tag: "0.3.4"
# @supplier: "Univention"
umsPortalListener:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/portal-listener"
tag: "latest"
tag: "0.3.4"
# @supplier: "Univention"
umsPortalFrontend:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/portal-frontend"
tag: "latest"
tag: "0.3.5"
# @supplier: "Univention"
umsPortalServer:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/portal-server"
tag: "latest"
tag: "0.3.4"
# @supplier: "Univention"
umsWaitForDependency:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/wait-for-dependency"
tag: "latest"
tag: "0.3.4"
# @supplier: "Univention"
umsStoreDav:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/store-dav"
tag: "latest"
tag: "0.5.2"
# @supplier: "Univention"
umsUdmRestApi:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/udm-rest-api"
tag: "latest"
tag: "0.3.2"
# @supplier: "Univention"
umsUmcGateway:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/umc-gateway"
tag: "latest"
tag: "0.3.2"
# @supplier: "Univention"
umsUmcServer:
# This is a preview and not part of the standard deployment.
repository: "souvap/tooling/images/univention/umc-server"
tag: "latest"
tag: "0.3.2"
# @supplier: "Univention"
wellKnown:
repository: "library/nginx"
@@ -251,6 +281,6 @@ images:
# @supplier: "Element"
xwiki:
repository: "xwikisas/swp/xwiki"
tag: "0.10-mariadb-tomcat@sha256:02f0ff6407ccdd8dab17814202e28991fe0aa8d44fa106ba171cff5249eaf58f"
tag: "0.12-mariadb-jetty-alpine@sha256:c195d8baf38b6c6b0c533a3216e726cd863a6c2ba0e65f18036402592bb72896"
# @supplier: "XWiki"
...

View File

@@ -0,0 +1,25 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
prometheus:
serviceMonitors:
enabled: false
labels:
release: "kube-prometheus-stack"
podMonitors:
enabled: false
labels:
release: "kube-prometheus-stack"
prometheusRules:
enabled: false
labels:
release: "kube-prometheus-stack"
grafana:
dashboards:
enabled: false
labels:
grafana_dashboard: "1"
annotations:
...

View File

@@ -11,7 +11,7 @@ persistence:
mariadb: "1Gi"
matrixNeoDateFixBot: "1Gi"
nextcloud:
main: "1Gi"
main: "1.2Gi"
data: "10Gi"
openproject: "1Gi"
postfix: "1Gi"

View File

@@ -7,6 +7,7 @@ replicas:
# clamav-distributed
clamd: 1
collabora: 1
cryptpad: 1
dovecot: 1
element: 1
# clamav-distributed

View File

@@ -11,11 +11,18 @@ resources:
memory: "2Gi"
collabora:
limits:
cpu: 1
memory: "500Mi"
cpu: 4
memory: "4Gi"
requests:
cpu: 0.5
memory: "1Gi"
cryptpad:
limits:
cpu: 2
memory: "2Gi"
requests:
cpu: 0.1
memory: "16Mi"
memory: "512Mi"
dovecot:
limits:
cpu: 0.5
@@ -184,6 +191,13 @@ resources:
requests:
cpu: 0.1
memory: "250Mi"
oxDocumentConverter:
limits:
cpu: 2
memory: "2Gi"
requests:
cpu: 0.25
memory: "1Gi"
postfix:
limits:
cpu: 0.5

View File

@@ -9,6 +9,8 @@ clamavSimple:
enabled: true
collabora:
enabled: true
cryptpad:
enabled: true
dovecot:
enabled: true
element: