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), )
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 EnvoyResources ¶
type EnvoyResources struct {
Nodes watchable.Map[NodeKey, *xdstypes.NodeMetadata]
}
type GatewayAPIStatuses ¶
type GatewayAPIStatuses struct {
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 ¶
func (s *GatewayAPIStatuses) Close()
type NodeKey ¶
NodeKey is a unique identifier for an Envoy node in the format of "clusterName/nodeID"
type PolicyStatuses ¶
type PolicyStatuses struct {
ClientTrafficPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus]
BackendTrafficPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus]
SecurityPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus]
BackendTLSPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus]
}
PolicyStatuses contains policy related resources statuses
func (*PolicyStatuses) Close ¶
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, *gatewayapi.ControllerResources]
// EnvoyResources is a map from an xDS cluster name to a group
// of resources for connected Envoy proxies.
EnvoyResources EnvoyResources
// GatewayAPIStatuses is a group of gateway api
// resource statuses maps.
GatewayAPIStatuses
// PolicyStatuses is a group of policy statuses maps.
PolicyStatuses
}
ProviderResources message
func (*ProviderResources) Close ¶
func (p *ProviderResources) Close()
func (*ProviderResources) GetResources ¶
func (p *ProviderResources) GetResources() []*gatewayapi.Resources
func (*ProviderResources) GetResourcesByGatewayClass ¶
func (p *ProviderResources) GetResourcesByGatewayClass(name string) *gatewayapi.Resources
func (*ProviderResources) GetResourcesKey ¶
func (p *ProviderResources) GetResourcesKey() string
Click to show internal directories.
Click to hide internal directories.