Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewController ¶
Types ¶
type Reconciler ¶
type Reconciler struct { IngressLister nv1alpha1lister.IngressLister EnvoyXDSServer *envoy.XdsServer CurrentCaches *generator.Caches ExtAuthz bool // contains filtered or unexported fields }
type StatusProber ¶
type StatusProber struct {
// contains filtered or unexported fields
}
StatusProber provides a way to check if a VirtualService is ready by probing the Envoy pods handling that VirtualService.
func NewStatusProber ¶
func NewStatusProber( logger *zap.SugaredLogger, endpointsLister corev1listers.EndpointsLister, readyCallback func(ingress *v1alpha1.Ingress)) *StatusProber
NewStatusProber creates a new instance of StatusProber
func (*StatusProber) CancelIngress ¶
func (m *StatusProber) CancelIngress(ingress *v1alpha1.Ingress)
CancelIngress cancels probing of the provided Ingress.
func (*StatusProber) CancelPodProbing ¶
func (m *StatusProber) CancelPodProbing(pod *corev1.Pod)
CancelPodProbing cancels probing of the provided Pod IP.
func (*StatusProber) IsReady ¶
func (m *StatusProber) IsReady(ingress *v1alpha1.Ingress) (bool, error)
IsReady checks if the provided Ingress is ready, i.e. the Envoy pods serving the Ingress have all been updated. This function is designed to be used by the Ingress controller, i.e. it will be called in the order of reconciliation. This means that if IsReady is called on an Ingress, this Ingress is the latest known version and therefore anything related to older versions can be ignored. Also, it means that IsReady is not called concurrently.
func (*StatusProber) Start ¶
func (m *StatusProber) Start(done <-chan struct{})
Start starts the StatusManager background operations