diff --git a/docs/migrations.md b/docs/migrations.md index 82af11b8..d27a4223 100644 --- a/docs/migrations.md +++ b/docs/migrations.md @@ -11,6 +11,7 @@ SPDX-License-Identifier: Apache-2.0 * [Releases upgrade details](#releases-upgrade-details) * [From v1.0.0](#from-v100) * [Pre-upgrade: Manual steps](#pre-upgrade-manual-steps) + * [`customization.release`](#customizationrelease) * [Redis 7.4](#redis-74) * [From v0.9.0](#from-v090) * [Pre-upgrade: Manual steps](#pre-upgrade-manual-steps-1) @@ -57,7 +58,7 @@ Explanation of the table's columns: | Coming from | Mandatory (minimum) release | Automatic migration | Manual activities | | ------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | | v0.9.0 | v1.x.x | [run_2.py](https://gitlab.opencode.de/bmi/opendesk/components/platform-development/images/opendesk-migrations/-/blob/main/odmigs-python/odmigs_runs/run_2.py) | See [From v0.9.0](#from-v090) | -| v0.8.1 | v0.9.0 | Initializes migration system | See [From v0.8.1](#from-v081) | +| v0.8.1 | v0.9.0 | Initializes migration system | See [From v0.8.1](#from-v081) | | not supported | v0.8.1 | First release that supporting updates | | # Releases upgrade details @@ -66,6 +67,27 @@ Explanation of the table's columns: ### Pre-upgrade: Manual steps +#### `customization.release` + +If you make use of the `customization.release` option, you have to switch to a dictionary based definition of customization files e.g. from + +``` +customization: + release: + collaboraOnline: "./my_custom_templating.yaml" +``` + +to + +``` +customization: + release: + collaboraOnline: + file1: "./my_custom_templating.yaml" +``` + +You can freely choose the `file1` dictionary key used in the example above, but it should start with a letter. + #### Redis 7.4 The update from openDesk 1.0.0 contains Redis 7.4.1, like the other openDesk bundled services the bundled Redis is as well not meant to be used in production. diff --git a/helmfile/apps/collabora/helmfile-child.yaml.gotmpl b/helmfile/apps/collabora/helmfile-child.yaml.gotmpl index 80783a43..0cdb63be 100644 --- a/helmfile/apps/collabora/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/collabora/helmfile-child.yaml.gotmpl @@ -18,7 +18,9 @@ releases: version: "{{ .Values.charts.collabora.version }}" values: - "values.yaml.gotmpl" - - {{ .Values.customization.release.collaboraOnline | default "additionalValues: false" }} + {{ range .Values.customization.release.collaboraOnline }} + - {{ . }} + {{ end }} installed: {{ .Values.collabora.enabled }} commonLabels: diff --git a/helmfile/apps/cryptpad/helmfile-child.yaml.gotmpl b/helmfile/apps/cryptpad/helmfile-child.yaml.gotmpl index 7e1c8ead..d6d60082 100644 --- a/helmfile/apps/cryptpad/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/cryptpad/helmfile-child.yaml.gotmpl @@ -18,7 +18,9 @@ releases: version: "{{ .Values.charts.cryptpad.version }}" values: - "values.yaml.gotmpl" - - {{ .Values.customization.release.cryptpad | default "additionalValues: false" }} + {{ range .Values.customization.release.cryptpad }} + - {{ . }} + {{ end }} installed: {{ .Values.cryptpad.enabled }} commonLabels: diff --git a/helmfile/apps/element/helmfile-child.yaml.gotmpl b/helmfile/apps/element/helmfile-child.yaml.gotmpl index b07dc370..0a3df563 100644 --- a/helmfile/apps/element/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/element/helmfile-child.yaml.gotmpl @@ -91,7 +91,9 @@ releases: version: "{{ .Values.charts.elementWeb.version }}" values: - "values-element.yaml.gotmpl" - - {{ .Values.customization.release.opendeskElement | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskElement }} + - {{ . }} + {{ end }} installed: {{ .Values.element.enabled }} timeout: 900 @@ -100,7 +102,9 @@ releases: version: "{{ .Values.charts.elementWellKnown.version }}" values: - "values-well-known.yaml.gotmpl" - - {{ .Values.customization.release.opendeskWellKnown | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskWellKnown }} + - {{ . }} + {{ end }} installed: {{ .Values.element.enabled }} timeout: 900 @@ -109,7 +113,9 @@ releases: version: "{{ .Values.charts.synapseWeb.version }}" values: - "values-synapse-web.yaml.gotmpl" - - {{ .Values.customization.release.opendeskSynapseWeb | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskSynapseWeb }} + - {{ . }} + {{ end }} installed: {{ .Values.element.enabled }} timeout: 900 @@ -118,7 +124,9 @@ releases: version: "{{ .Values.charts.synapse.version }}" values: - "values-synapse.yaml.gotmpl" - - {{ .Values.customization.release.opendeskSynapse | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskSynapse }} + - {{ . }} + {{ end }} installed: {{ .Values.element.enabled }} timeout: 900 diff --git a/helmfile/apps/jitsi/helmfile-child.yaml.gotmpl b/helmfile/apps/jitsi/helmfile-child.yaml.gotmpl index 87cf3032..b5489bec 100644 --- a/helmfile/apps/jitsi/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/jitsi/helmfile-child.yaml.gotmpl @@ -18,7 +18,9 @@ releases: version: "{{ .Values.charts.jitsi.version }}" values: - "values-jitsi.yaml.gotmpl" - - {{ .Values.customization.release.jitsi | default "additionalValues: false" }} + {{ range .Values.customization.release.jitsi }} + - {{ . }} + {{ end }} installed: {{ .Values.jitsi.enabled }} timeout: 900 diff --git a/helmfile/apps/migrations-post/helmfile-child.yaml.gotmpl b/helmfile/apps/migrations-post/helmfile-child.yaml.gotmpl index 0e6299aa..8c5b07bf 100644 --- a/helmfile/apps/migrations-post/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/migrations-post/helmfile-child.yaml.gotmpl @@ -21,7 +21,9 @@ releases: values: - "values.yaml.gotmpl" - "../../shared/migrations.yaml.gotmpl" - - {{ .Values.customization.release.migrationsPost | default "additionalValues: false" }} + {{ range .Values.customization.release.migrationsPost }} + - {{ . }} + {{ end }} installed: {{ .Values.migrations.enabled }} timeout: 900 diff --git a/helmfile/apps/migrations-pre/helmfile-child.yaml.gotmpl b/helmfile/apps/migrations-pre/helmfile-child.yaml.gotmpl index c67908a2..f517087c 100644 --- a/helmfile/apps/migrations-pre/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/migrations-pre/helmfile-child.yaml.gotmpl @@ -21,7 +21,9 @@ releases: values: - "values.yaml.gotmpl" - "../../shared/migrations.yaml.gotmpl" - - {{ .Values.customization.release.migrationsPre | default "additionalValues: false" }} + {{ range .Values.customization.release.migrationsPre }} + - {{ . }} + {{ end }} installed: {{ .Values.migrations.enabled }} timeout: 900 diff --git a/helmfile/apps/nextcloud/helmfile-child.yaml.gotmpl b/helmfile/apps/nextcloud/helmfile-child.yaml.gotmpl index d80721b5..bb8427db 100644 --- a/helmfile/apps/nextcloud/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/nextcloud/helmfile-child.yaml.gotmpl @@ -25,7 +25,9 @@ releases: version: "{{ .Values.charts.nextcloudManagement.version }}" values: - "values-nextcloud-mgmt.yaml.gotmpl" - - {{ .Values.customization.release.opendeskNextcloudManagement | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskNextcloudManagement }} + - {{ . }} + {{ end }} waitForJobs: true wait: true installed: {{ .Values.nextcloud.enabled }} @@ -35,7 +37,9 @@ releases: version: "{{ .Values.charts.nextcloud.version }}" values: - "values-nextcloud.yaml.gotmpl" - - {{ .Values.customization.release.opendeskNextcloud | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskNextcloud }} + - {{ . }} + {{ end }} needs: - "opendesk-nextcloud-management" installed: {{ .Values.nextcloud.enabled }} diff --git a/helmfile/apps/nubus/helmfile-child.yaml.gotmpl b/helmfile/apps/nubus/helmfile-child.yaml.gotmpl index 56540c4d..bc28032e 100644 --- a/helmfile/apps/nubus/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/nubus/helmfile-child.yaml.gotmpl @@ -46,7 +46,9 @@ releases: - "values-nubus.yaml.gotmpl" - "values-opendesk-customization.yaml.gotmpl" - "values-opendesk-images.yaml.gotmpl" - - {{ .Values.customization.release.ums | default "additionalValues: false" }} + {{ range .Values.customization.release.ums }} + - {{ . }} + {{ end }} installed: {{ .Values.nubus.enabled }} timeout: 900 # Intercom-Service @@ -55,7 +57,9 @@ releases: version: "{{ .Values.charts.intercomService.version }}" values: - "values-intercom-service.yaml.gotmpl" - - {{ .Values.customization.release.intercomService | default "additionalValues: false" }} + {{ range .Values.customization.release.intercomService }} + - {{ . }} + {{ end }} installed: {{ .Values.nubus.enabled }} # openDesk Keycloak Bootstrap Chart @@ -64,7 +68,9 @@ releases: version: "{{ .Values.charts.opendeskKeycloakBootstrap.version }}" values: - "values-opendesk-keycloak-bootstrap.yaml.gotmpl" - - {{ .Values.customization.release.opendeskKeycloakBootstrap | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskKeycloakBootstrap }} + - {{ . }} + {{ end }} needs: - "ums" installed: {{ .Values.nubus.enabled }} @@ -76,7 +82,9 @@ releases: version: "{{ .Values.charts.nginxS3Gateway.version }}" values: - "values-nginx-s3-gateway.yaml.gotmpl" - - {{ .Values.customization.release.nginxS3Gateway | default "additionalValues: false" }} + {{ range .Values.customization.release.nginxS3Gateway }} + - {{ . }} + {{ end }} installed: {{ not .Values.minio.enabled }} timeout: 900 diff --git a/helmfile/apps/open-xchange/helmfile-child.yaml.gotmpl b/helmfile/apps/open-xchange/helmfile-child.yaml.gotmpl index e80979e4..fa176811 100644 --- a/helmfile/apps/open-xchange/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/open-xchange/helmfile-child.yaml.gotmpl @@ -45,7 +45,9 @@ releases: version: "{{ .Values.charts.dovecot.version }}" values: - "values-dovecot.yaml.gotmpl" - - {{ .Values.customization.release.dovecot | default "additionalValues: false" }} + {{ range .Values.customization.release.dovecot }} + - {{ . }} + {{ end }} installed: {{ .Values.dovecot.enabled }} timeout: 900 @@ -55,7 +57,9 @@ releases: values: - "values-openxchange.yaml.gotmpl" - "values-openxchange-enterprise-contact-picker.yaml.gotmpl" - - {{ .Values.customization.release.openXchange | default "additionalValues: false" }} + {{ range .Values.customization.release.openXchange }} + - {{ . }} + {{ end }} installed: {{ .Values.oxAppsuite.enabled }} timeout: 900 @@ -64,7 +68,9 @@ releases: version: "{{ .Values.charts.openXchangeAppSuiteBootstrap.version }}" values: - "values-openxchange-bootstrap.yaml.gotmpl" - - {{ .Values.customization.release.opendeskOpenXchangeBootstrap | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskOpenXchangeBootstrap }} + - {{ . }} + {{ end }} installed: {{ .Values.oxAppsuite.enabled }} timeout: 900 @@ -73,7 +79,9 @@ releases: version: "{{ .Values.charts.oxConnector.version }}" values: - "values-oxconnector.yaml.gotmpl" - - {{ .Values.customization.release.oxConnector | default "additionalValues: false" }} + {{ range .Values.customization.release.oxConnector }} + - {{ . }} + {{ end }} installed: {{ .Values.oxAppsuite.enabled }} needs: - "open-xchange" diff --git a/helmfile/apps/openproject-bootstrap/helmfile-child.yaml.gotmpl b/helmfile/apps/openproject-bootstrap/helmfile-child.yaml.gotmpl index fbf7b677..dac00426 100644 --- a/helmfile/apps/openproject-bootstrap/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/openproject-bootstrap/helmfile-child.yaml.gotmpl @@ -20,7 +20,9 @@ releases: waitForJobs: true values: - "values.yaml.gotmpl" - - {{ .Values.customization.release.opendeskOpenprojectBootstrap | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskOpenprojectBootstrap }} + - {{ . }} + {{ end }} installed: {{ .Values.openproject.enabled }} timeout: 900 diff --git a/helmfile/apps/openproject/helmfile-child.yaml.gotmpl b/helmfile/apps/openproject/helmfile-child.yaml.gotmpl index 222e63ef..5fd2c0c4 100644 --- a/helmfile/apps/openproject/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/openproject/helmfile-child.yaml.gotmpl @@ -20,7 +20,9 @@ releases: waitForJobs: true values: - "values.yaml.gotmpl" - - {{ .Values.customization.release.openproject | default "additionalValues: false" }} + {{ range .Values.customization.release.openproject }} + - {{ . }} + {{ end }} installed: {{ .Values.openproject.enabled }} timeout: 1800 diff --git a/helmfile/apps/services/helmfile-child.yaml.gotmpl b/helmfile/apps/services/helmfile-child.yaml.gotmpl index 502204b3..aaefe7c7 100644 --- a/helmfile/apps/services/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/services/helmfile-child.yaml.gotmpl @@ -119,7 +119,9 @@ releases: version: "{{ .Values.charts.otterize.version }}" values: - "values-otterize.yaml.gotmpl" - - {{ .Values.customization.release.opendeskOtterize | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskOtterize }} + - {{ . }} + {{ end }} installed: {{ .Values.security.otterizeIntents.enabled }} timeout: 900 @@ -128,7 +130,9 @@ releases: version: "{{ .Values.charts.home.version }}" values: - "values-home.yaml.gotmpl" - - {{ .Values.customization.release.opendeskHome | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskHome }} + - {{ . }} + {{ end }} installed: {{ .Values.home.enabled }} - name: "opendesk-certificates" @@ -136,7 +140,9 @@ releases: version: "{{ .Values.charts.certificates.version }}" values: - "values-certificates.yaml.gotmpl" - - {{ .Values.customization.release.opendeskCertificates | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskCertificates }} + - {{ . }} + {{ end }} installed: {{ .Values.certificates.enabled }} timeout: 900 @@ -145,7 +151,9 @@ releases: version: "{{ .Values.charts.redis.version }}" values: - "values-redis.yaml.gotmpl" - - {{ .Values.customization.release.redis | default "additionalValues: false" }} + {{ range .Values.customization.release.redis }} + - {{ . }} + {{ end }} installed: {{ .Values.redis.enabled }} timeout: 900 @@ -154,7 +162,9 @@ releases: version: "{{ .Values.charts.memcached.version }}" values: - "values-memcached.yaml.gotmpl" - - {{ .Values.customization.release.memcached | default "additionalValues: false" }} + {{ range .Values.customization.release.memcached }} + - {{ . }} + {{ end }} installed: {{ .Values.memcached.enabled }} timeout: 900 @@ -163,7 +173,9 @@ releases: version: "{{ .Values.charts.postgresql.version }}" values: - "values-postgresql.yaml.gotmpl" - - {{ .Values.customization.release.postgresql | default "additionalValues: false" }} + {{ range .Values.customization.release.postgresql }} + - {{ . }} + {{ end }} installed: {{ .Values.postgresql.enabled }} timeout: 900 @@ -172,7 +184,9 @@ releases: version: "{{ .Values.charts.mariadb.version }}" values: - "values-mariadb.yaml.gotmpl" - - {{ .Values.customization.release.mariadb | default "additionalValues: false" }} + {{ range .Values.customization.release.mariadb }} + - {{ . }} + {{ end }} installed: {{ .Values.mariadb.enabled }} timeout: 900 @@ -181,7 +195,9 @@ releases: version: "{{ .Values.charts.postfix.version }}" values: - "values-postfix.yaml.gotmpl" - - {{ .Values.customization.release.postfix | default "additionalValues: false" }} + {{ range .Values.customization.release.postfix }} + - {{ . }} + {{ end }} installed: {{ .Values.postfix.enabled }} timeout: 900 @@ -190,7 +206,9 @@ releases: version: "{{ .Values.charts.dkimpy.version }}" values: - "values-dkimpy.yaml.gotmpl" - - {{ .Values.customization.release.opendeskDkimpyMilter | default "additionalValues: false" }} + {{ range .Values.customization.release.opendeskDkimpyMilter }} + - {{ . }} + {{ end }} installed: {{ .Values.dkimpy.enabled }} timeout: 900 @@ -199,7 +217,9 @@ releases: version: "{{ .Values.charts.clamav.version }}" values: - "values-clamav-distributed.yaml.gotmpl" - - {{ .Values.customization.release.clamav | default "additionalValues: false" }} + {{ range .Values.customization.release.clamav }} + - {{ . }} + {{ end }} installed: {{ .Values.clamavDistributed.enabled }} timeout: 900 @@ -208,7 +228,9 @@ releases: version: "{{ .Values.charts.clamavSimple.version }}" values: - "values-clamav-simple.yaml.gotmpl" - - {{ .Values.customization.release.clamavSimple | default "additionalValues: false" }} + {{ range .Values.customization.release.clamavSimple }} + - {{ . }} + {{ end }} installed: {{ .Values.clamavSimple.enabled }} timeout: 900 @@ -217,7 +239,9 @@ releases: version: "{{ .Values.charts.minio.version }}" values: - "values-minio.yaml.gotmpl" - - {{ .Values.customization.release.minio | default "additionalValues: false" }} + {{ range .Values.customization.release.minio }} + - {{ . }} + {{ end }} installed: {{ .Values.minio.enabled }} timeout: 900 diff --git a/helmfile/apps/xwiki/helmfile-child.yaml.gotmpl b/helmfile/apps/xwiki/helmfile-child.yaml.gotmpl index b3f28079..545d2d4c 100644 --- a/helmfile/apps/xwiki/helmfile-child.yaml.gotmpl +++ b/helmfile/apps/xwiki/helmfile-child.yaml.gotmpl @@ -19,7 +19,9 @@ releases: wait: true values: - "values.yaml.gotmpl" - - {{ .Values.customization.release.xwiki | default "additionalValues: false" }} + {{ range .Values.customization.release.xwiki }} + - {{ . }} + {{ end }} installed: {{ .Values.xwiki.enabled }} timeout: 1800 diff --git a/helmfile/environments/default/customization.yaml b/helmfile/environments/default/customization.yaml index d04aca81..80eb5119 100644 --- a/helmfile/environments/default/customization.yaml +++ b/helmfile/environments/default/customization.yaml @@ -9,50 +9,50 @@ customization: release: # collabora - collaboraOnline: ~ + collaboraOnline: {} # cryptpad - cryptpad: ~ + cryptpad: {} # element - opendeskElement: ~ - opendeskWellKnown: ~ - opendeskSynapseWeb: ~ - opendeskSynapse: ~ + opendeskElement: {} + opendeskWellKnown: {} + opendeskSynapseWeb: {} + opendeskSynapse: {} # jitsi - jitsi: ~ + jitsi: {} # migrations-post - migrationsPost: ~ + migrationsPost: {} # migrations-pre - migrationsPre: ~ + migrationsPre: {} # nextcloud - opendeskNextcloudManagement: ~ - opendeskNextcloud: ~ + opendeskNextcloudManagement: {} + opendeskNextcloud: {} # nubus - ums: ~ - intercomService: ~ - opendeskKeycloakBootstrap: ~ - nginxS3Gateway: ~ + ums: {} + intercomService: {} + opendeskKeycloakBootstrap: {} + nginxS3Gateway: {} # open-xchange - dovecot: ~ - openXchange: ~ - opendeskOpenXchangeBootstrap: ~ - oxConnector: ~ + dovecot: {} + openXchange: {} + opendeskOpenXchangeBootstrap: {} + oxConnector: {} # openproject - openproject: ~ + openproject: {} # openproject-bootstrap - opendeskOpenprojectBootstrap: ~ + opendeskOpenprojectBootstrap: {} # services - opendeskOtterize: ~ - opendeskHome: ~ - opendeskCertificates: ~ - redis: ~ - memcached: ~ - postgresql: ~ - mariadb: ~ - postfix: ~ - opendeskDkimpyMilter: ~ - clamav: ~ - clamavSimple: ~ - minio: ~ + opendeskOtterize: {} + opendeskHome: {} + opendeskCertificates: {} + redis: {} + memcached: {} + postgresql: {} + mariadb: {} + postfix: {} + opendeskDkimpyMilter: {} + clamav: {} + clamavSimple: {} + minio: {} # xwiki - xwiki: ~ + xwiki: {} ...