Crate k8s_gateway_api

source ·
Expand description

Unofficial Rust bindings for the Kubernetes Gateway API.

Structs

  • AllowedRoutes defines which Routes may be attached to this Listener.
  • BackendObjectReference defines how an ObjectReference that is specific to BackendRef. It includes a few additional fields and features than a regular ObjectReference.
  • BackendRef defines how a Route should forward a request to a Kubernetes resource.
  • CommonRouteSpec defines the common attributes that all Routes MUST include within their spec.
  • Auto-generated derived type for GatewaySpec via CustomResource
  • GatewayAddress describes an address that can be bound to a Gateway.
  • Auto-generated derived type for GatewayClassSpec via CustomResource
  • GatewayClassStatus is the current status for the GatewayClass.
  • Gateway represents an instance of a service-traffic handling infrastructure by binding Listeners to a set of IP addresses.
  • GatewayStatus defines the observed state of Gateway.
  • GatewayTLSConfig describes a TLS configuration.
  • HTTPBackendRef defines how a HTTPRoute should forward an HTTP request.
  • HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.
  • HTTPRequestHeaderFilter defines configuration for the RequestHeaderModifier filter.
  • HTTPRequestMirrorFilter defines configuration for the RequestMirror filter.
  • HTTPRequestRedirect defines a filter that redirects a request. This filter MUST not be used on the same Route rule as a HTTPURLRewrite filter.
  • Auto-generated derived type for HttpRouteSpec via CustomResource
  • 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 defines semantics for matching an HTTP request based on conditions (matches), processing it (filters), and forwarding the request to an API object (backendRefs).
  • 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 defines the observed state of HTTPRoute.
  • 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 embodies the concept of a logical endpoint where a Gateway accepts network connections.
  • ListenerStatus is the status associated with a Listener.
  • 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 identifies an API object containing controller-specific configuration resource within the cluster.
  • 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 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 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 describes trusted namespaces and kinds.
  • ReferenceGrantTo describes what Kinds are allowed as targets of the references.
  • RouteGroupKind indicates the group and kind of a Route resource.
  • RouteNamespaces indicate which namespaces Routes should be selected from.
  • RouteParentStatus describes the status of a route with respect to an associated Parent.
  • RouteStatus defines the common attributes that all Routes MUST include within their status.
  • SecretObjectReference identifies an API object including its namespace, defaulting to Secret.
  • Auto-generated derived type for TcpRouteSpec via CustomResource
  • TCPRouteRule is the configuration for a given rule.
  • 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 defines the observed state of TCPRoute
  • Auto-generated derived type for TlsRouteSpec via CustomResource
  • TLSRouteRule is the configuration for a given rule.
  • 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 defines the observed state of TLSRoute.
  • Auto-generated derived type for UdpRouteSpec via CustomResource

Enums

  • HTTPHeaderMatch describes how to select a HTTP route by matching HTTP request headers.
  • HTTPPathMatch describes how to select a HTTP route by matching the HTTP request path.
  • HTTPPathModifier defines configuration for path modifiers.
  • HTTPQueryParamMatch describes how to select a HTTP route by matching HTTP query parameters.
  • 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 defines how a network address is represented as a text string.
  • 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 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 specifies namespace from which Routes may be attached to a Gateway.
  • GatewayClassConditionReason defines the set of reasons that explain why a particular GatewayClass condition type has been raised.
  • GatewayClassConditionType is the type for status conditions on Gateway resources. This type should be used with the GatewayClassStatus.Conditions field.
  • GatewayConditionReason defines the set of reasons that explain why a particular Gateway condition type has been raised.
  • GatewayConditionType is a type of condition associated with a Gateway. This type should be used with the GatewayStatus.Conditions field.
  • GatewayController is the name of a Gateway API controller. It must be a domain prefixed path.
  • Group refers to a Kubernetes Group. It must either be an empty string or a RFC 1123 subdomain.
  • 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 is the name of an HTTP header.
  • 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 refers to a Kubernetes Kind.
  • ListenerConditionReason defines the set of reasons that explain why a particular Listener condition type has been raised.
  • ListenerConditionType is a type of condition associated with the listener. This type should be used with the ListenerStatus.Conditions field.
  • Namespace refers to a Kubernetes namespace. It must be a RFC 1123 label.
  • ObjectName refers to the name of a Kubernetes object.
  • PortNumber defines a network port.
  • 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 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 is a reason for a route condition.
  • RouteConditionType is a type of condition for a route.
  • SectionName is the name of a section in a Kubernetes resource.
  • TLSModeType type defines how a Gateway handles TLS sessions.