From 2c4684fa27458f6ff0abba9e6f0d8c23e6ece977 Mon Sep 17 00:00:00 2001
From: Patrick Ohly <patrick.ohly@intel.com>
Date: Fri, 1 Dec 2023 09:00:59 +0100
Subject: [PATCH] sample controller: enhance context support

27a68aee3a4834 introduced context support for events. Creating an event
broadcaster with context makes tests more resilient against leaking goroutines
when that context gets canceled at the end of a test and enables per-test
output via ktesting.

The New method already had a context, therefore no API changes are needed.

Kubernetes-commit: 591855966c1d136c8fca299db2c6ba949bef4493
---
 controller.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/controller.go b/controller.go
index 59c0035a..3c7936ae 100644
--- a/controller.go
+++ b/controller.go
@@ -101,7 +101,7 @@ func NewController(
 	utilruntime.Must(samplescheme.AddToScheme(scheme.Scheme))
 	logger.V(4).Info("Creating event broadcaster")
 
-	eventBroadcaster := record.NewBroadcaster()
+	eventBroadcaster := record.NewBroadcaster(record.WithContext(ctx))
 	eventBroadcaster.StartStructuredLogging(0)
 	eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeclientset.CoreV1().Events("")})
 	recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: controllerAgentName})