Documentation
¶
Overview ¶
Package contour contains the translation business logic that listens to Kubernetes ResourceEventHandler events and translates those into additions/deletions in caches connected to the Envoy xDS gRPC API server.
Package contour contains the translation business logic that listens to Kubernetes ResourceEventHandler events and translates those into additions/deletions in caches connected to the Envoy xDS gRPC API server.
Index ¶
- type EventHandler
- func (e *EventHandler) HasBuiltInitialDag() bool
- func (e *EventHandler) NeedLeaderElection() bool
- func (e *EventHandler) OnAdd(obj any, isInInitialList bool)
- func (e *EventHandler) OnDelete(obj any)
- func (e *EventHandler) OnElectedLeader()
- func (e *EventHandler) OnUpdate(oldObj, newObj any)
- func (e *EventHandler) Sequence() <-chan int
- func (e *EventHandler) Start(ctx context.Context) error
- type EventHandlerConfig
- type EventRecorder
- type Observer
- type ObserverFunc
- type RebuildMetricsObserver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EventHandler ¶ added in v1.0.0
type EventHandler struct {
logrus.FieldLogger
// contains filtered or unexported fields
}
EventHandler implements cache.ResourceEventHandler, filters k8s events towards a dag.Builder and calls through to the Observer to notify it that a new DAG is available.
func NewEventHandler ¶ added in v1.20.0
func NewEventHandler(config EventHandlerConfig, upstreamHasSynced cache.InformerSynced) *EventHandler
func (*EventHandler) HasBuiltInitialDag ¶ added in v1.27.0
func (e *EventHandler) HasBuiltInitialDag() bool
func (*EventHandler) NeedLeaderElection ¶ added in v1.20.0
func (e *EventHandler) NeedLeaderElection() bool
NeedLeaderElection is included to implement manager.LeaderElectionRunnable
func (*EventHandler) OnAdd ¶ added in v1.0.0
func (e *EventHandler) OnAdd(obj any, isInInitialList bool)
func (*EventHandler) OnDelete ¶ added in v1.0.0
func (e *EventHandler) OnDelete(obj any)
func (*EventHandler) OnElectedLeader ¶ added in v1.20.0
func (e *EventHandler) OnElectedLeader()
Implements leadership.NeedLeaderElectionNotification
func (*EventHandler) OnUpdate ¶ added in v1.0.0
func (e *EventHandler) OnUpdate(oldObj, newObj any)
func (*EventHandler) Sequence ¶ added in v1.0.0
func (e *EventHandler) Sequence() <-chan int
Sequence returns a channel that receives a incrementing sequence number for each update processed. The updates may be processed immediately, or delayed by a holdoff timer. In each case a non blocking send to the sequence channel will be made once the resource update is received (note that the DAG is not guaranteed to be called each time).
type EventHandlerConfig ¶ added in v1.20.0
type EventHandlerConfig struct {
Logger logrus.FieldLogger
Builder *dag.Builder
Observer dag.Observer
HoldoffDelay, HoldoffMaxDelay time.Duration
StatusUpdater k8s.StatusUpdater
}
type EventRecorder ¶ added in v1.2.0
type EventRecorder struct {
Next cache.ResourceEventHandler
Counter *prometheus.CounterVec
}
EventRecorder records the count and kind of events forwarded to another ResourceEventHandler.
func (*EventRecorder) OnAdd ¶ added in v1.2.0
func (e *EventRecorder) OnAdd(obj any, isInInitialList bool)
func (*EventRecorder) OnDelete ¶ added in v1.2.0
func (e *EventRecorder) OnDelete(obj any)
func (*EventRecorder) OnUpdate ¶ added in v1.2.0
func (e *EventRecorder) OnUpdate(oldObj, newObj any)
type Observer ¶ added in v1.9.0
type Observer interface {
Refresh()
}
Observer is an interface for receiving notifications.
func ComposeObservers ¶ added in v1.9.0
ComposeObservers returns a new Observer that calls each of its arguments in turn.
type ObserverFunc ¶ added in v1.9.0
type ObserverFunc func()
ObserverFunc is a function that implements the Observer interface by calling itself. It can be nil.
func (ObserverFunc) Refresh ¶ added in v1.9.0
func (f ObserverFunc) Refresh()
type RebuildMetricsObserver ¶ added in v1.8.0
type RebuildMetricsObserver struct {
// contains filtered or unexported fields
}
RebuildMetricsObserver is a dag.Observer that emits metrics for DAG rebuilds.
func NewRebuildMetricsObserver ¶ added in v1.20.0
func NewRebuildMetricsObserver(metrics *metrics.Metrics, nextObserver dag.Observer) *RebuildMetricsObserver
func (*RebuildMetricsObserver) OnChange ¶ added in v1.8.0
func (m *RebuildMetricsObserver) OnChange(d *dag.DAG)
func (*RebuildMetricsObserver) OnElectedLeader ¶ added in v1.20.0
func (m *RebuildMetricsObserver) OnElectedLeader()