Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ControlClusterContext ¶
type ControlClusterContext struct { // ResourceNamespace determines the location of replicated Ingress resources. ResourceNamespace string Client kubernetes.Interface IngressInformer cache.SharedIndexInformer IngressLister lv1beta1.IngressLister IngressSync cache.InformerSynced }
ControlClusterContext holds information about the control cluster.
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller holds information about the traget and control cluster.
func NewController ¶
func NewController( controlCtx *ControlClusterContext, targetCtx *TargetClusterContext, updateIngresses bool, annotationTemplate utils.CreateIngressAnnotation, ) *Controller
NewController creates a new instance of Controller which in turn is capable of deleting Ingress resources in the control clusters which don't have a counterpart in the target cluster.
func (*Controller) Start ¶
func (c *Controller) Start(worker int, stopCh <-chan struct{}) error
Start starts the control loop.
type EventHandler ¶
type EventHandler struct {
Queue workqueue.DelayingInterface
}
EventHandler dispatches events to a queue of type DelayingInterface.
func (*EventHandler) OnAdd ¶
func (e *EventHandler) OnAdd(obj interface{})
OnAdd adds the object to the queue if the resource name matches the common naming pattern in the control cluster.
func (*EventHandler) OnDelete ¶
func (e *EventHandler) OnDelete(obj interface{})
OnDelete events are ignored by this handler.
func (*EventHandler) OnUpdate ¶
func (e *EventHandler) OnUpdate(oldObj, newObj interface{})
OnUpdate events are ignored by this handler.
type TargetClusterContext ¶
type TargetClusterContext struct { IngressLister lv1beta1.IngressLister IngressSync cache.InformerSynced }
TargetClusterContext holds information about the target cluster.