Implement Kubernetes Event API v1
Author: adri1197Created Mar 11, 2026Updated Sep 18, 2026
Labelsumbrella-issue
Transition the Flux ecosystem from legacy core/v1 events to the modern events.k8s.io/v1 API. The following changes have to follow a backward compatibility approach where legacy fields may be bridged to the new schema (e.g., keep InvolvedObject regardless of being renamed, add a new RelatedObject field) to ensure no breaking changes for users relying on current event logs.
Action Items
- Add a new AnnotatedEventRecorder interface upstream in
client-go/tools/events- kubernetes/kubernetes#138103 - Controller-Runtime - kubernetes-sigs/controller-runtime#3509
- Update
fluxcd/pkgto useevents.k8s.io/v1- fluxcd/pkg#1144 - Update all controllers using the changes done in
runtime/eventsfromfluxcd/pkg. Use new fieldrelatedObjectto include object's source metadata (as InvolvedObject does) andActionas mandatory field.- Mandatory controllers
- Notification-Controller - fluxcd/notification-controller#1267
- Adapt the event receiver to handle the events.k8s.io/v1 schema.
- Update spec/v1beta3/events.md to document new fields.
- Helm-Controller fluxcd/helm-controller#1510
- Kustomize-Controller fluxcd/kustomize-controller#1621
- Source-Controller fluxcd/source-controller#2011
- Notification-Controller - fluxcd/notification-controller#1267
- Optional controllers
- Source-Watcher fluxcd/source-watcher/pull/343
- Image-Automation-Controller fluxcd/image-automation-controller#1038
- Image-Reflector-Controller fluxcd/image-reflector-controller#889
- Mandatory controllers
Reference to the new API spec and changes
- API Deprecation Guide (
events.k8s.io/v1beta1deprecated since k8s 1.25) - KEP-383: New Event API GA Graduation
Source: fluxcd/flux2