kubernetes/pkg/controller/ttl/ttl_controller.go

type Controller

// NewTTLController creates a new TTLController
func NewTTLController(ctx context.Context, nodeInformer informers.NodeInformer, kubeClient clientset.Interface) *Controller {}

type ttlBoundary

var ttlBoundaries

// Run begins watching and syncing.
func (ttlc *Controller) Run(ctx context.Context, workers int) {}

func (ttlc *Controller) addNode(logger klog.Logger, obj interface{}

func (ttlc *Controller) updateNode(logger klog.Logger, _, newObj interface{}

func (ttlc *Controller) deleteNode(obj interface{}

func (ttlc *Controller) enqueueNode(logger klog.Logger, node *v1.Node) {}

func (ttlc *Controller) worker(ctx context.Context) {}

func (ttlc *Controller) processItem(ctx context.Context) bool {}

func (ttlc *Controller) getDesiredTTLSeconds() int {}

func getIntFromAnnotation(ctx context.Context, node *v1.Node, annotationKey string) (int, bool) {}

func setIntAnnotation(node *v1.Node, annotationKey string, value int) {}

func (ttlc *Controller) patchNodeWithAnnotation(ctx context.Context, node *v1.Node, annotationKey string, value int) error {}

func (ttlc *Controller) updateNodeIfNeeded(ctx context.Context, key string) error {}