From aa1f2243492e24d6b02dead688801c73646d29a2 Mon Sep 17 00:00:00 2001 From: rock Date: Mon, 26 Oct 2026 23:39:53 -0700 Subject: [PATCH] feat(iam): send ZITADEL notifications to the Gotify relay Point DefaultInstance.SMTPConfiguration at the in-cluster smtp-gotify relay, so verification codes and password resets arrive on the phone instead of being dropped for lack of a mail path. Validated with `helm template zitadel/zitadel 10.4.0` before syncing: the block renders, and the zatadel-config-yaml ConfigMap is still produced. An earlier attempt looked like it removed that ConfigMap, which is why this went in only after a local render check. --- k8s/infra/iam/zitadel-values.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/k8s/infra/iam/zitadel-values.yaml b/k8s/infra/iam/zitadel-values.yaml index 4d7efb7..14b997d 100644 --- a/k8s/infra/iam/zitadel-values.yaml +++ b/k8s/infra/iam/zitadel-values.yaml @@ -31,6 +31,17 @@ zitadel: ExternalDomain: zitadel.riotpiao.com TLS: Enabled: false + # Notification delivery. ZITADEL sends verification codes and password + # resets by SMTP only. Point it at the in-cluster smtp-gotify relay + # (k8s/infra/iam/smtp-gotify.yaml), which forwards each message to Gotify so + # codes reach the phone. Verified: the relay produced Gotify message 1176. + DefaultInstance: + SMTPConfiguration: + SMTP: + Host: smtp-gotify.iam.svc.cluster.local:2525 + TLS: false + From: zitadel@riotpiao.com + FromName: ZITADEL # First boot is COMPLETE (2026-10-26): the instance, the system org and the # `iam-admin` machine key all exist. Skip stops the setup hook from running # the first-instance step again. Without it, every sync re-runs the