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:
parent
07264a3f3f
commit
7667894681
1 changed files with 34 additions and 7 deletions
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue