From ebf689faf82d9dee284702131941ba5fb78691b3 Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Thu, 28 Aug 2025 22:07:26 +0100 Subject: [PATCH 1/8] [receiver/k8seventsreceiver] support leader election using k8sleaderelector extension Signed-off-by: Paulo Dias --- .chloggen/feat_42266.yaml | 27 +++++++++++++++ receiver/k8seventsreceiver/README.md | 3 +- receiver/k8seventsreceiver/config.go | 3 ++ receiver/k8seventsreceiver/go.mod | 6 +++- receiver/k8seventsreceiver/go.sum | 8 +++-- receiver/k8seventsreceiver/receiver.go | 47 ++++++++++++++++++++++---- 6 files changed, 84 insertions(+), 10 deletions(-) create mode 100644 .chloggen/feat_42266.yaml diff --git a/.chloggen/feat_42266.yaml b/.chloggen/feat_42266.yaml new file mode 100644 index 0000000000000..a8419de4a4dfa --- /dev/null +++ b/.chloggen/feat_42266.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: "enhancement" + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: receiver/k8seventsreceiver + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: "Added support for Leader Election into `k8seventsreceiver` using `k8sleaderelector` extension." + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [42266] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [user] diff --git a/receiver/k8seventsreceiver/README.md b/receiver/k8seventsreceiver/README.md index f87b33eb00420..11339b23066bc 100644 --- a/receiver/k8seventsreceiver/README.md +++ b/receiver/k8seventsreceiver/README.md @@ -28,6 +28,7 @@ The following settings are optional: the K8s API server. This can be one of `none` (for no auth), `serviceAccount` (to use the standard service account token provided to the agent pod), or `kubeConfig` to use credentials from `~/.kube/config`. +- `k8s_leader_elector` (default: none): if specified, will enable Leader Election by using `k8sleaderelector` extension - `namespaces` (default = `all`): An array of `namespaces` to collect events from. This receiver will continuously watch all the `namespaces` mentioned in the array for new events. @@ -37,6 +38,7 @@ Examples: ```yaml k8s_events: auth_type: kubeConfig + k8s_leader_elector: k8s_leader_elector namespaces: [default, my_namespace] ``` @@ -228,4 +230,3 @@ spec: name: otelcontribcol EOF ``` - diff --git a/receiver/k8seventsreceiver/config.go b/receiver/k8seventsreceiver/config.go index 96ba451fef24a..5886da233d377 100644 --- a/receiver/k8seventsreceiver/config.go +++ b/receiver/k8seventsreceiver/config.go @@ -4,6 +4,7 @@ package k8seventsreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver" import ( + "go.opentelemetry.io/collector/component" k8s "k8s.io/client-go/kubernetes" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig" @@ -16,6 +17,8 @@ type Config struct { // List of ‘namespaces’ to collect events from. Namespaces []string `mapstructure:"namespaces"` + K8sLeaderElector *component.ID `mapstructure:"k8s_leader_elector"` + // For mocking makeClient func(apiConf k8sconfig.APIConfig) (k8s.Interface, error) } diff --git a/receiver/k8seventsreceiver/go.mod b/receiver/k8seventsreceiver/go.mod index 956c648674572..9fd995b2b440c 100644 --- a/receiver/k8seventsreceiver/go.mod +++ b/receiver/k8seventsreceiver/go.mod @@ -3,6 +3,7 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seve go 1.24 require ( + github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector v0.133.0 github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.133.0 github.com/stretchr/testify v1.10.0 go.opentelemetry.io/collector/component v1.39.0 @@ -61,6 +62,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.133.0 // indirect go.opentelemetry.io/collector/consumer/xconsumer v0.133.0 // indirect + go.opentelemetry.io/collector/extension v1.39.0 // indirect go.opentelemetry.io/collector/featuregate v1.39.0 // indirect go.opentelemetry.io/collector/internal/telemetry v0.133.0 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.133.0 // indirect @@ -91,7 +93,7 @@ require ( k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.4.3 // indirect sigs.k8s.io/yaml v1.5.0 // indirect ) @@ -100,6 +102,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sco // openshift removed all tags from their repo, use the pseudoversion from the release-3.9 branch HEAD replace github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37 +replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector => ../../extension/k8sleaderelector + retract ( v0.76.2 v0.76.1 diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index 091a2e2231bf3..110ea28ac756c 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,6 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.133.0 h1:MteqaGpgmHVHFqnB go.opentelemetry.io/collector/consumer/consumertest v0.133.0/go.mod h1:vHGknLn/RRUcMQuuBDt+SgrpDN46DBJyqRnWXm3gLwY= go.opentelemetry.io/collector/consumer/xconsumer v0.133.0 h1:Xx4Yna/We4qDlbAla1nfxgkvujzWRuR8bqqwsLLvYSg= go.opentelemetry.io/collector/consumer/xconsumer v0.133.0/go.mod h1:he874Md/0uAS2Fs+TDHAy10OBLRSw8233LdREizVvG4= +go.opentelemetry.io/collector/extension v1.39.0 h1:NOh2MQ8ETY2qx4Yd97HWAviwKVD5a65x5CV9LNujPII= +go.opentelemetry.io/collector/extension v1.39.0/go.mod h1:KRrzszfycxesfnKQZMNKm6ggZ4nb2jDs0hYcJFBGG2Q= +go.opentelemetry.io/collector/extension/extensiontest v0.133.0 h1:3+3jqcb4JfXmZH5VX5rA71CaBjzLwCN2Ap4lHnz/0Go= +go.opentelemetry.io/collector/extension/extensiontest v0.133.0/go.mod h1:d5042DdvUJySOWXeZ5Qbqy5etw+nSBH9y+iA9gaE2Z8= go.opentelemetry.io/collector/featuregate v1.39.0 h1:OlXZWW+WUP8cgKh2mnwgWXUJO/29irb0hG6jvwscRKM= go.opentelemetry.io/collector/featuregate v1.39.0/go.mod h1:A72x92glpH3zxekaUybml1vMSv94BH6jQRn5+/htcjw= go.opentelemetry.io/collector/internal/telemetry v0.133.0 h1:YxbckZC9HniNOZgnSofTOe0AB/bEsmISNdQeS+3CU3o= @@ -248,8 +252,8 @@ k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6J k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= -sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA= -sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= +sigs.k8s.io/structured-merge-diff/v4 v4.4.3 h1:sCP7Vv3xx/CWIuTPVN38lUPx0uw0lcLfzaiDa8Ja01A= +sigs.k8s.io/structured-merge-diff/v4 v4.4.3/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= sigs.k8s.io/yaml v1.5.0 h1:M10b2U7aEUY6hRtU870n2VTPgR5RZiL/I6Lcc2F4NUQ= sigs.k8s.io/yaml v1.5.0/go.mod h1:wZs27Rbxoai4C0f8/9urLZtZtF3avA3gKvGyPdDqTO4= diff --git a/receiver/k8seventsreceiver/receiver.go b/receiver/k8seventsreceiver/receiver.go index a9693df78107d..c9b09f64e6920 100644 --- a/receiver/k8seventsreceiver/receiver.go +++ b/receiver/k8seventsreceiver/receiver.go @@ -5,17 +5,20 @@ package k8seventsreceiver // import "github.com/open-telemetry/opentelemetry-col import ( "context" + "fmt" "time" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver" "go.opentelemetry.io/collector/receiver/receiverhelper" + "go.uber.org/zap" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/fields" k8s "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/cache" + "github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver/internal/metadata" ) @@ -56,7 +59,7 @@ func newReceiver( }, nil } -func (kr *k8seventsReceiver) Start(ctx context.Context, _ component.Host) error { +func (kr *k8seventsReceiver) Start(ctx context.Context, host component.Host) error { kr.ctx, kr.cancel = context.WithCancel(ctx) k8sInterface, err := kr.config.getK8sClient() @@ -64,12 +67,44 @@ func (kr *k8seventsReceiver) Start(ctx context.Context, _ component.Host) error return err } - kr.settings.Logger.Info("starting to watch namespaces for the events.") - if len(kr.config.Namespaces) == 0 { - kr.startWatch(corev1.NamespaceAll, k8sInterface) + if kr.config.K8sLeaderElector != nil { + k8sLeaderElector := host.GetExtensions()[*kr.config.K8sLeaderElector] + if k8sLeaderElector == nil { + return fmt.Errorf("unknown k8s leader elector %q", kr.config.K8sLeaderElector) + } + + kr.settings.Logger.Info("registering the receiver in leader election") + elector, ok := k8sLeaderElector.(k8sleaderelector.LeaderElection) + if !ok { + return fmt.Errorf("the extension %T is not implement k8sleaderelector.LeaderElection", k8sLeaderElector) + } + + elector.SetCallBackFuncs( + func(_ context.Context) { + if len(kr.config.Namespaces) == 0 { + kr.startWatch(corev1.NamespaceAll, k8sInterface) + } else { + for _, ns := range kr.config.Namespaces { + kr.startWatch(ns, k8sInterface) + } + } + kr.settings.Logger.Info("Events Receiver started as leader") + }, + func() { + kr.settings.Logger.Info("no longer leader, stopping") + err = kr.Shutdown(context.Background()) + if err != nil { + kr.settings.Logger.Error("shutdown receiver error:", zap.Error(err)) + } + }) } else { - for _, ns := range kr.config.Namespaces { - kr.startWatch(ns, k8sInterface) + kr.settings.Logger.Info("starting to watch namespaces for the events.") + if len(kr.config.Namespaces) == 0 { + kr.startWatch(corev1.NamespaceAll, k8sInterface) + } else { + for _, ns := range kr.config.Namespaces { + kr.startWatch(ns, k8sInterface) + } } } From 6e981b4c8002c037e3edb14d6fed9169484fded3 Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Sat, 30 Aug 2025 14:30:10 +0100 Subject: [PATCH 2/8] feat: improve tests with TestReceiverWithLeaderElection Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/receiver.go | 87 +++++++++++++-------- receiver/k8seventsreceiver/receiver_test.go | 53 +++++++++++++ 2 files changed, 109 insertions(+), 31 deletions(-) diff --git a/receiver/k8seventsreceiver/receiver.go b/receiver/k8seventsreceiver/receiver.go index c9b09f64e6920..d640c74f7bf99 100644 --- a/receiver/k8seventsreceiver/receiver.go +++ b/receiver/k8seventsreceiver/receiver.go @@ -6,13 +6,13 @@ package k8seventsreceiver // import "github.com/open-telemetry/opentelemetry-col import ( "context" "fmt" + "sync" "time" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver" "go.opentelemetry.io/collector/receiver/receiverhelper" - "go.uber.org/zap" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/fields" k8s "k8s.io/client-go/kubernetes" @@ -31,6 +31,7 @@ type k8seventsReceiver struct { ctx context.Context cancel context.CancelFunc obsrecv *receiverhelper.ObsReport + wg sync.WaitGroup } // newReceiver creates the Kubernetes events receiver with the given configuration. @@ -73,14 +74,16 @@ func (kr *k8seventsReceiver) Start(ctx context.Context, host component.Host) err return fmt.Errorf("unknown k8s leader elector %q", kr.config.K8sLeaderElector) } - kr.settings.Logger.Info("registering the receiver in leader election") elector, ok := k8sLeaderElector.(k8sleaderelector.LeaderElection) if !ok { - return fmt.Errorf("the extension %T is not implement k8sleaderelector.LeaderElection", k8sLeaderElector) + return fmt.Errorf("the extension %T does not implement k8sleaderelector.LeaderElection", k8sLeaderElector) } + kr.settings.Logger.Info("registering the receiver in leader election") + elector.SetCallBackFuncs( func(_ context.Context) { + kr.settings.Logger.Info("Events Receiver started as leader") if len(kr.config.Namespaces) == 0 { kr.startWatch(corev1.NamespaceAll, k8sInterface) } else { @@ -88,41 +91,57 @@ func (kr *k8seventsReceiver) Start(ctx context.Context, host component.Host) err kr.startWatch(ns, k8sInterface) } } - kr.settings.Logger.Info("Events Receiver started as leader") }, + // onStoppedLeading: stop watches, but DO NOT shut the whole receiver down func() { - kr.settings.Logger.Info("no longer leader, stopping") - err = kr.Shutdown(context.Background()) - if err != nil { - kr.settings.Logger.Error("shutdown receiver error:", zap.Error(err)) - } - }) + kr.settings.Logger.Info("no longer leader, stopping watches") + kr.stopWatches() + }, + ) + return nil + } + + // No leader election: start immediately. + kr.settings.Logger.Info("starting to watch namespaces for the events.") + if len(kr.config.Namespaces) == 0 { + kr.startWatch(corev1.NamespaceAll, k8sInterface) } else { - kr.settings.Logger.Info("starting to watch namespaces for the events.") - if len(kr.config.Namespaces) == 0 { - kr.startWatch(corev1.NamespaceAll, k8sInterface) - } else { - for _, ns := range kr.config.Namespaces { - kr.startWatch(ns, k8sInterface) - } + for _, ns := range kr.config.Namespaces { + kr.startWatch(ns, k8sInterface) } } - return nil } func (kr *k8seventsReceiver) Shutdown(context.Context) error { - if kr.cancel == nil { - return nil - } - // Stop watching all the namespaces by closing all the stopper channels. - for _, stopperChan := range kr.stopperChanList { - close(stopperChan) + // Stop informers and wait for them to exit. + kr.stopWatches() + + if kr.cancel != nil { + kr.cancel() + kr.cancel = nil } - kr.cancel() return nil } +// stopWatches closes all informer stop channels (idempotently) and waits for their goroutines to exit. +func (kr *k8seventsReceiver) stopWatches() { + if len(kr.stopperChanList) == 0 { + return + } + for _, ch := range kr.stopperChanList { + select { + case <-ch: // already closed + default: + close(ch) + } + } + // Wait for all controller.Run goroutines to finish. + kr.wg.Wait() + // Reset slice so we can start again on leadership regain. + kr.stopperChanList = nil +} + // Add the 'Event' handler and trigger the watch for a specific namespace. // For new and updated events, the code is relying on the following k8s code implementation: // https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/client-go/tools/record/events_cache.go#L327 @@ -131,12 +150,14 @@ func (kr *k8seventsReceiver) startWatch(ns string, client k8s.Interface) { kr.stopperChanList = append(kr.stopperChanList, stopperChan) kr.startWatchingNamespace(client, cache.ResourceEventHandlerFuncs{ AddFunc: func(obj any) { - ev := obj.(*corev1.Event) - kr.handleEvent(ev) + if ev, ok := obj.(*corev1.Event); ok { + kr.handleEvent(ev) + } }, UpdateFunc: func(_, obj any) { - ev := obj.(*corev1.Event) - kr.handleEvent(ev) + if ev, ok := obj.(*corev1.Event); ok { + kr.handleEvent(ev) + } }, }, ns, stopperChan) } @@ -153,7 +174,7 @@ func (kr *k8seventsReceiver) handleEvent(ev *corev1.Event) { // startWatchingNamespace creates an informer and starts // watching a specific namespace for the events. -func (*k8seventsReceiver) startWatchingNamespace( +func (kr *k8seventsReceiver) startWatchingNamespace( clientset k8s.Interface, handlers cache.ResourceEventHandlerFuncs, ns string, @@ -167,7 +188,11 @@ func (*k8seventsReceiver) startWatchingNamespace( ResyncPeriod: 0, Handler: handlers, }) - go controller.Run(stopper) + kr.wg.Add(1) + go func() { + defer kr.wg.Done() + controller.Run(stopper) + }() } // Allow events with eventTimestamp(EventTime/LastTimestamp/FirstTimestamp) diff --git a/receiver/k8seventsreceiver/receiver_test.go b/receiver/k8seventsreceiver/receiver_test.go index 1e434eecb577f..962b98124ab24 100644 --- a/receiver/k8seventsreceiver/receiver_test.go +++ b/receiver/k8seventsreceiver/receiver_test.go @@ -9,15 +9,18 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/consumer/consumertest" "go.opentelemetry.io/collector/receiver/receivertest" corev1 "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/kubernetes" k8s "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" + "github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector/k8sleaderelectortest" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver/internal/metadata" ) @@ -129,6 +132,56 @@ func TestAllowEvent(t *testing.T) { assert.False(t, shouldAllowEvent) } +func TestReceiverWithLeaderElection(t *testing.T) { + le := &k8sleaderelectortest.FakeLeaderElection{} + host := &k8sleaderelectortest.FakeHost{FakeLeaderElection: le} + leaderID := component.MustNewID("k8s_leader_elector") + + cfg := createDefaultConfig().(*Config) + cfg.K8sLeaderElector = &leaderID + cfg.makeClient = func(_ k8sconfig.APIConfig) (kubernetes.Interface, error) { + return fake.NewSimpleClientset(), nil + } + + sink := new(consumertest.LogsSink) + r, err := newReceiver( + receivertest.NewNopSettings(metadata.Type), + cfg, + sink, + ) + require.NoError(t, err) + recv := r.(*k8seventsReceiver) + + require.NoError(t, r.Start(t.Context(), host)) + t.Cleanup(func() { + assert.NoError(t, r.Shutdown(t.Context())) + }) + + // Become leader: start processing events + le.InvokeOnLeading() + recv.handleEvent(getEvent()) + + require.Eventually(t, func() bool { + return sink.LogRecordCount() == 1 + }, 5*time.Second, 100*time.Millisecond, "logs not collected while leader") + + // lose leadership + le.InvokeOnStopping() + + // DO NOT call recv.handleEvent(...) here; informer wouldn't deliver to this instance. + // Give a tiny moment and ensure count stays 1. + time.Sleep(100 * time.Millisecond) + assert.Equal(t, 1, sink.LogRecordCount(), "event should be ignored after losing leadership") + + // regain leadership and inject again + le.InvokeOnLeading() + recv.handleEvent(getEvent()) + + require.Eventually(t, func() bool { + return sink.LogRecordCount() == 2 + }, 5*time.Second, 100*time.Millisecond, "logs not collected after regaining leadership") +} + func getEvent() *corev1.Event { return &corev1.Event{ InvolvedObject: corev1.ObjectReference{ From 496743e25ef7536e19495224fe32592426e8dd41 Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Sat, 30 Aug 2025 14:38:22 +0100 Subject: [PATCH 3/8] chore: make gotidy Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/go.mod | 4 ++-- receiver/k8seventsreceiver/go.sum | 4 ++++ receiver/k8seventsreceiver/receiver_test.go | 3 +-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/receiver/k8seventsreceiver/go.mod b/receiver/k8seventsreceiver/go.mod index f53f0b62026a8..06a51a040080b 100644 --- a/receiver/k8seventsreceiver/go.mod +++ b/receiver/k8seventsreceiver/go.mod @@ -3,7 +3,7 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seve go 1.24 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector v0.134.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/k8sleaderelector v0.134.0 github.com/open-telemetry/opentelemetry-collector-contrib/internal/k8sconfig v0.134.0 github.com/stretchr/testify v1.10.0 go.opentelemetry.io/collector/component v1.40.0 @@ -62,7 +62,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.134.0 // indirect go.opentelemetry.io/collector/consumer/xconsumer v0.134.0 // indirect - go.opentelemetry.io/collector/extension v1.40.0 // indirect + go.opentelemetry.io/collector/extension v1.40.0 // indirect go.opentelemetry.io/collector/featuregate v1.40.0 // indirect go.opentelemetry.io/collector/internal/telemetry v0.134.0 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.134.0 // indirect diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index 6d4847544abf1..ea46f55b14e54 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,6 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.134.0 h1:PQPXW51Nz0oomgJm go.opentelemetry.io/collector/consumer/consumertest v0.134.0/go.mod h1:DiiT7O/jnmIJZ8YiayfFHzgi8ZH1SCxVSG9ZAjPHn+c= go.opentelemetry.io/collector/consumer/xconsumer v0.134.0 h1:DcplBz4DufDVWVmZ7TPJQxDFxDPy914EExSau8pwLLA= go.opentelemetry.io/collector/consumer/xconsumer v0.134.0/go.mod h1:zUIk8vYOgPnaiJHgJURSsNmbOUTEOCLq5wYrJ28tjjM= +go.opentelemetry.io/collector/extension v1.40.0 h1:Cq7QUFk1D2rGJOiw24drGd8aAgcpmUZ2QpYVddD7Frc= +go.opentelemetry.io/collector/extension v1.40.0/go.mod h1:cT+OyxJ0Fdlk4AJYD+PBMiuFDWZLcYxK9E4HDF+w8u4= +go.opentelemetry.io/collector/extension/extensiontest v0.134.0 h1:LRAvMMQt5qjOUG3HA83ZQpya1vhEgKsdwfSB6rmNO4s= +go.opentelemetry.io/collector/extension/extensiontest v0.134.0/go.mod h1:7+FCynzvZa1kckyAm6n0vSh2OL96+nIP66eVlYUKFz8= go.opentelemetry.io/collector/featuregate v1.40.0 h1:B6VRAq2AlKZZQGnzJUqX21qOfeqarm/K9LhFJP/O0iY= go.opentelemetry.io/collector/featuregate v1.40.0/go.mod h1:A72x92glpH3zxekaUybml1vMSv94BH6jQRn5+/htcjw= go.opentelemetry.io/collector/internal/telemetry v0.134.0 h1:zpRlBXfpmsu2K1NnYKoA53DIzlZpoafgrQhNbb7sWDk= diff --git a/receiver/k8seventsreceiver/receiver_test.go b/receiver/k8seventsreceiver/receiver_test.go index 962b98124ab24..79915b82d337f 100644 --- a/receiver/k8seventsreceiver/receiver_test.go +++ b/receiver/k8seventsreceiver/receiver_test.go @@ -16,7 +16,6 @@ import ( corev1 "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/kubernetes" k8s "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/fake" @@ -139,7 +138,7 @@ func TestReceiverWithLeaderElection(t *testing.T) { cfg := createDefaultConfig().(*Config) cfg.K8sLeaderElector = &leaderID - cfg.makeClient = func(_ k8sconfig.APIConfig) (kubernetes.Interface, error) { + cfg.makeClient = func(_ k8sconfig.APIConfig) (k8s.Interface, error) { return fake.NewSimpleClientset(), nil } From 1c07a34d78deb8d956e460aec16d9b409343582a Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Mon, 8 Sep 2025 23:33:30 +0100 Subject: [PATCH 4/8] chore: make gotidy Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/go.mod | 2 +- receiver/k8seventsreceiver/go.sum | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/receiver/k8seventsreceiver/go.mod b/receiver/k8seventsreceiver/go.mod index b9c4b91fd3454..254fd65f64f6a 100644 --- a/receiver/k8seventsreceiver/go.mod +++ b/receiver/k8seventsreceiver/go.mod @@ -62,7 +62,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.135.0 // indirect go.opentelemetry.io/collector/consumer/xconsumer v0.135.0 // indirect - go.opentelemetry.io/collector/extension v1.41.0 // indirect + go.opentelemetry.io/collector/extension v1.41.0 // indirect go.opentelemetry.io/collector/featuregate v1.41.0 // indirect go.opentelemetry.io/collector/internal/telemetry v0.135.0 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.135.0 // indirect diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index 3c5eb824775ce..43ae63faa41eb 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,10 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.135.0 h1:6WqoRyjvHcVuIrF7 go.opentelemetry.io/collector/consumer/consumertest v0.135.0/go.mod h1:WcW7FyvELOklWjgjP+tUuR6Y8PoaOOnFiauubFzPbXg= go.opentelemetry.io/collector/consumer/xconsumer v0.135.0 h1:JTqWWBHrs6MUPEvgGRwrVST8u3+L39mvHmsCZ2MIhro= go.opentelemetry.io/collector/consumer/xconsumer v0.135.0/go.mod h1:zlIG7cEmgjlqAHCqpMOFX9kqzog0cNFsCR2A9r8DTQI= -go.opentelemetry.io/collector/extension v1.40.0 h1:Cq7QUFk1D2rGJOiw24drGd8aAgcpmUZ2QpYVddD7Frc= -go.opentelemetry.io/collector/extension v1.40.0/go.mod h1:cT+OyxJ0Fdlk4AJYD+PBMiuFDWZLcYxK9E4HDF+w8u4= -go.opentelemetry.io/collector/extension/extensiontest v0.134.0 h1:LRAvMMQt5qjOUG3HA83ZQpya1vhEgKsdwfSB6rmNO4s= -go.opentelemetry.io/collector/extension/extensiontest v0.134.0/go.mod h1:7+FCynzvZa1kckyAm6n0vSh2OL96+nIP66eVlYUKFz8= +go.opentelemetry.io/collector/extension v1.41.0 h1:mhACXQBzRN4SGIXOTgWHrlQgPFJA6i2DCUPmz+05GA4= +go.opentelemetry.io/collector/extension v1.41.0/go.mod h1:B5QeJYHEClYdGl/oVSnGW5uG1jNccTS+t8mU4dxumiY= +go.opentelemetry.io/collector/extension/extensiontest v0.135.0 h1:mgDE5EAUtQljZE49Argy+TmpXvIup0/i7VhZD+401mE= +go.opentelemetry.io/collector/extension/extensiontest v0.135.0/go.mod h1:yEfm/mbrbcYPuO2YlxcekMIq9Sco21H8gGenpvMn4c0= go.opentelemetry.io/collector/featuregate v1.41.0 h1:CL4UMsMQj35nMJC3/jUu8VvYB4MHirbAX4B0Z/fCVLY= go.opentelemetry.io/collector/featuregate v1.41.0/go.mod h1:A72x92glpH3zxekaUybml1vMSv94BH6jQRn5+/htcjw= go.opentelemetry.io/collector/internal/telemetry v0.135.0 h1:GnWqyy3jTSrmefzYPNamQ0ZIhRTJZFnRW6/rj8lc1sA= From d73e380d017e8ec0e1f195e729db7888ad9d7ff0 Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Mon, 15 Sep 2025 00:28:52 +0100 Subject: [PATCH 5/8] chore: make gotidy Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/go.mod | 1 + receiver/k8seventsreceiver/go.sum | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/receiver/k8seventsreceiver/go.mod b/receiver/k8seventsreceiver/go.mod index 17673df1d837c..409298ee926f7 100644 --- a/receiver/k8seventsreceiver/go.mod +++ b/receiver/k8seventsreceiver/go.mod @@ -62,6 +62,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.135.1-0.20250911155607-37a3ace6274c // indirect go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250911155607-37a3ace6274c // indirect + go.opentelemetry.io/collector/extension v1.41.1-0.20250911155607-37a3ace6274c // indirect go.opentelemetry.io/collector/featuregate v1.41.1-0.20250911155607-37a3ace6274c // indirect go.opentelemetry.io/collector/internal/telemetry v0.135.1-0.20250911155607-37a3ace6274c // indirect go.opentelemetry.io/collector/pdata/pprofile v0.135.1-0.20250911155607-37a3ace6274c // indirect diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index 355a4b05c1fff..2a3e2fc3d00b4 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,6 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.135.1-0.20250911155607-37 go.opentelemetry.io/collector/consumer/consumertest v0.135.1-0.20250911155607-37a3ace6274c/go.mod h1:tFjg9sBQ7HESHFNzGyd87qJc/TN7eXhspRp6Q57o+hA= go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250911155607-37a3ace6274c h1:8/bhsZwNFjG/ZhwJ6PWnDlNWBNWS/4SCR92CQdLr7As= go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250911155607-37a3ace6274c/go.mod h1:nI9lWSPimszv5Y7zB1Rz443H/gll04CX3hxT1rdht2s= +go.opentelemetry.io/collector/extension v1.41.1-0.20250911155607-37a3ace6274c h1:YxB4IifIEoZ7TJpJOb/9ZIc3Kws46yAgkinE6EHbEvA= +go.opentelemetry.io/collector/extension v1.41.1-0.20250911155607-37a3ace6274c/go.mod h1:o1/QHbG26FkvjbPCjWX+Nzb3wJmr0GPG76S22XC+keM= +go.opentelemetry.io/collector/extension/extensiontest v0.135.1-0.20250911155607-37a3ace6274c h1:eii3o6JutzIPvwEC+BrzIqEL2rcEO4Ohyoc0mnlv9Pk= +go.opentelemetry.io/collector/extension/extensiontest v0.135.1-0.20250911155607-37a3ace6274c/go.mod h1:FxrwkZJpT+FO81y93ax7wnodNfKS+89CfJgyfwmIdBA= go.opentelemetry.io/collector/featuregate v1.41.1-0.20250911155607-37a3ace6274c h1:EiPdl7zI3V4JFywytkSSd1Ok6EbtjE32JZBOsRe7DJ8= go.opentelemetry.io/collector/featuregate v1.41.1-0.20250911155607-37a3ace6274c/go.mod h1:d0tiRzVYrytB6LkcYgz2ESFTv7OktRPQe0QEQcPt1L4= go.opentelemetry.io/collector/internal/telemetry v0.135.1-0.20250911155607-37a3ace6274c h1:bO+I5bGTu0fg6kFN3rfW32ep9JQl/yIWiWVvZHNw3Ao= From 22101dc02e25c9957ce894000e5d9575a109687d Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Fri, 19 Sep 2025 23:27:54 +0100 Subject: [PATCH 6/8] chore: make gotidy Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/go.mod | 4 ++-- receiver/k8seventsreceiver/go.sum | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/receiver/k8seventsreceiver/go.mod b/receiver/k8seventsreceiver/go.mod index 14289d29c55f5..6a45b7232210a 100644 --- a/receiver/k8seventsreceiver/go.mod +++ b/receiver/k8seventsreceiver/go.mod @@ -61,8 +61,8 @@ require ( github.com/x448/float16 v0.8.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.135.1-0.20250918163459-ba0b327d5fe9 // indirect - go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250918163459-ba0b327d5fe9 // indirect - go.opentelemetry.io/collector/extension v1.41.1-0.20250911155607-37a3ace6274c // indirect + go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250918163459-ba0b327d5fe9 // indirect + go.opentelemetry.io/collector/extension v1.41.1-0.20250918163459-ba0b327d5fe9 // indirect go.opentelemetry.io/collector/featuregate v1.41.1-0.20250918163459-ba0b327d5fe9 // indirect go.opentelemetry.io/collector/internal/telemetry v0.135.1-0.20250918163459-ba0b327d5fe9 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.135.1-0.20250918163459-ba0b327d5fe9 // indirect diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index 3820ced92e4a9..d52460e495dcf 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,8 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.135.1-0.20250918163459-ba go.opentelemetry.io/collector/consumer/consumertest v0.135.1-0.20250918163459-ba0b327d5fe9/go.mod h1:R075BFRd5FJCpsB6s7I5yDlus34wudput7g5qGHalkg= go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250918163459-ba0b327d5fe9 h1:DdGnMrzM46GiyYOUOfKvk+wK1+D7B7/oLLRwsjz1jU0= go.opentelemetry.io/collector/consumer/xconsumer v0.135.1-0.20250918163459-ba0b327d5fe9/go.mod h1:uy4N8NaY+Y930+Y0pRXVp5yK4AAuvBbRzy/GiojzNQk= -go.opentelemetry.io/collector/extension v1.41.1-0.20250911155607-37a3ace6274c h1:YxB4IifIEoZ7TJpJOb/9ZIc3Kws46yAgkinE6EHbEvA= -go.opentelemetry.io/collector/extension v1.41.1-0.20250911155607-37a3ace6274c/go.mod h1:o1/QHbG26FkvjbPCjWX+Nzb3wJmr0GPG76S22XC+keM= +go.opentelemetry.io/collector/extension v1.41.1-0.20250918163459-ba0b327d5fe9 h1:2WvjjlJ42xYdolxB4bdT8iTcQy0Mgk4fmuBUlLyXZd4= +go.opentelemetry.io/collector/extension v1.41.1-0.20250918163459-ba0b327d5fe9/go.mod h1:84niNsjZd31wGNqclCT2pME85DwmZl0uJ8kwvezUnfs= +go.opentelemetry.io/collector/extension/extensiontest v0.135.1-0.20250918163459-ba0b327d5fe9 h1:a59X1ptqlTy6Q+JeT016kD2OETXwJTxs7gvMG+OLuqA= +go.opentelemetry.io/collector/extension/extensiontest v0.135.1-0.20250918163459-ba0b327d5fe9/go.mod h1:sUZVd4jh18My16ykolYwcORkC7qTMn0EleLqUOjvW8U= go.opentelemetry.io/collector/featuregate v1.41.1-0.20250918163459-ba0b327d5fe9 h1:Xq1509r+twV3qJuTz9Yq5EbAe+yDoc3cZM+AOLYUnjM= go.opentelemetry.io/collector/featuregate v1.41.1-0.20250918163459-ba0b327d5fe9/go.mod h1:d0tiRzVYrytB6LkcYgz2ESFTv7OktRPQe0QEQcPt1L4= go.opentelemetry.io/collector/internal/telemetry v0.135.1-0.20250918163459-ba0b327d5fe9 h1:UTsDNAgsifD8KwZZQu9J0jrs1d77dMkHwGDK0EkQ5RQ= From 1b06b505e1f609514ab2b6f5d1de45d44831742a Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Tue, 23 Sep 2025 16:08:36 +0100 Subject: [PATCH 7/8] chore: make gotidy Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/go.mod | 2 +- receiver/k8seventsreceiver/go.sum | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/receiver/k8seventsreceiver/go.mod b/receiver/k8seventsreceiver/go.mod index 396ab2108cc18..1a587c336c7e3 100644 --- a/receiver/k8seventsreceiver/go.mod +++ b/receiver/k8seventsreceiver/go.mod @@ -62,7 +62,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/consumer/consumererror v0.136.0 // indirect go.opentelemetry.io/collector/consumer/xconsumer v0.136.0 // indirect - go.opentelemetry.io/collector/extension v1.41.1-0.20250918163459-ba0b327d5fe9 // indirect + go.opentelemetry.io/collector/extension v1.42.0 // indirect go.opentelemetry.io/collector/featuregate v1.42.0 // indirect go.opentelemetry.io/collector/internal/telemetry v0.136.0 // indirect go.opentelemetry.io/collector/pdata/pprofile v0.136.0 // indirect diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index 3ee7e0d8fd431..783713570518a 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,8 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.136.0 h1:zzO47GjzIg2X3uVW go.opentelemetry.io/collector/consumer/consumertest v0.136.0/go.mod h1:gTdRvUiJSmzmWp2Ndlh0N0yQ3hPnmTYul2DWuy31/D0= go.opentelemetry.io/collector/consumer/xconsumer v0.136.0 h1:7GczvR8x75lTyP9M+oWHQyGRDIRJ+QjY7IiJkucgOo4= go.opentelemetry.io/collector/consumer/xconsumer v0.136.0/go.mod h1:sXw0lOF6D1iKhLy2xorJ8D3PysDXT0egmHJZu8TY0lE= -go.opentelemetry.io/collector/extension v1.41.1-0.20250918163459-ba0b327d5fe9 h1:2WvjjlJ42xYdolxB4bdT8iTcQy0Mgk4fmuBUlLyXZd4= -go.opentelemetry.io/collector/extension v1.41.1-0.20250918163459-ba0b327d5fe9/go.mod h1:84niNsjZd31wGNqclCT2pME85DwmZl0uJ8kwvezUnfs= +go.opentelemetry.io/collector/extension v1.42.0 h1:+9pK5AGHyV3LpWcF8ez45O/6QwOnxXBRS06a7hokLVg= +go.opentelemetry.io/collector/extension v1.42.0/go.mod h1:mS3Ucj0UQw4Qy9KmXtTkdQTQxan+LbGeH4stPuTYofU= +go.opentelemetry.io/collector/extension/extensiontest v0.136.0 h1:BkL2AC38Xa/WU71YfEKdjYGl/pjALmJDtHZIm5gzEzk= +go.opentelemetry.io/collector/extension/extensiontest v0.136.0/go.mod h1:XxRKblTb56a6zkrb8i9qowl7mY9ebW2NnOvCIXgxjZM= go.opentelemetry.io/collector/featuregate v1.42.0 h1:uCVwumVBVex46DsG/fvgiTGuf9f53bALra7vGyKaqFI= go.opentelemetry.io/collector/featuregate v1.42.0/go.mod h1:d0tiRzVYrytB6LkcYgz2ESFTv7OktRPQe0QEQcPt1L4= go.opentelemetry.io/collector/internal/telemetry v0.136.0 h1:3TcnxyUFs6jJZeLo5ju3fMWS4lRmIApl9To2XWk922M= From 41db6d5dad0ba05d2814c8215fe2bf68f1e29f8b Mon Sep 17 00:00:00 2001 From: Paulo Dias Date: Fri, 26 Sep 2025 14:41:09 +0100 Subject: [PATCH 8/8] fix: revert event handler Signed-off-by: Paulo Dias --- receiver/k8seventsreceiver/go.sum | 6 ++++-- receiver/k8seventsreceiver/receiver.go | 10 ++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/receiver/k8seventsreceiver/go.sum b/receiver/k8seventsreceiver/go.sum index af2fbbb3aff6e..ce1ab5f650725 100644 --- a/receiver/k8seventsreceiver/go.sum +++ b/receiver/k8seventsreceiver/go.sum @@ -125,8 +125,10 @@ go.opentelemetry.io/collector/consumer/consumertest v0.136.1-0.20250925151503-06 go.opentelemetry.io/collector/consumer/consumertest v0.136.1-0.20250925151503-069408608b28/go.mod h1:gTdRvUiJSmzmWp2Ndlh0N0yQ3hPnmTYul2DWuy31/D0= go.opentelemetry.io/collector/consumer/xconsumer v0.136.1-0.20250925151503-069408608b28 h1:oSsW9KQUKHg1jraUmerf0cGeFKK4ilVNfplYiDlz0G4= go.opentelemetry.io/collector/consumer/xconsumer v0.136.1-0.20250925151503-069408608b28/go.mod h1:sXw0lOF6D1iKhLy2xorJ8D3PysDXT0egmHJZu8TY0lE= -go.opentelemetry.io/collector/extension v1.42.1-0.20250925151503-069408608b28 h1:1UZY4/wGe9+B3qNG0QQ/EMkeKPejiwj+qvyK8ibwNtQ= -go.opentelemetry.io/collector/extension v1.42.1-0.20250925151503-069408608b28/go.mod h1:d0tiRzVYrytB6LkcYgz2ESFTv7OktRPQe0QEQcPt1L4= +go.opentelemetry.io/collector/extension v1.42.1-0.20250925151503-069408608b28 h1:NzPl01v8TOgXUiETVuI9y+UMpHoeS6eT46hKsNe8OtA= +go.opentelemetry.io/collector/extension v1.42.1-0.20250925151503-069408608b28/go.mod h1:lXWCtS04+LjdrG5fZopmQh37SOGxMMf7e7nu/Vh4CQM= +go.opentelemetry.io/collector/extension/extensiontest v0.136.1-0.20250925151503-069408608b28 h1:by0Yo7V1DX6tVqC/sPT6ijX1Ma8QOLTLIIHomrL4i4A= +go.opentelemetry.io/collector/extension/extensiontest v0.136.1-0.20250925151503-069408608b28/go.mod h1:v/2dxcC8j51YbIpv9/UuUtzXTRRCZb6nqGZ++hLO4Js= go.opentelemetry.io/collector/featuregate v1.42.1-0.20250925151503-069408608b28 h1:1UZY4/wGe9+B3qNG0QQ/EMkeKPejiwj+qvyK8ibwNtQ= go.opentelemetry.io/collector/featuregate v1.42.1-0.20250925151503-069408608b28/go.mod h1:d0tiRzVYrytB6LkcYgz2ESFTv7OktRPQe0QEQcPt1L4= go.opentelemetry.io/collector/internal/telemetry v0.136.1-0.20250925151503-069408608b28 h1:d1PZYb5PSbxKPVzq+zDIUDJDG0bXpy6co8oOWzMmo3U= diff --git a/receiver/k8seventsreceiver/receiver.go b/receiver/k8seventsreceiver/receiver.go index 265a43e7ac5dd..eb2a86c6917a5 100644 --- a/receiver/k8seventsreceiver/receiver.go +++ b/receiver/k8seventsreceiver/receiver.go @@ -150,14 +150,12 @@ func (kr *k8seventsReceiver) startWatch(ns string, client k8s.Interface) { kr.stopperChanList = append(kr.stopperChanList, stopperChan) kr.startWatchingNamespace(client, cache.ResourceEventHandlerFuncs{ AddFunc: func(obj any) { - if ev, ok := obj.(*corev1.Event); ok { - kr.handleEvent(ev) - } + ev := obj.(*corev1.Event) + kr.handleEvent(ev) }, UpdateFunc: func(_, obj any) { - if ev, ok := obj.(*corev1.Event); ok { - kr.handleEvent(ev) - } + ev := obj.(*corev1.Event) + kr.handleEvent(ev) }, }, ns, stopperChan) }