Skip to content

feat(credprovider): a provider bounds how long the injector reuses its answer - #110

Draft
QuentinBisson wants to merge 2 commits into
giantswarmfrom
feat/credential-max-age
Draft

QuentinBisson wants to merge 2 commits into
giantswarmfrom
feat/credential-max-age

Conversation

@QuentinBisson

@QuentinBisson QuentinBisson commented Oct 2, 2026 •

Copy link
Copy Markdown

Problem

The egress gateway's injector reuses a fetched secret for the same actor and URI for as long as it likes. A provider whose answer depends on who is acting on the actor right now (kagent answering with the token of the person whose turn runs) cannot say "this answer is good for this request only".

Change

FetchSecretResponse.max_age: unset keeps the injector's default, zero makes it fetch again for every request, and no injector reuses an answer past its own default. atenet's Go injector keeps no cache, so it already honours zero; agentgateway's cache honours the field in giantswarm/agentgateway-upstream#37. Towards giantswarm/giantswarm#38056.

@QuentinBisson

Copy link
Copy Markdown
Author

Parked: git as the person is postponed. Upstream Substrate is redesigning this area (actor JWT injection merged in agent-substrate#1960, token exchange of the actor JWT in agent-substrate#1661, the actor JWT contract in agent-substrate#1756), which likely supersedes this provider design, and this fork line has to re-pin past agent-substrate#1809 before it can follow. Kept as a draft so it can resume in place; tracking in giantswarm/giantswarm#38064.

…s answer

FetchSecretResponse.max_age: unset keeps the injector's default, zero makes
it fetch the secret again for every request, and an injector never reuses an
answer past its own default.

Signed-off-by: QuentinBisson <quentin@giantswarm.io>
…l cache

The Kubernetes provider guide described the egress gateway's five-minute credential cache as fixed. FetchSecretResponse.max_age lets a provider shorten it, down to a fetch for every request.

Signed-off-by: QuentinBisson <quentin@giantswarm.io>
@QuentinBisson
QuentinBisson force-pushed the feat/credential-max-age branch from 92cd40b to ebbcdd0 Compare October 8, 2026 21:31
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