Skip to content

Commit 130e75e

Browse files
authored
Merge pull request #780 from agentgateway/ref-docs-main
[Automated] Update reference docs (main) from agentgateway main
2 parents e2a7c30 + e7607b9 commit 130e75e

8 files changed

Lines changed: 6307 additions & 5973 deletions

File tree

assets/agw-docs/pages/agentgateway/llm/virtual-keys.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ Store your virtual keys in a Kubernetes ConfigMap, with one entry per user. Beca
5858

5959
> [!IMPORTANT]
6060
> ConfigMaps with hashed keys (as opposed to Secrets) are the recommended way to store virtual keys. If you need to use Kubernetes Secrets, refer to the [API key authentication guide]({{< link-hextra path="/security/apikey/" >}}) for an example.
61+
>
62+
> Already storing virtual keys in a Secret? Instead of recreating them by hand, use the [`agctl migrate`]({{< link-hextra path="/reference/agctl/agctl-migrate/" >}}) command to convert your existing Secrets into the recommended ConfigMap format.
6163
6264
1. Generate a `sha256:<hex>` hash for each user's API key. The hash is computed over the exact key bytes, so do not include a trailing newline.
6365

@@ -95,6 +97,9 @@ Store your virtual keys in a Kubernetes ConfigMap, with one entry per user. Beca
9597
EOF
9698
```
9799

100+
> [!TIP]
101+
> If you already store virtual keys in a Kubernetes Secret, you do not have to build this ConfigMap by hand. Use the [`agctl migrate`]({{< link-hextra path="/reference/agctl/agctl-migrate/" >}}) command to generate an equivalent ConfigMap (with hashed keys) from your existing Secrets, for example `agctl migrate --apply virtualkeys-to-configmap -n {{< reuse "agw-docs/snippets/namespace.md" >}} | kubectl apply -f -`.
102+
98103
{{% reuse "agw-docs/snippets/review-table.md" %}}
99104

100105
| Setting | Description |
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Migrate agentgateway resources to newer configurations
2+
3+
### Synopsis
4+
5+
Migrate agentgateway resources to newer configurations.
6+
7+
Prints the changes as YAML by default; pass --write to apply them to the cluster.
8+
9+
Available migrations:
10+
virtualkeys-to-configmap
11+
12+
```
13+
agctl migrate [flags]
14+
```
15+
16+
### Examples
17+
18+
```
19+
agctl migrate --apply virtualkeys-to-configmap -n my-namespace | kubectl apply -f -
20+
agctl migrate --apply virtualkeys-to-configmap -n my-namespace > migration.yaml
21+
agctl migrate --apply virtualkeys-to-configmap -n my-namespace --write
22+
```
23+
24+
### Options
25+
26+
```
27+
--apply strings migrations to run, comma-separated (virtualkeys-to-configmap)
28+
-h, --help help for migrate
29+
-n, --namespace string Namespace to migrate resources in
30+
--policy string virtualkeys-to-configmap: only migrate the named resource (default: all matching resources in the namespace)
31+
--write apply the changes to the cluster (default: print YAML)
32+
```
33+
34+
### Options inherited from parent commands
35+
36+
```
37+
-k, --kubeconfig string kubeconfig
38+
```
39+
40+
### SEE ALSO
41+
42+
* [agctl](../agctl/) - agctl controls and inspects Agentgateway resources
43+

assets/agw-docs/pages/reference/agctl/main/agctl.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ agctl controls and inspects Agentgateway resources
1111

1212
* [agctl controller](../agctl-controller/) - Inspect and manage the agentgateway controller
1313
* [agctl costs](../agctl-costs/) - Manage model cost catalogs
14+
* [agctl migrate](../agctl-migrate/) - Migrate agentgateway resources to newer configurations
1415
* [agctl proxy](../agctl-proxy/) - Inspect and manage the agentgateway proxy
1516
* [agctl version](../agctl-version/) - Print agctl version information
1617

assets/agw-docs/pages/reference/api/api-main.md

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -679,6 +679,7 @@ _Validation:_
679679

680680
_Appears in:_
681681
- [BackendAuth](#backendauth)
682+
- [BackendAuthCredential](#backendauthcredential)
682683
- [BedrockGuardrailsAuth](#bedrockguardrailsauth)
683684
- [OAuthTokenExchange](#oauthtokenexchange)
684685
- [OpenAIModerationAuth](#openaimoderationauth)
@@ -996,7 +997,7 @@ _Appears in:_
996997

997998

998999
_Validation:_
999-
- ExactlyOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess]
1000+
- AtMostOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess]
10001001

10011002
_Appears in:_
10021003
- [BackendFull](#backendfull)
@@ -1013,7 +1014,26 @@ _Appears in:_
10131014
| `gcp` _[GcpAuth](#gcpauth)_ | Google authentication method for the backend.<br />When omitted, default Google credential discovery is used. | | Optional: \{\} <br /> |
10141015
| `oauthTokenExchange` _[OAuthTokenExchange](#oauthtokenexchange)_ | OAuth 2.0 token exchange (RFC 8693) / jwt-bearer (RFC 7523) authentication. | | Optional: \{\} <br /> |
10151016
| `crossAppAccess` _[CrossAppAccessAuth](#crossappaccessauth)_ | Cross App Access (Identity Assertion / ID-JAG) authentication. | | Optional: \{\} <br /> |
1016-
| `location` _[AuthorizationLocation](#authorizationlocation)_ | Where backend credentials are inserted. Defaults to the `Authorization`<br />header with the `Bearer ` prefix. Applies to `key`, `secretRef`, and<br />`passthrough`. | | ExactlyOneOf: [header queryParameter cookie] <br />Optional: \{\} <br /> |
1017+
| `location` _[AuthorizationLocation](#authorizationlocation)_ | Where backend credentials are inserted.<br />If omitted, credentials are written to the `Authorization` header with the `Bearer ` prefix.<br />This applies to `key`, `secretRef`, and `passthrough`. Entries in `credentials` carry their own location. | | ExactlyOneOf: [header queryParameter cookie] <br />Optional: \{\} <br /> |
1018+
| `credentials` _[BackendAuthCredential](#backendauthcredential) array_ | Credentials is a list of additional credentials to inject on the<br />backend request. Each entry resolves a Secret key and writes its value<br />to the entry's location. `credentials` is independent of the primary<br />`key`/`secretRef`/`passthrough` mechanism and may be set on its own or<br />alongside it. | | MaxItems: 8 <br />MinItems: 1 <br />Optional: \{\} <br /> |
1019+
1020+
1021+
#### BackendAuthCredential
1022+
1023+
1024+
1025+
BackendAuthCredential specifies one additional credential to inject on the
1026+
backend request.
1027+
1028+
1029+
1030+
_Appears in:_
1031+
- [BackendAuth](#backendauth)
1032+
1033+
| Field | Description | Default | Validation |
1034+
| --- | --- | --- | --- |
1035+
| `location` _[AuthorizationLocation](#authorizationlocation)_ | Where the credential is inserted on the backend request. | | ExactlyOneOf: [header queryParameter cookie] <br />Required: \{\} <br /> |
1036+
| `secretRef` _[LocalSecretKeyRef](#localsecretkeyref)_ | SecretRef references a Kubernetes Secret holding the credential value, and<br />optionally overrides the key read from it. Defaults to `Authorization`,<br />matching the key convention used by the top-level `secretRef`. | | Required: \{\} <br /> |
10171037

10181038

10191039
#### BackendAuthPassthrough
@@ -1087,7 +1107,7 @@ _Appears in:_
10871107
| `tls` _[BackendTLS](#backendtls)_ | Settings for managing TLS connections to the backend<br />When set, TLS is originated to the backend using the system trusted CA<br />certificates, and SNI is inferred from the destination. | | AtMostOneOf: [verifySubjectAltNames insecureSkipVerify] <br />Optional: \{\} <br /> |
10881108
| `http` _[BackendHTTP](#backendhttp)_ | Settings for managing HTTP requests to the backend | | Optional: \{\} <br /> |
10891109
| `tunnel` _[BackendTunnel](#backendtunnel)_ | Settings for managing tunnel connections to the backend, like `HTTPS_PROXY` | | Optional: \{\} <br /> |
1090-
| `auth` _[BackendAuth](#backendauth)_ | Settings for managing authentication to the backend | | ExactlyOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess] <br />Optional: \{\} <br /> |
1110+
| `auth` _[BackendAuth](#backendauth)_ | Settings for managing authentication to the backend | | AtMostOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess] <br />Optional: \{\} <br /> |
10911111
| `ai` _[BackendAI](#backendai)_ | Settings for AI workloads. This is only applicable when<br />connecting to a `Backend` of type `ai`. | | Optional: \{\} <br /> |
10921112
| `mcp` _[BackendMCP](#backendmcp)_ | Settings for MCP workloads. This is only applicable when<br />connecting to a `Backend` of type `mcp`. | | Optional: \{\} <br /> |
10931113
| `transformation` _[Transformation](#transformation)_ | Mutates and transforms requests and responses sent to and from the backend. | | Optional: \{\} <br /> |
@@ -1155,7 +1175,7 @@ _Appears in:_
11551175
| `tls` _[BackendTLS](#backendtls)_ | Settings for managing TLS connections to the backend<br />When set, TLS is originated to the backend using the system trusted CA<br />certificates, and SNI is inferred from the destination. | | AtMostOneOf: [verifySubjectAltNames insecureSkipVerify] <br />Optional: \{\} <br /> |
11561176
| `http` _[BackendHTTP](#backendhttp)_ | Settings for managing HTTP requests to the backend | | Optional: \{\} <br /> |
11571177
| `tunnel` _[BackendTunnel](#backendtunnel)_ | Settings for managing tunnel connections to the backend, like `HTTPS_PROXY` | | Optional: \{\} <br /> |
1158-
| `auth` _[BackendAuth](#backendauth)_ | Settings for managing authentication to the backend | | ExactlyOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess] <br />Optional: \{\} <br /> |
1178+
| `auth` _[BackendAuth](#backendauth)_ | Settings for managing authentication to the backend | | AtMostOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess] <br />Optional: \{\} <br /> |
11591179

11601180

11611181
#### BackendTCP
@@ -1249,7 +1269,7 @@ _Appears in:_
12491269
| `tls` _[BackendTLS](#backendtls)_ | Settings for managing TLS connections to the backend<br />When set, TLS is originated to the backend using the system trusted CA<br />certificates, and SNI is inferred from the destination. | | AtMostOneOf: [verifySubjectAltNames insecureSkipVerify] <br />Optional: \{\} <br /> |
12501270
| `http` _[BackendHTTP](#backendhttp)_ | Settings for managing HTTP requests to the backend | | Optional: \{\} <br /> |
12511271
| `tunnel` _[BackendTunnel](#backendtunnel)_ | Settings for managing tunnel connections to the backend, like `HTTPS_PROXY` | | Optional: \{\} <br /> |
1252-
| `auth` _[BackendAuth](#backendauth)_ | Settings for managing authentication to the backend | | ExactlyOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess] <br />Optional: \{\} <br /> |
1272+
| `auth` _[BackendAuth](#backendauth)_ | Settings for managing authentication to the backend | | AtMostOneOf: [key secretRef passthrough aws azure gcp oauthTokenExchange crossAppAccess] <br />Optional: \{\} <br /> |
12531273
| `ai` _[BackendAI](#backendai)_ | Settings for AI workloads. This is only applicable when<br />connecting to a `Backend` of type `ai`. | | Optional: \{\} <br /> |
12541274
| `transformation` _[Transformation](#transformation)_ | Mutates and transforms requests and responses sent to and from the backend. | | Optional: \{\} <br /> |
12551275
| `health` _[Health](#health)_ | Settings for passive and active health checking. | | Optional: \{\} <br /> |
@@ -2891,6 +2911,7 @@ location-specific default key is used.
28912911

28922912
_Appears in:_
28932913
- [BackendAuth](#backendauth)
2914+
- [BackendAuthCredential](#backendauthcredential)
28942915
- [BasicAuthentication](#basicauthentication)
28952916
- [BedrockGuardrailsAuth](#bedrockguardrailsauth)
28962917
- [GcpAuth](#gcpauth)

0 commit comments

Comments
 (0)