Documentation ¶
Overview ¶
Package exposition implements the reflection logic for services, endpointslices and ingresses.
Index ¶
- Constants
- func NewEndpointSliceReflector(ipamclient ipam.IpamClient, workers uint) manager.Reflector
- func NewIngressReflector(workers uint) manager.Reflector
- func NewNamespacedEndpointSliceReflector(ipamclient ipam.IpamClient) func(*options.NamespacedOpts) manager.NamespacedReflector
- func NewNamespacedIngressReflector(opts *options.NamespacedOpts) manager.NamespacedReflector
- func NewNamespacedServiceReflector(opts *options.NamespacedOpts) manager.NamespacedReflector
- func NewServiceReflector(workers uint) manager.Reflector
- type NamespacedEndpointSliceReflector
- func (ner *NamespacedEndpointSliceReflector) Handle(ctx context.Context, name string) error
- func (ner *NamespacedEndpointSliceReflector) MapEndpointIPs(ctx context.Context, endpointslice string, originals []string) ([]string, error)
- func (ner *NamespacedEndpointSliceReflector) ServiceToEndpointSlicesKeyer(metadata metav1.Object) []types.NamespacedName
- func (ner *NamespacedEndpointSliceReflector) ShouldSkipReflection(obj metav1.Object) bool
- func (ner *NamespacedEndpointSliceReflector) UnmapEndpointIPs(ctx context.Context, endpointslice string) error
- type NamespacedIngressReflector
- type NamespacedServiceReflector
Constants ¶
const (
// EndpointSliceReflectorName -> The name associated with the EndpointSlice reflector.
EndpointSliceReflectorName = "EndpointSlice"
)
const (
// IngressReflectorName -> The name associated with the Ingress reflector.
IngressReflectorName = "Ingress"
)
const (
// ServiceReflectorName -> The name associated with the Service reflector.
ServiceReflectorName = "Service"
)
Variables ¶
This section is empty.
Functions ¶
func NewEndpointSliceReflector ¶
func NewEndpointSliceReflector(ipamclient ipam.IpamClient, workers uint) manager.Reflector
NewEndpointSliceReflector returns a new EndpointSliceReflector instance.
func NewIngressReflector ¶ added in v0.5.0
NewIngressReflector returns a new IngressReflector instance.
func NewNamespacedEndpointSliceReflector ¶
func NewNamespacedEndpointSliceReflector(ipamclient ipam.IpamClient) func(*options.NamespacedOpts) manager.NamespacedReflector
NewNamespacedEndpointSliceReflector returns a function generating NamespacedEndpointSliceReflector instances.
func NewNamespacedIngressReflector ¶ added in v0.5.0
func NewNamespacedIngressReflector(opts *options.NamespacedOpts) manager.NamespacedReflector
NewNamespacedIngressReflector returns a new NamespacedIngressReflector instance.
func NewNamespacedServiceReflector ¶
func NewNamespacedServiceReflector(opts *options.NamespacedOpts) manager.NamespacedReflector
NewNamespacedServiceReflector returns a new NamespacedServiceReflector instance.
func NewServiceReflector ¶
NewServiceReflector returns a new ServiceReflector instance.
Types ¶
type NamespacedEndpointSliceReflector ¶
type NamespacedEndpointSliceReflector struct { generic.NamespacedReflector // contains filtered or unexported fields }
NamespacedEndpointSliceReflector manages the EndpointSlice reflection for a given pair of local and remote namespaces.
func (*NamespacedEndpointSliceReflector) Handle ¶
func (ner *NamespacedEndpointSliceReflector) Handle(ctx context.Context, name string) error
Handle reconciles endpointslice objects.
func (*NamespacedEndpointSliceReflector) MapEndpointIPs ¶
func (ner *NamespacedEndpointSliceReflector) MapEndpointIPs(ctx context.Context, endpointslice string, originals []string) ([]string, error)
MapEndpointIPs maps the local set of addresses to the corresponding remote ones.
func (*NamespacedEndpointSliceReflector) ServiceToEndpointSlicesKeyer ¶ added in v0.6.0
func (ner *NamespacedEndpointSliceReflector) ServiceToEndpointSlicesKeyer(metadata metav1.Object) []types.NamespacedName
ServiceToEndpointSlicesKeyer returns the NamespacedName of all local EndpointSlices associated with the given local Service.
func (*NamespacedEndpointSliceReflector) ShouldSkipReflection ¶ added in v0.6.0
func (ner *NamespacedEndpointSliceReflector) ShouldSkipReflection(obj metav1.Object) bool
ShouldSkipReflection returns whether the reflection of the given object should be skipped.
func (*NamespacedEndpointSliceReflector) UnmapEndpointIPs ¶
func (ner *NamespacedEndpointSliceReflector) UnmapEndpointIPs(ctx context.Context, endpointslice string) error
UnmapEndpointIPs unmaps the local set of addresses for the given endpointslice and releases the corresponding remote ones.
type NamespacedIngressReflector ¶ added in v0.5.0
type NamespacedIngressReflector struct { generic.NamespacedReflector // contains filtered or unexported fields }
NamespacedIngressReflector manages the Ingress reflection for a given pair of local and remote namespaces.
type NamespacedServiceReflector ¶
type NamespacedServiceReflector struct { generic.NamespacedReflector // contains filtered or unexported fields }
NamespacedServiceReflector manages the Service reflection for a given pair of local and remote namespaces.