For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.
AgentgatewayBackend
Use AgentgatewayBackends to configure the target services that agentgateway routes traffic to.
Explore the configuration reference by clicking on a property name or expanding the property types. Use the in-field search bar to search for a property. The reference is also available as a table.- apiVersionstring
- kindstring
- metadataobject
- *spec
- ai
- groups
- *providers
- anthropic
- modelstring
- azure
- apiVersionstring
- modelstring
- projectNamestring
- *resourceNamestring
- *resourceTypestring
- azureopenai
- apiVersionstring
- deploymentNamestring
- *endpointstring
- bedrock
- guardrail
- *identifierstring
- *versionstring
- modelstring
- regionstring
- gemini
- modelstring
- hoststring
- *namestring
- openai
- modelstring
- pathstring
- pathPrefixstring
- policies
- ai
- defaults
- *fieldstring
- *valueobject
- modelAliasesobject
- overrides
- *fieldstring
- *valueobject
- prompt
- append
- *contentstring
- *rolestring
- prepend
- *contentstring
- *rolestring
- promptCaching
- cacheMessageOffsetinteger
- cacheMessagesboolean
- cacheSystemboolean
- cacheToolsboolean
- minTokensinteger
- promptGuard
- request
- bedrockGuardrails
- *identifierstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *regionstring
- *versionstring
- googleModelArmor
- locationstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *projectIdstring
- *templateIdstring
- openAIModeration
- modelstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- regex
- actionstring
- builtinsstring[]
- matchesstring[]
- response
- messagestring
- statusCodeinteger
- webhook
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- forwardHeaderMatches
- *namestring
- typestring
- *valuestring
- response
- bedrockGuardrails
- *identifierstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *regionstring
- *versionstring
- googleModelArmor
- locationstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *projectIdstring
- *templateIdstring
- regex
- actionstring
- builtinsstring[]
- matchesstring[]
- response
- messagestring
- statusCodeinteger
- webhook
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- forwardHeaderMatches
- *namestring
- typestring
- *valuestring
- routesobject
- transformations
- *expressionstring
- *fieldstring
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- health
- eviction
- consecutiveFailuresinteger
- durationstring
- healthThresholdinteger
- restoreHealthinteger
- unhealthyConditionstring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- transformation
- request
- add
- *namestring
- *valuestring
- bodystring
- metadataobject
- removestring[]
- set
- *namestring
- *valuestring
- response
- add
- *namestring
- *valuestring
- bodystring
- metadataobject
- removestring[]
- set
- *namestring
- *valuestring
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- portinteger
- vertexai
- modelstring
- *projectIdstring
- regionstring
- provider
- anthropic
- modelstring
- azure
- apiVersionstring
- modelstring
- projectNamestring
- *resourceNamestring
- *resourceTypestring
- azureopenai
- apiVersionstring
- deploymentNamestring
- *endpointstring
- bedrock
- guardrail
- *identifierstring
- *versionstring
- modelstring
- regionstring
- gemini
- modelstring
- hoststring
- openai
- modelstring
- pathstring
- pathPrefixstring
- portinteger
- vertexai
- modelstring
- *projectIdstring
- regionstring
- aws
- agentCore
- *agentRuntimeArnstring
- qualifierstring
- dynamicForwardProxyobject
- mcp
- failureModestring
- sessionRoutingstring
- *targets
- *namestring
- selector
- namespaces
- matchExpressions
- *keystring
- *operatorstring
- valuesstring[]
- matchLabelsobject
- services
- matchExpressions
- *keystring
- *operatorstring
- valuesstring[]
- matchLabelsobject
- static
- backendRef
- namestring
- hoststring
- pathstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *portinteger
- protocolstring
- policies
- ai
- defaults
- *fieldstring
- *valueobject
- modelAliasesobject
- overrides
- *fieldstring
- *valueobject
- prompt
- append
- *contentstring
- *rolestring
- prepend
- *contentstring
- *rolestring
- promptCaching
- cacheMessageOffsetinteger
- cacheMessagesboolean
- cacheSystemboolean
- cacheToolsboolean
- minTokensinteger
- promptGuard
- request
- bedrockGuardrails
- *identifierstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *regionstring
- *versionstring
- googleModelArmor
- locationstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *projectIdstring
- *templateIdstring
- openAIModeration
- modelstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- regex
- actionstring
- builtinsstring[]
- matchesstring[]
- response
- messagestring
- statusCodeinteger
- webhook
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- forwardHeaderMatches
- *namestring
- typestring
- *valuestring
- response
- bedrockGuardrails
- *identifierstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *regionstring
- *versionstring
- googleModelArmor
- locationstring
- policies
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- http
- requestTimeoutstring
- versionstring
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- *projectIdstring
- *templateIdstring
- regex
- actionstring
- builtinsstring[]
- matchesstring[]
- response
- messagestring
- statusCodeinteger
- webhook
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- forwardHeaderMatches
- *namestring
- typestring
- *valuestring
- routesobject
- transformations
- *expressionstring
- *fieldstring
- auth
- aws
- *secretRef
- namestring
- azure
- managedIdentity
- *clientIdstring
- *objectIdstring
- *resourceIdstring
- secretRef
- namestring
- gcp
- audiencestring
- typestring
- keystring
- location
- cookie
- *namestring
- header
- *namestring
- prefixstring
- queryParameter
- *namestring
- passthroughobject
- secretRef
- namestring
- health
- eviction
- consecutiveFailuresinteger
- durationstring
- healthThresholdinteger
- restoreHealthinteger
- unhealthyConditionstring
- http
- requestTimeoutstring
- versionstring
- mcp
- authentication
- audiencesstring[]
- issuerstring
- *jwks
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- cacheDurationstring
- *jwksPathstring
- modestring
- providerstring
- resourceMetadataobject
- authorization
- actionstring
- *policy
- *matchExpressionsstring[]
- tcp
- connectTimeoutstring
- keepalive
- intervalstring
- retriesinteger
- timestring
- tls
- alpnProtocolsstring[]
- caCertificateRefs
- namestring
- insecureSkipVerifystring
- mtlsCertificateRef
- namestring
- snistring
- verifySubjectAltNamesstring[]
- transformation
- request
- add
- *namestring
- *valuestring
- bodystring
- metadataobject
- removestring[]
- set
- *namestring
- *valuestring
- response
- add
- *namestring
- *valuestring
- bodystring
- metadataobject
- removestring[]
- set
- *namestring
- *valuestring
- tunnel
- *backendRef
- groupstring
- kindstring
- *namestring
- namespacestring
- portinteger
- static
- hoststring
- portinteger
- unixPathstring
- status
- conditions
- *lastTransitionTimestring
- *messagestring
- observedGenerationinteger
- *reasonstring
- *statusstring
- *typestring
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Validation
Validation
Documentation References (21)
groups specifies a list of groups in priority order where each groupdefines a set of LLM providers. The priority determines the priority of
the backend endpoints chosen.
Note: provider names must be unique across all providers in all priority
groups. Backend policies may target a specific provider by name using
targetRefs[].sectionName.groups:
- providers:
- azureopenai:
deploymentName: gpt-4o-mini
apiVersion: 2024-02-15-preview
endpoint: ai-gateway.openai.azure.com
- providers:
- azureopenai:
deploymentName: gpt-4o-mini-2
apiVersion: 2024-02-15-preview
endpoint: ai-gateway-2.openai.azure.com
policies:
auth:
secretRef:
name: azure-secretValidation
Documentation References (2)
with automatic weighting based on health.
Validation
Documentation References (2)
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Documentation References (1)
Supports both Azure OpenAI and Azure AI Foundry resource types.
Validation
If unset, defaults to
v1.Validation
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
resourceType is Foundry.Used to construct paths: /api/projects/{projectName}/openai/v1/...
Validation
For OpenAI: {resourceName}.openai.azure.com
For Foundry: {resourceName}-resource.services.ai.azure.com
Validation
Validation
Validation
For more information, see the [Azure OpenAI API version reference](https://learn.microsoft.com/en-us/azure/foundry/openai/reference).
If unset, defaults to
v1.Validation
For more information, see the [Azure OpenAI model docs](https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure?view=foundry-classic).
This is required if
apiVersion is not v1. For v1, the model can beset in the request.
Validation
my-endpoint.openai.azure.com.If the scheme is included, it is stripped.
Validation
guardrail configures the Guardrail policy to use for the backend. See<https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html>.
If not specified, the AWS Guardrail policy will not be used.
Validation
Validation
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Defaults to
us-east-1 if not specified.Validation
gemini-2.5-pro.If unset, the model name is taken from the request.
Validation
If not specified, the default hostname for the provider is used.
Validation
Validation
Documentation References (2)
Documentation References (2)
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Documentation References (2)
This is useful when you need to route requests to a different API endpoint while maintaining
compatibility with the original provider's API structure.
If not specified, the default path for the provider is used.
Validation
Path translation for cross-format requests still applies using this prefix.
Only supported for OpenAI and Anthropic providers.
Validation
policies controls policies for communicating with this backend.Policies may also be set in
AgentgatewayPolicy, or in the top-levelAgentgatewayBackend. Policies are merged on a field-level basis, withorder:
AgentgatewayPolicy < AgentgatewayBackend < AgentgatewayBackendLLM provider (this field).
Validation
Documentation References (2)
ai specifies settings for AI workloads. This is only applicable whenconnecting to a
Backend of type ai.Validation
Validation
Validation
Validation
Example:
{"fast": "gpt-3.5-turbo", "smart": "gpt-4-turbo"}.Note: This field is only applicable when using the agentgateway data plane.
Validation
Validation
Validation
Validation
LLM providers that use the
CHAT or CHAT_STREAMING API route type.LLM provider model, such as
SYSTEM or USER in the OpenAI API.LLM provider model, such as
SYSTEM or USER in the OpenAI API.promptCaching enables automatic prompt caching for supportedproviders, currently AWS Bedrock.
Reduces API costs by caching static content like system prompts and tool definitions.
Only applicable for Bedrock Claude 3+ and Nova models.
conversation. 0 (default) places it at the second-to-last message.
Higher values move it N additional messages towards the start, clamped
to bounds.
Validation
Caches all messages in the conversation for cost savings.
Validation
Inserts a cache point after all system messages.
Validation
Inserts a cache point after all tool specifications.
Validation
before caching is enabled. Uses rough heuristic (word count × 1.3) to estimate tokens.
Bedrock requires at least 1,024 tokens for caching to be effective.
Validation
promptGuard enables adding guardrails to LLM requests and responses.Validation
Validation
bedrockGuardrails configures AWS Bedrock Guardrails for promptguarding.
Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
us-west-2).Validation
Validation
googleModelArmor configures Google Model Armor for prompt guarding.us-central1).Defaults to
us-central1 if not specified.Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
Validation
openAIModeration passes prompt data through the OpenAI Moderationsendpoint.
See https://developers.openai.com/api/reference/resources/moderations for more information.
model specifies the moderation model to use. For example,omni-moderation.auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
This setting applies only to request matches.
PromptguardResponsematches are always masked by default.
Defaults to
Mask.Validation
Matches and built-ins are additive.
Matches and built-ins are additive.
The request was rejected due to inappropriate content.Validation
The request was rejected due to inappropriate content.Validation
Validation
Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
used to select the headers to forward to the webhook.
Request headers are used when forwarding requests and response headers
are used when forwarding responses.
By default, no headers are forwarded.
case-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).
entry with an equivalent name MUST be considered for a match. Subsequent
entries with an equivalent header name MUST be ignored. Due to the
case-insensitivity of header names, "foo" and "Foo" are considered
equivalent.
implementation-specific behavior as to how this is represented.
Generally, proxies should follow the guidance from the RFC:
https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2 regarding
processing a repeated header, with special handling for "Set-Cookie".
Validation
conformance, implementations can support POSIX, PCRE or any other dialects
of regular expressions. Please read the implementation's documentation to
determine the supported dialect.
Validation
<gateway:experimental:description>
Must consist of printable US-ASCII characters, optionally separated
by single tabs or spaces. See: https://tools.ietf.org/html/rfc7230#section-3.2
</gateway:experimental:description>
^[!-~]+([\t ]?[!-~]+)*$>Validation
Validation
bedrockGuardrails configures AWS Bedrock Guardrails for promptguarding.
Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
us-west-2).Validation
Validation
googleModelArmor configures Google Model Armor for prompt guarding.us-central1).Defaults to
us-central1 if not specified.Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
Validation
This setting applies only to request matches.
PromptguardResponsematches are always masked by default.
Defaults to
Mask.Validation
Matches and built-ins are additive.
Matches and built-ins are additive.
The response was rejected due to inappropriate content.Validation
The request was rejected due to inappropriate content.Validation
Validation
Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
used to select the headers to forward to the webhook.
Request headers are used when forwarding requests and response headers
are used when forwarding responses.
By default, no headers are forwarded.
case-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).
entry with an equivalent name MUST be considered for a match. Subsequent
entries with an equivalent header name MUST be ignored. Due to the
case-insensitivity of header names, "foo" and "Foo" are considered
equivalent.
implementation-specific behavior as to how this is represented.
Generally, proxies should follow the guidance from the RFC:
https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2 regarding
processing a repeated header, with special handling for "Set-Cookie".
Validation
conformance, implementations can support POSIX, PCRE or any other dialects
of regular expressions. Please read the implementation's documentation to
determine the supported dialect.
Validation
<gateway:experimental:description>
Must consist of printable US-ASCII characters, optionally separated
by single tabs or spaces. See: https://tools.ietf.org/html/rfc7230#section-3.2
</gateway:experimental:description>
^[!-~]+([\t ]?[!-~]+)*$>Validation
routes defines how to identify the type of traffic to handle.The keys are URL path suffixes matched using ends-with comparison, for
example
"/v1/chat/completions".The special
* wildcard matches any path.If not specified, all traffic defaults to
completions type.The expression result overwrites any existing value for that field.
This has a higher priority than
overrides if both are set for the samekey.
Validation
Validation
Validation
auth defines settings for managing authentication to the backend.Validation
Documentation References (2)
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
Documentation References (2)
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Documentation References (2)
For example, a value of 5 means the backend must receive 5 unhealthy responses in a row before being evicted.
When both consecutiveFailures and healthThreshold are set, the backend is evicted when either condition is met.
When neither is set, a single unhealthy response can trigger eviction.
Validation
Subsequent evictions use multiplicative backoff (duration * times_evicted).
If all endpoints are evicted, the load balancer falls back to returning evicted endpoints
rather than failing entirely.
If unset, defaults to
3s.Validation
When set, a backend is only evicted if its computed health drops below this value after an unhealthy response.
For example, 50 means the backend is evicted when its EWMA health falls below 50% following failures.
Unlike consecutiveFailures (which counts consecutive failures), this uses a sliding-window average
so a single success in a stream of failures can delay eviction.
When both consecutiveFailures and healthThreshold are set, the backend is evicted when either condition is met.
When neither is set, a single unhealthy response triggers eviction.
Validation
For gradual recovery, set below 100; for full recovery immediately, set 100.
If unset, the backend resumes with the health it had when evicted.
Validation
When the expression evaluates to true, the backend is considered unhealthy and may be evicted.
response.code >= 500.This default lowers the backend's health score but does not trigger eviction on its own.
Validation
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
Validation
request is used to modify the request path.Validation
add is a list of headers to add to the request and what that valueshould be set to. If there is already a header with these values then
append the value as an extra entry.
Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
body controls manipulation of the HTTP body.Validation
metadata stores CEL-evaluated values under the metadata CEL variablefor subsequent policy evaluations.
metadata is evaluated before headeror body transformations.
Validation
remove is a list of header names to remove from the request orresponse.
Validation
set is a list of headers and the value they should be set to.Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
response is used to modify the response path.Validation
add is a list of headers to add to the request and what that valueshould be set to. If there is already a header with these values then
append the value as an extra entry.
Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
body controls manipulation of the HTTP body.Validation
metadata stores CEL-evaluated values under the metadata CEL variablefor subsequent policy evaluations.
metadata is evaluated before headeror body transformations.
Validation
remove is a list of header names to remove from the request orresponse.
Validation
set is a list of headers and the value they should be set to.Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Validation
Defaults to
global if not specified.Validation
provider specifies configuration for how to reach the configured LLMprovider.
Validation
Documentation References (18)
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Documentation References (1)
Supports both Azure OpenAI and Azure AI Foundry resource types.
Validation
Documentation References (1)
If unset, defaults to
v1.Validation
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Documentation References (1)
resourceType is Foundry.Used to construct paths: /api/projects/{projectName}/openai/v1/...
Validation
Documentation References (1)
For OpenAI: {resourceName}.openai.azure.com
For Foundry: {resourceName}-resource.services.ai.azure.com
Validation
Documentation References (1)
Validation
Documentation References (1)
Validation
Documentation References (2)
For more information, see the [Azure OpenAI API version reference](https://learn.microsoft.com/en-us/azure/foundry/openai/reference).
If unset, defaults to
v1.Validation
Documentation References (2)
For more information, see the [Azure OpenAI model docs](https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/models-sold-directly-by-azure?view=foundry-classic).
This is required if
apiVersion is not v1. For v1, the model can beset in the request.
Validation
Documentation References (2)
my-endpoint.openai.azure.com.If the scheme is included, it is stripped.
Validation
Documentation References (2)
guardrail configures the Guardrail policy to use for the backend. See<https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html>.
If not specified, the AWS Guardrail policy will not be used.
Validation
Validation
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Documentation References (1)
Defaults to
us-east-1 if not specified.Validation
Documentation References (1)
gemini-2.5-pro.If unset, the model name is taken from the request.
Validation
Documentation References (2)
If not specified, the default hostname for the provider is used.
Validation
Documentation References (3)
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
This is useful when you need to route requests to a different API endpoint while maintaining
compatibility with the original provider's API structure.
If not specified, the default path for the provider is used.
Validation
Documentation References (1)
Path translation for cross-format requests still applies using this prefix.
Only supported for OpenAI and Anthropic providers.
Validation
Validation
Documentation References (3)
gpt-4o-mini.If unset, the model name is taken from the request.
Validation
Documentation References (1)
Validation
Documentation References (1)
Defaults to
global if not specified.Validation
Documentation References (1)
Validation
request HTTP host header, or TLS SNI for TLS traffic.
access controls must be put in place when using this backend type.
Documentation References (1)
Documentation References (6)
failureMode controls behavior when MCP targets fail to initialize orbecome unavailable at runtime.
FailOpen skips failed targets andcontinues serving from healthy ones.
FailClosed (default) fails theentire session if any target fails.
Validation
sessionRouting configures MCP session behavior for requests.Defaults to
Stateful if not set.Validation
Documentation References (1)
targets is a list of MCP targets to use for this backend. Policiestargeting MCP targets must use
targetRefs[].sectionName to selectthe target by name.
Validation
Documentation References (6)
Validation
Documentation References (6)
selector is the label selector used to select Service resources.If policies are needed on a per-service basis,
AgentgatewayPolicy cantarget the desired
Service.Validation
Documentation References (3)
namespace is the label selector for namespaces that Serviceresources should be selected from. If unset, only the namespace of the
AgentgatewayBackend is searched.Validation
Validation
Valid operators are In, NotIn, Exists and DoesNotExist.
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
Validation
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
services is the label selector for which Service resources should beselected.
Validation
Documentation References (3)
Validation
Valid operators are In, NotIn, Exists and DoesNotExist.
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
Validation
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
Documentation References (3)
static configures a static MCP destination. When connecting toin-cluster
Service resources, it is recommended to use selectorinstead.
Validation
Documentation References (5)
backendRef references a namespace-local Service resource by name.When set, this replaces
host only; port, path, and protocolremain configured on this target.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
Documentation References (5)
Defaults to
"/sse" for the SSE protocol or "/mcp" for theStreamableHTTP protocol if not specified.Validation
Documentation References (1)
policies controls policies for communicating with this backend.Policies may also be set in
AgentgatewayPolicy, or in the top-levelAgentgatewayBackend. Policies are merged on a field-level basis, withorder:
AgentgatewayPolicy < AgentgatewayBackend < AgentgatewayBackend MCP (this field).This field may only be used with host-based static targets, not
backendRef.Documentation References (1)
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
Documentation References (1)
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
Documentation References (1)
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
Documentation References (5)
target.
Validation
Documentation References (4)
policies are merged on a field-level basis, with policies on the Backend (this field) taking precedence.
Validation
Documentation References (15)
ai specifies settings for AI workloads. This is only applicable whenconnecting to a
Backend of type ai.Validation
Documentation References (3)
Validation
Validation
Validation
Example:
{"fast": "gpt-3.5-turbo", "smart": "gpt-4-turbo"}.Note: This field is only applicable when using the agentgateway data plane.
Validation
Documentation References (1)
Validation
Validation
Validation
LLM providers that use the
CHAT or CHAT_STREAMING API route type.LLM provider model, such as
SYSTEM or USER in the OpenAI API.LLM provider model, such as
SYSTEM or USER in the OpenAI API.promptCaching enables automatic prompt caching for supportedproviders, currently AWS Bedrock.
Reduces API costs by caching static content like system prompts and tool definitions.
Only applicable for Bedrock Claude 3+ and Nova models.
conversation. 0 (default) places it at the second-to-last message.
Higher values move it N additional messages towards the start, clamped
to bounds.
Validation
Caches all messages in the conversation for cost savings.
Validation
Inserts a cache point after all system messages.
Validation
Inserts a cache point after all tool specifications.
Validation
before caching is enabled. Uses rough heuristic (word count × 1.3) to estimate tokens.
Bedrock requires at least 1,024 tokens for caching to be effective.
Validation
promptGuard enables adding guardrails to LLM requests and responses.Validation
Validation
bedrockGuardrails configures AWS Bedrock Guardrails for promptguarding.
Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
us-west-2).Validation
Validation
googleModelArmor configures Google Model Armor for prompt guarding.us-central1).Defaults to
us-central1 if not specified.Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
Validation
openAIModeration passes prompt data through the OpenAI Moderationsendpoint.
See https://developers.openai.com/api/reference/resources/moderations for more information.
model specifies the moderation model to use. For example,omni-moderation.auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
This setting applies only to request matches.
PromptguardResponsematches are always masked by default.
Defaults to
Mask.Validation
Matches and built-ins are additive.
Matches and built-ins are additive.
The request was rejected due to inappropriate content.Validation
The request was rejected due to inappropriate content.Validation
Validation
Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
used to select the headers to forward to the webhook.
Request headers are used when forwarding requests and response headers
are used when forwarding responses.
By default, no headers are forwarded.
case-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).
entry with an equivalent name MUST be considered for a match. Subsequent
entries with an equivalent header name MUST be ignored. Due to the
case-insensitivity of header names, "foo" and "Foo" are considered
equivalent.
implementation-specific behavior as to how this is represented.
Generally, proxies should follow the guidance from the RFC:
https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2 regarding
processing a repeated header, with special handling for "Set-Cookie".
Validation
conformance, implementations can support POSIX, PCRE or any other dialects
of regular expressions. Please read the implementation's documentation to
determine the supported dialect.
Validation
<gateway:experimental:description>
Must consist of printable US-ASCII characters, optionally separated
by single tabs or spaces. See: https://tools.ietf.org/html/rfc7230#section-3.2
</gateway:experimental:description>
^[!-~]+([\t ]?[!-~]+)*$>Validation
Validation
bedrockGuardrails configures AWS Bedrock Guardrails for promptguarding.
Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
us-west-2).Validation
Validation
googleModelArmor configures Google Model Armor for prompt guarding.us-central1).Defaults to
us-central1 if not specified.Validation
auth defines settings for managing authentication to the backend.Validation
When omitted, we will try to use the default AWS SDK authentication methods.
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
Validation
This setting applies only to request matches.
PromptguardResponsematches are always masked by default.
Defaults to
Mask.Validation
Matches and built-ins are additive.
Matches and built-ins are additive.
The response was rejected due to inappropriate content.Validation
The request was rejected due to inappropriate content.Validation
Validation
Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
used to select the headers to forward to the webhook.
Request headers are used when forwarding requests and response headers
are used when forwarding responses.
By default, no headers are forwarded.
case-insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).
entry with an equivalent name MUST be considered for a match. Subsequent
entries with an equivalent header name MUST be ignored. Due to the
case-insensitivity of header names, "foo" and "Foo" are considered
equivalent.
implementation-specific behavior as to how this is represented.
Generally, proxies should follow the guidance from the RFC:
https://www.rfc-editor.org/rfc/rfc7230.html#section-3.2.2 regarding
processing a repeated header, with special handling for "Set-Cookie".
Validation
conformance, implementations can support POSIX, PCRE or any other dialects
of regular expressions. Please read the implementation's documentation to
determine the supported dialect.
Validation
<gateway:experimental:description>
Must consist of printable US-ASCII characters, optionally separated
by single tabs or spaces. See: https://tools.ietf.org/html/rfc7230#section-3.2
</gateway:experimental:description>
^[!-~]+([\t ]?[!-~]+)*$>Validation
routes defines how to identify the type of traffic to handle.The keys are URL path suffixes matched using ends-with comparison, for
example
"/v1/chat/completions".The special
* wildcard matches any path.If not specified, all traffic defaults to
completions type.Documentation References (2)
The expression result overwrites any existing value for that field.
This has a higher priority than
overrides if both are set for the samekey.
Validation
Validation
Validation
auth defines settings for managing authentication to the backend.Validation
Documentation References (15)
When omitted, we will try to use the default AWS SDK authentication methods.
Documentation References (1)
secretRef references a Kubernetes Secret containing the AWScredentials. The
Secret must have keys accessKey, secretKey, andoptionally
sessionToken.Validation
Documentation References (1)
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Documentation References (1)
secretRef references a Kubernetes Secret containing the Azurecredentials. The
Secret must have keys clientID, tenantID, andclientSecret.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
When omitted, we will try to use the default AWS SDK authentication methods.
Validation
audience allows explicitly configuring the aud of the ID token. Onlyvalid with
IdToken type. If not set, the aud is automaticallyderived from the backend hostname.
Validation
generally an
AccessToken is used. To authenticate to Cloud Run, anIdToken is used.Validation
key provides an inline key to use as the value of theAuthorization header. This option is the least secure; usage of aSecret is preferred.Validation
Documentation References (1)
location controls where backend credentials are inserted.If omitted, credentials are written to the
Authorization header with the Bearer prefix.This applies to
key, secretRef, and passthrough.Validation
Validation
* "Set-Cookie"
headers are not currently supported by this type.
- "/invalid" - "/ " is an invalid character
Validation
Validation
Validation
passthrough passes through an existing token that has been sent by theclient and validated. Other policies, like JWT and API key
authentication, will strip the original client credentials. Passthrough backend authentication
causes the original token to be added back into the request. If there are no client authentication policies on the
request, the original token would be unchanged, so this would have no effect.
Documentation References (1)
secretRef references a Kubernetes Secret storing the key to use asthe authorization value. This must be stored in the
Authorization key.Validation
Documentation References (14)
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Documentation References (14)
For example, a value of 5 means the backend must receive 5 unhealthy responses in a row before being evicted.
When both consecutiveFailures and healthThreshold are set, the backend is evicted when either condition is met.
When neither is set, a single unhealthy response can trigger eviction.
Validation
Subsequent evictions use multiplicative backoff (duration * times_evicted).
If all endpoints are evicted, the load balancer falls back to returning evicted endpoints
rather than failing entirely.
If unset, defaults to
3s.Validation
When set, a backend is only evicted if its computed health drops below this value after an unhealthy response.
For example, 50 means the backend is evicted when its EWMA health falls below 50% following failures.
Unlike consecutiveFailures (which counts consecutive failures), this uses a sliding-window average
so a single success in a stream of failures can delay eviction.
When both consecutiveFailures and healthThreshold are set, the backend is evicted when either condition is met.
When neither is set, a single unhealthy response triggers eviction.
Validation
For gradual recovery, set below 100; for full recovery immediately, set 100.
If unset, the backend resumes with the health it had when evicted.
Validation
When the expression evaluates to true, the backend is considered unhealthy and may be evicted.
response.code >= 500.This default lowers the backend's health score but does not trigger eviction on its own.
Validation
Validation
version specifies the HTTP protocol version to use when connecting tothe backend.
If not specified, the version is automatically determined:
*
Service types can specify it with appProtocol on the Serviceport.
* If traffic is identified as gRPC,
HTTP2 is used.* If the incoming traffic was plaintext HTTP, the original protocol will
be used.
* If the incoming traffic was HTTPS,
HTTP1 will be used. This isbecause most clients will transparently upgrade HTTPS traffic to
HTTP2, even if the backend doesn't support it.Validation
mcp specifies settings for MCP workloads. This is only applicable whenconnecting to a
Backend of type mcp.Validation
authentication defines MCPBackend-specific authentication rules.jwtAuthentication.mcp, which ensures authentication runs beforeother policies such as transformation and rate limiting.
audiences specifies the list of allowed audiences that are allowedaccess. This corresponds to the
aud claim([RFC 7519 §4.1.3](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3)).
If unset, any audience is allowed.
Validation
issuer identifies the IdP that issued the JWT. This corresponds to theiss claim ([RFC 7519 §4.1.1](https://tools.ietf.org/html/rfc7519#section-4.1.1)).Validation
jwks defines the remote JSON Web Key used to validate the signature ofthe JWT.
backendRef references the remote JWKS server to reach.Supported types are
Service and static Backend. AnAgentgatewayPolicy containing backend TLS config can then be attachedto the
Service or Backend in order to set TLS options for aconnection to the remote
jwks source.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
jwks endpoint, relative to the root, commonly".well-known/jwks.json".Validation
mode is the validation mode for JWT authentication.Validation
provider specifies the identity provider to use for authentication.Validation
unauthorized requests with a
403 error, this policy works at theMCPBackend level.list_tools, will have each item evaluated.Items that do not meet the rule will be filtered.
call_tool, will evaluate the specificitem and reject requests that do not meet the rule.
action defines whether the rule allows, denies, or requires the request ifmatched. If unspecified, the default is
Allow.Require policies are conjunctive across merged policies: all require policies must match.
Validation
policy specifies the authorization rule to evaluate.Allow rules: any policy allows the request.* For
Require rules: all policies must match for the request to be allowed.* For
Deny rules: any matching policy denies the request. Note: a CEL expression that fails to evaluate is notconsidered to match, making this a risky policy; prefer to use
Require.Allow rule triggers a deny-by-default policy, requiring at least 1 match to allow.With no rules, all requires are allowed.
These expressions should be in the form of a Common Expression Language
(
CEL) expression.Validation
connectTimeout defines the deadline for establishing a connection tothe destination.
Validation
keepAlive defines settings for enabling TCP keepalives on theconnection.
If unset, this defaults to 180s.
Validation
If unset, this defaults to 9.
Validation
If unset, this defaults to 180s.
Validation
validate the server, and the SNI will automatically be set based on the destination.
Validation
Documentation References (1)
alpnProtocols sets the Application-Layer Protocol Negotiation (ALPN)value to use in the TLS handshake.
["h2", "http/1.1"].Validation
caCertificateRefs defines the CA certificate ConfigMap to use toverify the server certificate.
If unset, the system's trusted certificates are used.
Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
WARNING: This is an insecure option that should only be used if the risks are understood.
*
All disables all TLS verification.*
Hostname verifies the CA certificate is trusted, but ignores anymismatch of hostname or SANs. Note that this method is still insecure;
prefer setting
verifySubjectAltNames to customize the valid hostnamesif possible.
Validation
mtlsCertificateRef enables mutual TLS to the backend, using thespecified key (
tls.key) and cert (tls.crt) from the referencedSecret.ca.cert field, if present, will be used to verify theserver certificate. If
caCertificateRefs is also specified, thecaCertificateRefs field takes priority.Validation
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
sni specifies the Server Name Indicator (SNI) to be used in the TLShandshake. If unset, the
SNI is automatically set based on thedestination hostname.
Validation
Documentation References (1)
verifySubjectAltNames specifies the Subject Alternative Names (SAN)to verify in the server certificate.
If not present, the destination hostname is automatically used.
Validation
Validation
request is used to modify the request path.Validation
add is a list of headers to add to the request and what that valueshould be set to. If there is already a header with these values then
append the value as an extra entry.
Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
body controls manipulation of the HTTP body.Validation
metadata stores CEL-evaluated values under the metadata CEL variablefor subsequent policy evaluations.
metadata is evaluated before headeror body transformations.
Validation
remove is a list of header names to remove from the request orresponse.
Validation
set is a list of headers and the value they should be set to.Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
response is used to modify the response path.Validation
add is a list of headers to add to the request and what that valueshould be set to. If there is already a header with these values then
append the value as an extra entry.
Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
body controls manipulation of the HTTP body.Validation
metadata stores CEL-evaluated values under the metadata CEL variablefor subsequent policy evaluations.
metadata is evaluated before headeror body transformations.
Validation
remove is a list of header names to remove from the request orresponse.
Validation
set is a list of headers and the value they should be set to.Validation
Validation
value is the CEL expression to apply to generate the output value forthe header.
Validation
tunnel defines settings for managing tunnel connections (with behavior like HTTPS_PROXY) to the backend.backendRef references the proxy server to reach.Supported types:
Service and Backend.Validation
When unspecified or empty string, core API group is inferred.
Validation
"Service".
outside of the cluster and as such are difficult to reason about in
terms of conformance. They also may not be safe to forward to (see
CVE-2021-25740 for more information). Implementations SHOULD NOT
support ExternalName Services.
Validation
Validation
namespace is inferred.
a ReferenceGrant object is required in the referent namespace to allow that
namespace's owner to accept the reference. See the ReferenceGrant
documentation for details.
Validation
Port is required when the referent is a Kubernetes Service. In this
case, the port number is the service port number, not the target port.
For other resources, destination port might be derived from the referent
resource or this field.
Validation
Validation
Documentation References (3)
Validation
Documentation References (3)
Validation
Documentation References (3)
must share a volume with the target (e.g., via emptyDir sidecar pattern).
Mutually exclusive with host/port.
Validation
Validation
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
Validation
This may be an empty string.
Validation
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
Validation
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.