Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetIPForService ¶ added in v0.34.0
func GetIPForService(svc types.NamespacedName) string
func NewIPListerWithMapping ¶ added in v0.34.0
func NewIPListerWithMapping() *ipListerWithMapping
Types ¶
type Addressable ¶
type Addressable struct { // Addressable address. Address *url.URL // Resource key. ResourceKey types.NamespacedName }
Addressable contains addressable resource data for the prober.
type Cache ¶
type Cache interface { // GetStatus retries the status associated with the given key. GetStatus(key string) Status // UpsertStatus add or updates the status associated with the given key. // Once the given key expires the onExpired callback will be called passing the arg parameter. UpsertStatus(key string, status Status, arg interface{}, onExpired ExpirationFunc) // Expire will expire the given key. Expire(key string) }
Cache is a key-status store.
type EnqueueFunc ¶
type EnqueueFunc func(key types.NamespacedName)
EnqueueFunc enqueues the given provided resource key.
type ExpirationFunc ¶
type ExpirationFunc func(key string, arg interface{})
ExpirationFunc is a callback called once an entry in the cache is expired.
type Func ¶
type Func func(ctx context.Context, addressable Addressable, expected Status) Status
Func type is an adapter to allow the use of ordinary functions as Prober. If f is a function with the appropriate signature, Func(f) is a Prober that calls f.
func (Func) RotateRootCaCerts ¶ added in v0.38.0
RotateRootCaCerts is an empty implementation to complete the Prober interface for Func.
type IPListerWithMapping ¶ added in v0.34.0
type IPListerWithMapping interface { Register(svc types.NamespacedName, ip string) Unregister(svc types.NamespacedName) List(addressable Addressable) ([]string, error) }
type IPsLister ¶ added in v0.29.5
type IPsLister func(addressable Addressable) ([]string, error)
func IPsListerFromService ¶ added in v0.29.5
func IPsListerFromService(svc types.NamespacedName) IPsLister
func IdentityIPsLister ¶ added in v0.31.3
func IdentityIPsLister() IPsLister
type NewAddressable ¶ added in v0.38.0
type NewAddressable struct { // Addressable status AddressStatus *duckv1.AddressStatus // Resource key ResourceKey types.NamespacedName }
NewAddressable contains addressable resource data for the new prober
type NewFunc ¶ added in v0.38.0
type NewFunc func(ctx context.Context, addressable NewAddressable, expected Status) Status
func (NewFunc) RotateRootCaCerts ¶ added in v0.38.0
type NewProber ¶ added in v0.38.0
type NewProber interface { // Probe probes the provided NewAddressable resource and returns its Status Probe(ctx context.Context, addressable NewAddressable, expected Status) Status // RotateRootCaCerts rotates the CA certs used to make http requests RotateRootCaCerts(caCerts *string) error }
NewProber probes an addressable resource
func NewComposite ¶ added in v0.38.0
func NewComposite(ctx context.Context, httpPort string, httpsPort string, IPsLister IPsLister, enqueue EnqueueFunc, caCerts *string) (NewProber, error)
NewComposite creates a composite prober.
It reports status changes using the provided EnqueueFunc.
func NewCompositeNoTLS ¶ added in v0.38.0
func NewCompositeNoTLS(ctx context.Context, httpPort string, IPsLister IPsLister, enqueue EnqueueFunc) (NewProber, error)
NewCompositeNoTLS creates a composite prober which will fail if it attempts to probe an https address
type Prober ¶
type Prober interface { // Probe probes the provided Addressable resource and returns its Status. Probe(ctx context.Context, addressable Addressable, expected Status) Status // RotateRootCaCerts rotates the CA certs used to make http requests RotateRootCaCerts(caCerts *string) error }
Prober probes an addressable resource.
func NewAsync ¶
func NewAsync(ctx context.Context, client httpClient, port string, IPsLister IPsLister, enqueue EnqueueFunc) Prober
NewAsync creates an async Prober.
It reports status changes using the provided EnqueueFunc.
func NewAsyncWithTLS ¶ added in v0.38.0
type Status ¶
type Status int
Status represents the resource status.
const ( // StatusReady signals that a given object is ready. StatusReady Status = iota // StatusUnknown signals that a given object is not ready and its state is unknown. StatusUnknown // StatusUnknownErr signals that a given object is not ready and its state is unknown due to // networking problems between control plane and data plane. StatusUnknownErr // StatusNotReady signals that a given object is not ready. StatusNotReady )