mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 23:41:43 +01:00
Compare commits
14 Commits
uv-jbornho
...
feat/nubus
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
868aae89ef | ||
|
|
78f03cc9b0 | ||
|
|
6a457a6d84 | ||
|
|
081561e546 | ||
|
|
033a66bb47 | ||
|
|
706a982fb3 | ||
|
|
f74f8035be | ||
|
|
9c01d2f60a | ||
|
|
370c7cd836 | ||
|
|
ac148d0c28 | ||
|
|
3d441933ca | ||
|
|
b60fe39b5c | ||
|
|
c03566dd63 | ||
|
|
fbe4909a8e |
@@ -29,7 +29,7 @@ openDesk is a Kubernetes based, open-source and cloud-native digital workplace s
|
|||||||
openDesk currently features the following functional main components:
|
openDesk currently features the following functional main components:
|
||||||
|
|
||||||
| Function | Functional Component | Component<br/>Version | Upstream Documentation |
|
| Function | Functional Component | Component<br/>Version | Upstream Documentation |
|
||||||
| -------------------- | --------------------------- | ------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
| -------------------- | --------------------------- |---------------------------------------------------------------------------------------| -------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| Chat & collaboration | Element ft. Nordeck widgets | [1.11.67](https://github.com/element-hq/element-desktop/releases/tag/v1.11.67) | [For the most recent release](https://element.io/user-guide) |
|
| Chat & collaboration | Element ft. Nordeck widgets | [1.11.67](https://github.com/element-hq/element-desktop/releases/tag/v1.11.67) | [For the most recent release](https://element.io/user-guide) |
|
||||||
| Diagram editor | CryptPad ft. diagrams.net | [5.6.0](https://github.com/cryptpad/cryptpad/releases/tag/5.6.0) | [For the most recent release](https://docs.cryptpad.org/en/) |
|
| Diagram editor | CryptPad ft. diagrams.net | [5.6.0](https://github.com/cryptpad/cryptpad/releases/tag/5.6.0) | [For the most recent release](https://docs.cryptpad.org/en/) |
|
||||||
| File management | Nextcloud | [28.0.5](https://nextcloud.com/de/changelog/#28-0-5) | [Nextcloud 28](https://docs.nextcloud.com/) |
|
| File management | Nextcloud | [28.0.5](https://nextcloud.com/de/changelog/#28-0-5) | [Nextcloud 28](https://docs.nextcloud.com/) |
|
||||||
@@ -38,7 +38,7 @@ openDesk currently features the following functional main components:
|
|||||||
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
|
| Portal & IAM | Nubus | Product Preview[^1] | [Univention's documentation website](https://docs.software-univention.de/n/en/index.html) |
|
||||||
| Project management | OpenProject | [14.4.0](https://www.openproject.org/docs/release-notes/14-4-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
| Project management | OpenProject | [14.4.0](https://www.openproject.org/docs/release-notes/14-4-0/) | [For the most recent release](https://www.openproject.org/docs/user-guide/) |
|
||||||
| Videoconferencing | Jitsi | [2.0.9646](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9646) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
| Videoconferencing | Jitsi | [2.0.9646](https://github.com/jitsi/jitsi-meet/releases/tag/stable%2Fjitsi-meet_9646) | [For the most recent release](https://jitsi.github.io/handbook/docs/category/user-guide/) |
|
||||||
| Weboffice | Collabora | [24.04.6.1.1](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
| Weboffice | Collabora | [24.04.6.2.1](https://www.collaboraoffice.com/code-24-04-release-notes/) | Online documentation available from within the installed application; [Additional resources](https://sdk.collaboraonline.com/) |
|
||||||
|
|
||||||
While not all components are perfectly shaped for the execution inside containers, one of the project's objectives is to
|
While not all components are perfectly shaped for the execution inside containers, one of the project's objectives is to
|
||||||
align the applications with best practices regarding container design and operations.
|
align the applications with best practices regarding container design and operations.
|
||||||
|
|||||||
@@ -73,7 +73,8 @@
|
|||||||
"Addressbooks",
|
"Addressbooks",
|
||||||
"filestore",
|
"filestore",
|
||||||
"trashbin",
|
"trashbin",
|
||||||
"bootstrap"
|
"bootstrap",
|
||||||
|
"configurability"
|
||||||
],
|
],
|
||||||
"ignoreWords": [],
|
"ignoreWords": [],
|
||||||
"import": []
|
"import": []
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ they need to be replaced in production deployments.
|
|||||||
| ClamAV (Simple) | Antivirus engine | Eval |
|
| ClamAV (Simple) | Antivirus engine | Eval |
|
||||||
| Collabora | Weboffice | Functional |
|
| Collabora | Weboffice | Functional |
|
||||||
| CryptPad | Weboffice | Functional |
|
| CryptPad | Weboffice | Functional |
|
||||||
|
| dkimpy-milter | DKIM milter for Postfix | Eval |
|
||||||
| Element | Secure communications platform | Functional |
|
| Element | Secure communications platform | Functional |
|
||||||
| Intercom Service | Cross service data exchange | Functional |
|
| Intercom Service | Cross service data exchange | Functional |
|
||||||
| Jitsi | Videoconferencing | Functional |
|
| Jitsi | Videoconferencing | Functional |
|
||||||
|
|||||||
@@ -60,16 +60,16 @@ The deployment is designed to deploy each application/service under a dedicated
|
|||||||
For your convenience, we recommend to create a `*.domain.tld` A-Record to your cluster ingress controller,
|
For your convenience, we recommend to create a `*.domain.tld` A-Record to your cluster ingress controller,
|
||||||
otherwise you need to create an A-Record for each subdomain.
|
otherwise you need to create an A-Record for each subdomain.
|
||||||
|
|
||||||
| Record name | Type | Value | Additional information |
|
| Record name | Type | Value | Additional information |
|
||||||
| ----------------------- | ---- | -------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|-------------------------------|------|----------------------------------------------------|------------------------------------------------------------------|
|
||||||
| *.domain.tld | A | IPv4 address of your Ingress Controller | |
|
| *.domain.tld | A | IPv4 address of your Ingress Controller | |
|
||||||
| *.domain.tld | AAAA | IPv6 address of your Ingress Controller | |
|
| *.domain.tld | AAAA | IPv6 address of your Ingress Controller | |
|
||||||
| mail.domain.tld | A | IPv4 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
| mail.domain.tld | A | IPv4 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
||||||
| mail.domain.tld | AAAA | IPv6 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
| mail.domain.tld | AAAA | IPv6 address of your postfix NodePort/LoadBalancer | Optional mail should directly be delivered to openDesk's Postfix |
|
||||||
| domain.tld | MX | `10 mail.domain.tld` | |
|
| domain.tld | MX | `10 mail.domain.tld` | |
|
||||||
| domain.tld | TXT | `v=spf1 +a +mx +a:mail.domain.tld ~all` | Optional, use proper MTA record if present |
|
| domain.tld | TXT | `v=spf1 +a +mx +a:mail.domain.tld ~all` | Optional, use proper MTA record if present |
|
||||||
| _dmarc.domain.tld | TXT | `v=DMARC1; p=quarantine` | Optional |
|
| _dmarc.domain.tld | TXT | `v=DMARC1; p=quarantine` | Optional |
|
||||||
| _matrix._tcp.domain.tld | SRV | `1 10 PORT matrix.domain.tld` | `PORT` is your NodePort/LoadBalancer port of `opendesk-synapse-federation` service |
|
| default._domainkey.domain.tld | TXT | `v=DKIM1; k=rsa; h=sha256; ...` | Optional DKIM settings |
|
||||||
|
|
||||||
## Domain
|
## Domain
|
||||||
|
|
||||||
@@ -263,6 +263,8 @@ To use the openDesk functionality with its web based user interface you need to
|
|||||||
|
|
||||||
| Component | Description | Port | Type |
|
| Component | Description | Port | Type |
|
||||||
| ------------------ | ----------------------- | ----: | ---: |
|
| ------------------ | ----------------------- | ----: | ---: |
|
||||||
|
| openDesk | Kubernetes Ingress | 80 | TCP |
|
||||||
|
| openDesk | Kubernetes Ingress | 443 | TCP |
|
||||||
| Jitsi Video Bridge | ICE Port for video data | 10000 | UDP |
|
| Jitsi Video Bridge | ICE Port for video data | 10000 | UDP |
|
||||||
|
|
||||||
#### Mail clients
|
#### Mail clients
|
||||||
@@ -288,6 +290,20 @@ smtp:
|
|||||||
password: "secret"
|
password: "secret"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Enabling DKIM signing of emails helps to reduce spam and increases trust.
|
||||||
|
openDesk ships dkimpy-milter as Postfix milter for signing mails.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
dkimpy:
|
||||||
|
enable: true
|
||||||
|
dkim:
|
||||||
|
key:
|
||||||
|
value: |
|
||||||
|
HzZs08QF1O7UiAkcM9T3U7rePPECtSFvWZIvyKqdg8E=
|
||||||
|
selector: "default"
|
||||||
|
useED25519: true # when false, RSA is used
|
||||||
|
```
|
||||||
|
|
||||||
### TURN configuration
|
### TURN configuration
|
||||||
|
|
||||||
Some components (Jitsi, Element) use for direct communication a TURN server. You can configure your own TURN server with
|
Some components (Jitsi, Element) use for direct communication a TURN server. You can configure your own TURN server with
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ SPDX-License-Identifier: Apache-2.0
|
|||||||
* [Disclaimer](#disclaimer)
|
* [Disclaimer](#disclaimer)
|
||||||
* [Releases upgrades](#releases-upgrades)
|
* [Releases upgrades](#releases-upgrades)
|
||||||
* [From v0.9.0](#from-v090)
|
* [From v0.9.0](#from-v090)
|
||||||
|
* [Manual interaction](#manual-interaction)
|
||||||
|
* [Fileshare configurability](#fileshare-configurability)
|
||||||
* [Automated migrations](#automated-migrations)
|
* [Automated migrations](#automated-migrations)
|
||||||
|
* [Local Postfix as Relay](#local-postfix-as-relay)
|
||||||
* [Updated IAM component Nubus](#updated-iam-component-nubus)
|
* [Updated IAM component Nubus](#updated-iam-component-nubus)
|
||||||
* [Manual cleanup](#manual-cleanup)
|
* [Manual cleanup](#manual-cleanup)
|
||||||
* [From v0.8.1](#from-v081)
|
* [From v0.8.1](#from-v081)
|
||||||
@@ -31,18 +34,47 @@ Limitations:
|
|||||||
|
|
||||||
## From v0.9.0
|
## From v0.9.0
|
||||||
|
|
||||||
|
### Manual interaction
|
||||||
|
|
||||||
|
#### Fileshare configurability
|
||||||
|
|
||||||
|
We provide now some configurability regarding the sharing capabilities of the Nextcloud component.
|
||||||
|
|
||||||
|
The new default is different from the standard until now. To keep the current state after the upgrade from 0.9.0 you have to provide the following settings:
|
||||||
|
|
||||||
|
```
|
||||||
|
functional:
|
||||||
|
filestore:
|
||||||
|
sharing:
|
||||||
|
# Enables sharing of files with external participants (create external links, send links by mail and allow external upload in shared folders).
|
||||||
|
enableExternalSharing: true
|
||||||
|
# Enforces passwords to be used on external shares.
|
||||||
|
enforceSharingPasswords: false
|
||||||
|
```
|
||||||
|
|
||||||
### Automated migrations
|
### Automated migrations
|
||||||
|
|
||||||
|
#### Local Postfix as Relay
|
||||||
|
|
||||||
|
All components relay outgoing mails to the local Postfix. In order for the configuration to be picked up by all components the following restarts are triggered in the migrations `POST` stage:
|
||||||
|
|
||||||
|
- Deployments:
|
||||||
|
- `opendesk-nextcloud-php`
|
||||||
|
- `ums-umc-server`
|
||||||
|
- Stateful Sets:
|
||||||
|
- `ums-selfservice-listener`
|
||||||
|
- `opendesk-synapse`
|
||||||
|
|
||||||
#### Updated IAM component Nubus
|
#### Updated IAM component Nubus
|
||||||
|
|
||||||
openDesk is integrating the latest [Nubus](https://www.univention.de/produkte/nubus/) development from Univention. The now redundant and scalable LDAP requires migration activities. These have been automated to avoid manual interaction. The `run_2` of the openDesk
|
openDesk is integrating the latest [Nubus](https://www.univention.de/produkte/nubus/) development from Univention. The now redundant and scalable LDAP requires migration activities. These have been automated to avoid manual interaction. The `run_2` of the openDesk
|
||||||
upgrade migrations executes the following steps:
|
upgrade migrations executes the following steps:
|
||||||
|
|
||||||
- Stage PRE:
|
- Stage `PRE`:
|
||||||
- Delete service `ums-keycloak`, as it will be recreated headless.
|
- Delete service `ums-keycloak`, as it will be recreated headless.
|
||||||
- Scale down `statefulset/ums-ldap-server` and `statefulset/ums-ldap-notifier` in preparation or the next step:
|
- Scale down `statefulset/ums-ldap-server` and `statefulset/ums-ldap-notifier` in preparation or the next step:
|
||||||
- Create two new PVCs `shared-data-ums-ldap-server-primary-0` and `shared-data-ums-ldap-server-primary-1` for the new LDAP primary pods as copy from the existing `shared-data-ums-ldap-server-0`. The LDAP secondaries will sync from the primary nodes.
|
- Create two new PVCs `shared-data-ums-ldap-server-primary-0` and `shared-data-ums-ldap-server-primary-1` for the new LDAP primary pods as copy from the existing `shared-data-ums-ldap-server-0`. The LDAP secondaries will sync from the primary nodes.
|
||||||
- Stage POST:
|
- Stage `POST`:
|
||||||
- Restart Keycloak.
|
- Restart Keycloak.
|
||||||
|
|
||||||
##### Manual cleanup
|
##### Manual cleanup
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ autoscaling:
|
|||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
collabora:
|
collabora:
|
||||||
extra_params: "--o:ssl.enable=false --o:ssl.termination=true --o:fetch_update_check=0"
|
extra_params: "--o:ssl.enable=false --o:ssl.termination=true --o:fetch_update_check=0 --o:remote_font_config.url=https://{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}/index.php/apps/richdocuments/settings/fonts.json"
|
||||||
username: "collabora-internal-admin"
|
username: "collabora-internal-admin"
|
||||||
password: {{ .Values.secrets.collabora.adminPassword | quote }}
|
password: {{ .Values.secrets.collabora.adminPassword | quote }}
|
||||||
aliasgroups:
|
aliasgroups:
|
||||||
|
|||||||
@@ -54,11 +54,13 @@ configuration:
|
|||||||
enabled: {{ .Values.functional.dataProtection.matrixPresence.enabled }}
|
enabled: {{ .Values.functional.dataProtection.matrixPresence.enabled }}
|
||||||
|
|
||||||
smtp:
|
smtp:
|
||||||
senderAddress: "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.element }}.{{ end }}{{ .Values.global.domain }}"
|
senderAddress: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
host: {{ .Values.smtp.host | quote }}
|
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
port: {{ .Values.smtp.port }}
|
port: 25
|
||||||
username: {{ .Values.smtp.username | quote }}
|
tls: false
|
||||||
password: {{ .Values.smtp.password | quote }}
|
starttls: false
|
||||||
|
username: ""
|
||||||
|
password: ""
|
||||||
|
|
||||||
oidc:
|
oidc:
|
||||||
clientId: "opendesk-matrix"
|
clientId: "opendesk-matrix"
|
||||||
|
|||||||
@@ -67,6 +67,26 @@ ingress:
|
|||||||
enabled: {{ .Values.ingress.tls.enabled }}
|
enabled: {{ .Values.ingress.tls.enabled }}
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|
||||||
|
provisioning:
|
||||||
|
enabled: true
|
||||||
|
config:
|
||||||
|
nubusBaseUrl: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}"
|
||||||
|
keycloak:
|
||||||
|
url: "http://ums-keycloak:8080"
|
||||||
|
username: "kcadmin"
|
||||||
|
realm: {{ .Values.platform.realm | quote }}
|
||||||
|
connection:
|
||||||
|
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "http://ums-keycloak:8080"
|
||||||
|
credentialSecret:
|
||||||
|
name: "ums-opendesk-keycloak-credentials"
|
||||||
|
key: "admin_password"
|
||||||
|
ics_client:
|
||||||
|
clientSecret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
||||||
|
credentialSecret:
|
||||||
|
key: "ics_secret"
|
||||||
|
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1000
|
fsGroup: 1000
|
||||||
|
|||||||
@@ -73,16 +73,25 @@ configuration:
|
|||||||
value: "opendesk_username"
|
value: "opendesk_username"
|
||||||
password:
|
password:
|
||||||
value: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
value: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||||
|
sharing:
|
||||||
|
allowLinks: {{ .Values.functional.filestore.sharing.enableExternalSharing }}
|
||||||
|
allowMailNotification: {{ .Values.functional.filestore.sharing.enableExternalSharing }}
|
||||||
|
allowPublicUpload: {{ .Values.functional.filestore.sharing.enableExternalSharing }}
|
||||||
|
enforceLinksPassword: {{ .Values.functional.filestore.sharing.enforceSharingPasswords }}
|
||||||
|
enforcePasswordProtection: {{ .Values.functional.filestore.sharing.enforceSharingPasswords }}
|
||||||
smtp:
|
smtp:
|
||||||
auth:
|
auth:
|
||||||
|
enabled: false
|
||||||
username:
|
username:
|
||||||
value: {{ .Values.smtp.username | quote }}
|
value: ""
|
||||||
password:
|
password:
|
||||||
value: {{ .Values.smtp.password | quote }}
|
value: ""
|
||||||
host: {{ .Values.smtp.host | quote }}
|
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
port: {{ .Values.smtp.port | quote }}
|
port: 25
|
||||||
fromAddress: {{ .Values.smtp.localpartNoReply | quote }}
|
fromAddress: {{ .Values.smtp.localpartNoReply | quote }}
|
||||||
mailDomain: "{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.nextcloud }}.{{ end }}{{ .Values.global.domain }}"
|
mailDomain: "{{ .Values.global.domain }}"
|
||||||
|
security: ""
|
||||||
|
skipVerifyPeer: true
|
||||||
quota:
|
quota:
|
||||||
default: "{{ .Values.functional.filestore.quota.default }} GB"
|
default: "{{ .Values.functional.filestore.quota.default }} GB"
|
||||||
retentionObligation:
|
retentionObligation:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ global:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-nubus"
|
||||||
imagePullPolicy: "IfNotPresent"
|
imagePullPolicy: "IfNotPresent"
|
||||||
tag: "1.1.0"
|
tag: "1.2.0"
|
||||||
|
|
||||||
# -- Allows to configure the system extensions to load. This is intended for
|
# -- Allows to configure the system extensions to load. This is intended for
|
||||||
# internal usage, prefer to use `global.extensions` for user configured
|
# internal usage, prefer to use `global.extensions` for user configured
|
||||||
@@ -83,9 +83,15 @@ keycloak:
|
|||||||
|
|
||||||
nubusGuardian:
|
nubusGuardian:
|
||||||
provisioning:
|
provisioning:
|
||||||
enabled: true
|
enabled: false
|
||||||
config:
|
config:
|
||||||
|
nubusBaseUrl: {{ printf "https://portal.%s" .Values.global.domain }}
|
||||||
keycloak:
|
keycloak:
|
||||||
|
realm: {{ .Values.platform.realm | quote }}
|
||||||
|
username: "kcadmin"
|
||||||
|
connection:
|
||||||
|
host: "{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "http://ums-keycloak:8080"
|
||||||
credentialSecret:
|
credentialSecret:
|
||||||
name: "ums-opendesk-keycloak-credentials"
|
name: "ums-opendesk-keycloak-credentials"
|
||||||
key: "admin_password"
|
key: "admin_password"
|
||||||
@@ -152,10 +158,13 @@ nubusKeycloakExtensions:
|
|||||||
key: "umcKeycloakExtensionsDatabasePassword"
|
key: "umcKeycloakExtensionsDatabasePassword"
|
||||||
smtp:
|
smtp:
|
||||||
connection:
|
connection:
|
||||||
host: {{ .Values.smtp.host | quote }}
|
host: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
port: {{ .Values.smtp.port | quote }}
|
port: 25
|
||||||
|
ssl: false
|
||||||
|
starttls: false
|
||||||
auth:
|
auth:
|
||||||
username: {{ .Values.smtp.username | quote }}
|
enabled: false
|
||||||
|
username: ""
|
||||||
credentialSecret:
|
credentialSecret:
|
||||||
name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
||||||
key: "umcKeycloakExtensionsSmtpPassword"
|
key: "umcKeycloakExtensionsSmtpPassword"
|
||||||
@@ -163,7 +172,7 @@ nubusKeycloakExtensions:
|
|||||||
appConfig:
|
appConfig:
|
||||||
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"WARN"{{ end }}
|
logLevel: {{ if .Values.debug.enabled }}"DEBUG"{{ else }}"WARN"{{ end }}
|
||||||
newDeviceLoginSubject: "New device login on your {{ .Values.theme.texts.productName }} account"
|
newDeviceLoginSubject: "New device login on your {{ .Values.theme.texts.productName }} account"
|
||||||
mailFrom: "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.keycloak }}.{{ end }}{{ .Values.global.domain }}"
|
mailFrom: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
|
|
||||||
nubusPortalListener:
|
nubusPortalListener:
|
||||||
portalListener:
|
portalListener:
|
||||||
@@ -206,6 +215,44 @@ nubusStackDataUms:
|
|||||||
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
||||||
umcHtmlTitle: "openDesk Portal"
|
umcHtmlTitle: "openDesk Portal"
|
||||||
installUmcPolicies: true
|
installUmcPolicies: true
|
||||||
|
templateContext:
|
||||||
|
portalRealtimeCollaborationLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.element .Values.global.domain }}
|
||||||
|
portalRealtimeVideoconferenceLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.jitsi .Values.global.domain }}
|
||||||
|
portalManagementProjectLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.openproject .Values.global.domain }}
|
||||||
|
portalManagementKnowledgeLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.xwiki .Values.global.domain }}
|
||||||
|
portalGroupwareLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.openxchange .Values.global.domain }}
|
||||||
|
portalFileshareLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.nextcloud .Values.global.domain }}
|
||||||
|
portalTitleDE: "openDesk Portal"
|
||||||
|
portalTitleEN: "openDesk Portal"
|
||||||
|
oxDefaultContext: "1"
|
||||||
|
ldapSearchUsers:
|
||||||
|
{{- range $username, $password := .Values.secrets.nubus.ldapSearch }}
|
||||||
|
- username: {{ printf "ldapsearch_%s" $username | quote }}
|
||||||
|
password: {{ $password | quote }}
|
||||||
|
lastname: "LDAP-Search-User"
|
||||||
|
{{- end }}
|
||||||
|
portaltileGroupUserStandard:
|
||||||
|
- 'cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
- 'cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupUserAdmin:
|
||||||
|
- 'cn=Domain Admins,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
- 'cn=Support,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupUserAll:
|
||||||
|
- 'cn=Domain Admins,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
- 'cn=Domain Users,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupGroupware:
|
||||||
|
- 'cn=managed-by-attribute-Groupware,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupFileshare:
|
||||||
|
- 'cn=managed-by-attribute-Fileshare,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupManagementProject:
|
||||||
|
- 'cn=managed-by-attribute-Projectmanagement,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupManagementKnowledge:
|
||||||
|
- 'cn=managed-by-attribute-Knowledgemanagement,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupManagementLearn:
|
||||||
|
- 'cn=managed-by-attribute-Learnmanagement,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
portaltileGroupLiveCollaboration:
|
||||||
|
- 'cn=managed-by-attribute-Livecollaboration,cn=groups,{{ .Values.ldap.baseDn }}'
|
||||||
|
|
||||||
nubusUmcServer:
|
nubusUmcServer:
|
||||||
memcached:
|
memcached:
|
||||||
auth:
|
auth:
|
||||||
@@ -213,6 +260,12 @@ nubusStackDataUms:
|
|||||||
|
|
||||||
# TODO: Remove values when upstreaming fixes
|
# TODO: Remove values when upstreaming fixes
|
||||||
nubusStackDataSwp:
|
nubusStackDataSwp:
|
||||||
|
stackDataSwp:
|
||||||
|
{{- if .Values.functional.admin.portal.deploymentInformation.enabled }}
|
||||||
|
systemInformation:
|
||||||
|
deployDate: "Deployed: {{ now | date "2006-01-02T15:04:05-0700" }}"
|
||||||
|
releaseVersion: "Release: {{ .Values.global.systemInformation.releaseVersion }}"
|
||||||
|
{{- end }}
|
||||||
stackDataContext:
|
stackDataContext:
|
||||||
ldapSearchUsers:
|
ldapSearchUsers:
|
||||||
{{- range $username, $password := .Values.secrets.nubus.ldapSearch }}
|
{{- range $username, $password := .Values.secrets.nubus.ldapSearch }}
|
||||||
@@ -221,9 +274,10 @@ nubusStackDataSwp:
|
|||||||
lastname: "LDAP-Search-User"
|
lastname: "LDAP-Search-User"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
externalMailDomain: {{ .Values.global.mailDomain | default .Values.global.domain }}
|
||||||
smtpHost: {{ .Values.smtp.host | quote }}
|
smtpHost: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
smtpPort: {{ .Values.smtp.port | quote }}
|
smtpPort: 25
|
||||||
smtpUser: {{ .Values.smtp.username | quote }}
|
smtpUser: ""
|
||||||
|
smtpStartTls: false
|
||||||
ldapBase: {{ .Values.ldap.baseDn }}
|
ldapBase: {{ .Values.ldap.baseDn }}
|
||||||
# FIXME: Should be templated correctly in the future
|
# FIXME: Should be templated correctly in the future
|
||||||
portalRealtimeCollaborationLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.element .Values.global.domain }}
|
portalRealtimeCollaborationLinkBase: {{ printf "https://%s.%s" .Values.global.hosts.element .Values.global.domain }}
|
||||||
@@ -309,7 +363,7 @@ extraSecrets:
|
|||||||
umcKeycloakExtensionsDatabasePassword: {{ .Values.databases.keycloakExtension.password | default .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
umcKeycloakExtensionsDatabasePassword: {{ .Values.databases.keycloakExtension.password | default .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
||||||
- name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
- name: "ums-keycloak-extensions-smtp-opendesk-credentials"
|
||||||
stringData:
|
stringData:
|
||||||
umcKeycloakExtensionsSmtpPassword: {{ .Values.smtp.password | quote }}
|
umcKeycloakExtensionsSmtpPassword: ""
|
||||||
- name: "ums-portal-server-minio-opendesk-credentials"
|
- name: "ums-portal-server-minio-opendesk-credentials"
|
||||||
stringData:
|
stringData:
|
||||||
access-key-id: {{ .Values.objectstores.nubus.username | quote }}
|
access-key-id: {{ .Values.objectstores.nubus.username | quote }}
|
||||||
@@ -320,4 +374,4 @@ extraSecrets:
|
|||||||
secret-key-id: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
secret-key-id: {{ .Values.objectstores.nubus.secretKey | default .Values.secrets.minio.umsUser | quote }}
|
||||||
- name: "ums-umc-server-smtp-credentials-custom"
|
- name: "ums-umc-server-smtp-credentials-custom"
|
||||||
stringData:
|
stringData:
|
||||||
password: {{ .Values.smtp.password | quote }}
|
password: ""
|
||||||
|
|||||||
@@ -171,15 +171,6 @@ nubusUmcGateway:
|
|||||||
replicaCount: {{ .Values.replicas.umsUmcGateway }}
|
replicaCount: {{ .Values.replicas.umsUmcGateway }}
|
||||||
resources:
|
resources:
|
||||||
{{ .Values.resources.umsUmcGateway | toYaml | nindent 4 }}
|
{{ .Values.resources.umsUmcGateway | toYaml | nindent 4 }}
|
||||||
extraVolumes:
|
|
||||||
- name: "entrypoint-swp-patches"
|
|
||||||
configMap:
|
|
||||||
name: "ums-stack-data-swp-umc-gateway-entrypoint"
|
|
||||||
defaultMode: 0555
|
|
||||||
extraVolumeMounts:
|
|
||||||
- name: "entrypoint-swp-patches"
|
|
||||||
mountPath: "/entrypoint.d/90-swp.sh"
|
|
||||||
subPath: "90-swp.sh"
|
|
||||||
|
|
||||||
nubusKeycloakBootstrap:
|
nubusKeycloakBootstrap:
|
||||||
podAnnotations:
|
podAnnotations:
|
||||||
|
|||||||
@@ -193,6 +193,11 @@ nubusUmcServer:
|
|||||||
registry: {{ .Values.images.nubusUmcServer.registry }}
|
registry: {{ .Values.images.nubusUmcServer.registry }}
|
||||||
repository: {{ .Values.images.nubusUmcServer.repository }}
|
repository: {{ .Values.images.nubusUmcServer.repository }}
|
||||||
tag: {{ .Values.images.nubusUmcServer.tag }}
|
tag: {{ .Values.images.nubusUmcServer.tag }}
|
||||||
|
proxy:
|
||||||
|
image:
|
||||||
|
registry: {{ .Values.images.nubusUmcServerProxy.registry }}
|
||||||
|
repository: {{ .Values.images.nubusUmcServerProxy.repository }}
|
||||||
|
tag: {{ .Values.images.nubusUmcServerProxy.tag }}
|
||||||
|
|
||||||
nubusWaitForDependency:
|
nubusWaitForDependency:
|
||||||
image:
|
image:
|
||||||
|
|||||||
@@ -28,7 +28,8 @@ config:
|
|||||||
{{ .Values.functional.authentication.oidc.clients | toYaml | nindent 6 }}
|
{{ .Values.functional.authentication.oidc.clients | toYaml | nindent 6 }}
|
||||||
managed:
|
managed:
|
||||||
clientScopes: [ 'acr', 'web-origins', 'email', 'profile', 'microprofile-jwt', 'role_list', 'offline_access', 'roles', 'address', 'phone' ]
|
clientScopes: [ 'acr', 'web-origins', 'email', 'profile', 'microprofile-jwt', 'role_list', 'offline_access', 'roles', 'address', 'phone' ]
|
||||||
clients: [ 'UMC', 'guardian-management-api', 'guardian-scripts', 'guardian-ui', '${client_account}', '${client_account-console}', '${client_admin-cli}', '${client_broker}', '${client_realm-management}', '${client_security-admin-console}' ]
|
# 'guardian-management-api', 'guardian-scripts', 'guardian-ui' clients have been added explicitly for the moment (see further down this file)
|
||||||
|
clients: [ 'UMC', '${client_account}', '${client_account-console}', '${client_admin-cli}', '${client_broker}', '${client_realm-management}', '${client_security-admin-console}' ]
|
||||||
keycloak:
|
keycloak:
|
||||||
adminUser: "kcadmin"
|
adminUser: "kcadmin"
|
||||||
adminPassword: {{ .Values.secrets.keycloak.adminPassword | quote }}
|
adminPassword: {{ .Values.secrets.keycloak.adminPassword | quote }}
|
||||||
@@ -388,60 +389,6 @@ config:
|
|||||||
backchannel.logout.session.required: false
|
backchannel.logout.session.required: false
|
||||||
defaultClientScopes:
|
defaultClientScopes:
|
||||||
- "opendesk-dovecot-scope"
|
- "opendesk-dovecot-scope"
|
||||||
- name: "opendesk-intercom"
|
|
||||||
clientId: "opendesk-intercom"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
clientAuthenticatorType: "client-secret"
|
|
||||||
secret: {{ .Values.secrets.keycloak.clientSecret.intercom | quote }}
|
|
||||||
redirectUris:
|
|
||||||
- "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/callback"
|
|
||||||
consentRequired: false
|
|
||||||
frontchannelLogout: false
|
|
||||||
publicClient: false
|
|
||||||
authorizationServicesEnabled: false
|
|
||||||
attributes:
|
|
||||||
backchannel.logout.session.required: true
|
|
||||||
backchannel.logout.revoke.offline.tokens: true
|
|
||||||
backchannel.logout.url: "https://{{ .Values.global.hosts.intercomService }}.{{ .Values.global.domain }}/backchannel-logout"
|
|
||||||
protocolMappers:
|
|
||||||
- name: "intercom-audience"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
protocolMapper: "oidc-audience-mapper"
|
|
||||||
consentRequired: false
|
|
||||||
config:
|
|
||||||
included.client.audience: "opendesk-intercom"
|
|
||||||
id.token.claim: false
|
|
||||||
access.token.claim: true
|
|
||||||
# temporary additional claim while entryuuid is a hardcoded attribute in IntercomService and we cannot set
|
|
||||||
# it to `opendesk_useruuid` standard claim. For reference:
|
|
||||||
# https://github.com/univention/intercom-service/blob/cd819b6ced6433e532e74a8878943d05412c1416/intercom/app.js#L89
|
|
||||||
- name: "entryuuid_temp"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
protocolMapper: "oidc-usermodel-attribute-mapper"
|
|
||||||
consentRequired: false
|
|
||||||
config:
|
|
||||||
userinfo.token.claim: true
|
|
||||||
user.attribute: "entryUUID"
|
|
||||||
id.token.claim: true
|
|
||||||
access.token.claim: true
|
|
||||||
claim.name: "entryuuid"
|
|
||||||
jsonType.label: "String"
|
|
||||||
# temporary additional claim while phoenixusername is a hardcoded attribute in IntercomService and we cannot
|
|
||||||
# set it to `opendesk_username` standard claim. For reference:
|
|
||||||
# https://github.com/univention/intercom-service/blob/cd819b6ced6433e532e74a8878943d05412c1416/intercom/routes/navigation.js#L27
|
|
||||||
- name: "phoenixusername_temp"
|
|
||||||
protocol: "openid-connect"
|
|
||||||
protocolMapper: "oidc-usermodel-attribute-mapper"
|
|
||||||
consentRequired: false
|
|
||||||
config:
|
|
||||||
userinfo.token.claim: true
|
|
||||||
user.attribute: "uid"
|
|
||||||
id.token.claim: true
|
|
||||||
access.token.claim: true
|
|
||||||
claim.name: "phoenixusername"
|
|
||||||
jsonType.label: "String"
|
|
||||||
defaultClientScopes:
|
|
||||||
- "offline_access"
|
|
||||||
- name: "opendesk-jitsi"
|
- name: "opendesk-jitsi"
|
||||||
clientId: "opendesk-jitsi"
|
clientId: "opendesk-jitsi"
|
||||||
protocol: "openid-connect"
|
protocol: "openid-connect"
|
||||||
@@ -570,6 +517,296 @@ config:
|
|||||||
post.logout.redirect.uris: "https://{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}/*##https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/*"
|
post.logout.redirect.uris: "https://{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}/*##https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/*"
|
||||||
defaultClientScopes:
|
defaultClientScopes:
|
||||||
- "opendesk-xwiki-scope"
|
- "opendesk-xwiki-scope"
|
||||||
|
- name: "guardian-management-api"
|
||||||
|
clientId: "guardian-management-api"
|
||||||
|
rootUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
publicClient: false
|
||||||
|
clientAuthenticatorType: "client-secret"
|
||||||
|
secret: {{ .Values.secrets.keycloak.clientSecret.guardian | quote }}
|
||||||
|
redirectUris:
|
||||||
|
- "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/guardian/*"
|
||||||
|
fullScopeAllowed: true
|
||||||
|
standardFlowEnabled: true
|
||||||
|
implicitFlowEnabled: false
|
||||||
|
directAccessGrantsEnabled: false
|
||||||
|
serviceAccountsEnabled: true
|
||||||
|
protocolMappers:
|
||||||
|
- name: "Client Host"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usersessionmodel-note-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
user.session.note: "clientHost"
|
||||||
|
userinfo.token.claim: true
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "clientHost"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "Client ID"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usersessionmodel-note-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
user.session.note: "client_id"
|
||||||
|
userinfo.token.claim: true
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "client_id"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "guardian-audience"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-audience-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
included.client.audience: "guardian"
|
||||||
|
userinfo.token.claim: false
|
||||||
|
id.token.claim: false
|
||||||
|
access.token.claim: true
|
||||||
|
- name: "audiencemap"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-audience-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
included.client.audience: "guardian-cli"
|
||||||
|
userinfo.token.claim: true
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
- name: "dn"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-attribute-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: false
|
||||||
|
user.attribute: "LDAP_ENTRY_DN"
|
||||||
|
id.token.claim: false
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "dn"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "username"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-property-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "username"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "preferred_username"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "uid"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-attribute-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "uid"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "uid"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "email"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-property-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "email"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "email"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "Client IP Address"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usersessionmodel-note-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
user.session.note: "clientAddress"
|
||||||
|
userinfo.token.claim: true
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "clientAddress"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "guardian-scripts"
|
||||||
|
clientId: "guardian-scripts"
|
||||||
|
description: ""
|
||||||
|
rootUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
adminUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
surrogateAuthRequired: false
|
||||||
|
enabled: true
|
||||||
|
alwaysDisplayInConsole: false
|
||||||
|
clientAuthenticatorType: "client-secret"
|
||||||
|
redirectUris:
|
||||||
|
- "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/univention/guardian/*"
|
||||||
|
- "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
- "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/guardian/*"
|
||||||
|
webOrigins:
|
||||||
|
- "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
bearerOnly: false
|
||||||
|
consentRequired: false
|
||||||
|
standardFlowEnabled: true
|
||||||
|
implicitFlowEnabled: false
|
||||||
|
directAccessGrantsEnabled: true
|
||||||
|
serviceAccountsEnabled: false
|
||||||
|
publicClient: true
|
||||||
|
frontchannelLogout: false
|
||||||
|
protocol: "openid-connect"
|
||||||
|
fullScopeAllowed: true
|
||||||
|
protocolMappers:
|
||||||
|
- name: "email"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-property-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "email"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "email"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "guardian-audience"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-audience-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
included.client.audience: "guardian"
|
||||||
|
id.token.claim: false
|
||||||
|
access.token.claim: true
|
||||||
|
userinfo.token.claim: false
|
||||||
|
- name: "username"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-property-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "username"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "preferred_username"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "uid"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-attribute-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "uid"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "uid"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "audiencemap"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-audience-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
included.client.audience: "guardian-scripts"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
userinfo.token.claim: true
|
||||||
|
- name: "dn"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-attribute-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
aggregate.attrs: false
|
||||||
|
multivalued: false
|
||||||
|
userinfo.token.claim: false
|
||||||
|
user.attribute: "LDAP_ENTRY_DN"
|
||||||
|
id.token.claim: false
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "dn"
|
||||||
|
jsonType.label: "String"
|
||||||
|
defaultClientScopes:
|
||||||
|
- "web-origins"
|
||||||
|
- "acr"
|
||||||
|
- "roles"
|
||||||
|
- "profile"
|
||||||
|
- "email"
|
||||||
|
optionalClientScopes:
|
||||||
|
- "address"
|
||||||
|
- "phone"
|
||||||
|
- "offline_access"
|
||||||
|
- "microprofile-jwt"
|
||||||
|
- name: "guardian-ui"
|
||||||
|
clientId: "guardian-ui"
|
||||||
|
rootUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
baseUrl: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
|
clientAuthenticatorType: "client-secret"
|
||||||
|
redirectUris:
|
||||||
|
- "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/univention/guardian/*"
|
||||||
|
standardFlowEnabled: true
|
||||||
|
publicClient: true
|
||||||
|
implicitFlowEnabled: false
|
||||||
|
directAccessGrantsEnabled: false
|
||||||
|
serviceAccountsEnabled: false
|
||||||
|
protocol: "openid-connect"
|
||||||
|
fullScopeAllowed: true
|
||||||
|
protocolMappers:
|
||||||
|
- name: "uid"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-attribute-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "uid"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "uid"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "username"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-property-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "username"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "preferred_username"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "dn"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-attribute-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: "false"
|
||||||
|
user.attribute: "LDAP_ENTRY_DN"
|
||||||
|
id.token.claim: false
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "dn"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "audiencemap"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-audience-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
included.client.audience: "guardian"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
userinfo.token.claim: true
|
||||||
|
- name: "email"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-usermodel-property-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
userinfo.token.claim: true
|
||||||
|
user.attribute: "email"
|
||||||
|
id.token.claim: true
|
||||||
|
access.token.claim: true
|
||||||
|
claim.name: "email"
|
||||||
|
jsonType.label: "String"
|
||||||
|
- name: "guardian-audience"
|
||||||
|
protocol: "openid-connect"
|
||||||
|
protocolMapper: "oidc-audience-mapper"
|
||||||
|
consentRequired: false
|
||||||
|
config:
|
||||||
|
included.client.audience: "guardian"
|
||||||
|
id.token.claim: false
|
||||||
|
access.token.claim: true
|
||||||
|
userinfo.token.claim: false
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ dovecot:
|
|||||||
submission:
|
submission:
|
||||||
enabled: true
|
enabled: true
|
||||||
ssl: "no"
|
ssl: "no"
|
||||||
host: "postfix:25"
|
host: "{{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain }}:25"
|
||||||
|
|
||||||
certificate:
|
certificate:
|
||||||
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
secretName: {{ .Values.ingress.tls.secretName | quote }}
|
||||||
|
|||||||
@@ -59,15 +59,15 @@ environment:
|
|||||||
OPENPROJECT_SOUVAP__NAVIGATION__SECRET: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
OPENPROJECT_SOUVAP__NAVIGATION__SECRET: {{ .Values.secrets.centralnavigation.apiKey | quote }}
|
||||||
OPENPROJECT_SOUVAP__NAVIGATION__URL: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/univention/portal/navigation.json?base=https%3A//{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
OPENPROJECT_SOUVAP__NAVIGATION__URL: "https://{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}/univention/portal/navigation.json?base=https%3A//{{ .Values.global.hosts.nubus }}.{{ .Values.global.domain }}"
|
||||||
OPENPROJECT_SMTP__DOMAIN: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
OPENPROJECT_SMTP__DOMAIN: {{ .Values.global.mailDomain | default .Values.global.domain | quote }}
|
||||||
OPENPROJECT_SMTP__USER__NAME: {{ .Values.smtp.username | quote }}
|
OPENPROJECT_SMTP__USER__NAME: ""
|
||||||
OPENPROJECT_SMTP__PASSWORD: {{ .Values.smtp.password | quote }}
|
OPENPROJECT_SMTP__PASSWORD: ""
|
||||||
OPENPROJECT_SMTP__PORT: {{ .Values.smtp.port | quote }}
|
OPENPROJECT_SMTP__PORT: 25
|
||||||
OPENPROJECT_SMTP__SSL: "false" # (default=false)
|
OPENPROJECT_SMTP__SSL: "false" # (default=false)
|
||||||
OPENPROJECT_SMTP__ADDRESS: {{ .Values.smtp.host | quote }}
|
OPENPROJECT_SMTP__ADDRESS: {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
OPENPROJECT_SMTP__AUTHENTICATION: "plain"
|
OPENPROJECT_SMTP__AUTHENTICATION: "none"
|
||||||
OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO: "true"
|
OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO: "false"
|
||||||
OPENPROJECT_SMTP__OPENSSL__VERIFY__MODE: "peer"
|
OPENPROJECT_SMTP__OPENSSL__VERIFY__MODE: "none"
|
||||||
OPENPROJECT_MAIL__FROM: "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.openproject }}.{{ end }}{{ .Values.global.domain }}"
|
OPENPROJECT_MAIL__FROM: "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
OPENPROJECT_HOME__URL: {{ printf "https://%s.%s/" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
OPENPROJECT_HOME__URL: {{ printf "https://%s.%s/" .Values.global.hosts.nubus .Values.global.domain | quote }}
|
||||||
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_ISSUER: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_ISSUER: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||||
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
|
OPENPROJECT_OPENID__CONNECT_KEYCLOAK_POST__LOGOUT__REDIRECT__URI: "https://{{ .Values.global.hosts.openproject }}.{{ .Values.global.domain }}/"
|
||||||
|
|||||||
@@ -57,6 +57,17 @@ repositories:
|
|||||||
url: "{{ .Values.global.helmRegistry | default .Values.charts.mariadb.registry }}/\
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.mariadb.registry }}/\
|
||||||
{{ .Values.charts.mariadb.repository }}"
|
{{ .Values.charts.mariadb.repository }}"
|
||||||
|
|
||||||
|
# openDesk dkimpy-milter
|
||||||
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-dkimpy-milter
|
||||||
|
- name: "dkimpy-repo"
|
||||||
|
keyring: "../../files/gpg-pubkeys/opencode.gpg"
|
||||||
|
verify: {{ .Values.charts.dkimpy.verify }}
|
||||||
|
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
|
||||||
|
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
|
||||||
|
oci: true
|
||||||
|
url: "{{ .Values.global.helmRegistry | default .Values.charts.dkimpy.registry }}/\
|
||||||
|
{{ .Values.charts.dkimpy.repository }}"
|
||||||
|
|
||||||
# openDesk Postfix
|
# openDesk Postfix
|
||||||
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-postfix
|
# https://gitlab.opencode.de/bmi/opendesk/components/platform-development/charts/opendesk-postfix
|
||||||
- name: "postfix-repo"
|
- name: "postfix-repo"
|
||||||
@@ -178,6 +189,14 @@ releases:
|
|||||||
installed: {{ .Values.postfix.enabled }}
|
installed: {{ .Values.postfix.enabled }}
|
||||||
timeout: 900
|
timeout: 900
|
||||||
|
|
||||||
|
- name: "opendesk-dkimpy-milter"
|
||||||
|
chart: "dkimpy-repo/{{ .Values.charts.dkimpy.name }}"
|
||||||
|
version: "{{ .Values.charts.dkimpy.version }}"
|
||||||
|
values:
|
||||||
|
- "values-dkimpy.yaml.gotmpl"
|
||||||
|
installed: {{ .Values.dkimpy.enabled }}
|
||||||
|
timeout: 900
|
||||||
|
|
||||||
- name: "clamav"
|
- name: "clamav"
|
||||||
chart: "clamav-repo/{{ .Values.charts.clamav.name }}"
|
chart: "clamav-repo/{{ .Values.charts.clamav.name }}"
|
||||||
version: "{{ .Values.charts.clamav.version }}"
|
version: "{{ .Values.charts.clamav.version }}"
|
||||||
|
|||||||
44
helmfile/apps/services/values-dkimpy.yaml.gotmpl
Normal file
44
helmfile/apps/services/values-dkimpy.yaml.gotmpl
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# SPDX-FileCopyrightText: Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
---
|
||||||
|
containerSecurityContext:
|
||||||
|
allowPrivilegeEscalation: true
|
||||||
|
capabilities: {}
|
||||||
|
enabled: true
|
||||||
|
seccompProfile:
|
||||||
|
type: "RuntimeDefault"
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
privileged: false
|
||||||
|
seLinuxOptions:
|
||||||
|
{{ .Values.seLinuxOptions.dkimpy | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
global:
|
||||||
|
imagePullSecrets:
|
||||||
|
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
|
||||||
|
|
||||||
|
image:
|
||||||
|
registry: {{ .Values.global.imageRegistry | default .Values.images.dkimpy.registry | quote }}
|
||||||
|
repository: {{ .Values.images.dkimpy.repository | quote }}
|
||||||
|
tag: {{ .Values.images.dkimpy.tag | quote }}
|
||||||
|
imagePullPolicy: {{ .Values.global.imagePullPolicy | quote }}
|
||||||
|
|
||||||
|
podSecurityContext:
|
||||||
|
enabled: true
|
||||||
|
fsGroup: 1000
|
||||||
|
|
||||||
|
configuration:
|
||||||
|
domain: "{{ .Values.global.domain }}{{ if .Values.global.mailDomain }}, {{ .Values.global.mailDomain }}{{ end }}"
|
||||||
|
key:
|
||||||
|
{{ .Values.smtp.dkim.key | toYaml | nindent 4 }}
|
||||||
|
mode: "s"
|
||||||
|
selector: {{ .Values.smtp.dkim.selector }}
|
||||||
|
useED25519: {{ .Values.smtp.dkim.useED25519 }}
|
||||||
|
|
||||||
|
replicaCount: {{ .Values.replicas.dkimpy }}
|
||||||
|
|
||||||
|
resources:
|
||||||
|
{{ .Values.resources.dkimpy | toYaml | nindent 2 }}
|
||||||
|
...
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
---
|
---
|
||||||
cleanup:
|
cleanup:
|
||||||
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||||
|
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -35,19 +36,32 @@ job:
|
|||||||
retries: 10
|
retries: 10
|
||||||
wait: 30
|
wait: 30
|
||||||
users:
|
users:
|
||||||
- username: "xwiki_user"
|
- username: {{ .Values.databases.nextcloud.username | quote }}
|
||||||
password: {{ .Values.secrets.mariadb.xwikiUser | quote }}
|
|
||||||
- username: "openxchange_user"
|
|
||||||
password: {{ .Values.secrets.mariadb.openxchangeUser | quote }}
|
|
||||||
- username: "nextcloud_user"
|
|
||||||
password: {{ .Values.secrets.mariadb.nextcloudUser | quote}}
|
password: {{ .Values.secrets.mariadb.nextcloudUser | quote}}
|
||||||
|
connectionLimit: {{ .Values.databases.nextcloud.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
# OX and XWiki are using the db's `root` users (see `database.yaml`). So we are statically referencing their dedicated
|
||||||
|
# users for the moment.
|
||||||
|
- username: "openxchange_user"
|
||||||
|
# - username: {{ .Values.databases.xwiki.username | quote }}
|
||||||
|
password: {{ .Values.secrets.mariadb.openxchangeUser | quote }}
|
||||||
|
connectionLimit: {{ .Values.databases.oxAppsuite.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: "xwiki_user"
|
||||||
|
# - username: {{ .Values.databases.oxAppsuite.username | quote }}
|
||||||
|
password: {{ .Values.secrets.mariadb.xwikiUser | quote }}
|
||||||
|
connectionLimit: {{ .Values.databases.xwiki.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
databases:
|
databases:
|
||||||
- name: "xwiki"
|
- name: {{ .Values.databases.nextcloud.name | quote }}
|
||||||
user: "xwiki_user"
|
user: {{ .Values.databases.nextcloud.username | quote }}
|
||||||
- name: "nextcloud"
|
# OX and XWiki are using the db's `root` users (see `database.yaml`). So we are statically referencing their dedicated
|
||||||
user: "nextcloud_user"
|
# users for the moment.
|
||||||
- name: "openxchange"
|
- name: "openxchange"
|
||||||
user: "openxchange_user"
|
user: "openxchange_user"
|
||||||
|
# - name: {{ .Values.databases.oxAppsuite.name | quote }}
|
||||||
|
# user: {{ .Values.databases.oxAppsuite.username | quote }}
|
||||||
|
- name: "xwiki"
|
||||||
|
user: "xwiki_user"
|
||||||
|
# - name: {{ .Values.databases.xwiki.name | quote }}
|
||||||
|
# user: {{ .Values.databases.xwiki.username | quote }}
|
||||||
|
|
||||||
mariadb:
|
mariadb:
|
||||||
rootPassword: {{ .Values.secrets.mariadb.rootPassword | quote }}
|
rootPassword: {{ .Values.secrets.mariadb.rootPassword | quote }}
|
||||||
|
|||||||
@@ -85,7 +85,8 @@ persistence:
|
|||||||
provisioning:
|
provisioning:
|
||||||
enabled: true
|
enabled: true
|
||||||
cleanupAfterFinished:
|
cleanupAfterFinished:
|
||||||
enabled: true
|
enabled: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||||
|
seconds: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
extraCommands:
|
extraCommands:
|
||||||
- "mc anonymous set download provisioning/ums/portal-assets"
|
- "mc anonymous set download provisioning/ums/portal-assets"
|
||||||
buckets:
|
buckets:
|
||||||
|
|||||||
@@ -49,6 +49,9 @@ postfix:
|
|||||||
- fileName: "sasl_passwd.map"
|
- fileName: "sasl_passwd.map"
|
||||||
content:
|
content:
|
||||||
- {{ printf "%s %s:%s" .Values.smtp.host .Values.smtp.username .Values.smtp.password | quote }}
|
- {{ printf "%s %s:%s" .Values.smtp.host .Values.smtp.username .Values.smtp.password | quote }}
|
||||||
|
{{- if .Values.dkimpy.enabled }}
|
||||||
|
dkimpyHost: "opendesk-dkimpy-milter.{{ .Release.Namespace }}.svc.{{.Values.cluster.networking.domain }}:8892"
|
||||||
|
{{- end }}
|
||||||
rspamdHost: ""
|
rspamdHost: ""
|
||||||
relayHost: {{ if .Values.smtp.host }}{{ printf "[%s]:%d" .Values.smtp.host .Values.smtp.port | quote }}{{ else }}""{{ end }}
|
relayHost: {{ if .Values.smtp.host }}{{ printf "[%s]:%d" .Values.smtp.host .Values.smtp.port | quote }}{{ else }}""{{ end }}
|
||||||
relayNets: {{ join " " .Values.cluster.networking.cidr | quote }}
|
relayNets: {{ join " " .Values.cluster.networking.cidr | quote }}
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
---
|
---
|
||||||
|
cleanup:
|
||||||
|
deletePodsOnSuccess: {{ .Values.debug.cleanup.deletePodsOnSuccess }}
|
||||||
|
deletePodsOnSuccessTimeout: {{ .Values.debug.cleanup.deletePodsOnSuccessTimeout }}
|
||||||
|
|
||||||
containerSecurityContext:
|
containerSecurityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
capabilities:
|
capabilities:
|
||||||
@@ -17,8 +21,6 @@ containerSecurityContext:
|
|||||||
seLinuxOptions:
|
seLinuxOptions:
|
||||||
{{ .Values.seLinuxOptions.postgresql | toYaml | nindent 4 }}
|
{{ .Values.seLinuxOptions.postgresql | toYaml | nindent 4 }}
|
||||||
|
|
||||||
job:
|
|
||||||
|
|
||||||
podSecurityContext:
|
podSecurityContext:
|
||||||
enabled: true
|
enabled: true
|
||||||
fsGroup: 1001
|
fsGroup: 1001
|
||||||
@@ -43,36 +45,43 @@ image:
|
|||||||
|
|
||||||
job:
|
job:
|
||||||
users:
|
users:
|
||||||
- username: "keycloak_user"
|
- username: {{ .Values.databases.keycloak.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.keycloakUser | quote }}
|
password: {{ .Values.secrets.postgresql.keycloakUser | quote }}
|
||||||
- username: "openproject_user"
|
connectionLimit: {{ .Values.databases.keycloak.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.openproject.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.openprojectUser | quote }}
|
password: {{ .Values.secrets.postgresql.openprojectUser | quote }}
|
||||||
- username: "keycloak_extensions_user"
|
connectionLimit: {{ .Values.databases.openproject.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.keycloakExtension.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
password: {{ .Values.secrets.postgresql.keycloakExtensionUser | quote }}
|
||||||
- username: "matrix_user"
|
connectionLimit: {{ .Values.databases.keycloakExtension.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.synapse.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.matrixUser | quote }}
|
password: {{ .Values.secrets.postgresql.matrixUser | quote }}
|
||||||
- username: "notificationsapi_user"
|
connectionLimit: {{ .Values.databases.synapse.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.umsNotificationsApiUser | quote }}
|
password: {{ .Values.secrets.postgresql.umsNotificationsApiUser | quote }}
|
||||||
- username: "guardianmanagementapi_user"
|
connectionLimit: {{ .Values.databases.umsNotificationsApi.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.umsGuardianManagementApiUser | quote }}
|
password: {{ .Values.secrets.postgresql.umsGuardianManagementApiUser | quote }}
|
||||||
- username: "selfservice_user"
|
connectionLimit: {{ .Values.databases.umsGuardianManagementApi.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
|
- username: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||||
password: {{ .Values.secrets.postgresql.umsSelfserviceUser | quote }}
|
password: {{ .Values.secrets.postgresql.umsSelfserviceUser | quote }}
|
||||||
|
connectionLimit: {{ .Values.databases.umsSelfservice.connectionLimit | default .Values.databases.defaults.userConnectionLimit }}
|
||||||
databases:
|
databases:
|
||||||
- name: "keycloak"
|
- name: {{ .Values.databases.keycloak.name | quote }}
|
||||||
user: "keycloak_user"
|
user: {{ .Values.databases.keycloak.username | quote }}
|
||||||
- name: "keycloak_extensions"
|
- name: {{ .Values.databases.keycloakExtension.name | quote }}
|
||||||
user: "keycloak_extensions_user"
|
user: {{ .Values.databases.keycloakExtension.username | quote }}
|
||||||
- name: "openproject"
|
- name: {{ .Values.databases.openproject.name | quote }}
|
||||||
user: "openproject_user"
|
user: {{ .Values.databases.openproject.username | quote }}
|
||||||
- name: "matrix"
|
- name: {{ .Values.databases.synapse.name | quote }}
|
||||||
user: "matrix_user"
|
user: {{ .Values.databases.synapse.username | quote }}
|
||||||
additionalParams: "ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0"
|
additionalParams: "ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0"
|
||||||
- name: "guardianmanagementapi"
|
- name: {{ .Values.databases.umsGuardianManagementApi.name | quote }}
|
||||||
user: "guardianmanagementapi_user"
|
user: {{ .Values.databases.umsGuardianManagementApi.username | quote }}
|
||||||
- name: "notificationsapi"
|
- name: {{ .Values.databases.umsNotificationsApi.name | quote }}
|
||||||
user: "notificationsapi_user"
|
user: {{ .Values.databases.umsNotificationsApi.username | quote }}
|
||||||
- name: "selfservice"
|
- name: {{ .Values.databases.umsSelfservice.name | quote }}
|
||||||
user: "selfservice_user"
|
user: {{ .Values.databases.umsSelfservice.username | quote }}
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
storageClass: {{ .Values.persistence.storageClassNames.RWO | quote }}
|
||||||
|
|||||||
@@ -137,12 +137,10 @@ properties:
|
|||||||
"property:xwiki:XWiki.XWikiServerXwiki^XWiki.XWikiServerClass.server": "{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}"
|
"property:xwiki:XWiki.XWikiServerXwiki^XWiki.XWikiServerClass.server": "{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}"
|
||||||
"property:xwiki:XWiki.XWikiServerXwiki^XWiki.XWikiServerClass.port": 443
|
"property:xwiki:XWiki.XWikiServerXwiki^XWiki.XWikiServerClass.port": 443
|
||||||
## SMTP settings
|
## SMTP settings
|
||||||
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.from": "{{ .Values.smtp.localpartNoReply }}@{{ if .Values.functional.email.systemGenerated.useComponentInSenderdomain }}{{ .Values.global.hosts.xwiki }}.{{ end }}{{ .Values.global.domain }}"
|
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.from": "{{ .Values.smtp.localpartNoReply }}@{{ .Values.global.domain }}"
|
||||||
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.host": {{ .Values.smtp.host | quote }}
|
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.host": {{ printf "%s.%s.svc.%s" "postfix" (.Values.postfix.namespace | default .Release.Namespace) .Values.cluster.networking.domain | quote }}
|
||||||
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.port": {{ .Values.smtp.port | quote }}
|
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.port": 25
|
||||||
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.username": {{ .Values.smtp.username | quote }}
|
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.properties": "mail.smtp.starttls.enable=false"
|
||||||
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.password": {{ .Values.smtp.password | quote }}
|
|
||||||
"property:xwiki:Mail.MailConfig^Mail.SendMailConfigClass.properties": "mail.smtp.starttls.enable=true"
|
|
||||||
## Link LDAP users and users authenticated through OIDC
|
## Link LDAP users and users authenticated through OIDC
|
||||||
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.addOIDCObject": 1
|
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.addOIDCObject": 1
|
||||||
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.OIDCIssuer": "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
"property:xwiki:LDAPUserImport.WebHome^LDAPUserImport.LDAPUserImportConfigClass.OIDCIssuer": "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/{{ .Values.platform.realm }}"
|
||||||
|
|||||||
@@ -60,6 +60,18 @@ charts:
|
|||||||
name: "cryptpad"
|
name: "cryptpad"
|
||||||
version: "0.0.19"
|
version: "0.0.19"
|
||||||
verify: true
|
verify: true
|
||||||
|
dkimpy:
|
||||||
|
# providerCategory: "Platform"
|
||||||
|
# providerResponsible: "openDesk"
|
||||||
|
# upstreamRegistry: "https://registry.opencode.de"
|
||||||
|
# upstreamRepository: "bmi/opendesk/components/platform-development/charts/opendesk-dkimpy-milter/opendesk-dkimpy-milter"
|
||||||
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
|
# upstreamMirrorStartFrom: ["1", "0", "0"]
|
||||||
|
registry: "registry.opencode.de"
|
||||||
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-dkimpy-milter"
|
||||||
|
name: "opendesk-dkimpy-milter"
|
||||||
|
version: "1.0.0"
|
||||||
|
verify: true
|
||||||
dovecot:
|
dovecot:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "Open-Xchange"
|
# providerResponsible: "Open-Xchange"
|
||||||
@@ -78,7 +90,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||||
name: "opendesk-element"
|
name: "opendesk-element"
|
||||||
version: "3.3.0"
|
version: "3.3.2"
|
||||||
verify: true
|
verify: true
|
||||||
elementWellKnown:
|
elementWellKnown:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -88,7 +100,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||||
name: "opendesk-well-known"
|
name: "opendesk-well-known"
|
||||||
version: "3.3.0"
|
version: "3.3.2"
|
||||||
verify: true
|
verify: true
|
||||||
home:
|
home:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -107,11 +119,11 @@ charts:
|
|||||||
# upstreamRepository: "nubus/charts/intercom-service"
|
# upstreamRepository: "nubus/charts/intercom-service"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["2", "0", "1"]
|
# upstreamMirrorStartFrom: ["2", "0", "1"]
|
||||||
registry: "registry.opencode.de"
|
registry: "artifacts.software-univention.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
repository: "nubus/charts"
|
||||||
name: "intercom-service"
|
name: "intercom-service"
|
||||||
version: "2.0.1"
|
version: "0.8.0"
|
||||||
verify: true
|
verify: false
|
||||||
jitsi:
|
jitsi:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -130,7 +142,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-mariadb"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-mariadb"
|
||||||
name: "mariadb"
|
name: "mariadb"
|
||||||
version: "2.2.1"
|
version: "2.3.1"
|
||||||
verify: true
|
verify: true
|
||||||
matrixNeoboardWidget:
|
matrixNeoboardWidget:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -180,7 +192,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||||
name: "opendesk-matrix-user-verification-service"
|
name: "opendesk-matrix-user-verification-service"
|
||||||
version: "3.3.0"
|
version: "3.3.2"
|
||||||
verify: true
|
verify: true
|
||||||
memcached:
|
memcached:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
@@ -220,7 +232,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||||
name: "opendesk-nextcloud"
|
name: "opendesk-nextcloud"
|
||||||
version: "3.0.0"
|
version: "3.1.0"
|
||||||
verify: true
|
verify: true
|
||||||
nextcloudManagement:
|
nextcloudManagement:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -230,7 +242,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-nextcloud"
|
||||||
name: "opendesk-nextcloud-management"
|
name: "opendesk-nextcloud-management"
|
||||||
version: "3.0.0"
|
version: "3.1.0"
|
||||||
verify: true
|
verify: true
|
||||||
nginx:
|
nginx:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
@@ -249,10 +261,12 @@ charts:
|
|||||||
# upstreamRepository: "nubus/charts/nubus"
|
# upstreamRepository: "nubus/charts/nubus"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["0", "19", "3"]
|
# upstreamMirrorStartFrom: ["0", "19", "3"]
|
||||||
registry: "registry.opencode.de"
|
# registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
# repository: "bmi/opendesk/components/supplier/univention/charts-mirror"
|
||||||
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus/charts"
|
||||||
name: "nubus"
|
name: "nubus"
|
||||||
version: "0.33.0"
|
version: "0.37.0"
|
||||||
verify: true
|
verify: true
|
||||||
opendeskKeycloakBootstrap:
|
opendeskKeycloakBootstrap:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -338,7 +352,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-postfix"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-postfix"
|
||||||
name: "postfix"
|
name: "postfix"
|
||||||
version: "2.2.0"
|
version: "2.3.0"
|
||||||
verify: true
|
verify: true
|
||||||
postgresql:
|
postgresql:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -348,7 +362,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-postgresql"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-postgresql"
|
||||||
name: "postgresql"
|
name: "postgresql"
|
||||||
version: "2.0.5"
|
version: "2.1.1"
|
||||||
verify: true
|
verify: true
|
||||||
redis:
|
redis:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
@@ -368,7 +382,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||||
name: "opendesk-synapse"
|
name: "opendesk-synapse"
|
||||||
version: "3.3.0"
|
version: "3.3.2"
|
||||||
verify: true
|
verify: true
|
||||||
synapseCreateAccount:
|
synapseCreateAccount:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -378,7 +392,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||||
name: "opendesk-synapse-create-account"
|
name: "opendesk-synapse-create-account"
|
||||||
version: "3.3.0"
|
version: "3.3.2"
|
||||||
verify: true
|
verify: true
|
||||||
synapseWeb:
|
synapseWeb:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
@@ -388,7 +402,7 @@ charts:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
repository: "bmi/opendesk/components/platform-development/charts/opendesk-element"
|
||||||
name: "opendesk-synapse-web"
|
name: "opendesk-synapse-web"
|
||||||
version: "3.3.0"
|
version: "3.3.2"
|
||||||
verify: true
|
verify: true
|
||||||
xwiki:
|
xwiki:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
|
|||||||
@@ -2,62 +2,76 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
---
|
---
|
||||||
databases:
|
databases:
|
||||||
|
defaults:
|
||||||
|
userConnectionLimit: 100
|
||||||
keycloak:
|
keycloak:
|
||||||
name: "keycloak"
|
name: "keycloak"
|
||||||
host: "postgresql"
|
host: "postgresql"
|
||||||
port: 5432
|
port: 5432
|
||||||
username: "keycloak_user"
|
username: "keycloak_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
keycloakExtension:
|
keycloakExtension:
|
||||||
name: "keycloak_extensions"
|
name: "keycloak_extensions"
|
||||||
host: "postgresql"
|
host: "postgresql"
|
||||||
port: 5432
|
port: 5432
|
||||||
username: "keycloak_extensions_user"
|
username: "keycloak_extensions_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
nextcloud:
|
nextcloud:
|
||||||
name: "nextcloud"
|
name: "nextcloud"
|
||||||
host: "mariadb"
|
host: "mariadb"
|
||||||
port: 3306
|
port: 3306
|
||||||
username: "nextcloud_user"
|
username: "nextcloud_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
openproject:
|
openproject:
|
||||||
name: "openproject"
|
name: "openproject"
|
||||||
host: "postgresql"
|
host: "postgresql"
|
||||||
port: 5432
|
port: 5432
|
||||||
username: "openproject_user"
|
username: "openproject_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
oxAppsuite:
|
oxAppsuite:
|
||||||
host: "mariadb"
|
|
||||||
name: "configdb"
|
name: "configdb"
|
||||||
|
host: "mariadb"
|
||||||
|
port: 3306
|
||||||
username: "root"
|
username: "root"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
synapse:
|
synapse:
|
||||||
host: "postgresql"
|
|
||||||
name: "matrix"
|
name: "matrix"
|
||||||
|
host: "postgresql"
|
||||||
|
port: 5432
|
||||||
username: "matrix_user"
|
username: "matrix_user"
|
||||||
password: ""
|
password: ""
|
||||||
port: 5432
|
connectionLimit: ~
|
||||||
umsGuardianManagementApi:
|
umsGuardianManagementApi:
|
||||||
name: "guardianmanagementapi"
|
name: "guardianmanagementapi"
|
||||||
host: "postgresql"
|
host: "postgresql"
|
||||||
port: 5432
|
port: 5432
|
||||||
username: "guardianmanagementapi_user"
|
username: "guardianmanagementapi_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
umsNotificationsApi:
|
umsNotificationsApi:
|
||||||
name: "notificationsapi"
|
name: "notificationsapi"
|
||||||
host: "postgresql"
|
host: "postgresql"
|
||||||
port: 5432
|
port: 5432
|
||||||
username: "notificationsapi_user"
|
username: "notificationsapi_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
umsSelfservice:
|
umsSelfservice:
|
||||||
name: "selfservice"
|
name: "selfservice"
|
||||||
host: "postgresql"
|
host: "postgresql"
|
||||||
port: 5432
|
port: 5432
|
||||||
username: "selfservice_user"
|
username: "selfservice_user"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: 10
|
||||||
xwiki:
|
xwiki:
|
||||||
name: "xwiki"
|
name: "xwiki"
|
||||||
host: "mariadb"
|
host: "mariadb"
|
||||||
|
port: 3306
|
||||||
username: "root"
|
username: "root"
|
||||||
password: ""
|
password: ""
|
||||||
|
connectionLimit: ~
|
||||||
...
|
...
|
||||||
|
|||||||
@@ -30,15 +30,17 @@ functional:
|
|||||||
# Disable to not support Matrix federation with your installation.
|
# Disable to not support Matrix federation with your installation.
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
email:
|
|
||||||
systemGenerated:
|
|
||||||
# By disabling all mails are sent from @<domain> instead of @<component>.<domain>.
|
|
||||||
useComponentInSenderdomain: true
|
|
||||||
|
|
||||||
filestore:
|
filestore:
|
||||||
quota:
|
quota:
|
||||||
# Set the default quota for all users in GB
|
# Set the default quota for all users in GB
|
||||||
default: 1
|
default: 1
|
||||||
|
# Options related to file sharing, changing these options might require a restart of the `opendesk-nextcloud-php` Pod(s).
|
||||||
|
sharing:
|
||||||
|
# Enables sharing of files with external participants (create external links, send links by mail and allow external upload in shared folders).
|
||||||
|
# If you disable this option existing external shares stop working, when re-enabling it the old shares are available again.
|
||||||
|
enableExternalSharing: false
|
||||||
|
# Enforces passwords to be used on external shares.
|
||||||
|
enforceSharingPasswords: true
|
||||||
# Nextcloud specific configuration
|
# Nextcloud specific configuration
|
||||||
nextcloud:
|
nextcloud:
|
||||||
retentionObligation:
|
retentionObligation:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/supplier/collabora/images/collabora-online-for-opendesk"
|
# upstreamRepository: "bmi/opendesk/components/supplier/collabora/images/collabora-online-for-opendesk"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/collabora/images/collabora-online-for-opendesk"
|
repository: "bmi/opendesk/components/supplier/collabora/images/collabora-online-for-opendesk"
|
||||||
tag: "24.04.6.1.1@sha256:6237af013065838be27faae69b26feec63de6de8412499285f5379d74fef7387"
|
tag: "24.04.6.2.1@sha256:7de9ac6ce5a256b0f74a56a4654acd851502dc9e3ed4d29949ba5642bacae308"
|
||||||
cryptpad:
|
cryptpad:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "XWiki"
|
# providerResponsible: "XWiki"
|
||||||
@@ -30,6 +30,14 @@ images:
|
|||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/xwiki/images-mirror/cryptpad"
|
repository: "bmi/opendesk/components/supplier/xwiki/images-mirror/cryptpad"
|
||||||
tag: "opendesk-20231222@sha256:f4d20d5c38c87b11ed1a1b46ef6a3633d32c6758ebdff8556458f040318fa5e2"
|
tag: "opendesk-20231222@sha256:f4d20d5c38c87b11ed1a1b46ef6a3633d32c6758ebdff8556458f040318fa5e2"
|
||||||
|
dkimpy:
|
||||||
|
# providerCategory: "Platform"
|
||||||
|
# providerResponsible: "openDesk"
|
||||||
|
# upstreamRegistry: "https://registry.opencode.de"
|
||||||
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/dkimpy-milter"
|
||||||
|
registry: "registry.opencode.de"
|
||||||
|
repository: "bmi/opendesk/components/platform-development/images/dkimpy-milter"
|
||||||
|
tag: "1.1.0@sha256:f140c7fc3fd9636addc612edd6e10f6aefa69e34ff637c95ce9036a32e44555f"
|
||||||
dovecot:
|
dovecot:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Open-Xchange"
|
# providerResponsible: "Open-Xchange"
|
||||||
@@ -71,9 +79,11 @@ images:
|
|||||||
# upstreamRepository: "univention/intercom-service"
|
# upstreamRepository: "univention/intercom-service"
|
||||||
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)$'
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)$'
|
||||||
# upstreamMirrorStartFrom: ["1", "6"]
|
# upstreamMirrorStartFrom: ["1", "6"]
|
||||||
registry: "registry.opencode.de"
|
#registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/intercom-service"
|
#repository: "bmi/opendesk/components/supplier/univention/images-mirror/intercom-service"
|
||||||
tag: "1.6@sha256:f32c1e52fa132e9dc6973e9f8ed36a98c5c3e0bcd51c60f9a683e7e528dd2306"
|
registry: "artifacts.software-univention.de"
|
||||||
|
repository: "nubus/images/intercom-service"
|
||||||
|
tag: "0.8.0@sha256:2e5e303c947aca687530244af5856cc4ba2b7cd880ff8348e922ac36c5f11167"
|
||||||
jibri:
|
jibri:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Nordeck"
|
# providerResponsible: "Nordeck"
|
||||||
@@ -229,7 +239,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-apache2"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-apache2"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-apache2"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-apache2"
|
||||||
tag: "1.1.24@sha256:c9222da8be7af12c9076b41d1a14e019725afc075e1aaa2b727be21c1bf45f10"
|
tag: "1.2.0@sha256:f1c64bc7b9d1993a7c79ca73c1594fdea49ef4adf4ebe4286e01ccc1ad9290c7"
|
||||||
nextcloudExporter:
|
nextcloudExporter:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -245,7 +255,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-management"
|
||||||
tag: "1.4.4@sha256:b70c159d6a1827748ca1f8fe0b9fd5b011eaed8719172105e1e9c8b8d776cf97"
|
tag: "1.5.3@sha256:19f5354a951b043327906d8670c0466e2a00317ad0dd4b99d0edf882e213d22f"
|
||||||
nextcloudPHP:
|
nextcloudPHP:
|
||||||
# providerCategory: "Platform"
|
# providerCategory: "Platform"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
@@ -253,7 +263,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
repository: "bmi/opendesk/components/platform-development/images/opendesk-nextcloud-php"
|
||||||
tag: "1.10.3@sha256:e659ab95d0d3a33d4937354449c12fa46fe2669a866bbf432a9d729bed6d54f7"
|
tag: "1.11.3@sha256:c88af69971e2b2b1ead90db69d6af3355be5309d6c91b2b6a18fac2c6781b760"
|
||||||
nubusDataLoader:
|
nubusDataLoader:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -263,7 +273,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "41", "5"]
|
# upstreamMirrorStartFrom: ["0", "41", "5"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/data-loader"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/data-loader"
|
||||||
tag: "0.60.0@sha256:9b43a66c32f4f66143db00b71cc62966df6ed809ec023a0d573a015f5d15305a"
|
tag: "0.61.0@sha256:598e9fa176c71a6da90ab200ca52abd88176c8cb22a1bf56fec9cd0daf58f58f"
|
||||||
nubusGuardianAuthorizationApi:
|
nubusGuardianAuthorizationApi:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -303,7 +313,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "3", "0"]
|
# upstreamMirrorStartFrom: ["0", "3", "0"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/guardian-init"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/guardian-init"
|
||||||
tag: "0.9.1@sha256:6006fb1c2779b906e7725df524f2587b2a610cc442793bf8f16b2b4b8c0494fb"
|
tag: "0.10.0@sha256:480943182f20b04b3d37b340e701545e002710c6668925de3758587174c5ee56"
|
||||||
nubusKeycloak:
|
nubusKeycloak:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -323,7 +333,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "1", "0"]
|
# upstreamMirrorStartFrom: ["0", "1", "0"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/keycloak-bootstrap"
|
||||||
tag: "0.1.0@sha256:351097e9e7b469f2fc149fe612ec6ad515d5e6b081d7e2785bd926a1d77209d2"
|
tag: "0.1.2@sha256:ea462e3e40843215814bddae0668dc56102864d99127ad3c8d9816d741886ac0"
|
||||||
nubusKeycloakExtensionHandler:
|
nubusKeycloakExtensionHandler:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -425,7 +435,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "10", "0"]
|
# upstreamMirrorStartFrom: ["0", "10", "0"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ox-extension"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/ox-extension"
|
||||||
tag: "0.10.0@sha256:f6f32ce0486594eca9c8682b10f60e9d174a526d5acd2ba4d0abcb8f522539b9"
|
tag: "0.11.0@sha256:2cb5a9683b6ff81b995a5c71da52c2ff8177b662bb0be8f11e9cd0c6b48d8a11"
|
||||||
nubusPortalConsumer:
|
nubusPortalConsumer:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -573,7 +583,7 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-gateway"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-gateway"
|
||||||
tag: "0.22.2@sha256:fe4d2c148946da6f5e92201f398ebd0d5a72795c50648993bd220ea1e228658d"
|
tag: "0.26.0@sha256:c8d025851ca45c50f61fa1da97681a583e07ab57945a0b9fecb56cefc1e11331"
|
||||||
nubusUmcServer:
|
nubusUmcServer:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -583,7 +593,17 @@ images:
|
|||||||
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
# upstreamMirrorStartFrom: ["0", "7", "3"]
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-server"
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/umc-server"
|
||||||
tag: "0.22.2@sha256:474497f561c3532b37b7d5e77ec36bd1fefc4fbeaab9747b481533b0da086586"
|
tag: "0.26.0@sha256:75d5527eb352307967e051bcb394217eab5ce1d0e95d213140169a376e4d8a79"
|
||||||
|
nubusUmcServerProxy:
|
||||||
|
# providerCategory: "Supplier"
|
||||||
|
# providerResponsible: "Univention"
|
||||||
|
# upstreamRegistry: "https://artifacts.software-univention.de"
|
||||||
|
# upstreamRepository: "library/traefik"
|
||||||
|
# upstreamMirrorTagFilterRegEx: '^(\d+)\.(\d+)$'
|
||||||
|
# upstreamMirrorStartFrom: ["3", "0"]
|
||||||
|
registry: "registry.opencode.de"
|
||||||
|
repository: "bmi/opendesk/components/supplier/univention/images-mirror/traefik"
|
||||||
|
tag: "3.0@sha256:9214fcecc5833b4df2bfe6bf92714f35220d79a4c5c626931701dbbdb555f86b"
|
||||||
nubusWaitForDependency:
|
nubusWaitForDependency:
|
||||||
# providerCategory: "Supplier"
|
# providerCategory: "Supplier"
|
||||||
# providerResponsible: "Univention"
|
# providerResponsible: "Univention"
|
||||||
@@ -763,7 +783,7 @@ images:
|
|||||||
# upstreamRepository: "bmi/opendesk/components/platform-development/images/postfix"
|
# upstreamRepository: "bmi/opendesk/components/platform-development/images/postfix"
|
||||||
registry: "registry.opencode.de"
|
registry: "registry.opencode.de"
|
||||||
repository: "bmi/opendesk/components/platform-development/images/postfix"
|
repository: "bmi/opendesk/components/platform-development/images/postfix"
|
||||||
tag: "1.0.0@sha256:61e4661a7323101dfb51c85c5a48c345c75436f3f533176f049d2660d711a8a5"
|
tag: "2.0.0@sha256:5b2432dc09318db172a593bca860887ee9d713b9987db64f8b265f3e08a1d374"
|
||||||
postgresql:
|
postgresql:
|
||||||
# providerCategory: "Community"
|
# providerCategory: "Community"
|
||||||
# providerResponsible: "openDesk"
|
# providerResponsible: "openDesk"
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ collabora:
|
|||||||
cryptpad:
|
cryptpad:
|
||||||
enabled: true
|
enabled: true
|
||||||
namespace: ~
|
namespace: ~
|
||||||
|
dkimpy:
|
||||||
|
enabled: false
|
||||||
|
namespace: ~
|
||||||
dovecot:
|
dovecot:
|
||||||
enabled: true
|
enabled: true
|
||||||
namespace: ~
|
namespace: ~
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ replicas:
|
|||||||
dovecot: 1
|
dovecot: 1
|
||||||
# -- scalable: false
|
# -- scalable: false
|
||||||
postfix: 1
|
postfix: 1
|
||||||
|
# -- scalable: true
|
||||||
|
dkimpy: 1
|
||||||
|
|
||||||
# -- component: Chat (Element, Synapse)
|
# -- component: Chat (Element, Synapse)
|
||||||
# -- scalable: true
|
# -- scalable: true
|
||||||
@@ -128,8 +130,8 @@ replicas:
|
|||||||
# -- component: Project management (OpenProject)
|
# -- component: Project management (OpenProject)
|
||||||
# -- scalable: true
|
# -- scalable: true
|
||||||
openprojectWeb: 1
|
openprojectWeb: 1
|
||||||
# -- scalable: tdb
|
# -- scalable: true
|
||||||
# -- comment: Async process that usually has no need for scaling
|
# -- comment: Async service working on processing queue content. Can work on queues in parallel (when needed). See [upstream Helm chart documentation](https://www.openproject.org/docs/installation-and-operations/installation/helm-chart/) for details, as e.g. dedicated workers to specific queues are in general possible with OpenProject as well.Share
|
||||||
openprojectWorker: 1
|
openprojectWorker: 1
|
||||||
|
|
||||||
# -- component: Knowledge management (XWiki)
|
# -- component: Knowledge management (XWiki)
|
||||||
|
|||||||
@@ -25,6 +25,13 @@ resources:
|
|||||||
requests:
|
requests:
|
||||||
cpu: 0.1
|
cpu: 0.1
|
||||||
memory: "512Mi"
|
memory: "512Mi"
|
||||||
|
dkimpy:
|
||||||
|
limits:
|
||||||
|
cpu: 99
|
||||||
|
memory: "256Mi"
|
||||||
|
requests:
|
||||||
|
cpu: 0.1
|
||||||
|
memory: "128Mi"
|
||||||
dovecot:
|
dovecot:
|
||||||
limits:
|
limits:
|
||||||
cpu: 99
|
cpu: 99
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ seLinuxOptions:
|
|||||||
clamd: ~
|
clamd: ~
|
||||||
collabora: ~
|
collabora: ~
|
||||||
cryptpad: ~
|
cryptpad: ~
|
||||||
|
dkimpy: ~
|
||||||
dovecot: ~
|
dovecot: ~
|
||||||
element: ~
|
element: ~
|
||||||
freshclam: ~
|
freshclam: ~
|
||||||
|
|||||||
@@ -9,4 +9,17 @@ smtp:
|
|||||||
username: ""
|
username: ""
|
||||||
password: {{ env "SMTP_PASSWORD" | quote }}
|
password: {{ env "SMTP_PASSWORD" | quote }}
|
||||||
localpartNoReply: "no-reply"
|
localpartNoReply: "no-reply"
|
||||||
|
|
||||||
|
# For the following settings to have effect `dkimpy.enabled` must be `true`.
|
||||||
|
dkim:
|
||||||
|
key:
|
||||||
|
# DKIM private key as plaintext value.
|
||||||
|
value: ""
|
||||||
|
|
||||||
|
# DKIM private key from existing secret. As a higher precedence than the plain `value`.
|
||||||
|
secret:
|
||||||
|
name: ""
|
||||||
|
key: ""
|
||||||
|
selector: "rsa"
|
||||||
|
useED25519: false
|
||||||
...
|
...
|
||||||
|
|||||||
Reference in New Issue
Block a user