Skip to content

feat(helm): render [gateway] config section in ConfigMap template #566

@JARVIS-coding-Agent

Description

@JARVIS-coding-Agent

Description

The openab binary supports a [gateway] config section (introduced alongside the custom gateway service) with fields url, platform, token, and bot_username. However, the Helm chart's configmap.yaml template does not render this section. Users who deploy the gateway must manually patch the ConfigMap after every helm upgrade, since the upgrade regenerates config.toml from the template and drops the [gateway] block.

Use Case

Users running the custom gateway (e.g. for Telegram) add [gateway] url = "ws://openab-gateway:8080/ws" to the agent ConfigMap manually. On helm upgrade, the ConfigMap is regenerated from the template without [gateway], the pod restarts, and the gateway WebSocket connection is silently lost. Telegram messages arrive at the gateway but are never forwarded to OAB.

Proposed Solution

Add conditional [gateway] rendering to configmap.yaml, following the same pattern as [stt]:

# values.yaml (default — gateway not configured, no impact on existing users)
agents:
  kiro:
    gateway:
      url: ""           # e.g. ws://openab-gateway:8080/ws
      platform: telegram  # default
      token: ""          # optional shared secret
      botUsername: ""     # optional, for @mention gating
# configmap.yaml template addition
{{- if and ($cfg.gateway) ($cfg.gateway).url }}
[gateway]
url = {{ ($cfg.gateway).url | toJson }}
platform = {{ ($cfg.gateway).platform | default "telegram" | toJson }}
{{- if ($cfg.gateway).token }}
token = "${GATEWAY_WS_TOKEN}"
{{- end }}
{{- if ($cfg.gateway).botUsername }}
bot_username = {{ ($cfg.gateway).botUsername | toJson }}
{{- end }}
{{- end }}

When gateway.url is empty (default), no [gateway] section is rendered — zero impact on users who don't use the gateway.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions