Compare commits

..

7 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
27 changed files with 389 additions and 133 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"
@@ -358,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:
@@ -444,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,23 @@
## [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)

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

@@ -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

@@ -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

@@ -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"
@@ -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@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: