@@ -33,7 +33,7 @@ import (
3333 corev1 "k8s.io/api/core/v1"
3434 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3535 "k8s.io/apimachinery/pkg/runtime"
36- kuberecorder "k8s.io/client-go/tools/record "
36+ "k8s.io/client-go/tools/events "
3737 "k8s.io/client-go/tools/reference"
3838 ctrl "sigs.k8s.io/controller-runtime"
3939
@@ -48,14 +48,14 @@ import (
4848//
4949// import (
5050// ...
51- // kuberecorder "k8s.io/client-go/tools/record "
51+ // "k8s.io/client-go/tools/events "
5252// ...
5353// )
5454//
5555// type MyTypeReconciler {
5656// client.Client
5757// // ... etc.
58- // kuberecorder .EventRecorder
58+ // events .EventRecorder
5959// }
6060//
6161// Use NewRecorder to create a working Recorder.
@@ -70,7 +70,7 @@ type Recorder struct {
7070 Client * retryablehttp.Client
7171
7272 // EventRecorder is the Kubernetes event recorder.
73- EventRecorder kuberecorder .EventRecorder
73+ EventRecorder events .EventRecorder
7474
7575 // Scheme to look up the recorded objects.
7676 Scheme * runtime.Scheme
@@ -79,7 +79,7 @@ type Recorder struct {
7979 Log logr.Logger
8080}
8181
82- var _ kuberecorder .EventRecorder = & Recorder {}
82+ var _ events .EventRecorder = & Recorder {}
8383
8484// NewRecorder creates an event Recorder with a Kubernetes event recorder and an external event recorder based on the
8585// given webhook. The recorder performs automatic retries for connection errors and 500-range response codes from the
@@ -101,7 +101,7 @@ func NewRecorder(mgr ctrl.Manager, log logr.Logger, webhook, reportingController
101101 Webhook : webhook ,
102102 ReportingController : reportingController ,
103103 Client : httpClient ,
104- EventRecorder : mgr .GetEventRecorderFor (reportingController ),
104+ EventRecorder : mgr .GetEventRecorder (reportingController ),
105105 Log : log ,
106106 }, nil
107107}
@@ -110,7 +110,7 @@ func NewRecorder(mgr ctrl.Manager, log logr.Logger, webhook, reportingController
110110// given webhook. The recorder performs automatic retries for connection errors and 500-range response codes from the
111111// external recorder.
112112func NewRecorderForScheme (scheme * runtime.Scheme ,
113- eventRecorder kuberecorder .EventRecorder ,
113+ eventRecorder events .EventRecorder ,
114114 log logr.Logger , webhook , reportingController string ) (* Recorder , error ) {
115115 if webhook != "" {
116116 if _ , err := url .Parse (webhook ); err != nil {
@@ -148,13 +148,13 @@ func responseIsEventDuplicated(resp *http.Response) bool {
148148}
149149
150150// Event records an event in the webhook address.
151- func (r * Recorder ) Event (object runtime.Object , eventtype , reason , message string ) {
152- r .AnnotatedEventf (object , nil , eventtype , reason , "%s" , message )
151+ func (r * Recorder ) Event (object runtime.Object , eventtype , reason string , action string , message string ) {
152+ r .AnnotatedEventf (object , nil , eventtype , reason , action , "%s" , message )
153153}
154154
155155// Event records an event in the webhook address.
156- func (r * Recorder ) Eventf (object runtime.Object , eventtype , reason , messageFmt string , args ... interface {}) {
157- r .AnnotatedEventf (object , nil , eventtype , reason , messageFmt , args ... )
156+ func (r * Recorder ) Eventf (object runtime.Object , related runtime. Object , eventtype , reason string , action string , messageFmt string , args ... interface {}) {
157+ r .AnnotatedEventf (object , nil , eventtype , reason , action , messageFmt , args ... )
158158}
159159
160160// AnnotatedEventf constructs an event from the given information and performs a HTTP POST to the webhook address.
@@ -163,6 +163,7 @@ func (r *Recorder) AnnotatedEventf(
163163 object runtime.Object ,
164164 inputAnnotations map [string ]string ,
165165 eventtype , reason string ,
166+ action string ,
166167 messageFmt string , args ... interface {}) {
167168
168169 ref , err := reference .GetReference (r .Scheme , object )
@@ -202,12 +203,12 @@ func (r *Recorder) AnnotatedEventf(
202203 // Do not send trace events to notification controller,
203204 // traces are persisted as Kubernetes events only as normal events.
204205 if severity == eventv1 .EventSeverityTrace {
205- r .EventRecorder .AnnotatedEventf (object , annotations , corev1 .EventTypeNormal , reason , messageFmt , args ... )
206+ r .EventRecorder .Eventf (object , nil , corev1 .EventTypeNormal , reason , action , messageFmt , args ... )
206207 return
207208 }
208209
209210 // Forward the event to the Kubernetes recorder.
210- r .EventRecorder .AnnotatedEventf (object , annotations , eventtype , reason , messageFmt , args ... )
211+ r .EventRecorder .Eventf (object , nil , eventtype , reason , action , messageFmt , args ... )
211212
212213 // If no webhook address is provided, skip posting to event recorder
213214 // endpoint.
0 commit comments