Documentation
¶
Index ¶
- func HandleSubscription[K comparable, V any](meta Metadata, subscription <-chan watchable.Snapshot[K, V], ...)
- func PublishMetric(meta Metadata)
- type ExtensionStatuses
- type GatewayAPIStatuses
- type InfraIR
- type MessageName
- type Metadata
- type NamespacedNameAndGVK
- type PolicyStatuses
- type ProviderResources
- type Update
- type XdsIR
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleSubscription ¶
func HandleSubscription[K comparable, V any]( meta Metadata, subscription <-chan watchable.Snapshot[K, V], handle func(updateFunc Update[K, V], errChans chan error), )
HandleSubscription takes a channel returned by watchable.Map.Subscribe() (or .SubscribeSubset()), and calls the given function for each initial value in the map, and for any updates.
This is better than simply iterating over snapshot.Updates because it handles the case where the watchable.Map already contains entries before .Subscribe is called.
func PublishMetric ¶ added in v1.5.0
func PublishMetric(meta Metadata)
Types ¶
type ExtensionStatuses ¶ added in v1.1.1
type ExtensionStatuses struct {
BackendStatuses watchable.Map[types.NamespacedName, *egv1a1.BackendStatus]
}
ExtensionStatuses contains statuses related to gw-api extension resources
type GatewayAPIStatuses ¶ added in v0.6.0
type GatewayAPIStatuses struct { GatewayClassStatuses watchable.Map[types.NamespacedName, *gwapiv1.GatewayClassStatus] GatewayStatuses watchable.Map[types.NamespacedName, *gwapiv1.GatewayStatus] HTTPRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1.HTTPRouteStatus] GRPCRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1.GRPCRouteStatus] TLSRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.TLSRouteStatus] TCPRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.TCPRouteStatus] UDPRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.UDPRouteStatus] }
GatewayAPIStatuses contains gateway API resources statuses
func (*GatewayAPIStatuses) Close ¶ added in v0.6.0
func (s *GatewayAPIStatuses) Close()
type MessageName ¶ added in v1.5.0
type MessageName string
const ( // XDSIRMessageName is a message containing xds-ir translated from provider-resources XDSIRMessageName MessageName = "xds-ir" // InfraIRMessageName is a message containing infra-ir translated from provider-resources InfraIRMessageName MessageName = "infra-ir" // ProviderResourcesMessageName is a message containing gw-api and envoy gateway resources from the provider ProviderResourcesMessageName MessageName = "provider-resources" // BackendStatusMessageName is a message containing updates to Backend status BackendStatusMessageName MessageName = "backend-status" // ExtensionServerPoliciesStatusMessageName is a message containing updates to ExtensionServerPolicy status ExtensionServerPoliciesStatusMessageName MessageName = "extensionserverpolicies-status" // EnvoyExtensionPolicyStatusMessageName is a message containing updates to EnvoyExtensionPolicy status EnvoyExtensionPolicyStatusMessageName MessageName = "envoyextensionpolicy-status" // EnvoyPatchPolicyStatusMessageName is a message containing updates to EnvoyPatchPolicy status EnvoyPatchPolicyStatusMessageName MessageName = "envoypatchpolicy-status" // SecurityPolicyStatusMessageName is a message containing updates to SecurityPolicy status SecurityPolicyStatusMessageName MessageName = "securitypolicy-status" // BackendTrafficPolicyStatusMessageName is a message containing updates to BackendTrafficPolicy status BackendTrafficPolicyStatusMessageName MessageName = "backendtrafficpolicy-status" // ClientTrafficPolicyStatusMessageName is a message containing updates to ClientTrafficPolicy status ClientTrafficPolicyStatusMessageName MessageName = "clienttrafficpolicy-status" // BackendTLSPolicyStatusMessageName is a message containing updates to BackendTLSPolicy status BackendTLSPolicyStatusMessageName MessageName = "backendtlspolicy-status" // UDPRouteStatusMessageName is a message containing updates to UDPRoute status UDPRouteStatusMessageName MessageName = "udproute-status" // TCPRouteStatusMessageName is a message containing updates to TCPRoute status TCPRouteStatusMessageName MessageName = "tcproute-status" // TLSRouteStatusMessageName is a message containing updates to TLSRoute status TLSRouteStatusMessageName MessageName = "tlsroute-status" // GRPCRouteStatusMessageName is a message containing updates to GRPCRoute status GRPCRouteStatusMessageName MessageName = "grpcroute-status" // HTTPRouteStatusMessageName is a message containing updates to HTTPRoute status HTTPRouteStatusMessageName MessageName = "httproute-status" // GatewayStatusMessageName is a message containing updates to Gateway status GatewayStatusMessageName MessageName = "gateway-status" // GatewayClassStatusMessageName is a message containing updates to GatewayClass status GatewayClassStatusMessageName MessageName = "gatewayclass-status" )
type Metadata ¶ added in v0.6.0
type Metadata struct { Runner string Message MessageName }
func (Metadata) LabelValues ¶ added in v0.6.0
func (m Metadata) LabelValues() []metrics.LabelValue
type NamespacedNameAndGVK ¶ added in v1.1.0
type NamespacedNameAndGVK struct { types.NamespacedName schema.GroupVersionKind }
type PolicyStatuses ¶ added in v0.6.0
type PolicyStatuses struct { ClientTrafficPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] BackendTrafficPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] EnvoyPatchPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] SecurityPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] BackendTLSPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] EnvoyExtensionPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] ExtensionPolicyStatuses watchable.Map[NamespacedNameAndGVK, *gwapiv1a2.PolicyStatus] }
PolicyStatuses contains policy related resources statuses
func (*PolicyStatuses) Close ¶ added in v0.6.0
func (p *PolicyStatuses) Close()
type ProviderResources ¶
type ProviderResources struct { // GatewayAPIResources is a map from a GatewayClass name to // a group of gateway API and other related resources. GatewayAPIResources watchable.Map[string, *resource.ControllerResources] // GatewayAPIStatuses is a group of gateway api // resource statuses maps. GatewayAPIStatuses // PolicyStatuses is a group of policy statuses maps. PolicyStatuses // ExtensionStatuses is a group of gw-api extension resource statuses map. ExtensionStatuses }
ProviderResources message
func (*ProviderResources) Close ¶ added in v0.3.0
func (p *ProviderResources) Close()
func (*ProviderResources) GetResources ¶ added in v0.3.0
func (p *ProviderResources) GetResources() []*resource.Resources
func (*ProviderResources) GetResourcesByGatewayClass ¶ added in v1.0.0
func (p *ProviderResources) GetResourcesByGatewayClass(name string) *resource.Resources
func (*ProviderResources) GetResourcesKey ¶ added in v0.3.0
func (p *ProviderResources) GetResourcesKey() string
Click to show internal directories.
Click to hide internal directories.