Crate k8s_gateway_api

Source
Expand description

Unofficial Rust bindings for the Kubernetes Gateway API.

Structs§

AllowedRoutes
AllowedRoutes defines which Routes may be attached to this Listener.
BackendObjectReference
BackendObjectReference defines how an ObjectReference that is specific to BackendRef. It includes a few additional fields and features than a regular ObjectReference.
BackendRef
BackendRef defines how a Route should forward a request to a Kubernetes resource.
CommonRouteSpec
CommonRouteSpec defines the common attributes that all Routes MUST include within their spec.
Gateway
Auto-generated derived type for GatewaySpec via CustomResource
GatewayAddress
GatewayAddress describes an address that can be bound to a Gateway.
GatewayClass
Auto-generated derived type for GatewayClassSpec via CustomResource
GatewayClassSpec
GatewayClassStatus
GatewayClassStatus is the current status for the GatewayClass.
GatewaySpec
Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners to a set of IP addresses.
GatewayStatus
GatewayStatus defines the observed state of Gateway.
GatewayTlsConfig
GatewayTLSConfig describes a TLS configuration.
GrpcRoute
Auto-generated derived type for GrpcRouteSpec via CustomResource
GrpcRouteBackendRef
GrpcBackendRef defines how a GrpcRoute forwards a gRPC request.
GrpcRouteMatch
GrpcRouteMatch defines the predicate used to match requests to a given action. Multiple match types are ANDed together, i.e. the match will evaluate to true only if all conditions are satisfied.
GrpcRouteRule
GrpcRouteRule defines the semantics for matching a gRPC request based on conditions (matches), processing it (filters), and forwarding the request to an API object (backendRefs).
GrpcRouteSpec
Spec defines the desired state of GrpcRoute.
GrpcRouteStatus
Status defines the current state of GrpcRoute.
HttpBackendRef
HTTPBackendRef defines how a HTTPRoute should forward an HTTP request.
HttpHeader
HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.
HttpRequestHeaderFilter
HTTPRequestHeaderFilter defines configuration for the RequestHeaderModifier filter.
HttpRequestMirrorFilter
HTTPRequestMirrorFilter defines configuration for the RequestMirror filter.
HttpRequestRedirectFilter
HTTPRequestRedirect defines a filter that redirects a request. This filter MUST not be used on the same Route rule as a HTTPURLRewrite filter.
HttpRoute
Auto-generated derived type for HttpRouteSpec via CustomResource
HttpRouteMatch
HTTPRouteMatch defines the predicate used to match requests to a given action. Multiple match types are ANDed together, i.e. the match will evaluate to true only if all conditions are satisfied.
HttpRouteRule
HTTPRouteRule defines semantics for matching an HTTP request based on conditions (matches), processing it (filters), and forwarding the request to an API object (backendRefs).
HttpRouteSpec
HTTPRoute provides a way to route HTTP requests. This includes the capability to match requests by hostname, path, header, or query param. Filters can be used to specify additional processing steps. Backends specify where matching requests should be routed.
HttpRouteStatus
HTTPRouteStatus defines the observed state of HTTPRoute.
HttpUrlRewriteFilter
HTTPURLRewriteFilter defines a filter that modifies a request during forwarding. At most one of these filters may be used on a Route rule. This may not be used on the same Route rule as a HTTPRequestRedirect filter.
Listener
Listener embodies the concept of a logical endpoint where a Gateway accepts network connections.
ListenerStatus
ListenerStatus is the status associated with a Listener.
LocalObjectReference
LocalObjectReference identifies an API object within the namespace of the referrer. The API object must be valid in the cluster; the Group and Kind must be registered in the cluster for this reference to be valid.
ParametersReference
ParametersReference identifies an API object containing controller-specific configuration resource within the cluster.
ParentReference
ParentReference identifies an API object (usually a Gateway) that can be considered a parent of this resource (usually a route). The only kind of parent resource with “Core” support is Gateway. This API may be extended in the future to support additional kinds of parent resources, such as HTTPRoute.
PolicyTargetReference
PolicyTargetReference identifies an API object to apply policy to. This should be used as part of Policy resources that can target Gateway API resources. For more information on how this policy attachment model works, and a sample Policy resource, refer to the policy attachment documentation for Gateway API.
ReferenceGrant
ReferenceGrant identifies kinds of resources in other namespaces that are trusted to reference the specified kinds of resources in the same namespace as the policy.
ReferenceGrantFrom
ReferenceGrantFrom describes trusted namespaces and kinds.
ReferenceGrantTo
ReferenceGrantTo describes what Kinds are allowed as targets of the references.
RouteGroupKind
RouteGroupKind indicates the group and kind of a Route resource.
RouteNamespaces
RouteNamespaces indicate which namespaces Routes should be selected from.
RouteParentStatus
RouteParentStatus describes the status of a route with respect to an associated Parent.
RouteStatus
RouteStatus defines the common attributes that all Routes MUST include within their status.
SecretObjectReference
SecretObjectReference identifies an API object including its namespace, defaulting to Secret.
TcpRoute
Auto-generated derived type for TcpRouteSpec via CustomResource
TcpRouteRule
TCPRouteRule is the configuration for a given rule.
TcpRouteSpec
TCPRoute provides a way to route TCP requests. When combined with a Gateway listener, it can be used to forward connections on the port specified by the listener to a set of backends specified by the TCPRoute.
TcpRouteStatus
TCPRouteStatus defines the observed state of TCPRoute
TlsRoute
Auto-generated derived type for TlsRouteSpec via CustomResource
TlsRouteRule
TLSRouteRule is the configuration for a given rule.
TlsRouteSpec
The TLSRoute resource is similar to TCPRoute, but can be configured to match against TLS-specific metadata. This allows more flexibility in matching streams for a given TLS listener.
TlsRouteStatus
TLSRouteStatus defines the observed state of TLSRoute.
UdpRoute
Auto-generated derived type for UdpRouteSpec via CustomResource
UdpRouteRule
UdpRouteSpec
UdpRouteStatus

Enums§

GrpcMethodMatch
Method specifies a gRPC request service/method matcher. If this field is not specified, all services and methods will match.
GrpcRouteFilter
GrpcRouteFilter defines processing steps that must be completed during the request or response lifecycle. GrpcRouteFilters are meant as an extension point to express processing that may be done in Gateway implementations. Some examples include request or response modification, implementing authentication strategies, rate-limiting, and traffic shaping. API guarantee/conformance is defined based on the type of the filter.
HttpHeaderMatch
HTTPHeaderMatch describes how to select a HTTP route by matching HTTP request headers.
HttpPathMatch
HTTPPathMatch describes how to select a HTTP route by matching the HTTP request path.
HttpPathModifier
HTTPPathModifier defines configuration for path modifiers.
HttpQueryParamMatch
HTTPQueryParamMatch describes how to select a HTTP route by matching HTTP query parameters.
HttpRouteFilter
HTTPRouteFilter defines processing steps that must be completed during the request or response lifecycle. HTTPRouteFilters are meant as an extension point to express processing that may be done in Gateway implementations. Some examples include request or response modification, implementing authentication strategies, rate-limiting, and traffic shaping. API guarantee/conformance is defined based on the type of the filter.

Type Aliases§

AddressType
AddressType defines how a network address is represented as a text string.
AnnotationKey
AnnotationKey is the key of an annotation in Gateway API. This is used for validation of maps such as TLS options. This matches the Kubernetes “qualified name” validation that is used for annotations and other common values.
AnnotationValue
AnnotationValue is the value of an annotation in Gateway API. This is used for validation of maps such as TLS options. This roughly matches Kubernetes annotation validation, although the length validation in that case is based on the entire size of the annotations struct.
FromNamespaces
FromNamespaces specifies namespace from which Routes may be attached to a Gateway.
GatewayClassConditionReason
GatewayClassConditionReason defines the set of reasons that explain why a particular GatewayClass condition type has been raised.
GatewayClassConditionType
GatewayClassConditionType is the type for status conditions on Gateway resources. This type should be used with the GatewayClassStatus.Conditions field.
GatewayConditionReason
GatewayConditionReason defines the set of reasons that explain why a particular Gateway condition type has been raised.
GatewayConditionType
GatewayConditionType is a type of condition associated with a Gateway. This type should be used with the GatewayStatus.Conditions field.
GatewayController
GatewayController is the name of a Gateway API controller. It must be a domain prefixed path.
Group
Group refers to a Kubernetes Group. It must either be an empty string or a RFC 1123 subdomain.
GrpcHeaderMatch
Hostname
Hostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 2 notable exceptions:
HttpHeaderName
HTTPHeaderName is the name of an HTTP header.
HttpMethod
HTTPMethod describes how to select a HTTP route by matching the HTTP method as defined by RFC 7231 and RFC 5789. The value is expected in upper case.
Kind
Kind refers to a Kubernetes Kind.
ListenerConditionReason
ListenerConditionReason defines the set of reasons that explain why a particular Listener condition type has been raised.
ListenerConditionType
ListenerConditionType is a type of condition associated with the listener. This type should be used with the ListenerStatus.Conditions field.
Namespace
Namespace refers to a Kubernetes namespace. It must be a RFC 1123 label.
ObjectName
ObjectName refers to the name of a Kubernetes object.
PortNumber
PortNumber defines a network port.
PreciseHostname
PreciseHostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 1 notable exception that numeric IP addresses are not allowed.
ProtocolType
ProtocolType defines the application protocol accepted by a Listener. Implementations are not required to accept all the defined protocols. If an implementation does not support a specified protocol, it should raise a “Detached” condition for the affected Listener with a reason of “UnsupportedProtocol”.
RouteConditionReason
RouteConditionReason is a reason for a route condition.
RouteConditionType
RouteConditionType is a type of condition for a route.
SectionName
SectionName is the name of a section in a Kubernetes resource.
TlsModeType
TLSModeType type defines how a Gateway handles TLS sessions.