application.tsb.tetrate.io/v2
Resource Types:
API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | application.tsb.tetrate.io/v2 | true |
kind | string | API | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | true |
spec | object | An API configuring a set of servers and endpoints that expose the Application business logic. | false |
status | object | false |
API.spec
An API configuring a set of servers and endpoints that expose the Application business logic.
Name | Type | Description | Required |
---|---|---|---|
openapi | string | The raw OpenAPI spec for this API. | true |
configResources | []object | false | |
description | string | A description of the resource. | false |
displayName | string | User friendly name for the resource. | false |
endpoints | []object | List of endpoints exposed by this API. | false |
etag | string | The etag for the resource. | false |
fqn | string | Fully-qualified name of the resource. | false |
httpServers | []object | List of gateways servers that expose the API. | false |
servers | []object | DEPRECATED: For new created APIs, the exposed servers will be available at httpServers. | false |
workloadSelector | object | Optional selector to specify the gateway workloads (pod labels and Kubernetes namespace) under the application gateway group that should be configured with this gateway. | false |
API.spec.configResources[index]
Name | Type | Description | Required |
---|---|---|---|
exclusivelyOwned | boolean | The exclusively owned flag indicates if the referenced configuration resource is exclusively owned by the object. | false |
expectedEtag | string | The expected etag field is used to check the if the configuration resource contents have changed. | false |
fqn | string | The FQN of the resource this status is computed for. | false |
API.spec.endpoints[index]
Name | Type | Description | Required |
---|---|---|---|
exposedBy | object | The exposer of this endpoint. | false |
hostnames | []string | The list of hostnames where this endpoint is exposed. | false |
methods | []string | The list of HTTP methods this endpoint supports. | false |
path | string | The HTTP path of the endpoint, relative to the hostnames exposed by the API. | false |
service | string | DEPRECATED: For new created APIs, the exposed servers will be available at httpServers. | false |
API.spec.endpoints[index].exposedBy
The exposer of this endpoint.
Name | Type | Description | Required |
---|---|---|---|
clusterGroup | object | The clusters that are exposing a concrete endpoint. | false |
service | string | The FQN of the service in the service registry that is exposing a concrete endpoint. | false |
API.spec.endpoints[index].exposedBy.clusterGroup
The clusters that are exposing a concrete endpoint.
Name | Type | Description | Required |
---|---|---|---|
clusters | []object | The clusters that contain gateways exposing the HTTPEndpoint. | false |
API.spec.endpoints[index].exposedBy.clusterGroup.clusters[index]
Name | Type | Description | Required |
---|---|---|---|
labels | map[string]string | Labels associated with the cluster. | false |
name | string | The name of the cluster exposing the endpoint. | false |
weight | integer | The weight for traffic to a cluster exposing the endpoint. | false |
API.spec.httpServers[index]
Name | Type | Description | Required |
---|---|---|---|
hostname | string | Hostname with which the service can be expected to be accessed by clients. | true |
name | string | A name assigned to the server. | true |
routing | object | Routing rules associated with HTTP traffic to this server. | true |
authentication | object | Authentication is used to configure the authentication of end-user credentials like JWT. | false |
authorization | object | Authorization is used to configure authorization of end users. | false |
extensions | object | Configure extensions for this hostname. | false |
failoverSettings | object | Failover settings for all clients that try to access the hostname defined in this section. | false |
openapi | object | OpenAPI configuration for the HTTP server. | false |
port | integer | The port where the server is exposed at the gateway workload(pod). | false |
rateLimiting | object | Configuration for rate limiting requests. | false |
tls | object | TLS certificate info. | false |
trafficMode | enum | Traffic mode specifies the type of configuration applied to this server. Enum: AUTO, INGRESS, EGRESS, TRANSIT | false |
transit | boolean | If set to true, the server is configured to be exposed within the mesh. | false |
API.spec.httpServers[index].routing
Routing rules associated with HTTP traffic to this server.
Name | Type | Description | Required |
---|---|---|---|
rules | []object | HTTP routes. | true |
corsPolicy | object | Cross origin resource request policy settings for all routes. | false |
API.spec.httpServers[index].routing.rules[index]
Name | Type | Description | Required |
---|---|---|---|
directResponse | object | Return a fixed response. | false |
disableExternalAuthorization | boolean | If set to true, external authorization is disabled on this route when the hostname is configured with external authorization. | false |
extensions | object | false | |
match | []object | One or more match conditions (OR-ed). | false |
modify | object | One or more mutations to be performed before forwarding. | false |
redirect | object | Redirect the request to a different host or URL or both. | false |
route | object | Forward the request to the specified destination(s). | false |
API.spec.httpServers[index].routing.rules[index].directResponse
Return a fixed response.
Name | Type | Description | Required |
---|---|---|---|
status | integer | Specifies the HTTP response status to be returned. | true |
body | object | Specifies the content of the response body. | false |
API.spec.httpServers[index].routing.rules[index].directResponse.body
Specifies the content of the response body.
Name | Type | Description | Required |
---|---|---|---|
bytes | string | response body as base64 encoded bytes. Format: binary | false |
string | string | false |
API.spec.httpServers[index].routing.rules[index].extensions
Name | Type | Description | Required |
---|---|---|---|
kong | object | Extend using Kong. | false |
API.spec.httpServers[index].routing.rules[index].extensions.kong
Extend using Kong.
Name | Type | Description | Required |
---|---|---|---|
plugins | []object | List of plugins. | false |
API.spec.httpServers[index].routing.rules[index].extensions.kong.plugins[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | Plugin name. | true |
config | object | Configuration for this plugin (Optional). | false |
pluginSource | object | Reference to a custom plugin that will be attached and enabled. | false |
priority | integer | Priority to be given to this plugin (Optional). | false |
API.spec.httpServers[index].routing.rules[index].extensions.kong.plugins[index].config
Configuration for this plugin (Optional).
Name | Type | Description | Required |
---|---|---|---|
inline | object | Provide plugin config inline in the | false |
secret | string | false |
API.spec.httpServers[index].routing.rules[index].extensions.kong.plugins[index].pluginSource
Reference to a custom plugin that will be attached and enabled.
Name | Type | Description | Required |
---|---|---|---|
configMap | string | Kubernetes ConfigMap containing the plugin files. | true |
API.spec.httpServers[index].routing.rules[index].match[index]
Name | Type | Description | Required |
---|---|---|---|
headers | map[string]object | The header keys must be lowercase and use hyphen as the separator, e.g. | false |
uri | object | URI to match. | false |
API.spec.httpServers[index].routing.rules[index].match[index].headers[key]
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.httpServers[index].routing.rules[index].match[index].uri
URI to match.
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.httpServers[index].routing.rules[index].modify
One or more mutations to be performed before forwarding.
Name | Type | Description | Required |
---|---|---|---|
headers | object | Add/remove/overwrite one or more HTTP headers in a request or response. | false |
rewrite | object | Rewrite the HTTP Host or URL or both. | false |
API.spec.httpServers[index].routing.rules[index].modify.headers
Add/remove/overwrite one or more HTTP headers in a request or response.
Name | Type | Description | Required |
---|---|---|---|
request | object | Header manipulation rules to apply before forwarding a request to the destination service. | false |
response | object | Header manipulation rules to apply before returning a response to the caller. | false |
API.spec.httpServers[index].routing.rules[index].modify.headers.request
Header manipulation rules to apply before forwarding a request to the destination service.
Name | Type | Description | Required |
---|---|---|---|
add | map[string]string | Append the given values to the headers specified by keys (will create a comma-separated list of values). | false |
remove | []string | Remove a the specified headers. | false |
set | map[string]string | Overwrite the headers specified by key with the given values. | false |
API.spec.httpServers[index].routing.rules[index].modify.headers.response
Header manipulation rules to apply before returning a response to the caller.
Name | Type | Description | Required |
---|---|---|---|
add | map[string]string | Append the given values to the headers specified by keys (will create a comma-separated list of values). | false |
remove | []string | Remove a the specified headers. | false |
set | map[string]string | Overwrite the headers specified by key with the given values. | false |
API.spec.httpServers[index].routing.rules[index].modify.rewrite
Rewrite the HTTP Host or URL or both.
Name | Type | Description | Required |
---|---|---|---|
authority | string | Rewrite the Authority/Host header with this value. | false |
uri | string | Rewrite the path (or the prefix) portion of the URI with this value. | false |
API.spec.httpServers[index].routing.rules[index].redirect
Redirect the request to a different host or URL or both.
Name | Type | Description | Required |
---|---|---|---|
authority | string | On a redirect, overwrite the Authority/Host portion of the URL with this value. | false |
port | integer | false | |
redirectCode | integer | On a redirect, Specifies the HTTP status code to use in the redirect response. | false |
scheme | string | On a redirect, overwrite the scheme with this one. | false |
uri | string | On a redirect, overwrite the Path portion of the URL with this value. | false |
API.spec.httpServers[index].routing.rules[index].route
Forward the request to the specified destination(s).
Name | Type | Description | Required |
---|---|---|---|
clusterDestination | object | RouteToClusters represents the clusters where the request needs to be routed to from the gateway. | false |
serviceDestination | object | RouteToService represents the service running in clusters. | false |
API.spec.httpServers[index].routing.rules[index].route.clusterDestination
RouteToClusters represents the clusters where the request needs to be routed to from the gateway.
Name | Type | Description | Required |
---|---|---|---|
clusters | []object | The destination clusters that contain ingress gateways exposing the hostname. | false |
API.spec.httpServers[index].routing.rules[index].route.clusterDestination.clusters[index]
Name | Type | Description | Required |
---|---|---|---|
labels | map[string]string | Labels associated with the cluster. | false |
name | string | The name of the destination cluster. | false |
network | string | The network associated with the destination clusters. | false |
weight | integer | The weight for traffic to a given destination. | false |
API.spec.httpServers[index].routing.rules[index].route.serviceDestination
RouteToService represents the service running in clusters.
Name | Type | Description | Required |
---|---|---|---|
host | string | The destination service in | true |
port | integer | The port on the service to forward the request to. | false |
tls | object | The | false |
API.spec.httpServers[index].routing.rules[index].route.serviceDestination.tls
The ClientTLSSettings
specifies how the gateway
workload should establish connections to external services.
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.httpServers[index].routing.rules[index].route.serviceDestination.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.httpServers[index].routing.corsPolicy
Cross origin resource request policy settings for all routes.
Name | Type | Description | Required |
---|---|---|---|
allowCredentials | boolean | Indicates whether the caller is allowed to send the actual request (not the preflight) using credentials. | false |
allowHeaders | []string | List of HTTP headers that can be used when requesting the resource. | false |
allowMethods | []string | List of HTTP methods allowed to access the resource. | false |
allowOrigin | []string | The list of origins that are allowed to perform CORS requests. | false |
exposeHeaders | []string | A white list of HTTP headers that the browsers are allowed to access. | false |
maxAge | string | Specifies how long the results of a preflight request can be cached. | false |
API.spec.httpServers[index].authentication
Authentication is used to configure the authentication of end-user credentials like JWT.
Name | Type | Description | Required |
---|---|---|---|
jwt | object | Authenticate an HTTP request from a JWT Token attached to it. | false |
oidc | object | false | |
rules | object | List of rules how to authenticate an HTTP request. | false |
API.spec.httpServers[index].authentication.jwt
Authenticate an HTTP request from a JWT Token attached to it.
Name | Type | Description | Required |
---|---|---|---|
issuer | string | Identifies the issuer that issued the JWT. | true |
audiences | []string | The list of JWT audiences. | false |
fromCookies | []string | List of cookie names from which JWT is expected. | false |
fromHeaders | []object | This field specifies the locations to extract JWT token. | false |
jwks | string | JSON Web Key Set of public keys to validate signature of the JWT. | false |
jwksUri | string | URL of the provider's public key set to validate signature of the JWT. | false |
outputClaimToHeaders | []object | This field specifies a list of operations to copy the claim to HTTP headers on a successfully verified token. | false |
outputPayloadToHeader | string | This field specifies the header name to output a successfully verified JWT payload to the backend. | false |
API.spec.httpServers[index].authentication.jwt.fromHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | The HTTP header name. | true |
prefix | string | The prefix that should be stripped before decoding the token. | false |
API.spec.httpServers[index].authentication.jwt.outputClaimToHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
claim | string | The name of the claim to be copied from. | true |
header | string | The name of the header to be created. | true |
API.spec.httpServers[index].authentication.oidc
Name | Type | Description | Required |
---|---|---|---|
clientId | string | The client_id to be used in the authorize calls. | true |
clientTokenSecret | string | The name of the Kubernetes secret containing the client secret. | true |
provider | object | The OIDC Provider configuration. | true |
redirectUri | string | The redirect URI passed to the authorization endpoint It can also be formulated from request parameters For example: %REQ(x-forwarded-proto)%://%REQ(:authority)%/callback This URI should not contain any query parameters. | true |
authScopes | []string | Optional list of OAuth scopes to be claimed in the authorization request. | false |
authType | enum | Defines how client_id and client_secret are sent in OAuth client to OAuth server requests. Enum: DEFAULT_AUTH_TYPE, URL_ENCODED_BODY, BASIC_AUTH | false |
grantType | enum | Enum: DEFAULT_GRANT_TYPE, AUTHORIZATION_CODE | false |
redirectPathMatcher | string | Matching criteria used to determine whether a path appears to be the result of a redirect from the authorization server. | false |
signoutPath | string | The path to sign a user out, clearing their credential cookies. | false |
useRefreshToken | boolean | Enable automatic access token refresh using associated refresh token (see RFC 6749 section 6) provided that the OAuth server supports that. | false |
API.spec.httpServers[index].authentication.oidc.provider
The OIDC Provider configuration.
Name | Type | Description | Required |
---|---|---|---|
issuer | string | The OIDC Provider's issuer identifier. | true |
authorizationEndpoint | string | The OIDC Provider's authorization endpoint. | false |
jwks | string | JSON string with the OIDC provider's JSON Web Key Sets. | false |
jwksUri | string | URI for the OIDC provider's JSON Web Key Sets. | false |
tls | object | The TLS settings used by the clients to connect with the OIDC provider. | false |
tokenEndpoint | string | The OIDC Provider's token endpoint. | false |
API.spec.httpServers[index].authentication.oidc.provider.tls
The TLS settings used by the clients to connect with the OIDC provider.
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.httpServers[index].authentication.oidc.provider.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.httpServers[index].authentication.rules
List of rules how to authenticate an HTTP request.
Name | Type | Description | Required |
---|---|---|---|
jwt | []object | List of rules how to authenticate an HTTP request from a JWT Token attached to it. | false |
API.spec.httpServers[index].authentication.rules.jwt[index]
Name | Type | Description | Required |
---|---|---|---|
issuer | string | Identifies the issuer that issued the JWT. | true |
audiences | []string | The list of JWT audiences. | false |
fromCookies | []string | List of cookie names from which JWT is expected. | false |
fromHeaders | []object | This field specifies the locations to extract JWT token. | false |
jwks | string | JSON Web Key Set of public keys to validate signature of the JWT. | false |
jwksUri | string | URL of the provider's public key set to validate signature of the JWT. | false |
outputClaimToHeaders | []object | This field specifies a list of operations to copy the claim to HTTP headers on a successfully verified token. | false |
outputPayloadToHeader | string | This field specifies the header name to output a successfully verified JWT payload to the backend. | false |
API.spec.httpServers[index].authentication.rules.jwt[index].fromHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | The HTTP header name. | true |
prefix | string | The prefix that should be stripped before decoding the token. | false |
API.spec.httpServers[index].authentication.rules.jwt[index].outputClaimToHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
claim | string | The name of the claim to be copied from. | true |
header | string | The name of the header to be created. | true |
API.spec.httpServers[index].authorization
Authorization is used to configure authorization of end users.
Name | Type | Description | Required |
---|---|---|---|
external | object | false | |
local | object | false |
API.spec.httpServers[index].authorization.external
Name | Type | Description | Required |
---|---|---|---|
includeRequestHeaders | []string | false | |
tls | object | false | |
uri | string | false |
API.spec.httpServers[index].authorization.external.tls
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.httpServers[index].authorization.external.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.httpServers[index].authorization.local
Name | Type | Description | Required |
---|---|---|---|
rules | []object | false |
API.spec.httpServers[index].authorization.local.rules[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | A friendly name to identify the binding. | true |
from | []object | Subjects configure the actors (end users, other services) that are allowed to access the target resource. | false |
to | []object | A set of HTTP rules that need to be satisfied by the HTTP requests to get access to the target resource. | false |
API.spec.httpServers[index].authorization.local.rules[index].from[index]
Name | Type | Description | Required |
---|---|---|---|
jwt | object | JWT configuration to identity the subject. | false |
API.spec.httpServers[index].authorization.local.rules[index].from[index].jwt
JWT configuration to identity the subject.
Name | Type | Description | Required |
---|---|---|---|
iss | string | false | |
other | map[string]string | A set of arbitrary claims that are required to qualify the subject. | false |
sub | string | false |
API.spec.httpServers[index].authorization.local.rules[index].to[index]
Name | Type | Description | Required |
---|---|---|---|
methods | []string | The HTTP methods that are allowed by this rule. | false |
paths | []string | The request path where the request is made against. | false |
API.spec.httpServers[index].extensions
Configure extensions for this hostname.
Name | Type | Description | Required |
---|---|---|---|
kong | object | Extend using Kong. | false |
API.spec.httpServers[index].extensions.kong
Extend using Kong.
Name | Type | Description | Required |
---|---|---|---|
plugins | []object | List of plugins. | false |
API.spec.httpServers[index].extensions.kong.plugins[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | Plugin name. | true |
config | object | Configuration for this plugin (Optional). | false |
pluginSource | object | Reference to a custom plugin that will be attached and enabled. | false |
priority | integer | Priority to be given to this plugin (Optional). | false |
API.spec.httpServers[index].extensions.kong.plugins[index].config
Configuration for this plugin (Optional).
Name | Type | Description | Required |
---|---|---|---|
inline | object | Provide plugin config inline in the | false |
secret | string | false |
API.spec.httpServers[index].extensions.kong.plugins[index].pluginSource
Reference to a custom plugin that will be attached and enabled.
Name | Type | Description | Required |
---|---|---|---|
configMap | string | Kubernetes ConfigMap containing the plugin files. | true |
API.spec.httpServers[index].failoverSettings
Failover settings for all clients that try to access the hostname defined in this section.
Name | Type | Description | Required |
---|---|---|---|
failoverPriority | []string | FailoverPriority specifies the failover priority for traffic. | false |
regionalFailover | []object | Locality routing settings for all gateways in the Workspace/Organization for which this is defined. | false |
topologyChoice | enum | TopologyChoice specifies the topology preference for traffic priority. Enum: NONE, CLUSTER, LOCALITY | false |
API.spec.httpServers[index].failoverSettings.regionalFailover[index]
Name | Type | Description | Required |
---|---|---|---|
from | string | Originating region. | false |
to | string | Destination region the traffic will fail over to when endpoints in the 'from' region become unhealthy. | false |
API.spec.httpServers[index].openapi
OpenAPI configuration for the HTTP server.
Name | Type | Description | Required |
---|---|---|---|
fqn | string | The fqn of the API that holds the OpenAPI spec document. | false |
validation | object | Validation options for the OpenAPI document. | false |
API.spec.httpServers[index].openapi.validation
Validation options for the OpenAPI document.
Name | Type | Description | Required |
---|---|---|---|
allowUndefined | boolean | By default if a request is not defined in the OpenAPI document, it will be rejected. | false |
enabled | boolean | If set to true, the OpenAPI document is enabled for validation. | false |
pathPrefix | string | Prefix to add to the paths in the OpenAPI doc before matching against incoming requests. | false |
API.spec.httpServers[index].rateLimiting
Configuration for rate limiting requests.
Name | Type | Description | Required |
---|---|---|---|
externalService | object | Configure ratelimiting using an external ratelimit server. | false |
settings | object | false |
API.spec.httpServers[index].rateLimiting.externalService
Configure ratelimiting using an external ratelimit server.
Name | Type | Description | Required |
---|---|---|---|
domain | string | The rate limit domain to use when calling the rate limit service. | true |
rateLimitServerUri | string | The URI at which the external rate limit server can be reached. | true |
rules | []object | A set of rate limit rules. | true |
failClosed | boolean | If the rate limit service is unavailable, the request will fail if failClosed is set to true. | false |
timeout | string | The timeout in seconds for the external rate limit server RPC. | false |
tls | object | Configure TLS parameters to be used when connecting to the external rate limit server. | false |
API.spec.httpServers[index].rateLimiting.externalService.rules[index]
Name | Type | Description | Required |
---|---|---|---|
dimensions | []object | A list of dimensions that are to be applied for this rate limit configuration. | true |
API.spec.httpServers[index].rateLimiting.externalService.rules[index].dimensions[index]
Name | Type | Description | Required |
---|---|---|---|
destinationCluster | object | Rate limit on destination envoy cluster. | false |
headerValueMatch | object | Rate limit on the existence of certain request headers. | false |
remoteAddress | object | Rate limit on remote address of client. | false |
requestHeaders | object | Rate limit on the value of certain request headers. | false |
sourceCluster | object | Rate limit on source envoy cluster. | false |
API.spec.httpServers[index].rateLimiting.externalService.rules[index].dimensions[index].headerValueMatch
Rate limit on the existence of certain request headers.
Name | Type | Description | Required |
---|---|---|---|
descriptorValue | string | The value to use in the descriptor entry. | true |
headers | map[string]object | Specifies a set of headers that the rate limit action should match on. | true |
dontMatch | boolean | If set to true, the condition will be met when the header value does not match. | false |
API.spec.httpServers[index].rateLimiting.externalService.rules[index].dimensions[index].headerValueMatch.headers[key]
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.httpServers[index].rateLimiting.externalService.rules[index].dimensions[index].requestHeaders
Rate limit on the value of certain request headers.
Name | Type | Description | Required |
---|---|---|---|
descriptorKey | string | The key to use in the descriptor entry. | true |
headerName | string | The header name to be queried from the request headers. | true |
API.spec.httpServers[index].rateLimiting.externalService.tls
Configure TLS parameters to be used when connecting to the external rate limit server.
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.httpServers[index].rateLimiting.externalService.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.httpServers[index].rateLimiting.settings
Name | Type | Description | Required |
---|---|---|---|
rules | []object | A list of rules for ratelimiting. | true |
failClosed | boolean | If the rate limit service is unavailable, the request will fail if failClosed is set to true. | false |
timeout | string | The timeout in seconds for the rate limit server RPC. | false |
API.spec.httpServers[index].rateLimiting.settings.rules[index]
Name | Type | Description | Required |
---|---|---|---|
dimensions | []object | A list of dimensions to define each ratelimit rule. | true |
limit | object | The ratelimit value that will be configured for the above rules. | true |
API.spec.httpServers[index].rateLimiting.settings.rules[index].dimensions[index]
Name | Type | Description | Required |
---|---|---|---|
header | object | Rate limit on certain HTTP headers. | false |
remoteAddress | object | Rate limit on the remote address of client. | false |
API.spec.httpServers[index].rateLimiting.settings.rules[index].dimensions[index].header
Rate limit on certain HTTP headers.
Name | Type | Description | Required |
---|---|---|---|
name | string | Name of the header to match on. | true |
dontMatch | boolean | If set to true, the condition will be met when the header value does not match. | false |
value | object | Value of the header to match on if matching on a specific value. | false |
API.spec.httpServers[index].rateLimiting.settings.rules[index].dimensions[index].header.value
Value of the header to match on if matching on a specific value.
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.httpServers[index].rateLimiting.settings.rules[index].dimensions[index].remoteAddress
Rate limit on the remote address of client.
Name | Type | Description | Required |
---|---|---|---|
value | string | Ratelimit on a specific remote address. | true |
API.spec.httpServers[index].rateLimiting.settings.rules[index].limit
The ratelimit value that will be configured for the above rules.
Name | Type | Description | Required |
---|---|---|---|
requestsPerUnit | integer | Specifies the value of the rate limit. | true |
unit | enum | Specifies the unit of time for rate limit. Enum: UNKNOWN, SECOND, MINUTE, HOUR, DAY | true |
API.spec.httpServers[index].tls
TLS certificate info.
Name | Type | Description | Required |
---|---|---|---|
cipherSuites | []string | List of cipher suites to be used for TLS connections. | false |
files | object | Load the keys and certificates from files accessible to the ingress gateway workload. | false |
maxProtocolVersion | enum | Set the maximum supported TLS protocol version. Enum: TLS_AUTO, TLSV1_0, TLSV1_1, TLSV1_2, TLSV1_3 | false |
minProtocolVersion | enum | Set the minimum supported TLS protocol version. Enum: TLS_AUTO, TLSV1_0, TLSV1_1, TLSV1_2, TLSV1_3 | false |
mode | enum | Set this to SIMPLE, or MUTUAL for one-way TLS, mutual TLS respectively. Enum: DISABLED, SIMPLE, MUTUAL, OPTIONAL_MUTUAL | false |
secretName | string | The name of the secret in Kubernetes that holds the TLS certs including the CA certificates. | false |
subjectAltNames | []string | List of Subject Alternative Names (SAN) from the client's certificate that are accepted for client identity verification during the TLS handshake. | false |
API.spec.httpServers[index].tls.files
Load the keys and certificates from files accessible to the ingress gateway workload.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | false | |
privateKey | string | false | |
serverCertificate | string | false |
API.spec.servers[index]
Name | Type | Description | Required |
---|---|---|---|
hostname | string | Hostname with which the service can be expected to be accessed by clients. | true |
name | string | A name assigned to the server. | true |
port | integer | The port where the server is exposed. | true |
routing | object | Routing rules associated with HTTP traffic to this service. | true |
authentication | object | Configuration to authenticate clients. | false |
authorization | object | Configuration to authorize a request. | false |
rateLimiting | object | Configuration for rate limiting requests. | false |
tls | object | TLS certificate info. | false |
xxxOldAuthentication | object | false | |
xxxOldAuthorization | object | false |
API.spec.servers[index].routing
Routing rules associated with HTTP traffic to this service.
Name | Type | Description | Required |
---|---|---|---|
rules | []object | HTTP routes. | true |
corsPolicy | object | Cross origin resource request policy settings for all routes. | false |
API.spec.servers[index].routing.rules[index]
Name | Type | Description | Required |
---|---|---|---|
directResponse | object | Return a fixed response. | false |
match | []object | One or more match conditions (OR-ed). | false |
modify | object | One or more mutations to be performed before forwarding. | false |
redirect | object | Redirect the request to a different host or URL or both. | false |
route | object | Forward the request to the specified destination(s). | false |
API.spec.servers[index].routing.rules[index].directResponse
Return a fixed response.
Name | Type | Description | Required |
---|---|---|---|
status | integer | Specifies the HTTP response status to be returned. | true |
body | object | Specifies the content of the response body. | false |
API.spec.servers[index].routing.rules[index].directResponse.body
Specifies the content of the response body.
Name | Type | Description | Required |
---|---|---|---|
bytes | string | response body as base64 encoded bytes. Format: binary | false |
string | string | false |
API.spec.servers[index].routing.rules[index].match[index]
Name | Type | Description | Required |
---|---|---|---|
headers | map[string]object | The header keys must be lowercase and use hyphen as the separator, e.g. | false |
uri | object | URI to match. | false |
API.spec.servers[index].routing.rules[index].match[index].headers[key]
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.servers[index].routing.rules[index].match[index].uri
URI to match.
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.servers[index].routing.rules[index].modify
One or more mutations to be performed before forwarding.
Name | Type | Description | Required |
---|---|---|---|
headers | object | Add/remove/overwrite one or more HTTP headers in a request or response. | false |
rewrite | object | Rewrite the HTTP Host or URL or both. | false |
API.spec.servers[index].routing.rules[index].modify.headers
Add/remove/overwrite one or more HTTP headers in a request or response.
Name | Type | Description | Required |
---|---|---|---|
request | object | Header manipulation rules to apply before forwarding a request to the destination service. | false |
response | object | Header manipulation rules to apply before returning a response to the caller. | false |
API.spec.servers[index].routing.rules[index].modify.headers.request
Header manipulation rules to apply before forwarding a request to the destination service.
Name | Type | Description | Required |
---|---|---|---|
add | map[string]string | Append the given values to the headers specified by keys (will create a comma-separated list of values). | false |
remove | []string | Remove a the specified headers. | false |
set | map[string]string | Overwrite the headers specified by key with the given values. | false |
API.spec.servers[index].routing.rules[index].modify.headers.response
Header manipulation rules to apply before returning a response to the caller.
Name | Type | Description | Required |
---|---|---|---|
add | map[string]string | Append the given values to the headers specified by keys (will create a comma-separated list of values). | false |
remove | []string | Remove a the specified headers. | false |
set | map[string]string | Overwrite the headers specified by key with the given values. | false |
API.spec.servers[index].routing.rules[index].modify.rewrite
Rewrite the HTTP Host or URL or both.
Name | Type | Description | Required |
---|---|---|---|
authority | string | Rewrite the Authority/Host header with this value. | false |
uri | string | Rewrite the path (or the prefix) portion of the URI with this value. | false |
API.spec.servers[index].routing.rules[index].redirect
Redirect the request to a different host or URL or both.
Name | Type | Description | Required |
---|---|---|---|
authority | string | On a redirect, overwrite the Authority/Host portion of the URL with this value. | false |
port | integer | false | |
redirectCode | integer | On a redirect, Specifies the HTTP status code to use in the redirect response. | false |
scheme | string | On a redirect, overwrite the scheme with this one. | false |
uri | string | On a redirect, overwrite the Path portion of the URL with this value. | false |
API.spec.servers[index].routing.rules[index].route
Forward the request to the specified destination(s).
Name | Type | Description | Required |
---|---|---|---|
host | string | The destination service in | true |
port | integer | The port on the service to forward the request to. | false |
API.spec.servers[index].routing.corsPolicy
Cross origin resource request policy settings for all routes.
Name | Type | Description | Required |
---|---|---|---|
allowCredentials | boolean | Indicates whether the caller is allowed to send the actual request (not the preflight) using credentials. | false |
allowHeaders | []string | List of HTTP headers that can be used when requesting the resource. | false |
allowMethods | []string | List of HTTP methods allowed to access the resource. | false |
allowOrigin | []string | The list of origins that are allowed to perform CORS requests. | false |
exposeHeaders | []string | A white list of HTTP headers that the browsers are allowed to access. | false |
maxAge | string | Specifies how long the results of a preflight request can be cached. | false |
API.spec.servers[index].authentication
Configuration to authenticate clients.
Name | Type | Description | Required |
---|---|---|---|
jwt | object | Authenticate an HTTP request from a JWT Token attached to it. | false |
oidc | object | false | |
rules | object | List of rules how to authenticate an HTTP request. | false |
API.spec.servers[index].authentication.jwt
Authenticate an HTTP request from a JWT Token attached to it.
Name | Type | Description | Required |
---|---|---|---|
issuer | string | Identifies the issuer that issued the JWT. | true |
audiences | []string | The list of JWT audiences. | false |
fromCookies | []string | List of cookie names from which JWT is expected. | false |
fromHeaders | []object | This field specifies the locations to extract JWT token. | false |
jwks | string | JSON Web Key Set of public keys to validate signature of the JWT. | false |
jwksUri | string | URL of the provider's public key set to validate signature of the JWT. | false |
outputClaimToHeaders | []object | This field specifies a list of operations to copy the claim to HTTP headers on a successfully verified token. | false |
outputPayloadToHeader | string | This field specifies the header name to output a successfully verified JWT payload to the backend. | false |
API.spec.servers[index].authentication.jwt.fromHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | The HTTP header name. | true |
prefix | string | The prefix that should be stripped before decoding the token. | false |
API.spec.servers[index].authentication.jwt.outputClaimToHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
claim | string | The name of the claim to be copied from. | true |
header | string | The name of the header to be created. | true |
API.spec.servers[index].authentication.oidc
Name | Type | Description | Required |
---|---|---|---|
clientId | string | The client_id to be used in the authorize calls. | true |
clientTokenSecret | string | The name of the Kubernetes secret containing the client secret. | true |
provider | object | The OIDC Provider configuration. | true |
redirectUri | string | The redirect URI passed to the authorization endpoint It can also be formulated from request parameters For example: %REQ(x-forwarded-proto)%://%REQ(:authority)%/callback This URI should not contain any query parameters. | true |
authScopes | []string | Optional list of OAuth scopes to be claimed in the authorization request. | false |
authType | enum | Defines how client_id and client_secret are sent in OAuth client to OAuth server requests. Enum: DEFAULT_AUTH_TYPE, URL_ENCODED_BODY, BASIC_AUTH | false |
grantType | enum | Enum: DEFAULT_GRANT_TYPE, AUTHORIZATION_CODE | false |
redirectPathMatcher | string | Matching criteria used to determine whether a path appears to be the result of a redirect from the authorization server. | false |
signoutPath | string | The path to sign a user out, clearing their credential cookies. | false |
useRefreshToken | boolean | Enable automatic access token refresh using associated refresh token (see RFC 6749 section 6) provided that the OAuth server supports that. | false |
API.spec.servers[index].authentication.oidc.provider
The OIDC Provider configuration.
Name | Type | Description | Required |
---|---|---|---|
issuer | string | The OIDC Provider's issuer identifier. | true |
authorizationEndpoint | string | The OIDC Provider's authorization endpoint. | false |
jwks | string | JSON string with the OIDC provider's JSON Web Key Sets. | false |
jwksUri | string | URI for the OIDC provider's JSON Web Key Sets. | false |
tls | object | The TLS settings used by the clients to connect with the OIDC provider. | false |
tokenEndpoint | string | The OIDC Provider's token endpoint. | false |
API.spec.servers[index].authentication.oidc.provider.tls
The TLS settings used by the clients to connect with the OIDC provider.
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.servers[index].authentication.oidc.provider.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.servers[index].authentication.rules
List of rules how to authenticate an HTTP request.
Name | Type | Description | Required |
---|---|---|---|
jwt | []object | List of rules how to authenticate an HTTP request from a JWT Token attached to it. | false |
API.spec.servers[index].authentication.rules.jwt[index]
Name | Type | Description | Required |
---|---|---|---|
issuer | string | Identifies the issuer that issued the JWT. | true |
audiences | []string | The list of JWT audiences. | false |
fromCookies | []string | List of cookie names from which JWT is expected. | false |
fromHeaders | []object | This field specifies the locations to extract JWT token. | false |
jwks | string | JSON Web Key Set of public keys to validate signature of the JWT. | false |
jwksUri | string | URL of the provider's public key set to validate signature of the JWT. | false |
outputClaimToHeaders | []object | This field specifies a list of operations to copy the claim to HTTP headers on a successfully verified token. | false |
outputPayloadToHeader | string | This field specifies the header name to output a successfully verified JWT payload to the backend. | false |
API.spec.servers[index].authentication.rules.jwt[index].fromHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | The HTTP header name. | true |
prefix | string | The prefix that should be stripped before decoding the token. | false |
API.spec.servers[index].authentication.rules.jwt[index].outputClaimToHeaders[index]
Name | Type | Description | Required |
---|---|---|---|
claim | string | The name of the claim to be copied from. | true |
header | string | The name of the header to be created. | true |
API.spec.servers[index].authorization
Configuration to authorize a request.
Name | Type | Description | Required |
---|---|---|---|
external | object | false | |
local | object | false |
API.spec.servers[index].authorization.external
Name | Type | Description | Required |
---|---|---|---|
includeRequestHeaders | []string | false | |
tls | object | false | |
uri | string | false |
API.spec.servers[index].authorization.external.tls
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.servers[index].authorization.external.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.servers[index].authorization.local
Name | Type | Description | Required |
---|---|---|---|
rules | []object | false |
API.spec.servers[index].authorization.local.rules[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | A friendly name to identify the binding. | true |
from | []object | Subjects configure the actors (end users, other services) that are allowed to access the target resource. | false |
to | []object | A set of HTTP rules that need to be satisfied by the HTTP requests to get access to the target resource. | false |
API.spec.servers[index].authorization.local.rules[index].from[index]
Name | Type | Description | Required |
---|---|---|---|
jwt | object | JWT configuration to identity the subject. | false |
API.spec.servers[index].authorization.local.rules[index].from[index].jwt
JWT configuration to identity the subject.
Name | Type | Description | Required |
---|---|---|---|
iss | string | false | |
other | map[string]string | A set of arbitrary claims that are required to qualify the subject. | false |
sub | string | false |
API.spec.servers[index].authorization.local.rules[index].to[index]
Name | Type | Description | Required |
---|---|---|---|
methods | []string | The HTTP methods that are allowed by this rule. | false |
paths | []string | The request path where the request is made against. | false |
API.spec.servers[index].rateLimiting
Configuration for rate limiting requests.
Name | Type | Description | Required |
---|---|---|---|
externalService | object | Configure ratelimiting using an external ratelimit server. | false |
settings | object | false |
API.spec.servers[index].rateLimiting.externalService
Configure ratelimiting using an external ratelimit server.
Name | Type | Description | Required |
---|---|---|---|
domain | string | The rate limit domain to use when calling the rate limit service. | true |
rateLimitServerUri | string | The URI at which the external rate limit server can be reached. | true |
rules | []object | A set of rate limit rules. | true |
failClosed | boolean | If the rate limit service is unavailable, the request will fail if failClosed is set to true. | false |
timeout | string | The timeout in seconds for the external rate limit server RPC. | false |
tls | object | Configure TLS parameters to be used when connecting to the external rate limit server. | false |
API.spec.servers[index].rateLimiting.externalService.rules[index]
Name | Type | Description | Required |
---|---|---|---|
dimensions | []object | A list of dimensions that are to be applied for this rate limit configuration. | true |
API.spec.servers[index].rateLimiting.externalService.rules[index].dimensions[index]
Name | Type | Description | Required |
---|---|---|---|
destinationCluster | object | Rate limit on destination envoy cluster. | false |
headerValueMatch | object | Rate limit on the existence of certain request headers. | false |
remoteAddress | object | Rate limit on remote address of client. | false |
requestHeaders | object | Rate limit on the value of certain request headers. | false |
sourceCluster | object | Rate limit on source envoy cluster. | false |
API.spec.servers[index].rateLimiting.externalService.rules[index].dimensions[index].headerValueMatch
Rate limit on the existence of certain request headers.
Name | Type | Description | Required |
---|---|---|---|
descriptorValue | string | The value to use in the descriptor entry. | true |
headers | map[string]object | Specifies a set of headers that the rate limit action should match on. | true |
dontMatch | boolean | If set to true, the condition will be met when the header value does not match. | false |
API.spec.servers[index].rateLimiting.externalService.rules[index].dimensions[index].headerValueMatch.headers[key]
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.servers[index].rateLimiting.externalService.rules[index].dimensions[index].requestHeaders
Rate limit on the value of certain request headers.
Name | Type | Description | Required |
---|---|---|---|
descriptorKey | string | The key to use in the descriptor entry. | true |
headerName | string | The header name to be queried from the request headers. | true |
API.spec.servers[index].rateLimiting.externalService.tls
Configure TLS parameters to be used when connecting to the external rate limit server.
Name | Type | Description | Required |
---|---|---|---|
files | object | TLS key source from files. | false |
mode | enum | Enum: DISABLED, SIMPLE, MUTUAL | false |
secretName | string | TLS key source from a Kubernetes Secret. | false |
subjectAltNames | []string | false |
API.spec.servers[index].rateLimiting.externalService.tls.files
TLS key source from files.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | File containing CA certificates to verify the certificates presented by the server. | false |
clientCertificate | string | Certificate file to authenticate the client. | false |
privateKey | string | Private key file associated with the client certificate. | false |
API.spec.servers[index].rateLimiting.settings
Name | Type | Description | Required |
---|---|---|---|
rules | []object | A list of rules for ratelimiting. | true |
failClosed | boolean | If the rate limit service is unavailable, the request will fail if failClosed is set to true. | false |
timeout | string | The timeout in seconds for the rate limit server RPC. | false |
API.spec.servers[index].rateLimiting.settings.rules[index]
Name | Type | Description | Required |
---|---|---|---|
dimensions | []object | A list of dimensions to define each ratelimit rule. | true |
limit | object | The ratelimit value that will be configured for the above rules. | true |
API.spec.servers[index].rateLimiting.settings.rules[index].dimensions[index]
Name | Type | Description | Required |
---|---|---|---|
header | object | Rate limit on certain HTTP headers. | false |
remoteAddress | object | Rate limit on the remote address of client. | false |
API.spec.servers[index].rateLimiting.settings.rules[index].dimensions[index].header
Rate limit on certain HTTP headers.
Name | Type | Description | Required |
---|---|---|---|
name | string | Name of the header to match on. | true |
dontMatch | boolean | If set to true, the condition will be met when the header value does not match. | false |
value | object | Value of the header to match on if matching on a specific value. | false |
API.spec.servers[index].rateLimiting.settings.rules[index].dimensions[index].header.value
Value of the header to match on if matching on a specific value.
Name | Type | Description | Required |
---|---|---|---|
exact | string | Exact string match. | false |
prefix | string | Prefix-based match. | false |
regex | string | ECMAscript style regex-based match. | false |
API.spec.servers[index].rateLimiting.settings.rules[index].dimensions[index].remoteAddress
Rate limit on the remote address of client.
Name | Type | Description | Required |
---|---|---|---|
value | string | Ratelimit on a specific remote address. | true |
API.spec.servers[index].rateLimiting.settings.rules[index].limit
The ratelimit value that will be configured for the above rules.
Name | Type | Description | Required |
---|---|---|---|
requestsPerUnit | integer | Specifies the value of the rate limit. | true |
unit | enum | Specifies the unit of time for rate limit. Enum: UNKNOWN, SECOND, MINUTE, HOUR, DAY | true |
API.spec.servers[index].tls
TLS certificate info.
Name | Type | Description | Required |
---|---|---|---|
cipherSuites | []string | List of cipher suites to be used for TLS connections. | false |
files | object | Load the keys and certificates from files accessible to the ingress gateway workload. | false |
maxProtocolVersion | enum | Set the maximum supported TLS protocol version. Enum: TLS_AUTO, TLSV1_0, TLSV1_1, TLSV1_2, TLSV1_3 | false |
minProtocolVersion | enum | Set the minimum supported TLS protocol version. Enum: TLS_AUTO, TLSV1_0, TLSV1_1, TLSV1_2, TLSV1_3 | false |
mode | enum | Set this to SIMPLE, or MUTUAL for one-way TLS, mutual TLS respectively. Enum: DISABLED, SIMPLE, MUTUAL, OPTIONAL_MUTUAL | false |
secretName | string | The name of the secret in Kubernetes that holds the TLS certs including the CA certificates. | false |
subjectAltNames | []string | List of Subject Alternative Names (SAN) from the client's certificate that are accepted for client identity verification during the TLS handshake. | false |
API.spec.servers[index].tls.files
Load the keys and certificates from files accessible to the ingress gateway workload.
Name | Type | Description | Required |
---|---|---|---|
caCertificates | string | false | |
privateKey | string | false | |
serverCertificate | string | false |
API.spec.servers[index].xxxOldAuthentication
Name | Type | Description | Required |
---|---|---|---|
jwt | object | false |
API.spec.servers[index].xxxOldAuthentication.jwt
Name | Type | Description | Required |
---|---|---|---|
issuer | string | Identifies the issuer that issued the JWT. | true |
audiences | []string | The list of JWT audiences. | false |
jwks | string | JSON Web Key Set of public keys to validate signature of the JWT. | false |
jwksUri | string | URL of the provider's public key set to validate signature of the JWT. | false |
API.spec.servers[index].xxxOldAuthorization
Name | Type | Description | Required |
---|---|---|---|
external | object | false | |
local | object | false |
API.spec.servers[index].xxxOldAuthorization.external
Name | Type | Description | Required |
---|---|---|---|
includeRequestHeaders | []string | false | |
uri | string | false |
API.spec.servers[index].xxxOldAuthorization.local
Name | Type | Description | Required |
---|---|---|---|
rules | []object | false |
API.spec.servers[index].xxxOldAuthorization.local.rules[index]
Name | Type | Description | Required |
---|---|---|---|
name | string | A friendly name to identify the binding. | true |
from | []object | Subjects configure the actors (end users, other services) that are allowed to access the target resource. | false |
to | []object | A set of HTTP rules that need to be satisfied by the HTTP requests to get access to the target resource. | false |
API.spec.servers[index].xxxOldAuthorization.local.rules[index].from[index]
Name | Type | Description | Required |
---|---|---|---|
jwt | object | JWT configuration to identity the subject. | false |
API.spec.servers[index].xxxOldAuthorization.local.rules[index].from[index].jwt
JWT configuration to identity the subject.
Name | Type | Description | Required |
---|---|---|---|
iss | string | false | |
other | map[string]string | A set of arbitrary claims that are required to qualify the subject. | false |
sub | string | false |
API.spec.servers[index].xxxOldAuthorization.local.rules[index].to[index]
Name | Type | Description | Required |
---|---|---|---|
methods | []string | The HTTP methods that are allowed by this rule. | false |
paths | []string | The request path where the request is made against. | false |
API.spec.workloadSelector
Optional selector to specify the gateway workloads (pod labels and Kubernetes namespace) under the application gateway group that should be configured with this gateway.
Name | Type | Description | Required |
---|---|---|---|
labels | map[string]string | One or more labels that indicate a specific set of pods/VMs in the namespace. | true |
namespace | string | The namespace where the workload resides. | true |
Application
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | application.tsb.tetrate.io/v2 | true |
kind | string | Application | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | true |
spec | object | An Application represents a set of logical groupings of services that are related to each other and expose a set of APIs that implement a complete set of business logic. | false |
status | object | false |
Application.spec
An Application represents a set of logical groupings of services that are related to each other and expose a set of APIs that implement a complete set of business logic.
Name | Type | Description | Required |
---|---|---|---|
workspace | string | FQN of the workspace this application is part of. | true |
configResources | []object | false | |
description | string | A description of the resource. | false |
displayName | string | User friendly name for the resource. | false |
etag | string | The etag for the resource. | false |
fqn | string | Fully-qualified name of the resource. | false |
gatewayGroup | string | Optional FQN of the Gateway Group to be used by the application. | false |
namespaceSelector | object | Optional set of namespaces this application can configure. | false |
services | []string | Optional list of services that are part of the application. | false |
Application.spec.configResources[index]
Name | Type | Description | Required |
---|---|---|---|
exclusivelyOwned | boolean | The exclusively owned flag indicates if the referenced configuration resource is exclusively owned by the object. | false |
expectedEtag | string | The expected etag field is used to check the if the configuration resource contents have changed. | false |
fqn | string | The FQN of the resource this status is computed for. | false |
Application.spec.namespaceSelector
Optional set of namespaces this application can configure.
Name | Type | Description | Required |
---|---|---|---|
names | []string | Under the tenant/workspace/group: - | true |