fix(helmfile): Move Intercom-Service to Nubus component.

This commit is contained in:
Thorsten Roßner
2024-09-30 17:39:22 +02:00
parent 751f5783d0
commit ef1dad7433
15 changed files with 28 additions and 81 deletions

View File

@@ -121,12 +121,6 @@ variables:
options: options:
- "yes" - "yes"
- "no" - "no"
DEPLOY_ICS:
description: "Enable ICS deployment."
value: "no"
options:
- "yes"
- "no"
DEPLOY_XWIKI: DEPLOY_XWIKI:
description: "Enable XWiki deployment." description: "Enable XWiki deployment."
value: "no" value: "no"
@@ -318,18 +312,6 @@ ox-deploy:
variables: variables:
COMPONENT: "open-xchange" COMPONENT: "open-xchange"
ics-deploy:
stage: "component-deploy-stage-1"
extends: ".deploy-common"
rules:
- if: >
$CI_PIPELINE_SOURCE =~ "web|schedules|trigger|api" &&
$NAMESPACE =~ /.+/ &&
($DEPLOY_ALL_COMPONENTS != "no" || $DEPLOY_ICS != "no")
when: "on_success"
variables:
COMPONENT: "intercom-service"
xwiki-deploy: xwiki-deploy:
stage: "component-deploy-stage-1" stage: "component-deploy-stage-1"
extends: ".deploy-common" extends: ".deploy-common"

View File

@@ -14,7 +14,6 @@ lint-kyverno:
- "collabora" - "collabora"
- "cryptpad" - "cryptpad"
- "element" - "element"
- "intercom-service"
- "jitsi" - "jitsi"
- "nextcloud" - "nextcloud"
- "nubus" - "nubus"

View File

@@ -35,19 +35,18 @@ they need to be replaced in production deployments.
| CryptPad | Weboffice | Functional | | CryptPad | Weboffice | Functional |
| dkimpy-milter | DKIM milter for Postfix | Eval | | dkimpy-milter | DKIM milter for Postfix | Eval |
| Element | Secure communications platform | Functional | | Element | Secure communications platform | Functional |
| Intercom Service | Cross service data exchange | Functional |
| Jitsi | Videoconferencing | Functional | | Jitsi | Videoconferencing | Functional |
| MariaDB | Database | Eval | | MariaDB | Database | Eval |
| Memcached | Cache Database | Eval | | Memcached | Cache Database | Eval |
| MinIO | Object Storage | Eval | | MinIO | Object Storage | Eval |
| Nextcloud | File share | Functional | | Nextcloud | File share | Functional |
| Nubus (UMS) | Identity Management & Portal | Functional |
| OpenProject | Project management | Functional | | OpenProject | Project management | Functional |
| OX Appsuite | Groupware | Functional | | OX Appsuite | Groupware | Functional |
| OX Dovecot | Mail backend (IMAP) | Functional | | OX Dovecot | Mail backend (IMAP) | Functional |
| Postfix | MTA | Eval | | Postfix | MTA | Eval |
| PostgreSQL | Database | Eval | | PostgreSQL | Database | Eval |
| Redis | Cache Database | Eval | | Redis | Cache Database | Eval |
| Univention Management Stack | Identity Management & Portal | Functional |
| XWiki | Knowledge Management | Functional | | XWiki | Knowledge Management | Functional |
# Component integration # Component integration
@@ -74,9 +73,9 @@ Most details can be found in the upstream documentation that is linked in the re
## Intercom Service / Silent Login ## Intercom Service / Silent Login
The Intercom Service's role is to enable cross-application integration based on the user's browser interaction as handling The Intercom Service is deployed in context of Nubus/UMS. Its role is to enable cross-application integration
authentication when the frontend of an application has to call the API from another application is often a based on the user's browser interaction as handling authentication when the frontend of an application has to call
challenge. the API from another application is often a challenge.
To establish a session with the Intercom Service an application can use the silent login feature within an iframe. To establish a session with the Intercom Service an application can use the silent login feature within an iframe.

View File

@@ -109,7 +109,6 @@ All available apps and their default value can be found in `helmfile/environment
| CryptPad | `cryptpad.enabled` | `true` | Weboffice | | CryptPad | `cryptpad.enabled` | `true` | Weboffice |
| Dovecot | `dovecot.enabled` | `true` | Mail backend | | Dovecot | `dovecot.enabled` | `true` | Mail backend |
| Element | `element.enabled` | `true` | Secure communications platform | | Element | `element.enabled` | `true` | Secure communications platform |
| Intercom Service | `intercom.enabled` | `true` | Cross service data exchange |
| Jitsi | `jitsi.enabled` | `true` | Videoconferencing | | Jitsi | `jitsi.enabled` | `true` | Videoconferencing |
| MariaDB | `mariadb.enabled` | `true` | Database | | MariaDB | `mariadb.enabled` | `true` | Database |
| Memcached | `memcached.enabled` | `true` | Cache Database | | Memcached | `memcached.enabled` | `true` | Cache Database |

View File

@@ -158,7 +158,6 @@ This list gives you an overview of templated security settings and if they compl
| **element**/opendesk-synapse | :white_check_mark: | no | no | yes | yes | 10991 | 10991 | yes | yes | | **element**/opendesk-synapse | :white_check_mark: | no | no | yes | yes | 10991 | 10991 | yes | yes |
| **element**/opendesk-synapse-web | :white_check_mark: | no | no | yes | yes | 101 | 101 | yes | yes | | **element**/opendesk-synapse-web | :white_check_mark: | no | no | yes | yes | 101 | 101 | yes | yes |
| **element**/opendesk-well-known | :white_check_mark: | no | no | yes | yes | 101 | 101 | yes | yes | | **element**/opendesk-well-known | :white_check_mark: | no | no | yes | yes | 101 | 101 | yes | yes |
| **intercom-service**/intercom-service | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
| **jitsi**/jitsi | :white_check_mark: | no | no | yes | yes | 1993 | 1993 | yes | yes | | **jitsi**/jitsi | :white_check_mark: | no | no | yes | yes | 1993 | 1993 | yes | yes |
| **jitsi**/jitsi/jitsi/jibri | :x: | n/a | n/a | n/a | n/a | n/a | n/a | n/a | no ["SYS_ADMIN"] | | **jitsi**/jitsi/jitsi/jibri | :x: | n/a | n/a | n/a | n/a | n/a | n/a | n/a | no ["SYS_ADMIN"] |
| **jitsi**/jitsi/jitsi/jicofo | :x: | no | no | no | no | 0 | 0 | yes | no | | **jitsi**/jitsi/jitsi/jicofo | :x: | no | no | no | no | 0 | 0 | yes | no |
@@ -196,6 +195,7 @@ This list gives you an overview of templated security settings and if they compl
| **services**/postfix | :x: | yes | yes | no | no | 0 | 0 | yes | no | | **services**/postfix | :x: | yes | yes | no | no | 0 | 0 | yes | no |
| **services**/postgresql | :white_check_mark: | no | no | yes | yes | 1001 | 1001 | yes | yes | | **services**/postgresql | :white_check_mark: | no | no | yes | yes | 1001 | 1001 | yes | yes |
| **services**/redis/master | :white_check_mark: | no | no | yes | yes | 1001 | 1001 | yes | yes | | **services**/redis/master | :white_check_mark: | no | no | yes | yes | 1001 | 1001 | yes | yes |
| **univention-management-stack**/intercom-service | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
| **univention-management-stack**/opendesk-keycloak-bootstrap | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes | | **univention-management-stack**/opendesk-keycloak-bootstrap | :white_check_mark: | no | no | yes | yes | 1000 | 1000 | yes | yes |
| **univention-management-stack**/ums/keycloak | :x: | no | no | no | yes | 1000 | 1000 | yes | yes | | **univention-management-stack**/ums/keycloak | :x: | no | no | no | yes | 1000 | 1000 | yes | yes |
| **univention-management-stack**/ums/keycloak-bootstrap | :x: | no | no | no | yes | 1000 | 1000 | yes | yes | | **univention-management-stack**/ums/keycloak-bootstrap | :x: | no | no | no | yes | 1000 | 1000 | yes | yes |

View File

@@ -355,7 +355,7 @@ Commit messages must adhere to the [Conventional Commit standard](https://www.co
│ │ | │ │ |
│ │ └─> Issue reference (optional) │ │ └─> Issue reference (optional)
│ │ │ │
│ └─> Commit Scope: helmfile, docs, collabora, intercom-service, ... │ └─> Commit Scope: helmfile, docs, collabora, nextcloud, open-xhcange etc.
└─> Commit Type: chore, ci, docs, feat, fix └─> Commit Type: chore, ci, docs, feat, fix
``` ```

View File

@@ -1,27 +0,0 @@
# SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
# SPDX-License-Identifier: Apache-2.0
---
repositories:
# Intercom Service
# Source: https://gitlab.souvap-univention.de/souvap/tooling/charts/intercom-service
- name: "intercom-service-repo"
keyring: "../../files/gpg-pubkeys/univention-de.gpg"
verify: {{ .Values.charts.intercomService.verify }}
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
oci: true
url: "{{ .Values.global.helmRegistry | default .Values.charts.intercomService.registry }}/{{ .Values.charts.intercomService.repository }}"
releases:
- name: "intercom-service"
chart: "intercom-service-repo/{{ .Values.charts.intercomService.name }}"
version: "{{ .Values.charts.intercomService.version }}"
values:
- "values.yaml.gotmpl"
- {{ .Values.customization.release.intercomService | default "additionalValues: false" }}
installed: {{ .Values.intercom.enabled }}
commonLabels:
deploy-stage: "component-1"
component: "intercom-service"
...

View File

@@ -1,12 +0,0 @@
# SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
# SPDX-FileCopyrightText: 2023 Bundesministerium des Innern und für Heimat, PG ZenDiS "Projektgruppe für Aufbau ZenDiS"
# SPDX-License-Identifier: Apache-2.0
---
bases:
- "../../bases/environments.yaml"
---
helmfiles:
- path: "./helmfile-child.yaml.gotmpl"
values:
- {{ toYaml .Values | nindent 8 }}
...

View File

@@ -11,7 +11,16 @@ repositories:
oci: true oci: true
url: url:
"{{ .Values.global.helmRegistry | default .Values.charts.nubus.registry }}/{{ .Values.charts.nubus.repository }}" "{{ .Values.global.helmRegistry | default .Values.charts.nubus.registry }}/{{ .Values.charts.nubus.repository }}"
# OpenDesk Keycloak Bootstrap Chart # Intercom Service
# Source: https://gitlab.souvap-univention.de/souvap/tooling/charts/intercom-service
- name: "intercom-service-repo"
keyring: "../../files/gpg-pubkeys/univention-de.gpg"
verify: {{ .Values.charts.intercomService.verify }}
username: {{ env "OD_PRIVATE_REGISTRY_USERNAME" | quote }}
password: {{ env "OD_PRIVATE_REGISTRY_PASSWORD" | quote }}
oci: true
url: "{{ .Values.global.helmRegistry | default .Values.charts.intercomService.registry }}/{{ .Values.charts.intercomService.repository }}"
# openDesk Keycloak Bootstrap Chart
- name: "opendesk-keycloak-bootstrap-repo" - name: "opendesk-keycloak-bootstrap-repo"
keyring: "../../files/gpg-pubkeys/opencode.gpg" keyring: "../../files/gpg-pubkeys/opencode.gpg"
verify: {{ .Values.charts.opendeskKeycloakBootstrap.verify }} verify: {{ .Values.charts.opendeskKeycloakBootstrap.verify }}
@@ -32,7 +41,16 @@ releases:
- {{ .Values.customization.release.ums | default "additionalValues: false" }} - {{ .Values.customization.release.ums | default "additionalValues: false" }}
installed: {{ .Values.nubus.enabled }} installed: {{ .Values.nubus.enabled }}
timeout: 900 timeout: 900
# OpenDesk Keycloak Bootstrap Chart # Intercom-Service
- name: "intercom-service"
chart: "intercom-service-repo/{{ .Values.charts.intercomService.name }}"
version: "{{ .Values.charts.intercomService.version }}"
values:
- "values-intercom-service.yaml.gotmpl"
- {{ .Values.customization.release.intercomService | default "additionalValues: false" }}
installed: {{ .Values.nubus.enabled }}
# openDesk Keycloak Bootstrap Chart
- name: "opendesk-keycloak-bootstrap" - name: "opendesk-keycloak-bootstrap"
chart: "opendesk-keycloak-bootstrap-repo/{{ .Values.charts.opendeskKeycloakBootstrap.name }}" chart: "opendesk-keycloak-bootstrap-repo/{{ .Values.charts.opendeskKeycloakBootstrap.name }}"
version: "{{ .Values.charts.opendeskKeycloakBootstrap.version }}" version: "{{ .Values.charts.opendeskKeycloakBootstrap.version }}"

View File

@@ -23,7 +23,7 @@ global:
synapseFederation: {{ .Values.global.hosts.synapseFederation }} synapseFederation: {{ .Values.global.hosts.synapseFederation }}
whiteboard: {{ .Values.global.hosts.whiteboard }} whiteboard: {{ .Values.global.hosts.whiteboard }}
{{- end }} {{- end }}
{{- if .Values.intercom.enabled }} {{- if .Values.nubus.enabled }}
intercomService: {{ .Values.global.hosts.intercomService }} intercomService: {{ .Values.global.hosts.intercomService }}
{{- end }} {{- end }}
{{- if .Values.jitsi.enabled }} {{- if .Values.jitsi.enabled }}

View File

@@ -16,8 +16,6 @@ apps:
enabled: {{ .Values.dovecot.enabled }} enabled: {{ .Values.dovecot.enabled }}
element: element:
enabled: {{ .Values.element.enabled }} enabled: {{ .Values.element.enabled }}
intercom:
enabled: {{ .Values.intercom.enabled }}
jitsi: jitsi:
enabled: {{ .Values.jitsi.enabled }} enabled: {{ .Values.jitsi.enabled }}
mariadb: mariadb:

View File

@@ -17,8 +17,6 @@ customization:
opendeskWellKnown: ~ opendeskWellKnown: ~
opendeskSynapseWeb: ~ opendeskSynapseWeb: ~
opendeskSynapse: ~ opendeskSynapse: ~
# intercom-service
intercomService: ~
# jitsi # jitsi
jitsi: ~ jitsi: ~
# migrations-post # migrations-post
@@ -30,6 +28,7 @@ customization:
opendeskNextcloud: ~ opendeskNextcloud: ~
# nubus # nubus
ums: ~ ums: ~
intercomService: ~
opendeskKeycloakBootstrap: ~ opendeskKeycloakBootstrap: ~
# open-xchange # open-xchange
dovecot: ~ dovecot: ~

View File

@@ -31,9 +31,6 @@ element:
home: home:
enabled: true enabled: true
namespace: ~ namespace: ~
intercom:
enabled: true
namespace: ~
jitsi: jitsi:
enabled: true enabled: true
namespace: ~ namespace: ~
@@ -61,9 +58,6 @@ openproject:
oxAppsuite: oxAppsuite:
enabled: true enabled: true
namespace: ~ namespace: ~
oxConnector:
enabled: true
namespace: ~
postfix: postfix:
enabled: true enabled: true
namespace: ~ namespace: ~

View File

@@ -15,8 +15,6 @@ helmfiles:
values: *values values: *values
- path: "helmfile/apps/nubus/helmfile-child.yaml.gotmpl" - path: "helmfile/apps/nubus/helmfile-child.yaml.gotmpl"
values: *values values: *values
- path: "helmfile/apps/intercom-service/helmfile-child.yaml.gotmpl"
values: *values
- path: "helmfile/apps/open-xchange/helmfile-child.yaml.gotmpl" - path: "helmfile/apps/open-xchange/helmfile-child.yaml.gotmpl"
values: *values values: *values
- path: "helmfile/apps/nextcloud/helmfile-child.yaml.gotmpl" - path: "helmfile/apps/nextcloud/helmfile-child.yaml.gotmpl"