Expand description
Unofficial Rust bindings for the Kubernetes Gateway API.
Structs§
- Allowed
Routes - AllowedRoutes defines which Routes may be attached to this Listener.
- Backend
Object Reference - BackendObjectReference defines how an ObjectReference that is specific to BackendRef. It includes a few additional fields and features than a regular ObjectReference.
- Backend
Ref - BackendRef defines how a Route should forward a request to a Kubernetes resource.
- Common
Route Spec - CommonRouteSpec defines the common attributes that all Routes MUST include within their spec.
- Gateway
- Auto-generated derived type for GatewaySpec via
CustomResource
- Gateway
Address - GatewayAddress describes an address that can be bound to a Gateway.
- Gateway
Class - Auto-generated derived type for GatewayClassSpec via
CustomResource
- Gateway
Class Spec - Gateway
Class Status - GatewayClassStatus is the current status for the GatewayClass.
- Gateway
Spec - Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners to a set of IP addresses.
- Gateway
Status - GatewayStatus defines the observed state of Gateway.
- Gateway
TlsConfig - GatewayTLSConfig describes a TLS configuration.
- Grpc
Route - Auto-generated derived type for GrpcRouteSpec via
CustomResource
- Grpc
Route Backend Ref - GrpcBackendRef defines how a GrpcRoute forwards a gRPC request.
- Grpc
Route Match - 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.
- Grpc
Route Rule - 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).
- Grpc
Route Spec - Spec defines the desired state of GrpcRoute.
- Grpc
Route Status - Status defines the current state of GrpcRoute.
- Http
Backend Ref - HTTPBackendRef defines how a HTTPRoute should forward an HTTP request.
- Http
Header - HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.
- Http
Request Header Filter - HTTPRequestHeaderFilter defines configuration for the RequestHeaderModifier filter.
- Http
Request Mirror Filter - HTTPRequestMirrorFilter defines configuration for the RequestMirror filter.
- Http
Request Redirect Filter - HTTPRequestRedirect defines a filter that redirects a request. This filter MUST not be used on the same Route rule as a HTTPURLRewrite filter.
- Http
Route - Auto-generated derived type for HttpRouteSpec via
CustomResource
- Http
Route Match - 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.
- Http
Route Rule - HTTPRouteRule defines semantics for matching an HTTP request based on conditions (matches), processing it (filters), and forwarding the request to an API object (backendRefs).
- Http
Route Spec - 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.
- Http
Route Status - HTTPRouteStatus defines the observed state of HTTPRoute.
- Http
UrlRewrite Filter - 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.
- Listener
Status - ListenerStatus is the status associated with a Listener.
- Local
Object Reference - 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.
- Parameters
Reference - ParametersReference identifies an API object containing controller-specific configuration resource within the cluster.
- Parent
Reference - 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.
- Policy
Target Reference - 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.
- Reference
Grant - 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.
- Reference
Grant From - ReferenceGrantFrom describes trusted namespaces and kinds.
- Reference
Grant To - ReferenceGrantTo describes what Kinds are allowed as targets of the references.
- Route
Group Kind - RouteGroupKind indicates the group and kind of a Route resource.
- Route
Namespaces - RouteNamespaces indicate which namespaces Routes should be selected from.
- Route
Parent Status - RouteParentStatus describes the status of a route with respect to an associated Parent.
- Route
Status - RouteStatus defines the common attributes that all Routes MUST include within their status.
- Secret
Object Reference - SecretObjectReference identifies an API object including its namespace, defaulting to Secret.
- TcpRoute
- Auto-generated derived type for TcpRouteSpec via
CustomResource
- TcpRoute
Rule - TCPRouteRule is the configuration for a given rule.
- TcpRoute
Spec - 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.
- TcpRoute
Status - TCPRouteStatus defines the observed state of TCPRoute
- TlsRoute
- Auto-generated derived type for TlsRouteSpec via
CustomResource
- TlsRoute
Rule - TLSRouteRule is the configuration for a given rule.
- TlsRoute
Spec - 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.
- TlsRoute
Status - TLSRouteStatus defines the observed state of TLSRoute.
- UdpRoute
- Auto-generated derived type for UdpRouteSpec via
CustomResource
- UdpRoute
Rule - UdpRoute
Spec - UdpRoute
Status
Enums§
- Grpc
Method Match - Method specifies a gRPC request service/method matcher. If this field is not specified, all services and methods will match.
- Grpc
Route Filter - 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.
- Http
Header Match - HTTPHeaderMatch describes how to select a HTTP route by matching HTTP request headers.
- Http
Path Match - HTTPPathMatch describes how to select a HTTP route by matching the HTTP request path.
- Http
Path Modifier - HTTPPathModifier defines configuration for path modifiers.
- Http
Query Param Match - HTTPQueryParamMatch describes how to select a HTTP route by matching HTTP query parameters.
- Http
Route Filter - 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§
- Address
Type - AddressType defines how a network address is represented as a text string.
- Annotation
Key - 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.
- Annotation
Value - 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.
- From
Namespaces - FromNamespaces specifies namespace from which Routes may be attached to a Gateway.
- Gateway
Class Condition Reason - GatewayClassConditionReason defines the set of reasons that explain why a particular GatewayClass condition type has been raised.
- Gateway
Class Condition Type - GatewayClassConditionType is the type for status conditions on Gateway resources. This type should be used with the GatewayClassStatus.Conditions field.
- Gateway
Condition Reason - GatewayConditionReason defines the set of reasons that explain why a particular Gateway condition type has been raised.
- Gateway
Condition Type - GatewayConditionType is a type of condition associated with a Gateway. This type should be used with the GatewayStatus.Conditions field.
- Gateway
Controller - 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.
- Grpc
Header Match - 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:
- Http
Header Name - HTTPHeaderName is the name of an HTTP header.
- Http
Method - 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.
- Listener
Condition Reason - ListenerConditionReason defines the set of reasons that explain why a particular Listener condition type has been raised.
- Listener
Condition Type - 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.
- Object
Name - ObjectName refers to the name of a Kubernetes object.
- Port
Number - PortNumber defines a network port.
- Precise
Hostname - 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.
- Protocol
Type - 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”.
- Route
Condition Reason - RouteConditionReason is a reason for a route condition.
- Route
Condition Type - RouteConditionType is a type of condition for a route.
- Section
Name - SectionName is the name of a section in a Kubernetes resource.
- TlsMode
Type - TLSModeType type defines how a Gateway handles TLS sessions.