-
Notifications
You must be signed in to change notification settings - Fork 0
/
eventMapper.go
34 lines (24 loc) · 923 Bytes
/
eventMapper.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright (c) 2020 Red Hat, Inc.
// Copyright Contributors to the Open Cluster Management project
package statussync
import (
"context"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
)
func eventMapper(_ context.Context, obj client.Object) []reconcile.Request {
//nolint:forcetypeassert
event := obj.(*corev1.Event)
log := log.WithValues("eventName", event.GetName(), "eventNamespace", event.GetNamespace())
log.V(2).Info("Reconcile Request")
var result []reconcile.Request
request := reconcile.Request{NamespacedName: types.NamespacedName{
Name: event.InvolvedObject.Name,
Namespace: event.InvolvedObject.Namespace,
}}
log.V(2).Info("Queueing event", "involvedName", event.InvolvedObject.Name,
"involvedNamespace", event.InvolvedObject.Namespace)
return append(result, request)
}