From 25a97abba69b34c6b65a08ca7af979f3897d218b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20Ro=C3=9Fner?= Date: Thu, 30 Oct 2025 12:32:46 +0100 Subject: [PATCH] feat(helmfile): Add toggle for external mail client onboarding and allow non-default FQDNs for IMAP and SMTP endpoints --- docs/migrations.md | 19 +++++++++++++++++++ .../values-openxchange.yaml.gotmpl | 9 +++------ .../default/functional.yaml.gotmpl | 18 ++++++++++++++++-- 3 files changed, 38 insertions(+), 8 deletions(-) diff --git a/docs/migrations.md b/docs/migrations.md index b25800df..216ee84d 100644 --- a/docs/migrations.md +++ b/docs/migrations.md @@ -13,6 +13,7 @@ SPDX-License-Identifier: Apache-2.0 * [v1.8.0+](#v180) * [Pre-upgrade to v1.8.0+](#pre-upgrade-to-v180) * [Helmfile fix: Cassandra passwords read from `databases.*`](#helmfile-fix-cassandra-passwords-read-from-databases) + * [Helmfile new feature: `functional.groupware.externalClients.*`](#helmfile-new-feature-functionalgroupwareexternalclients) * [v1.7.1+](#v171) * [Pre-upgrade to v1.7.1+](#pre-upgrade-to-v171) * [New application default: Default group for two-factor authentication is now "2FA Users"](#new-application-default-default-group-for-two-factor-authentication-is-now-2fa-users) @@ -162,6 +163,24 @@ are no longer ignored. So please move the passwords from to the `databases.*` structure. +#### Helmfile new feature: `functional.groupware.externalClients.*` + +**Target group:** +Deployments that allow access to groupware emails via external mail clients (e.g. Thunderbird) using IMAP and SMTP. + +OX App Suite can display a dialog with configuration details for connecting external mail clients. In previous versions, +this dialog was automatically enabled when Dovecot was deployed with a service type of `NodePort` or `LoadBalancer`. + +From now on, the dialog can be explicitly controlled via the setting +`functional.groupware.externalClients.enabledOnboardingInfo`, which is set to `false` by default. +If you want your users to see this dialog, set the attribute to `true`. + +Additionally, it is now possible to explicitly define the hostnames shown in the client onboarding dialog using the following values: +- `functional.groupware.externalClients.fqdnImap` +- `functional.groupware.externalClients.fqdnSmtp` + +If these values are not explicitly set, openDesk will use `.Values.global.domain` as in previous releases. + ## v1.7.1+ ### Pre-upgrade to v1.7.1+ diff --git a/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl b/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl index 17c2b709..de1fc88b 100644 --- a/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl +++ b/helmfile/apps/open-xchange/values-openxchange.yaml.gotmpl @@ -561,19 +561,16 @@ appsuite: # await http.POST({ module: 'oxguard/smime', params: { action: 'test' } }) com.openexchange.smime.test: {{ .Values.debug.enabled | quote }} {{- end }} - {{- if or (eq (coalesce .Values.service.type.dovecot .Values.cluster.service.type) "NodePort") (eq (coalesce .Values.service.type.dovecot .Values.cluster.service.type) "LoadBalancer") }} # Client Onboarding - com.openexchange.client.onboarding.mail.imap.host: {{ .Values.global.domain | quote }} + com.openexchange.client.onboarding.enabled: {{ .Values.functional.groupware.externalClients.enabledOnboardingInfo | quote }} + com.openexchange.client.onboarding.mail.imap.host: {{ default .Values.global.domain .Values.functional.groupware.externalClients.fqdnImap | quote }} com.openexchange.client.onboarding.mail.imap.port: "993" com.openexchange.client.onboarding.mail.imap.secure: "true" com.openexchange.client.onboarding.mail.imap.requireTls: "false" - com.openexchange.client.onboarding.mail.smtp.host: {{ .Values.global.domain | quote }} + com.openexchange.client.onboarding.mail.smtp.host: {{ default .Values.global.domain .Values.functional.groupware.externalClients.fqdnSmtp | quote }} com.openexchange.client.onboarding.mail.smtp.port: "587" com.openexchange.client.onboarding.mail.smtp.secure: "false" com.openexchange.client.onboarding.mail.smtp.requireTls: "true" - {{- else }} - com.openexchange.client.onboarding.enabled: "false" - {{- end }} # DAV {{- if .Values.functional.groupware.davSupport.enabled }} com.openexchange.caldav.enabled: "true" diff --git a/helmfile/environments/default/functional.yaml.gotmpl b/helmfile/environments/default/functional.yaml.gotmpl index 7a631a95..db877e3e 100644 --- a/helmfile/environments/default/functional.yaml.gotmpl +++ b/helmfile/environments/default/functional.yaml.gotmpl @@ -200,10 +200,24 @@ functional: # Related settings for the CalDAV and CardCAV support of the groupware module. davSupport: # Enabled by default CalDAV and CardDAV support is available at: - # - https://<.Values.global.hosts.openxchangeDav>.<.Values.global.domain>/caldav/[folderId]" - # - https://<.Values.global.hosts.openxchangeDav>.<.Values.global.domain>/carddav/[folderId]" + # - `https://<.Values.global.hosts.openxchangeDav>.<.Values.global.domain>/caldav/[folderId]` + # - `https://<.Values.global.hosts.openxchangeDav>.<.Values.global.domain>/carddav/[folderId]` # Can be switched off using the below feature toggle. enabled: true + # Setting related to external clients using SMTP/IMAP protocols (like Thunderbird) + externalClients: + # To fully support external mail clients in your openDesk deployment you need to ensure they can + # access the IMAP and SMTP services. Either on <.Values.global.domain> or on the FQDNs defined + # below. + # How to achive this depends on what service types you are using in your deployment. These service + # types can be set explicitly for IMAP (Dovecot) and SMTP (Postfix) using `service.yaml.gotmpl` and + # how these services, especially when using type `LoadBalancer`, behave in your setup. + # Toggle the client onboarding info dialog in the groupware module. + enabledOnboardingInfo: false + # Set the FQDN of the IMAP endpoint if none is provided `<.Values.global.domain>` is used. + fqdnImap: ~ + # Set the FQDN of the SMTP endpoint if none is provided `<.Values.global.domain>` is used. + fqdnSmtp: ~ # Control access for external users to groupware data # Ref.: https://documentation.open-xchange.com/8/middleware/miscellaneous/sharing_and_guest_mode.html externalSharing: