INNER CODE UNIT · Go
NewController
airwallex/k8s-pod-restart-info-collector · controller.go:38
func NewController(clientset kubernetes.Interface, slack Slack) *Controller {
const resyncPeriod = 0
ignoreRestartCount := getIgnoreRestartCount()
queue := workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter())
informerFactory := informers.NewSharedInformerFactory(clientset, resyncPeriod)
podInformer := informerFactory.Core().V1().Pods()
podInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
UpdateFunc: func(old interface{}, new interface{}) {
oldPod, ok := old.(*v1.Pod)
if !ok {
return
}
newPod, ok := new.(*v1.Pod)
if !ok {
return
}