Skip to content

fix(schema): allow klausGateway.slack channelMode, channelAllowlist, dmMode#209

Merged
QuentinBisson merged 1 commit into
mainfrom
fix-klausgateway-slack-channel-mode-schema
Jul 22, 2026
Merged

fix(schema): allow klausGateway.slack channelMode, channelAllowlist, dmMode#209
QuentinBisson merged 1 commit into
mainfrom
fix-klausgateway-slack-channel-mode-schema

Conversation

@fiunchinho

Copy link
Copy Markdown
Member

What

Adds channelMode, channelAllowlist, and dmMode to the umbrella chart's klausGateway.slack schema, mirroring the klaus-gateway 0.20.x subchart schema (same types and enums).

Why

Fixes PagerDuty incident #6917 (FluxGiantswarmHelmReleaseFailed on gazelle).

giantswarm/giantswarm-configs#762 set these keys for gazelle's swarmgeist channel pilot. The klaus-gateway subchart supports them, but the umbrella schema (additionalProperties: false) was never extended, so every reconcile fails before rendering:

values don't meet the specifications of the schema(s) in the following chart(s):
agentic-platform:
- klausGateway.slack: Additional property channelMode is not allowed
- klausGateway.slack: Additional property dmMode is not allowed
- klausGateway.slack: Additional property channelAllowlist is not allowed

gazelle is pinned on chart 2.2.0 (last good deploy 2026-07-21 10:38 UTC); all newer releases (2.2.1–2.4.0, incl. the muster 1.x bump) are blocked behind this validation failure.

Verification

  • helm lint with gazelle's failing klausGateway.slack values: fails on main (6 schema errors), passes with this change.
  • Note: the subchart no longer declares dmOnly (superseded by dmMode); left in the umbrella schema untouched to stay surgical.

…dmMode

The klaus-gateway subchart (0.20.x) introduced channel-mode routing, but the
umbrella schema's klausGateway.slack block (additionalProperties: false) was
never extended. Any installation setting these keys — e.g. gazelle's
swarmgeist channel pilot (giantswarm-configs#762) — failed the helm upgrade at
schema validation, leaving the HelmRelease stuck in Failed (PD incident #6917).

Mirror the subchart's schema for the three keys (same types and enums).
@fiunchinho fiunchinho self-assigned this Jul 21, 2026
QuentinBisson added a commit that referenced this pull request Jul 22, 2026
Stacked on #209 (umbrella schema). #209 fixes only the umbrella, but the
umbrella forwards the whole klausGateway block to the connectivity
HelmRelease via forwardAllValues, so the same channelMode/dmMode/
channelAllowlist keys must be declared in the connectivity schema too or
the Additional-property failure just moves downstream once the umbrella
reconciles.

Also retires the dead slack.dmOnly key: klaus-gateway removed SLACK_DM_ONLY
(replaced by dmMode + channelMode). Dropped from values.yaml and both
schemas. Migration: dmOnly:true -> dmMode:serve + channelMode:none;
dmOnly:false -> dmMode:redirect + channelMode:all.
@paurosello
paurosello marked this pull request as ready for review July 22, 2026 07:18
@paurosello
paurosello requested a review from a team as a code owner July 22, 2026 07:18
@QuentinBisson
QuentinBisson merged commit 4976a5a into main Jul 22, 2026
8 checks passed
@QuentinBisson
QuentinBisson deleted the fix-klausgateway-slack-channel-mode-schema branch July 22, 2026 07:19
QuentinBisson added a commit that referenced this pull request Jul 22, 2026
…210)

* fix(schema): allow klausGateway.slack channelMode, channelAllowlist, dmMode

The klaus-gateway subchart (0.20.x) introduced channel-mode routing, but the
umbrella schema's klausGateway.slack block (additionalProperties: false) was
never extended. Any installation setting these keys — e.g. gazelle's
swarmgeist channel pilot (giantswarm-configs#762) — failed the helm upgrade at
schema validation, leaving the HelmRelease stuck in Failed (PD incident #6917).

Mirror the subchart's schema for the three keys (same types and enums).

* fix: mirror slack channel-mode keys to connectivity schema, drop dmOnly

Stacked on #209 (umbrella schema). #209 fixes only the umbrella, but the
umbrella forwards the whole klausGateway block to the connectivity
HelmRelease via forwardAllValues, so the same channelMode/dmMode/
channelAllowlist keys must be declared in the connectivity schema too or
the Additional-property failure just moves downstream once the umbrella
reconciles.

Also retires the dead slack.dmOnly key: klaus-gateway removed SLACK_DM_ONLY
(replaced by dmMode + channelMode). Dropped from values.yaml and both
schemas. Migration: dmOnly:true -> dmMode:serve + channelMode:none;
dmOnly:false -> dmMode:redirect + channelMode:all.

---------

Co-authored-by: Jose Armesto <github@armesto.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants