Documentation ¶
Index ¶
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.
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 Metadata ¶ added in v0.6.0
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.