1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-31 03:45:17 +00:00

chore: log out cleanup policy events (#5998)

* create failure events on errors

Signed-off-by: ShutingZhao <shuting@nirmata.com>

* err based event creation

Signed-off-by: ShutingZhao <shuting@nirmata.com>

* log out cleanup policy events

Signed-off-by: ShutingZhao <shuting@nirmata.com>

* fix operation

Signed-off-by: ShutingZhao <shuting@nirmata.com>

Signed-off-by: ShutingZhao <shuting@nirmata.com>
This commit is contained in:
shuting 2023-01-13 22:27:02 +08:00 committed by GitHub
parent 07264a3f3f
commit 7667894681
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -39,8 +39,7 @@ type controller struct {
// queue // queue
queue workqueue.RateLimitingInterface queue workqueue.RateLimitingInterface
cpolEnqueue controllerutils.EnqueueFuncT[*kyvernov2alpha1.ClusterCleanupPolicy] enqueue controllerutils.EnqueueFuncT[kyvernov2alpha1.CleanupPolicyInterface]
polEnqueue controllerutils.EnqueueFuncT[*kyvernov2alpha1.CleanupPolicy]
// config // config
cleanupService string cleanupService string
@ -60,16 +59,44 @@ func NewController(
cleanupService string, cleanupService string,
) controllers.Controller { ) controllers.Controller {
queue := workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), ControllerName) queue := workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), ControllerName)
keyFunc := controllerutils.MetaNamespaceKeyT[kyvernov2alpha1.CleanupPolicyInterface]
baseEnqueueFunc := controllerutils.LogError(logger, controllerutils.Parse(keyFunc, controllerutils.Queue(queue)))
enqueueFunc := func(logger logr.Logger, operation, kind string) controllerutils.EnqueueFuncT[kyvernov2alpha1.CleanupPolicyInterface] {
logger = logger.WithValues("kind", kind, "operation", operation)
return func(obj kyvernov2alpha1.CleanupPolicyInterface) error {
logger = logger.WithValues("name", obj.GetName())
if obj.GetNamespace() != "" {
logger = logger.WithValues("namespace", obj.GetNamespace())
}
logger.Info(operation)
if err := baseEnqueueFunc(obj); err != nil {
logger.Error(err, "failed to enqueue object", "obj", obj)
return err
}
return nil
}
}
c := &controller{ c := &controller{
client: client, client: client,
cpolLister: cpolInformer.Lister(), cpolLister: cpolInformer.Lister(),
polLister: polInformer.Lister(), polLister: polInformer.Lister(),
cjLister: cjInformer.Lister(), cjLister: cjInformer.Lister(),
queue: queue, queue: queue,
cpolEnqueue: controllerutils.AddDefaultEventHandlersT[*kyvernov2alpha1.ClusterCleanupPolicy](logger, cpolInformer.Informer(), queue),
polEnqueue: controllerutils.AddDefaultEventHandlersT[*kyvernov2alpha1.CleanupPolicy](logger, polInformer.Informer(), queue),
cleanupService: cleanupService, cleanupService: cleanupService,
enqueue: baseEnqueueFunc,
} }
controllerutils.AddEventHandlersT(
cpolInformer.Informer(),
controllerutils.AddFuncT(logger, enqueueFunc(logger, "added", "ClusterCleanupPolicy")),
controllerutils.UpdateFuncT(logger, enqueueFunc(logger, "updated", "ClusterCleanupPolicy")),
controllerutils.DeleteFuncT(logger, enqueueFunc(logger, "deleted", "ClusterCleanupPolicy")),
)
controllerutils.AddEventHandlersT(
polInformer.Informer(),
controllerutils.AddFuncT(logger, enqueueFunc(logger, "added", "CleanupPolicy")),
controllerutils.UpdateFuncT(logger, enqueueFunc(logger, "updated", "CleanupPolicy")),
controllerutils.DeleteFuncT(logger, enqueueFunc(logger, "deleted", "CleanupPolicy")),
)
controllerutils.AddEventHandlersT( controllerutils.AddEventHandlersT(
cjInformer.Informer(), cjInformer.Informer(),
func(n *batchv1.CronJob) { c.enqueueCronJob(n) }, func(n *batchv1.CronJob) { c.enqueueCronJob(n) },
@ -91,7 +118,7 @@ func (c *controller) enqueueCronJob(n *batchv1.CronJob) {
Name: n.OwnerReferences[0].Name, Name: n.OwnerReferences[0].Name,
}, },
} }
err := c.cpolEnqueue(cpol) err := c.enqueue(cpol)
if err != nil { if err != nil {
logger.Error(err, "failed to enqueue ClusterCleanupPolicy object", cpol) logger.Error(err, "failed to enqueue ClusterCleanupPolicy object", cpol)
} }
@ -102,7 +129,7 @@ func (c *controller) enqueueCronJob(n *batchv1.CronJob) {
Namespace: n.Namespace, Namespace: n.Namespace,
}, },
} }
err := c.polEnqueue(pol) err := c.enqueue(pol)
if err != nil { if err != nil {
logger.Error(err, "failed to enqueue CleanupPolicy object", pol) logger.Error(err, "failed to enqueue CleanupPolicy object", pol)
} }