Compare commits

..

11 Commits

Author SHA1 Message Date
Thomas Kaltenbrunner
dcbb9981f5 chore(release): 0.1.1 [skip ci]
## [0.1.1](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.1.0...v0.1.1) (2023-08-14)

### Bug Fixes

* **open-xchange:** Bump dovecot and sovereign-workplace-open-xchange-bootstrap to 1.3.0 with image digest support ([53796da](53796dae66))
* **open-xchange:** Bump sovereign-workplace-open-xchange-bootstrap to 1.3.1 ([390f2de](390f2dee52))
2023-08-14 10:32:36 +00:00
Thomas Kaltenbrunner
390f2dee52 fix(open-xchange): Bump sovereign-workplace-open-xchange-bootstrap to 1.3.1 2023-08-14 11:18:35 +02:00
Thomas Kaltenbrunner
53796dae66 fix(open-xchange): Bump dovecot and sovereign-workplace-open-xchange-bootstrap to 1.3.0 with image digest support 2023-08-14 11:18:33 +02:00
Thomas Kaltenbrunner
2d376b35ed chore(xwiki): Remove xwiki init 2023-08-14 11:17:29 +02:00
Dominik Kaminski
bcee05d537 chore(release): 0.1.0 [skip ci]
# [0.1.0](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.6...v0.1.0) (2023-08-14)

### Bug Fixes

* **docs:** Typo ([ee684a7](ee684a7891))

### Features

* **element:** Add element component ([5f0ca92](5f0ca92a05))
2023-08-14 08:36:35 +00:00
Thorsten Rossner
ee684a7891 fix(docs): Typo 2023-08-14 08:34:08 +00:00
Dominik Kaminski
5f0ca92a05 feat(element): Add element component 2023-08-14 08:48:42 +02:00
Thorsten Rossner
152b4fb7b5 chore(release): 0.0.6 [skip ci]
## [0.0.6](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.5...v0.0.6) (2023-08-14)

### Bug Fixes

* **open-xchange:** Functional mailboxes auth settings update in AppSuite and Dovecot ([53948ea](53948eae76))
2023-08-14 06:44:08 +00:00
Thorsten Rossner
53948eae76 fix(open-xchange): Functional mailboxes auth settings update in AppSuite and Dovecot 2023-08-14 06:42:59 +00:00
Thorsten Rossner
48a87fb839 chore(release): 0.0.5 [skip ci]
## [0.0.5](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.4...v0.0.5) (2023-08-11)

### Bug Fixes

* **keycloak:** Improve digest image pinning ([b8a8932](b8a8932221))
2023-08-11 09:31:56 +00:00
Thorsten Rossner
b8a8932221 fix(keycloak): Improve digest image pinning 2023-08-11 09:30:37 +00:00
29 changed files with 421 additions and 143 deletions

View File

@@ -78,6 +78,12 @@ variables:
options:
- "yes"
- "no"
DEPLOY_ELEMENT:
description: "Enable Element deployment."
value: "no"
options:
- "yes"
- "no"
DEPLOY_KEYCLOAK:
description: "Enable Keycloak deployment."
value: "no"
@@ -127,8 +133,7 @@ variables:
- "yes"
- "no"
TESTS_PROJECT_URL:
description: "URL of the E2E-test gitlab project API with project ID."
value: "gitlab.souvap-univention.de/api/v4/projects/6"
description: "URL of the E2E-test Gitlab project API with project ID."
# please use the following set of variables with normalized names:
DOMAIN: "${NAMESPACE}.${CLUSTER}.${BASE_DOMAIN}"
ISTIO_DOMAIN: "${NAMESPACE}.istio.${CLUSTER}.${BASE_DOMAIN}"
@@ -192,7 +197,7 @@ env-cleanup:
env-start:
environment:
name: "${NAMESPACE}"
url: "https://portal.${NAMESPACE}.${SWP_DOMAIN}"
url: "https://portal.${DOMAIN}"
on_stop: "env-stop"
extends: ".deploy-common"
image: "${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/alpine/k8s:1.25.6"
@@ -359,6 +364,18 @@ jitsi-deploy:
variables:
COMPONENT: "jitsi"
element-deploy:
stage: "component-deploy-stage-1"
extends: ".deploy-common"
rules:
- if: >
$CI_PIPELINE_SOURCE =~ "web|schedules|triggers" &&
$NAMESPACE =~ /.+/ &&
($DEPLOY_ALL_COMPONENTS != "no" || $DEPLOY_ELEMENT != "no")
when: "always"
variables:
COMPONENT: "element"
env-stop:
extends: ".deploy-common"
environment:
@@ -445,15 +462,18 @@ run-tests:
image: "registry.souvap-univention.de/souvap/tooling/images/semantic-release-patched:latest"
except:
- "tags"
- "triggers"
- "web"
common-yaml-linter:
except:
- "tags"
- "triggers"
- "web"
reuse-linter:
allow_failure: false
except:
- "tags"
- "triggers"
- "web"

View File

@@ -1,3 +1,37 @@
## [0.1.1](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.1.0...v0.1.1) (2023-08-14)
### Bug Fixes
* **open-xchange:** Bump dovecot and sovereign-workplace-open-xchange-bootstrap to 1.3.0 with image digest support ([53796da](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/commit/53796dae660463207a460b387b6f3dd23ce20cd0))
* **open-xchange:** Bump sovereign-workplace-open-xchange-bootstrap to 1.3.1 ([390f2de](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/commit/390f2dee5226b83855a6cca8bf1c0d0f5647ee34))
# [0.1.0](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.6...v0.1.0) (2023-08-14)
### Bug Fixes
* **docs:** Typo ([ee684a7](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/commit/ee684a78910ce721ea834e9ec2f4222ed37572c6))
### Features
* **element:** Add element component ([5f0ca92](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/commit/5f0ca92a058e51a27aa56e35ebcf2048bad88671))
## [0.0.6](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.5...v0.0.6) (2023-08-14)
### Bug Fixes
* **open-xchange:** Functional mailboxes auth settings update in AppSuite and Dovecot ([53948ea](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/commit/53948eae7648cc9785d2b8a813fc7e40b36aa3aa))
## [0.0.5](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.4...v0.0.5) (2023-08-11)
### Bug Fixes
* **keycloak:** Improve digest image pinning ([b8a8932](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/commit/b8a8932221ae4d6632c7d1f4a85f46fea01a92e7))
## [0.0.4](https://gitlab.souvap-univention.de/souvap/devops/sovereign-workplace/compare/v0.0.3...v0.0.4) (2023-08-11)

View File

@@ -8,10 +8,7 @@ SPDX-License-Identifier: Apache-2.0
# Disclaimer August 2023
The current state of the Sovereign Workplace misses the component
_Element Starter Edition_ because it is not generally available yet.
Also does the Sovereign Workplace contain components that are going to be
The current state of the Sovereign Workplace contains components that are going to be
replaced. Like for example the UCS dev container monolith will be substituted by
multiple Univention Management Stack containers.
@@ -183,26 +180,27 @@ for development and evaluation purposes only - they need to be replaced in
production deployments. These components are grouped together in the
subdirectory `/helmfile/apps/services`.
| Component | Name | Default | Description | Type |
|-----------------------------|-------------------------------------|---------|------------------------------|------------|
| Certificates | `certificates.enabled` | `true` | TLS certificates | Eval |
| ClamAV (Distributed) | `clamavDistributed.enabled` | `false` | Antivirus engine | Eval |
| ClamAV (Simple) | `clamavSimple.enabled` | `true` | Antivirus engine | Eval |
| Collabora | `collabora.enabled` | `true` | Weboffice | Functional |
| Dovecot | `dovecot.enabled` | `true` | Mail backend | Functional |
| Intercom Service | `intercom.enabled` | `true` | Cross service data exchange | Functional |
| Jitsi | `jitsi.enabled` | `true` | Videoconferencing | Functional |
| Keycloak | `keycloak.enabled` | `true` | Identity Provider | Functional |
| MariaDB | `mariadb.enabled` | `true` | Database | Eval |
| Nextcloud | `nextcloud.enabled` | `true` | File share | Functional |
| OpenProject | `openproject.enabled` | `true` | Project management | Functional |
| OX Appsuite | `oxAppsuite.enabled` | `true` | Groupware | Functional |
| Provisioning | `oxConnector.enabled` | `true` | Backend provisioning | Functional |
| Postfix | `postfix.enabled` | `true` | MTA | Eval |
| PostgreSQL | `postgresql.enabled` | `true` | Database | Eval |
| Redis | `redis.enabled` | `true` | Cache Database | Eval |
| Univention Corporate Server | `univentionCorporateServer.enabled` | `true` | Identity Management & Portal | Functional |
| XWiki | `xwiki.enabled` | `true` | Knowledgebase | Functional |
| Component | Name | Default | Description | Type |
|-----------------------------|-------------------------------------|---------|--------------------------------|------------|
| Certificates | `certificates.enabled` | `true` | TLS certificates | Eval |
| ClamAV (Distributed) | `clamavDistributed.enabled` | `false` | Antivirus engine | Eval |
| ClamAV (Simple) | `clamavSimple.enabled` | `true` | Antivirus engine | Eval |
| Collabora | `collabora.enabled` | `true` | Weboffice | Functional |
| Dovecot | `dovecot.enabled` | `true` | Mail backend | Functional |
| Element | `element.enabled` | `true` | Secure communications platform | Functional |
| Intercom Service | `intercom.enabled` | `true` | Cross service data exchange | Functional |
| Jitsi | `jitsi.enabled` | `true` | Videoconferencing | Functional |
| Keycloak | `keycloak.enabled` | `true` | Identity Provider | Functional |
| MariaDB | `mariadb.enabled` | `true` | Database | Eval |
| Nextcloud | `nextcloud.enabled` | `true` | File share | Functional |
| OpenProject | `openproject.enabled` | `true` | Project management | Functional |
| OX Appsuite | `oxAppsuite.enabled` | `true` | Groupware | Functional |
| Provisioning | `oxConnector.enabled` | `true` | Backend provisioning | Functional |
| Postfix | `postfix.enabled` | `true` | MTA | Eval |
| PostgreSQL | `postgresql.enabled` | `true` | Database | Eval |
| Redis | `redis.enabled` | `true` | Cache Database | Eval |
| Univention Corporate Server | `univentionCorporateServer.enabled` | `true` | Identity Management & Portal | Functional |
| XWiki | `xwiki.enabled` | `true` | Knowledgebase | Functional |
#### Cluster capabilities
@@ -221,6 +219,12 @@ the application to your own database instances.
| Component | Name | Type | Parameter | Key | Default |
|-------------|--------------------|------------|-----------|----------------------------------------|----------------------------|
| Element | Synapse | PostgreSQL | | | |
| | | | Name | `databases.synapse.name` | `matrix` |
| | | | Host | `databases.synapse.host` | `postgresql` |
| | | | Port | `databases.synapse.port` | `5432` |
| | | | Username | `databases.synapse.username` | `matrix_user` |
| | | | Password | `databases.synapse.password` | |
| Keycloak | Keycloak | PostgreSQL | | | |
| | | | Name | `databases.keycloak.name` | `keycloak` |
| | | | Host | `databases.keycloak.host` | `postgresql` |
@@ -269,10 +273,14 @@ actual scalability of the components (see column `Scales at least to 2`).
| | `replicas.milter` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| Collabora | `replicas.collabora` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| Dovecot | `replicas.dovecot` | `1` | :white_check_mark: | :x: | not tested |
| Element | `replicas.element` | `2` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| | `replicas.synapse` | `1` | :white_check_mark: | :x: | not tested |
| | `replicas.synapseWeb` | `2` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| | `replicas.wellKnown` | `2` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
| Jitsi | `replicas.jibri` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| | `replicas.jicofo` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| | `replicas.jitsi ` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| | `replicas.jvb ` | `1` | :white_check_mark: | :x: | tested |
| | `replicas.jvb ` | `1` | :white_check_mark: | :x: | :x: |
| Keycloak | `replicas.keycloak` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| Nextcloud | `replicas.nextcloud` | `1` | :white_check_mark: | :white_check_mark: | not tested |
| OpenProject | `replicas.openproject` | `1` | :white_check_mark: | :white_check_mark: | not tested |

View File

@@ -15,6 +15,7 @@ helmfiles:
- path: "helmfile/apps/nextcloud/helmfile.yaml"
- path: "helmfile/apps/collabora/helmfile.yaml"
- path: "helmfile/apps/jitsi/helmfile.yaml"
- path: "helmfile/apps/element/helmfile.yaml"
- path: "helmfile/apps/openproject/helmfile.yaml"
- path: "helmfile/apps/xwiki/helmfile.yaml"
- path: "helmfile/apps/provisioning/helmfile.yaml"

View File

@@ -0,0 +1,43 @@
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
repositories:
- name: "sovereign-workplace-element"
url: "https://gitlab.souvap-univention.de/api/v4/projects/148/packages/helm/stable"
releases:
- name: "sovereign-workplace-element"
chart: "sovereign-workplace-element/sovereign-workplace-element"
version: "1.1.2"
values:
- "values-element.gotmpl"
condition: "element.enabled"
- name: "sovereign-workplace-well-known"
chart: "sovereign-workplace-element/sovereign-workplace-well-known"
version: "1.1.2"
values:
- "values-well-known.gotmpl"
condition: "element.enabled"
- name: "sovereign-workplace-synapse-web"
chart: "sovereign-workplace-element/sovereign-workplace-synapse-web"
version: "1.1.2"
values:
- "values-synapse-web.gotmpl"
condition: "element.enabled"
- name: "sovereign-workplace-synapse"
chart: "sovereign-workplace-element/sovereign-workplace-synapse"
version: "1.1.2"
values:
- "values-synapse.gotmpl"
condition: "element.enabled"
commonLabels:
deploy-stage: "component-1"
component: "element"
bases:
- "../../bases/environments.yaml"
...

View File

@@ -0,0 +1,31 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
global:
domain: "{{ .Values.global.domain }}"
registry: "{{ .Values.global.imageRegistry }}"
hosts:
{{ .Values.global.hosts | toYaml | nindent 4 }}
imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
image:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.element.repository }}"
tag: "{{ .Values.images.element.tag }}"
ingress:
host: "{{ .Values.global.hosts.element }}.{{ .Values.global.domain }}"
enabled: "{{ .Values.ingress.enabled }}"
ingressClassName: "{{ .Values.ingress.ingressClassName }}"
tls:
enabled: "{{ .Values.ingress.tls.enabled }}"
secretName: "{{ .Values.ingress.tls.secretName }}"
replicaCount: {{ .Values.replicas.element }}
resources:
{{ .Values.resources.element | toYaml | nindent 2 }}
...

View File

@@ -0,0 +1,31 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
global:
domain: "{{ .Values.global.domain }}"
registry: "{{ .Values.global.imageRegistry }}"
hosts:
{{ .Values.global.hosts | toYaml | nindent 4 }}
imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
image:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.synapseWeb.repository }}"
tag: "{{ .Values.images.synapseWeb.tag }}"
ingress:
host: "{{ .Values.global.hosts.synapse }}.{{ .Values.global.domain }}"
enabled: "{{ .Values.ingress.enabled }}"
ingressClassName: "{{ .Values.ingress.ingressClassName }}"
tls:
enabled: "{{ .Values.ingress.tls.enabled }}"
secretName: "{{ .Values.ingress.tls.secretName }}"
replicaCount: {{ .Values.replicas.synapseWeb }}
resources:
{{ .Values.resources.synapseWeb | toYaml | nindent 2 }}
...

View File

@@ -0,0 +1,52 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
global:
domain: "{{ .Values.global.domain }}"
registry: "{{ .Values.global.imageRegistry }}"
hosts:
{{ .Values.global.hosts | toYaml | nindent 4 }}
imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
image:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.synapse.repository }}"
tag: "{{ .Values.images.synapse.tag }}"
configuration:
database:
host: "{{ .Values.databases.synapse.host }}"
name: "{{ .Values.databases.synapse.name }}"
user: "{{ .Values.databases.synapse.username }}"
password: "{{ .Values.databases.synapse.password | default .Values.secrets.postgresql.matrixUser }}"
homeserver:
oidc:
clientSecret: {{ .Values.secrets.keycloak.clientSecret.matrix }}
issuer: "https://{{ .Values.global.hosts.keycloak }}.{{ .Values.global.domain }}/realms/souvap"
turn:
sharedSecret: {{ .Values.turn.credentials }}
servers:
{{- if .Values.turn.tls.host }}
- server: {{ .Values.turn.tls.host }}
port: {{ .Values.turn.tls.port }}
transport: {{ .Values.turn.transport }}
{{- else if .Values.turn.server.host }}
- server: {{ .Values.turn.server.host }}
port: {{ .Values.turn.server.port }}
transport: {{ .Values.turn.transport }}
{{- end }}
persistence:
size: "{{ .Values.persistence.size.synapse }}"
storageClass: "{{ .Values.persistence.storageClassNames.RWO }}"
replicaCount: {{ .Values.replicas.synapse }}
resources:
{{ .Values.resources.synapse | toYaml | nindent 2 }}
...

View File

@@ -0,0 +1,31 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
global:
domain: "{{ .Values.global.domain }}"
registry: "{{ .Values.global.imageRegistry }}"
hosts:
{{ .Values.global.hosts | toYaml | nindent 4 }}
imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
image:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.wellKnown.repository }}"
tag: "{{ .Values.images.wellKnown.tag }}"
ingress:
host: "{{ .Values.global.domain }}"
enabled: "{{ .Values.ingress.enabled }}"
ingressClassName: "{{ .Values.ingress.ingressClassName }}"
tls:
enabled: "{{ .Values.ingress.tls.enabled }}"
secretName: "{{ .Values.ingress.tls.secretName }}"
replicaCount: {{ .Values.replicas.wellKnown }}
resources:
{{ .Values.resources.wellKnown | toYaml | nindent 2 }}
...

View File

@@ -8,7 +8,7 @@ repositories:
releases:
- name: "jitsi"
chart: "jitsi/sovereign-workplace-jitsi"
version: "1.1.0"
version: "1.1.3"
values:
- "values-jitsi.gotmpl"
condition: "jitsi.enabled"

View File

@@ -17,10 +17,10 @@ image:
tag: "{{ .Values.images.jitsiKeycloakAdapter.tag }}"
settings:
jwtAppSecret: "{{ .Values.secrets.jitsiPlain.jwtAppSecret }}"
jwtAppSecret: "{{ .Values.secrets.jitsi.jwtAppSecret }}"
jitsi:
publicURL: "https://{{ .Values.global.hosts.jitsiPlain }}.{{ .Values.global.domain }}"
publicURL: "https://{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
web:
replicaCount: {{ .Values.replicas.jitsi }}
image:
@@ -30,13 +30,13 @@ jitsi:
enabled: "{{ .Values.ingress.enabled }}"
ingressClassName: "{{ .Values.ingress.ingressClassName }}"
hosts:
- host: "{{ .Values.global.hosts.jitsiPlain }}.{{ .Values.global.domain }}"
- host: "{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
paths:
- "/"
tls:
- secretName: "{{ .Values.ingress.tls.secretName }}"
hosts:
- "{{ .Values.global.hosts.jitsiPlain }}.{{ .Values.global.domain }}"
- "{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
extraEnvs:
TURN_ENABLE: "1"
resources:
@@ -55,7 +55,7 @@ jitsi:
- name: "JWT_APP_ID"
value: "myappid"
- name: "JWT_APP_SECRET"
value: "{{ .Values.secrets.jitsiPlain.jwtAppSecret }}"
value: "{{ .Values.secrets.jitsi.jwtAppSecret }}"
- name: TURNS_HOST
value: "{{ .Values.turn.tls.host }}"
- name: TURNS_PORT
@@ -79,8 +79,8 @@ jitsi:
repository: "{{ .Values.global.imageRegistry }}/{{ .Values.images.jicofo.repository }}"
tag: "{{ .Values.images.jicofo.tag }}"
xmpp:
password: "{{ .Values.secrets.jitsiPlain.jicofoAuthPassword }}"
componentSecret: "{{ .Values.secrets.jitsiPlain.jicofoComponentPassword }}"
password: "{{ .Values.secrets.jitsi.jicofoAuthPassword }}"
componentSecret: "{{ .Values.secrets.jitsi.jicofoComponentPassword }}"
resources:
{{ .Values.resources.jicofo | toYaml | nindent 6 }}
jvb:
@@ -89,7 +89,7 @@ jitsi:
repository: "{{ .Values.global.imageRegistry }}/{{ .Values.images.jvb.repository }}"
tag: "{{ .Values.images.jvb.tag }}"
xmpp:
password: "{{ .Values.secrets.jitsiPlain.jvbAuthPassword }}"
password: "{{ .Values.secrets.jitsi.jvbAuthPassword }}"
resources:
{{ .Values.resources.jvb | toYaml | nindent 6 }}
service:
@@ -100,9 +100,9 @@ jitsi:
repository: "{{ .Values.global.imageRegistry }}/{{ .Values.images.jibri.repository }}"
tag: "{{ .Values.images.jibri.tag }}"
recorder:
password: "{{ .Values.secrets.jitsiPlain.jibriRecorderPassword }}"
password: "{{ .Values.secrets.jitsi.jibriRecorderPassword }}"
xmpp:
password: "{{ .Values.secrets.jitsiPlain.jibriXmppPassword }}"
password: "{{ .Values.secrets.jitsi.jibriXmppPassword }}"
resources:
{{ .Values.resources.jibri | toYaml | nindent 6 }}
imagePullSecrets:

View File

@@ -18,7 +18,11 @@ handler:
image:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.keycloakExtensionHandler.repository }}"
{{- if .Values.images.keycloakExtensionHandler.digest }}
sha256: "{{ .Values.images.keycloakExtensionHandler.digest}}"
{{- else if .Values.images.keycloakExtensionHandler.tag }}
tag: "{{ .Values.images.keycloakExtensionHandler.tag }}"
{{- end }}
imagePullPolicy: "Always"
appConfig:
smtpPassword: "{{ .Values.smtp.password }}"
@@ -31,7 +35,11 @@ proxy:
image:
registry: "{{ .Values.global.imageRegistry }}"
repository: "{{ .Values.images.keycloakExtensionProxy.repository }}"
{{- if .Values.images.keycloakExtensionProxy.digest }}
sha256: "{{ .Values.images.keycloakExtensionProxy.digest}}"
{{- else if .Values.images.keycloakExtensionProxy.tag }}
tag: "{{ .Values.images.keycloakExtensionProxy.tag }}"
{{- end }}
imagePullPolicy: "Always"
ingress:
enabled: "{{ .Values.ingress.enabled }}"

View File

@@ -116,9 +116,9 @@ keycloakConfigCli:
"enabled": true,
"alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret",
"secret": "$(CLIENT_SECRET_JITSI_PLAIN_PASSWORD)",
"secret": "$(CLIENT_SECRET_JITSI_PASSWORD)",
"redirectUris": [
"https://$(JITSI_PLAIN_DOMAIN)/*"
"https://$(JITSI_DOMAIN)/*"
],
"webOrigins": [
"*"
@@ -135,7 +135,7 @@ keycloakConfigCli:
"frontchannelLogout": true,
"protocol": "openid-connect",
"attributes": {
"post.logout.redirect.uris": "https://$(JITSI_PLAIN_DOMAIN)/*##https://$(UNIVENTION_CORPORATE_SERVER_DOMAIN)/*"
"post.logout.redirect.uris": "https://$(JITSI_DOMAIN)/*##https://$(UNIVENTION_CORPORATE_SERVER_DOMAIN)/*"
},
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": true,

View File

@@ -55,8 +55,8 @@ keycloakConfigCli:
value: "{{ .Values.global.hosts.nextcloud }}.{{ .Values.global.domain }}"
- name: "MATRIX_DOMAIN"
value: "{{ .Values.global.hosts.synapse }}.{{ .Values.global.domain }}"
- name: "JITSI_PLAIN_DOMAIN"
value: "{{ .Values.global.hosts.jitsiPlain }}.{{ .Values.global.domain }}"
- name: "JITSI_DOMAIN"
value: "{{ .Values.global.hosts.jitsi }}.{{ .Values.global.domain }}"
- name: "ELEMENT_DOMAIN"
value: "{{ .Values.global.hosts.element }}.{{ .Values.global.domain }}"
- name: "INTERCOM_SERVICE_DOMAIN"
@@ -65,8 +65,8 @@ keycloakConfigCli:
value: {{ .Values.secrets.keycloak.clientSecret.intercom }}
- name: "CLIENT_SECRET_MATRIX_PASSWORD"
value: {{ .Values.secrets.keycloak.clientSecret.matrix }}
- name: "CLIENT_SECRET_JITSI_PLAIN_PASSWORD"
value: {{ .Values.secrets.keycloak.clientSecret.jitsiPlain }}
- name: "CLIENT_SECRET_JITSI_PASSWORD"
value: {{ .Values.secrets.keycloak.clientSecret.jitsi }}
- name: "CLIENT_SECRET_NCOIDC_PASSWORD"
value: {{ .Values.secrets.keycloak.clientSecret.ncoidc }}
- name: "CLIENT_SECRET_OPENPROJECT_PASSWORD"

View File

@@ -13,7 +13,7 @@ repositories:
releases:
- name: "dovecot"
chart: "dovecot/dovecot"
version: "1.2.0"
version: "1.3.1"
values:
- "values-dovecot.yaml"
- "values-dovecot.gotmpl"
@@ -27,7 +27,7 @@ releases:
condition: "oxAppsuite.enabled"
- name: "sovereign-workplace-open-xchange-bootstrap"
chart: "sovereign-workplace-open-xchange-bootstrap/sovereign-workplace-open-xchange-bootstrap"
version: "1.2.2"
version: "1.3.1"
values:
- "values-openxchange-bootstrap.yaml"
condition: "oxAppsuite.enabled"

View File

@@ -6,7 +6,7 @@ SPDX-License-Identifier: Apache-2.0
image:
registry: "{{ .Values.global.imageRegistry }}"
url: "{{ .Values.images.dovecot.repository }}"
tag: "{{ .Values.images.dovecot.tag }}"
digest: "{{ .Values.images.dovecot.digest }}"
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}

View File

@@ -0,0 +1,15 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
image:
registry: "{{ .Values.global.imageRegistry }}"
url: "{{ .Values.images.openxchangeBootstrap.repository }}"
digest: "{{ .Values.images.openxchangeBootstrap.digest }}"
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
...

View File

@@ -2,22 +2,5 @@
# SPDX-License-Identifier: Apache-2.0
---
cleanup:
deletePodsOnSuccess: false
# resources:
# limits:
# # The max amount of CPUs to consume.
# cpu: 1
# # The max amount of RAM to consume.
# memory: "1Gi"
# requests:
# # The amount of CPUs which has to be available on the scheduled node.
# cpu: 1
# # The amount of RAM which has to be available on the scheduled node.
# memory: "256Mi"
# Keep default values:
# coreMiddleware:
# statefulSet: "open-xchange-core-mw-default-0"
# pod: "open-xchange-core-mw-default-0"
deletePodsOnSuccess: true
...

View File

@@ -65,6 +65,7 @@ appsuite:
com.openexchange.capability.smime: "true"
# Secondary Accounts
com.openexchange.mail.secondary.authType: "XOAUTH2"
com.openexchange.mail.transport.secondary.authType: "xoauth2"
# Nextcloud integration
com.openexchange.file.storage.nextcloud.oauth.url: "http://nextcloud/"
com.openexchange.file.storage.nextcloud.oauth.webdav.username.strategy: "user"

View File

@@ -20,7 +20,7 @@ repositories:
releases:
- name: "sovereign-workplace-certificates"
chart: "sovereign-workplace-certificates/sovereign-workplace-certificates"
version: "1.2.1"
version: "1.2.2"
values:
- "values-certificates.gotmpl"
condition: "certificates.enabled"

View File

@@ -1,20 +0,0 @@
{{/*
SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
SPDX-License-Identifier: Apache-2.0
*/}}
---
global:
imageRegistry: "{{ .Values.global.imageRegistry }}"
imagePullSecrets:
{{ .Values.global.imagePullSecrets | toYaml | nindent 4 }}
xwiki:
url: "https://{{ .Values.global.hosts.xwiki }}.{{ .Values.global.domain }}/"
superadmin:
username: "superadmin"
password: {{ .Values.secrets.xwiki.superadminpassword | quote }}
image:
repository: "{{ .Values.images.xwikiInit.repository }}"
tag: "{{ .Values.images.xwikiInit.tag }}"
...

View File

@@ -32,6 +32,12 @@ databases:
name: "CONFIGDB"
username: "root"
password: ""
synapse:
host: "postgresql"
name: "matrix"
username: "matrix_user"
password: ""
port: 5432
xwiki:
name: "xwiki"
host: "mariadb"

View File

@@ -12,16 +12,14 @@ global:
hosts:
collabora: "collabora"
dimension: "integration"
element: "ucc"
element: "chat"
etherpad: "etherpad"
intercomService: "ics"
jitsi: "av"
jitsiPlain: "jitsi"
jitsi: "meet"
keycloak: "id"
meetingWidgetsBot: "meeting-widgets-bot"
meetingWidgets: "meeting-widgets"
newWorkBoardWidget: "whiteboard-widget"
moodle: "learn"
nextcloud: "fs"
openproject: "project"
openxchange: "webmail"

View File

@@ -12,7 +12,10 @@ images:
tag: "23.05.2.2.1"
dovecot:
repository: "dovecot/dovecot"
tag: "2.3.20"
digest: "sha256:96d414aa3f6978669b417f6468c16313a54ee6143a4846870e9f0eda280806e7"
element:
repository: "vectorim/element-web"
tag: "v1.11.35"
freshclam:
repository: "clamav/clamav"
tag: "1.1.0_base"
@@ -48,11 +51,11 @@ images:
repository: "souvap/tooling/images/ansible"
tag: "4.10.0"
keycloakExtensionHandler:
repository: "souvap/tooling/images/keycloak-extensions/keycloak-handler@sha256"
tag: "cdaaab8fb1b658ee2ca45557e76570153bb306c43061db5b5ee0f418c40e2200"
repository: "souvap/tooling/images/keycloak-extensions/keycloak-handler"
digest: "cdaaab8fb1b658ee2ca45557e76570153bb306c43061db5b5ee0f418c40e2200"
keycloakExtensionProxy:
repository: "souvap/tooling/images/keycloak-extensions/keycloak-proxy@sha256"
tag: "15ad665620368178d98721c0bd91744dd9c965c2e470abc3838e353fff530093"
repository: "souvap/tooling/images/keycloak-extensions/keycloak-proxy"
digest: "15ad665620368178d98721c0bd91744dd9c965c2e470abc3838e353fff530093"
mariadb:
repository: "mariadb"
tag: "10"
@@ -68,6 +71,9 @@ images:
openproject:
repository: "souvap/tooling/images/openproject/souvap"
tag: "dev"
openxchangeBootstrap:
repository: "alpine/k8s"
digest: "sha256:199a4457602b4e260d9781358cd2e342f63c177f4bcfa8053493be01e57beddf"
openxchangeCoreGuidedtours:
repository: "appsuite-public-sector/core-guidedtours"
tag: "8.5.0"
@@ -107,13 +113,19 @@ images:
redis:
repository: "bitnami/redis"
tag: "7.0.12-debian-11-r0"
synapse:
repository: "matrixdotorg/synapse"
tag: "v1.87.0"
synapseWeb:
repository: "library/haproxy"
tag: "2.4"
univentionCorporateServer:
repository: "souvap/tooling/images/univention-corporate-server-swp/ucs"
tag: "20230806T234258"
repository: "souvap/tooling/images/univention-corporate-server-swp/ucs@sha256"
tag: "286503f13726399284b49d4521f45fdbed81216875d78e76dcae20e0d8301f65"
wellKnown:
repository: "library/nginx"
tag: "1.23"
xwiki:
repository: "xwikisas/swp/xwiki"
tag: "0.8-mariadb-tomcat"
xwikiInit:
repository: "curlimages/curl"
tag: "8.1.2"
...

View File

@@ -19,6 +19,7 @@ persistence:
postgresql: "1Gi"
prosody: "1Gi"
redis: "1Gi"
synapse: "1Gi"
univentionCorporateServer: "1Gi"
xwiki: "1Gi"
...

View File

@@ -10,6 +10,7 @@ replicas:
clamd: 1
collabora: 1
dovecot: 1
element: 2
{{/* clamav-distributed */}}
freshclam: 1
{{/* clamav-distributed */}}
@@ -25,5 +26,8 @@ replicas:
nextcloud: 1
openproject: 1
postfix: 1
synapse: 1
synapseWeb: 2
wellKnown: 2
xwiki: 1
...

View File

@@ -14,17 +14,24 @@ resources:
dovecot:
limits:
cpu: 0.5
memory: "0.25Gi"
memory: "250Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
element:
limits:
cpu: 1
memory: "250Mi"
requests:
cpu: 0.1
memory: "50Mi"
freshclam:
limits:
cpu: 1
memory: "1Gi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
icap:
limits:
cpu: 2
@@ -35,24 +42,24 @@ resources:
jibri:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "125Mi"
jicofo:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
jitsi:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
jitsiKeycloakAdapter:
limits:
cpu: "100m"
@@ -63,45 +70,45 @@ resources:
jvb:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
keycloak:
limits:
cpu: 2
memory: "2Gi"
requests:
cpu: 0.1
memory: "0.75Gi"
memory: "750Mi"
keycloakExtension:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
keycloakBootstrap:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.25Gi"
memory: "250Mi"
keycloakProxy:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
mariadb:
limits:
cpu: 2
memory: "2Gi"
requests:
cpu: 0.1
memory: "0.5Gi"
memory: "500Mi"
milter:
limits:
cpu: 4
@@ -115,49 +122,63 @@ resources:
memory: "1Gi"
requests:
cpu: 0.1
memory: "0.5Gi"
memory: "500Mi"
openproject:
limits:
cpu: 2
memory: "1Gi"
requests:
cpu: 0.1
memory: "0.25Gi"
memory: "250Mi"
oxConnector:
limits:
cpu: 2
memory: "2Gi"
requests:
cpu: 0.1
memory: "0.25Gi"
memory: "250Mi"
postfix:
limits:
cpu: 0.5
memory: "0.25Gi"
memory: "250Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
postgresql:
limits:
cpu: 2
memory: "1Gi"
requests:
cpu: 0.1
memory: "0.25Gi"
memory: "250Mi"
prosody:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
redis:
limits:
cpu: 1
memory: "0.5Gi"
memory: "500Mi"
requests:
cpu: 0.1
memory: "0.1Gi"
memory: "100Mi"
synapse:
limits:
cpu: 4
memory: "4Gi"
requests:
cpu: 1
memory: "2Gi"
synapseWeb:
limits:
cpu: 1
memory: "250Mi"
requests:
cpu: 0.1
memory: "50Mi"
univentionCorporateServer:
limits:
cpu: 2
@@ -165,6 +186,13 @@ resources:
requests:
cpu: 0.5
memory: "1Gi"
wellKnown:
limits:
cpu: 1
memory: "250Mi"
requests:
cpu: 0.1
memory: "50Mi"
xwiki:
limits:
cpu: 2

View File

@@ -40,7 +40,7 @@ secrets:
clientSecret:
intercom: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "intercom_client_secret" | sha1sum) }}
matrix: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "matrix_client_secret" | sha1sum) }}
jitsiPlain: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "jitsi_plain_client_secret" | sha1sum) }}
jitsi: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "jitsi_plain_client_secret" | sha1sum) }}
ncoidc: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "ncoidc_client_secret" | sha1sum) }}
openproject: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "openproject_client_secret" | sha1sum) }}
xwiki: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "keycloak" "xwiki_client_secret" | sha1sum) }}
@@ -54,17 +54,6 @@ secrets:
adminPassword: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "collabora" "collabora_admin_user" | sha1sum) }}
jitsi:
synapseAsToken: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "as_token" | sha1sum) }}
synapseHsToken: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "hs_token" | sha1sum) }}
jicofoAuth: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "jicofo_auth" | sha1sum) }}
componentAuth: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "component_auth" | sha1sum) }}
jvbAuth: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "jvb_auth" | sha1sum) }}
jigasiAuth: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "jigasi_auth" | sha1sum) }}
jibriUserAuth: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "jibri_user_auth" | sha1sum) }}
jibriRecorderAuth: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "jibri_recorder_auth" | sha1sum) }}
rageshakeListingPass: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "rageshakeListingPass" | sha1sum) }}
conferencemapperSecret: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "conferencemapperSecret" | sha1sum) }}
jitsiFeedbackBackend: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jitsi" "jitsiFeedbackBackend" | sha1sum) }}
jitsiPlain:
jwtAppSecret: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jistiStandalone" "jwtAppSecret" | sha1sum) }}
jibriRecorderPassword: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jistiStandalone" "jibriRecorderPassword" | sha1sum) }}
jibriXmppPassword: {{ (derivePassword 1 "long" (env "MASTER_PASSWORD" | default "sovereign-workplace") "jistiStandalone" "jibriXmppPassword" | sha1sum) }}

View File

@@ -15,6 +15,8 @@ collabora:
enabled: true
dovecot:
enabled: true
element:
enabled: true
intercom:
enabled: true
jitsi: