Skip to content

feat(helm): further credential providers for the egress gateway - #90

Open
QuentinBisson wants to merge 2 commits into
kagent-dev:mainfrom
QuentinBisson:feat/egress-credential-providers
Open

QuentinBisson wants to merge 2 commits into
kagent-dev:mainfrom
QuentinBisson:feat/egress-credential-providers

Conversation

@QuentinBisson

Copy link
Copy Markdown

Problem

The egress gateway already selects a credential provider by the ate-secret:// URI authority (credentialProviders is a list), but the chart renders the bundled k8s.io provider only. An installation that keeps k8s.io for API keys cannot add a provider of its own beside it, such as one that resolves a caller's credential or exchanges a service account key for a short-lived token, without patching the template.

Change

credentialProvider.additionalProviders adds entries (uriAuthority, host as <service>.<namespace>.svc:<port>) to both egress listeners next to k8s.io, dialed with the gateway's pod identity and verified against the servicedns.podcert.ate.dev trust bundle. Entries are validated: a lowercase DNS name, no replacing k8s.io, no repeated authority. The default render is unchanged; a helm unittest suite covers the entries and the refusals.

The egress gateway already selects a credential provider by URI authority,
but the chart rendered the bundled k8s.io provider only. The value
credentialProvider.additionalProviders adds providers beside it on both the
HTTPS and the HTTP listener, each dialed with the gateway's pod identity and
verified against the servicedns.podcert.ate.dev trust bundle. An entry needs
a lowercase DNS name as uriAuthority and <service>.<namespace>.svc:<port> as
host, cannot replace k8s.io and cannot repeat an authority. The default
render is unchanged.
@QuentinBisson
QuentinBisson marked this pull request as ready for review October 18, 2026 12:56
QuentinBisson added a commit to giantswarm/substrate that referenced this pull request Oct 18, 2026
…he dropped class

FORK.md names kagent-dev#90 as the upstream exit of the routing
value, which covers the chart only. The upgrade step describes the window
in which the bundled provider refuses a Google access-token fetch without
claiming a status code or retry. The parser keeps refusing an unknown
k8s.io subdomain and now refuses google-access-token.k8s.io explicitly.
QuentinBisson added a commit to giantswarm/substrate that referenced this pull request Oct 18, 2026
…he dropped class

FORK.md names kagent-dev#90 as the upstream exit of the routing
value, which covers the chart only. The upgrade step describes the window
in which the bundled provider refuses a Google access-token fetch without
claiming a status code or retry. The parser keeps refusing an unknown
k8s.io subdomain and now refuses google-access-token.k8s.io explicitly.
Signed-off-by: Quentin Bisson <quentin.bisson@gmail.com>
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.

1 participant