Skip to content

Document using more than one egress credential provider - #3410

Open
Max Thompson (thompsonmax) wants to merge 1 commit into
agent-substrate:mainfrom
thompsonmax:multi-credential-providers-docs
Open

Max Thompson (thompsonmax) wants to merge 1 commit into
agent-substrate:mainfrom
thompsonmax:multi-credential-providers-docs

Conversation

@thompsonmax

@thompsonmax Max Thompson (thompsonmax) commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Part of #1661.

  • Documents the JSON array form of ate-setup's --credential-provider in docs/guides/egress-credential-injection.md and cmd/ate-setup/commands.md, and that the gateway sends each ate-secret:// URI to the provider its host names.
  • Updates comments that still described one provider: the egress manifest's marker comment and cmd/atenet/internal/router/egress/provider.go.

Docs and comments only, so it can merge during the freeze.

AI use: AI-assisted draft, reviewed by me.

  • Tests pass (no code changes)
  • Docs updated

@thompsonmax
Max Thompson (thompsonmax) force-pushed the multi-credential-providers-docs branch 3 times, most recently from 8853895 to db6ee27 Compare October 29, 2026 04:26
Yufan Su (yufan-su) pushed a commit to yufan-su/substrate that referenced this pull request Oct 29, 2026
…ent-substrate#3409)

Part of agent-substrate#1661.

We plan an out-of-tree credential provider that exchanges an actor's JWT
for a cloud access token (RFC 8693), so actors can call Google Cloud
APIs as themselves. Clusters will also run Secret Manager or Kubernetes
Secrets providers. Today the egress gateway dials one provider and
refuses URIs naming any other, which prevents us from supporting
multiple credential providers.

- atenet's `--credential-provider-name`, `-address` and `-server-name`
repeat once per provider. The gateway sends each `ate-secret://` URI to
the provider its host names, and still fails closed on any other.
- ate-setup's `--credential-provider` also takes a JSON array, rendered
for both the Envoy and agentgateway dataplanes.

The single-object JSON and single flags behave as before, except that
atenet now rejects an empty `--credential-provider-address`, which used
to turn injection off, and an address without a
`--credential-provider-name` (ate-setup always passes both;
`--credential-provider-name=` keeps the unchecked dev mode). Providers
share one CA and client certificate, as they do today. Docs follow in
agent-substrate#3410.

Tested with unit tests. Not run: kind e2e with two providers, which is
worth a follow-up, or agentgateway with more than one entry.

AI use: AI-assisted, I reviewed and tested it.

- [x] Tests pass
- [x] Docs updated (in agent-substrate#3410)

---------

Signed-off-by: Max Thompson <maxthomp@google.com>
Document --credential-provider's JSON array form, and that the egress
gateway sends each credential URI to the provider its host names.

Signed-off-by: Max Thompson <maxthomp@google.com>

This branch has not been deployed

No deployments
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