Skip to content

fix: slack channel-mode keys in connectivity schema + retire dmOnly#210

Merged
QuentinBisson merged 3 commits into
mainfrom
fix/klausgateway-slack-surface-schema
Jul 22, 2026
Merged

fix: slack channel-mode keys in connectivity schema + retire dmOnly#210
QuentinBisson merged 3 commits into
mainfrom
fix/klausgateway-slack-surface-schema

Conversation

@QuentinBisson

@QuentinBisson QuentinBisson commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Stacked on #209 — merge that first (this PR is based on its branch and GitHub will retarget to main once #209 lands).

What

#209 adds channelMode/channelAllowlist/dmMode to the umbrella values.schema.json. This PR adds the delta #209 doesn't cover:

  1. Connectivity schema parity. The umbrella forwards its whole klausGateway block to the agentic-platform-connectivity HelmRelease via forwardAllValues. Its slack schema is also additionalProperties: false and lacks these keys, so fixing only the umbrella relocates Additional property channelMode is not allowed to the connectivity release once the umbrella upgrade reconciles. Same three keys now declared there too.
  2. Retire dmOnly. klaus-gateway removed SLACK_DM_ONLY / slack.dmOnly (replaced by dmMode + channelMode) and ignores a leftover value. Dropped from values.yaml and both schemas.

Migration (breaking for installs still setting dmOnly)

  • dmOnly: truedmMode: serve + channelMode: none
  • dmOnly: false (channels served, DMs redirected) → dmMode: redirect + channelMode: all

graveler config giantswarm-configs#742 sets dmOnly: true and must migrate before this merges. gazelle (#762) already uses the new keys.

Verification

helm lint on both charts: default values pass, surface-mode values pass, and dmOnly is now rejected (Additional property dmOnly is not allowed).

fiunchinho and others added 2 commits July 21, 2026 18:43
…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).
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.
@QuentinBisson
QuentinBisson force-pushed the fix/klausgateway-slack-surface-schema branch from 6d7623f to f57fbe0 Compare July 22, 2026 00:07
@QuentinBisson
QuentinBisson changed the base branch from main to fix-klausgateway-slack-channel-mode-schema July 22, 2026 00:07
@QuentinBisson QuentinBisson changed the title fix: allow klausGateway.slack surface-mode keys in values schema fix: slack channel-mode keys in connectivity schema + retire dmOnly Jul 22, 2026
@paurosello
paurosello marked this pull request as ready for review July 22, 2026 07:19
@paurosello
paurosello requested a review from a team as a code owner July 22, 2026 07:19
Base automatically changed from fix-klausgateway-slack-channel-mode-schema to main July 22, 2026 07:19
@QuentinBisson
QuentinBisson enabled auto-merge (squash) July 22, 2026 07:45
@QuentinBisson
QuentinBisson merged commit d6713eb into main Jul 22, 2026
7 of 8 checks passed
@QuentinBisson
QuentinBisson deleted the fix/klausgateway-slack-surface-schema branch July 22, 2026 07:46
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