mirror of
https://gitlab.opencode.de/bmi/opendesk/deployment/opendesk.git
synced 2025-12-06 07:21:36 +01:00
feat(helmfile): Add customization.yaml to define custom files for helmfile releases
This commit is contained in:
@@ -189,8 +189,8 @@ variables:
|
||||
cache: {}
|
||||
dependencies: []
|
||||
extends: ".environments"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:1.0.1\
|
||||
@sha256:d38f41b88374e055332860018f2936db8807b763caf6089735db0484cbb2842a"
|
||||
image: "registry.opencode.de/bmi/opendesk/components/platform-development/images/helm:1.1.0\
|
||||
@sha256:74f349066ac5d20e3afaa6abd28781b4c8dc086f67e3d3c1b8345e4a9c3371b1"
|
||||
script:
|
||||
- "cd ${CI_PROJECT_DIR}/helmfile/apps/${COMPONENT}"
|
||||
# MASTER_PASSWORD_WEB_VAR as precedence for MASTER_PASSWORD
|
||||
|
||||
@@ -24,7 +24,7 @@ openDesk is a Kubernetes only solution and requires an existing Kubernetes (K8s)
|
||||
- Domain and DNS Service
|
||||
- Ingress controller (Ingress NGINX)
|
||||
- [Helm](https://helm.sh/) >= v3.9.0
|
||||
- [Helmfile](https://helmfile.readthedocs.io/en/latest/) >= **v0.157.0**
|
||||
- [Helmfile](https://helmfile.readthedocs.io/en/latest/) >= **v1.0.0-rc.5**
|
||||
- [HelmDiff](https://github.com/databus23/helm-diff) >= 3.6.0
|
||||
- Volume provisioner supporting RWO (read-write-once)
|
||||
- Certificate handling with [cert-manager](https://cert-manager.io/)
|
||||
|
||||
@@ -18,6 +18,7 @@ releases:
|
||||
version: "{{ .Values.charts.collabora.version }}"
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.collaboraOnline | default "additionalValues: false" }}
|
||||
installed: {{ .Values.collabora.enabled }}
|
||||
|
||||
commonLabels:
|
||||
|
||||
@@ -18,6 +18,7 @@ releases:
|
||||
version: "{{ .Values.charts.cryptpad.version }}"
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.cryptpad | default "additionalValues: false" }}
|
||||
installed: {{ .Values.cryptpad.enabled }}
|
||||
|
||||
commonLabels:
|
||||
|
||||
@@ -39,6 +39,7 @@ releases:
|
||||
version: "{{ .Values.charts.element.version }}"
|
||||
values:
|
||||
- "values-element.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskElement | default "additionalValues: false" }}
|
||||
installed: {{ .Values.element.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -47,6 +48,7 @@ releases:
|
||||
version: "{{ .Values.charts.elementWellKnown.version }}"
|
||||
values:
|
||||
- "values-well-known.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskWellKnown | default "additionalValues: false" }}
|
||||
installed: {{ .Values.element.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -55,6 +57,7 @@ releases:
|
||||
version: "{{ .Values.charts.synapseWeb.version }}"
|
||||
values:
|
||||
- "values-synapse-web.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskSynapseWeb | default "additionalValues: false" }}
|
||||
installed: {{ .Values.element.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -63,6 +66,7 @@ releases:
|
||||
version: "{{ .Values.charts.synapse.version }}"
|
||||
values:
|
||||
- "values-synapse.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskSynapse | default "additionalValues: false" }}
|
||||
installed: {{ .Values.element.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ releases:
|
||||
version: "{{ .Values.charts.intercomService.version }}"
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.intercomService | default "additionalValues: false" }}
|
||||
installed: {{ .Values.intercom.enabled }}
|
||||
|
||||
commonLabels:
|
||||
|
||||
@@ -18,6 +18,7 @@ releases:
|
||||
version: "{{ .Values.charts.jitsi.version }}"
|
||||
values:
|
||||
- "values-jitsi.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.jitsi | default "additionalValues: false" }}
|
||||
installed: {{ .Values.jitsi.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ releases:
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- "../../shared/migrations.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.migrationsPost | default "additionalValues: false" }}
|
||||
installed: {{ .Values.migrations.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ releases:
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- "../../shared/migrations.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.migrationsPre | default "additionalValues: false" }}
|
||||
installed: {{ .Values.migrations.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ releases:
|
||||
version: "{{ .Values.charts.nextcloudManagement.version }}"
|
||||
values:
|
||||
- "values-nextcloud-mgmt.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskNextcloudManagement | default "additionalValues: false" }}
|
||||
waitForJobs: true
|
||||
wait: true
|
||||
installed: {{ .Values.nextcloud.enabled }}
|
||||
@@ -34,6 +35,7 @@ releases:
|
||||
version: "{{ .Values.charts.nextcloud.version }}"
|
||||
values:
|
||||
- "values-nextcloud.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskNextcloud | default "additionalValues: false" }}
|
||||
needs:
|
||||
- "opendesk-nextcloud-management"
|
||||
installed: {{ .Values.nextcloud.enabled }}
|
||||
|
||||
@@ -29,6 +29,7 @@ releases:
|
||||
- "values-nubus.yaml.gotmpl"
|
||||
- "values-opendesk-customization.yaml.gotmpl"
|
||||
- "values-opendesk-images.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.ums | default "additionalValues: false" }}
|
||||
installed: {{ .Values.nubus.enabled }}
|
||||
timeout: 900
|
||||
# OpenDesk Keycloak Bootstrap Chart
|
||||
@@ -37,6 +38,7 @@ releases:
|
||||
version: "{{ .Values.charts.opendeskKeycloakBootstrap.version }}"
|
||||
values:
|
||||
- "values-opendesk-keycloak-bootstrap.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskKeycloakBootstrap | default "additionalValues: false" }}
|
||||
needs:
|
||||
- "ums"
|
||||
installed: {{ .Values.nubus.enabled }}
|
||||
|
||||
@@ -38,6 +38,7 @@ releases:
|
||||
version: "{{ .Values.charts.dovecot.version }}"
|
||||
values:
|
||||
- "values-dovecot.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.dovecot | default "additionalValues: false" }}
|
||||
installed: {{ .Values.dovecot.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -47,6 +48,7 @@ releases:
|
||||
values:
|
||||
- "values-openxchange.yaml.gotmpl"
|
||||
- "values-openxchange-enterprise-contact-picker.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.openXchange | default "additionalValues: false" }}
|
||||
installed: {{ .Values.oxAppsuite.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -55,6 +57,7 @@ releases:
|
||||
version: "{{ .Values.charts.openXchangeAppSuiteBootstrap.version }}"
|
||||
values:
|
||||
- "values-openxchange-bootstrap.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskOpenXchangeBootstrap | default "additionalValues: false" }}
|
||||
installed: {{ .Values.oxAppsuite.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ releases:
|
||||
waitForJobs: true
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskOpenprojectBootstrap | default "additionalValues: false" }}
|
||||
installed: {{ .Values.openproject.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ releases:
|
||||
waitForJobs: true
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.openproject | default "additionalValues: false" }}
|
||||
installed: {{ .Values.openproject.enabled }}
|
||||
timeout: 1500
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ releases:
|
||||
version: "{{ .Values.charts.oxConnector.version }}"
|
||||
values:
|
||||
- "values-oxconnector.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.oxConnector | default "additionalValues: false" }}
|
||||
installed: {{ .Values.oxConnector.enabled }}
|
||||
|
||||
commonLabels:
|
||||
|
||||
@@ -119,6 +119,7 @@ releases:
|
||||
version: "{{ .Values.charts.otterize.version }}"
|
||||
values:
|
||||
- "values-otterize.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskOtterize | default "additionalValues: false" }}
|
||||
installed: {{ .Values.security.otterizeIntents.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -127,6 +128,7 @@ releases:
|
||||
version: "{{ .Values.charts.home.version }}"
|
||||
values:
|
||||
- "values-home.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskHome | default "additionalValues: false" }}
|
||||
installed: {{ .Values.home.enabled }}
|
||||
|
||||
- name: "opendesk-certificates"
|
||||
@@ -134,6 +136,7 @@ releases:
|
||||
version: "{{ .Values.charts.certificates.version }}"
|
||||
values:
|
||||
- "values-certificates.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskCertificates | default "additionalValues: false" }}
|
||||
installed: {{ .Values.certificates.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -142,6 +145,7 @@ releases:
|
||||
version: "{{ .Values.charts.redis.version }}"
|
||||
values:
|
||||
- "values-redis.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.redis | default "additionalValues: false" }}
|
||||
installed: {{ .Values.redis.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -150,6 +154,7 @@ releases:
|
||||
version: "{{ .Values.charts.memcached.version }}"
|
||||
values:
|
||||
- "values-memcached.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.memcached | default "additionalValues: false" }}
|
||||
installed: {{ .Values.memcached.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -158,6 +163,7 @@ releases:
|
||||
version: "{{ .Values.charts.postgresql.version }}"
|
||||
values:
|
||||
- "values-postgresql.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.postgresql | default "additionalValues: false" }}
|
||||
installed: {{ .Values.postgresql.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -166,6 +172,7 @@ releases:
|
||||
version: "{{ .Values.charts.mariadb.version }}"
|
||||
values:
|
||||
- "values-mariadb.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.mariadb | default "additionalValues: false" }}
|
||||
installed: {{ .Values.mariadb.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -174,6 +181,7 @@ releases:
|
||||
version: "{{ .Values.charts.postfix.version }}"
|
||||
values:
|
||||
- "values-postfix.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.postfix | default "additionalValues: false" }}
|
||||
installed: {{ .Values.postfix.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -182,6 +190,7 @@ releases:
|
||||
version: "{{ .Values.charts.dkimpy.version }}"
|
||||
values:
|
||||
- "values-dkimpy.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.opendeskDkimpyMilter | default "additionalValues: false" }}
|
||||
installed: {{ .Values.dkimpy.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -190,6 +199,7 @@ releases:
|
||||
version: "{{ .Values.charts.clamav.version }}"
|
||||
values:
|
||||
- "values-clamav-distributed.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.clamav | default "additionalValues: false" }}
|
||||
installed: {{ .Values.clamavDistributed.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -198,6 +208,7 @@ releases:
|
||||
version: "{{ .Values.charts.clamavSimple.version }}"
|
||||
values:
|
||||
- "values-clamav-simple.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.clamavSimple | default "additionalValues: false" }}
|
||||
installed: {{ .Values.clamavSimple.enabled }}
|
||||
timeout: 900
|
||||
|
||||
@@ -206,6 +217,7 @@ releases:
|
||||
version: "{{ .Values.charts.minio.version }}"
|
||||
values:
|
||||
- "values-minio.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.minio | default "additionalValues: false" }}
|
||||
installed: {{ .Values.minio.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ releases:
|
||||
wait: true
|
||||
values:
|
||||
- "values.yaml.gotmpl"
|
||||
- {{ .Values.customization.release.xwiki | default "additionalValues: false" }}
|
||||
installed: {{ .Values.xwiki.enabled }}
|
||||
timeout: 900
|
||||
|
||||
|
||||
59
helmfile/environments/default/customization.yaml
Normal file
59
helmfile/environments/default/customization.yaml
Normal file
@@ -0,0 +1,59 @@
|
||||
# SPDX-FileCopyrightText: 2024 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
---
|
||||
# This variable allows customization of helmfile releases by loading custom values file.
|
||||
# Example:
|
||||
# customization:
|
||||
# release:
|
||||
# collaboraOnline: /path/to/additional/file.yaml
|
||||
customization:
|
||||
release:
|
||||
# collabora
|
||||
collaboraOnline: ~
|
||||
# cryptpad
|
||||
cryptpad: ~
|
||||
# element
|
||||
opendeskElement: ~
|
||||
opendeskWellKnown: ~
|
||||
opendeskSynapseWeb: ~
|
||||
opendeskSynapse: ~
|
||||
# intercom-service
|
||||
intercomService: ~
|
||||
# jitsi
|
||||
jitsi: ~
|
||||
# migrations-post
|
||||
migrationsPost: ~
|
||||
# migrations-pre
|
||||
migrationsPre: ~
|
||||
# nextcloud
|
||||
opendeskNextcloudManagement: ~
|
||||
opendeskNextcloud: ~
|
||||
# nubus
|
||||
ums: ~
|
||||
opendeskKeycloakBootstrap: ~
|
||||
# open-xchange
|
||||
dovecot: ~
|
||||
openXchange: ~
|
||||
opendeskOpenXchangeBootstrap: ~
|
||||
# openproject
|
||||
openproject: ~
|
||||
# openproject-bootstrap
|
||||
opendeskOpenprojectBootstrap: ~
|
||||
# provisioning
|
||||
oxConnector: ~
|
||||
# services
|
||||
opendeskOtterize: ~
|
||||
opendeskHome: ~
|
||||
opendeskCertificates: ~
|
||||
redis: ~
|
||||
memcached: ~
|
||||
postgresql: ~
|
||||
mariadb: ~
|
||||
postfix: ~
|
||||
opendeskDkimpyMilter: ~
|
||||
clamav: ~
|
||||
clamavSimple: ~
|
||||
minio: ~
|
||||
# xwiki
|
||||
xwiki: ~
|
||||
...
|
||||
Reference in New Issue
Block a user