2023-01-26 22:19:02 +01:00
|
|
|
package event
|
2023-01-12 16:25:25 +08:00
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/kyverno/kyverno/pkg/client/clientset/versioned/scheme"
|
|
|
|
corev1 "k8s.io/api/core/v1"
|
|
|
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
|
|
|
typedcorev1 "k8s.io/client-go/kubernetes/typed/core/v1"
|
|
|
|
"k8s.io/client-go/tools/record"
|
|
|
|
)
|
|
|
|
|
2023-01-26 22:19:02 +01:00
|
|
|
func NewRecorder(source Source, sink typedcorev1.EventInterface) record.EventRecorder {
|
2023-01-12 16:25:25 +08:00
|
|
|
utilruntime.Must(scheme.AddToScheme(scheme.Scheme))
|
|
|
|
eventBroadcaster := record.NewBroadcaster()
|
|
|
|
eventBroadcaster.StartStructuredLogging(0)
|
2023-01-26 22:19:02 +01:00
|
|
|
eventBroadcaster.StartRecordingToSink(
|
|
|
|
&typedcorev1.EventSinkImpl{
|
|
|
|
Interface: sink,
|
|
|
|
},
|
|
|
|
)
|
|
|
|
return eventBroadcaster.NewRecorder(
|
|
|
|
scheme.Scheme,
|
|
|
|
corev1.EventSource{
|
|
|
|
Component: string(source),
|
|
|
|
},
|
|
|
|
)
|
2023-01-12 16:25:25 +08:00
|
|
|
}
|