Breaking changes. See the migration guide.
- Update to Zulip Server 12.0-1.
- Decouple chart
versionfrom Zulip'sappVersion. Earlier
releases pegged the chart's minor to Zulip's major (1.12.xfor
Zulip 12.x); 2.0 ends that.appVersioncontinues to track Zulip
releases independently. - Rename
postgresql.auth.postgresqlPasswordtopostgresPassword
to match what Bitnami's PostgreSQL 18.x chart consumes; the old
key was silently ignored. - Move
memcached.memcachedUsername/memcachedPasswordto
memcached.auth.username/memcached.auth.passwordand default
memcached.auth.enabled: true. The subchart now actually runs
with SASL enabled instead of accepting credentials it never
validated. - Rename
zulip.persistence.accessMode(string) toaccessModes
(list), aligning with the Kubernetes API and the rest of the
Helm ecosystem. - Remove the deprecated
zulip.passwordvalue; use
zulip.environment.SECRETS_secret_key(with optionalvalueFrom
for Kubernetes Secrets) instead. - Replace
statefulSetLabelswithcommonLabels, which propagates
to every resource the chart creates (not just the StatefulSet). - Remove the
TRUST_GATEWAY_IP: truedefault; rely on
zulip.environment.LOADBALANCER_IPSfor proxy trust. Probes use
loopback to bypass the trust check; see
docs/how-to/helm-proxy-trust.md. - Advertise the Helm install to Zulip via
SETTING_RUNNING_IN_HELM
so upstream Zulip's error pages can recommend the Helm-specific
knob (zulip.environment.LOADBALANCER_IPS) instead of a bare
Docker env var. - Add helm-unittest assertions that operator-set credentials reach
the subchart Secrets, so future subchart bumps that rename or
restructure credential keys fail CI loudly rather than silently
shipping unauthenticated services.