From 4b2a11a287eddcf96dbf5ea124cd7a2b6776fc88 Mon Sep 17 00:00:00 2001 From: Adrian Fernandez de la Torre Date: Sat, 7 Mar 2026 13:11:35 +0100 Subject: [PATCH] Migrate to new Kubernetes events API Replace deprecated record.EventRecorder with events.EventRecorder from k8s.io/client-go/tools/events. Update all controllers, event server, and tests to use the new API signature. Signed-off-by: Adrian Fernandez de la Torre --- docs/spec/v1beta3/events.md | 18 ++++-- go.mod | 30 ++++----- go.sum | 64 +++++++++---------- internal/controller/alert_controller.go | 7 +- internal/controller/provider_controller.go | 4 +- internal/controller/receiver_controller.go | 11 ++-- .../controller/receiver_controller_test.go | 8 +-- internal/controller/suite_test.go | 8 +-- internal/notifier/alertmanager.go | 2 +- internal/notifier/alertmanager_fuzz_test.go | 2 +- internal/notifier/azure_devops.go | 2 +- internal/notifier/azure_devops_fuzz_test.go | 2 +- internal/notifier/azure_devops_test.go | 2 +- internal/notifier/azure_eventhub.go | 2 +- internal/notifier/bitbucket.go | 2 +- internal/notifier/bitbucket_fuzz_test.go | 2 +- internal/notifier/bitbucketserver.go | 2 +- internal/notifier/bitbucketserver_test.go | 2 +- internal/notifier/client_test.go | 2 +- internal/notifier/datadog.go | 2 +- internal/notifier/datadog_fuzz_test.go | 2 +- internal/notifier/discord.go | 2 +- internal/notifier/discord_fuzz_test.go | 2 +- internal/notifier/forwarder.go | 2 +- internal/notifier/forwarder_fuzz_test.go | 2 +- internal/notifier/forwarder_test.go | 4 +- .../notifier/git_change_request_comment.go | 2 +- internal/notifier/gitea.go | 2 +- .../notifier/gitea_pull_request_comment.go | 2 +- internal/notifier/gitea_test.go | 5 +- internal/notifier/github.go | 2 +- internal/notifier/github_dispatch.go | 2 +- .../notifier/github_dispatch_fuzz_test.go | 2 +- internal/notifier/github_fuzz_test.go | 2 +- .../notifier/github_pull_request_comment.go | 2 +- internal/notifier/gitlab.go | 2 +- internal/notifier/gitlab_fuzz_test.go | 2 +- .../notifier/gitlab_merge_request_comment.go | 2 +- internal/notifier/google_chat.go | 2 +- internal/notifier/google_chat_fuzz_test.go | 2 +- internal/notifier/google_pubsub.go | 2 +- internal/notifier/google_pubsub_test.go | 8 +-- internal/notifier/grafana.go | 2 +- internal/notifier/grafana_fuzz_test.go | 2 +- internal/notifier/incidentio.go | 2 +- internal/notifier/incidentio_fuzz_test.go | 2 +- internal/notifier/incidentio_test.go | 2 +- internal/notifier/lark.go | 2 +- internal/notifier/lark_fuzz_test.go | 2 +- internal/notifier/markdown.go | 2 +- internal/notifier/matrix.go | 2 +- internal/notifier/matrix_fuzz_test.go | 2 +- internal/notifier/matrix_test.go | 4 +- internal/notifier/nats.go | 2 +- internal/notifier/nats_test.go | 6 +- internal/notifier/notifier.go | 2 +- internal/notifier/opsgenie.go | 2 +- internal/notifier/opsgenie_fuzz_test.go | 2 +- internal/notifier/opsgenie_test.go | 16 ++--- internal/notifier/otel.go | 2 +- internal/notifier/otel_test.go | 7 +- internal/notifier/pagerduty.go | 2 +- internal/notifier/pagerduty_fuzz_test.go | 2 +- internal/notifier/pagerduty_test.go | 2 +- internal/notifier/rocket.go | 2 +- internal/notifier/rocket_fuzz_test.go | 2 +- internal/notifier/sentry.go | 2 +- internal/notifier/sentry_test.go | 2 +- internal/notifier/slack.go | 2 +- internal/notifier/slack_fuzz_test.go | 2 +- internal/notifier/teams.go | 2 +- internal/notifier/teams_fuzz_test.go | 2 +- internal/notifier/telegram.go | 2 +- internal/notifier/util.go | 2 +- internal/notifier/util_fuzz_test.go | 2 +- internal/notifier/util_test.go | 2 +- internal/notifier/webex.go | 2 +- internal/notifier/webex_fuzz_test.go | 2 +- internal/notifier/zoom.go | 2 +- internal/notifier/zulip.go | 2 +- internal/notifier/zulip_test.go | 2 +- internal/server/event_handlers.go | 18 +++--- internal/server/event_handlers_test.go | 42 ++++++------ internal/server/event_server.go | 10 +-- internal/server/event_server_test.go | 6 +- internal/server/provider_change_request.go | 2 +- internal/server/provider_commit_status.go | 2 +- .../server/provider_commit_status_test.go | 2 +- main.go | 12 ++-- 89 files changed, 218 insertions(+), 208 deletions(-) diff --git a/docs/spec/v1beta3/events.md b/docs/spec/v1beta3/events.md index 1eb048bd3..416d90d9c 100644 --- a/docs/spec/v1beta3/events.md +++ b/docs/spec/v1beta3/events.md @@ -20,14 +20,21 @@ The following is an example of an event sent by kustomize-controller to report a "namespace": "apps", "uid": "7d0cdc51-ddcf-4743-b223-83ca5c699632" }, + "relatedObject": { + "apiVersion": "source.toolkit.fluxcd.io/v1", + "kind": "GitRepository", + "name": "webapp", + "namespace": "apps" + }, "metadata": { "kustomize.toolkit.fluxcd.io/revision": "main/731f7eaddfb6af01cb2173e18f0f75b0ba780ef1" }, - "severity":"error", + "severity": "error", "reason": "ValidationFailed", - "message":"service/apps/webapp validation error: spec.type: Unsupported value: Ingress", - "reportingController":"kustomize-controller", - "timestamp":"2022-10-28T07:26:19Z" + "action": "Failed", + "message": "service/apps/webapp validation error: spec.type: Unsupported value: Ingress", + "reportingController": "kustomize-controller", + "timestamp": "2022-10-28T07:26:19Z" } ``` @@ -35,6 +42,7 @@ In the above example: - An event is issued by kustomize-controller for a specific object, indicated in the `involvedObject` field. +- `relatedObject` field optionally references a secondary object involved in the action (correlates to the source). - The notification-controller receives the event and finds the [alerts](alerts.md) that match the `involvedObject` and `severity` values. - For all matching alerts, the controller posts the `message` and the source revision @@ -43,7 +51,7 @@ In the above example: ## Event structure The Go type that defines the event structure can be found in the -[fluxcd/pkg/apis/event/v1beta1](https://github.com/fluxcd/pkg/blob/main/apis/event/v1beta1/event.go) +[fluxcd/pkg/apis/event/v1](https://github.com/fluxcd/pkg/blob/main/apis/event/v1/event.go) package. ## Rate limiting diff --git a/go.mod b/go.mod index ddaacf825..4e1fe7d06 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/fluxcd/pkg/cache v0.15.0 github.com/fluxcd/pkg/git v0.53.0 github.com/fluxcd/pkg/masktoken v0.9.0 - github.com/fluxcd/pkg/runtime v0.112.0 + github.com/fluxcd/pkg/runtime v0.113.0 github.com/fluxcd/pkg/ssa v0.78.0 github.com/fluxcd/pkg/ssh v0.26.0 github.com/getsentry/sentry-go v0.46.2 @@ -43,11 +43,11 @@ require ( github.com/slok/go-http-metrics v0.13.0 github.com/spf13/pflag v1.0.10 gitlab.com/gitlab-org/api/client-go v1.46.0 - go.opentelemetry.io/otel v1.44.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 - go.opentelemetry.io/otel/sdk v1.44.0 - go.opentelemetry.io/otel/trace v1.44.0 + go.opentelemetry.io/otel v1.46.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.46.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.46.0 + go.opentelemetry.io/otel/sdk v1.46.0 + go.opentelemetry.io/otel/trace v1.46.0 golang.org/x/oauth2 v0.36.0 golang.org/x/text v0.41.0 google.golang.org/api v0.297.0 @@ -99,7 +99,7 @@ require ( github.com/emirpasic/gods v1.18.1 // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect - github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/felixge/httpsnoop v1.1.0 // indirect github.com/fluxcd/pkg/apis/acl v0.11.0 // indirect github.com/fluxcd/pkg/apis/kustomize v1.21.0 // indirect github.com/fsnotify/fsnotify v1.10.1 // indirect @@ -142,7 +142,7 @@ require ( github.com/google/s2a-go v0.1.9 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.20 // indirect github.com/googleapis/gax-go/v2 v2.24.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-version v1.9.0 // indirect github.com/hiddeco/sshsig v0.2.0 // indirect @@ -190,16 +190,16 @@ require ( github.com/xlab/treeprint v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.69.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect - go.opentelemetry.io/otel/metric v1.44.0 // indirect - go.opentelemetry.io/proto/otlp v1.10.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.71.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.71.0 // indirect + go.opentelemetry.io/otel/metric v1.46.0 // indirect + go.opentelemetry.io/proto/otlp v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.1 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.5 // indirect golang.org/x/crypto v0.56.0 // indirect - golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect + golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa // indirect golang.org/x/mod v0.39.0 // indirect golang.org/x/net v0.58.0 // indirect golang.org/x/sync v0.22.0 // indirect @@ -208,8 +208,8 @@ require ( golang.org/x/time v0.15.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260819154853-08b0e4226688 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260819154853-08b0e4226688 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260825221802-da73d73af1c5 // indirect google.golang.org/grpc v1.83.2 // indirect google.golang.org/protobuf v1.36.12 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect diff --git a/go.sum b/go.sum index d0067d085..4a40616a4 100644 --- a/go.sum +++ b/go.sum @@ -136,8 +136,8 @@ github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2 github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= -github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc= +github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE= github.com/fluxcd/cli-utils v1.3.0 h1:doEjNgeNb4klO/1mNgU9bkeou5zH/YpHBQqZ7HTBgkc= github.com/fluxcd/cli-utils v1.3.0/go.mod h1:qW5YGrml58qvAv+fBqp9Vp4xGkkIc6h6eJLd77eqFoM= github.com/fluxcd/pkg/apis/acl v0.11.0 h1:BxThatpA6qd5Qzwim6/hRu0gdAX0JxNm3PledDuJqXo= @@ -156,8 +156,8 @@ github.com/fluxcd/pkg/git v0.53.0 h1:wHtxfJ+qaNSQowaZB8Lr5adZO7psAsaID0E5W5QZREs github.com/fluxcd/pkg/git v0.53.0/go.mod h1:soKweVZNZcHvKt9CP2GhJ/hoxJ3Ck3NglnRzKLHAjrA= github.com/fluxcd/pkg/masktoken v0.9.0 h1:7KlzGsto6NEa4e4taP71M/3s+oRBgpwDQEYuWB++9NU= github.com/fluxcd/pkg/masktoken v0.9.0/go.mod h1:4Gcu4E5jb65nhIC3/PeynOP0/o4bJ4n77nvlgENgdx8= -github.com/fluxcd/pkg/runtime v0.112.0 h1:FnE+98Fg2LJYRBxMYGOIuE4C7nwtLMCXxFFJpMizdsA= -github.com/fluxcd/pkg/runtime v0.112.0/go.mod h1:YUljTAXVaeWG+GLnXNZopFFMZstUoTxJs7+vl91OV58= +github.com/fluxcd/pkg/runtime v0.113.0 h1:DzO7IEoNU+srL9aHjTGdsMawR33A9bfk7rCHRZZKiac= +github.com/fluxcd/pkg/runtime v0.113.0/go.mod h1:+h0Fyn5VfqFklfXxQJ0cuTxdS6RfE0qCwsSJa09vwy0= github.com/fluxcd/pkg/ssa v0.78.0 h1:Wzm9uoYLDUCRV2SlJuBLkOQu/OnPKuTWyTzIFZbpVfY= github.com/fluxcd/pkg/ssa v0.78.0/go.mod h1:yuW/1rJj6w89NpRgj2OJAP7tfqaXD6JmKm+WVnPrHKk= github.com/fluxcd/pkg/ssh v0.26.0 h1:fKw0gyZ2KgbngyI4zAzIfa0qnB4XjSpxBg1ZP6RySc8= @@ -303,8 +303,8 @@ github.com/googleapis/gax-go/v2 v2.24.0 h1:myMaPYyF9MecEmvQqMqomIwn9t/4KCZN9qnws github.com/googleapis/gax-go/v2 v2.24.0/go.mod h1:IaTHBDd7NHxSCiu0vEs8pQZu4dGZrWwuSoxCnk16OFM= github.com/graph-gophers/graphql-go v1.9.0 h1:yu0ucKHLc5qGpRwLYKIWtr9bOoxovkWasuBrPQwlHls= github.com/graph-gophers/graphql-go v1.9.0/go.mod h1:23olKZ7duEvHlF/2ELEoSZaY1aNPfShjP782SOoNTyM= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0 h1:/Tnpcb2E0Pz/tN9s3bfEY2Q8ePCEX9iuS+cneUwncnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0/go.mod h1:zOBXOsUaBSjKgmH4OGzV1esUpR3oUSCPYVd2cUBjKYY= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= @@ -471,26 +471,26 @@ go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.69.0 h1:2yEATaop1/a1I4psnSLgWVPLWwCzkqWakgJy7xTDVy0= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.69.0/go.mod h1:D7J12YRapIekYyPWgGPlA/23pRmpSEZC5xJC/TTLI9U= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI= -go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= -go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0 h1:4YsVu3B8+3qtWYYrsUYgn0OG78pN0rnNPRGX4SbokQI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0/go.mod h1:+wnlSn0mD1ADVMe3v9Z/WIaiz6q6gL2J/ejaAmdmv80= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0 h1:lgh3PiVrRUWMLOVSkQicxzZll5NjF1r+AtsX1XRIHw0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0/go.mod h1:5Cnhth3m/AgOeTgE3ex12pPmiu/gGtZit03kSzx9X7s= -go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= -go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= -go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= -go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= -go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= -go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= -go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= -go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= -go.opentelemetry.io/proto/otlp v1.10.0 h1:IQRWgT5srOCYfiWnpqUYz9CVmbO8bFmKcwYxpuCSL2g= -go.opentelemetry.io/proto/otlp v1.10.0/go.mod h1:/CV4QoCR/S9yaPj8utp3lvQPoqMtxXdzn7ozvvozVqk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.71.0 h1:B2h3uqicet1CT2N5TOFhS+Gq++9i0/CLmaxvhmhtP5s= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.71.0/go.mod h1:dylvB+ZiiwMvsDij9O84Uy7SijLgHMX4mbkncds+4Sw= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.71.0 h1:3g7B90UzBltIDKq1/5mrTGxTnOFDV0ICOhLoxiZ8jlg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.71.0/go.mod h1:Ef8SuTh59BT7+ofpDxN9z+yOlc4t2GjLmKDgYNJL/NU= +go.opentelemetry.io/otel v1.46.0 h1:FHt5/CDyVxi/8IM1CH7VE/rRgq3kLHa2mSTVMO8AWyc= +go.opentelemetry.io/otel v1.46.0/go.mod h1:Gj3SEScelsNC45tp4nSxRYlS+f5iez7W8XPMCt905kE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.46.0 h1:OFnwLJr+pF3iHrlGSzbxyuo6/6HyBlnlN1CWEJmBVcw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.46.0/go.mod h1:716wFneO0ov19A2beH5hjfh9AK5z/VWNAtDijp1Y0/g= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.46.0 h1:KrC1YrQeSt46ITMWAbgQx1M1eV1/1TKzttrBzymPmss= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.46.0/go.mod h1:zDSEzoEqsOrgBeGvH66KRgxh90VonFyJqBHA0Pk3+rM= +go.opentelemetry.io/otel/metric v1.46.0 h1:yBnkXvgV7AXFILZc5K6IZe/CBFF3OS7BJ8ov6/lj0K8= +go.opentelemetry.io/otel/metric v1.46.0/go.mod h1:iPmdWqifKUdzziPkvvzIJXITl56fQx2mGM/DHLB3/2o= +go.opentelemetry.io/otel/sdk v1.46.0 h1:h5CNQQjEbuQXY/JfZtgt3i7HVFV3aHPO2OAwO2eTYPI= +go.opentelemetry.io/otel/sdk v1.46.0/go.mod h1:GAERFXFt5SYCEB+YiKUbMBeza6UaDH7GmGOZEfh2gSM= +go.opentelemetry.io/otel/sdk/metric v1.46.0 h1:0piZ26EG4RBfebb2jhDH6ERCYHoVWduc3kLgPCwSnSE= +go.opentelemetry.io/otel/sdk/metric v1.46.0/go.mod h1:I1PbKrdVc8Qu8HYVDNtqVIwLwjNrhsV/uFuxfwg8mO4= +go.opentelemetry.io/otel/trace v1.46.0 h1:OULy7ccdJnZtJ0UDYFOIGaCmiWzJ8Vi2G/Rsu60qs1c= +go.opentelemetry.io/otel/trace v1.46.0/go.mod h1:J7GAXweO77XSFkB/rmAqk9D6ihszhFjLU+d9WuUxDLI= +go.opentelemetry.io/proto/otlp v1.11.0 h1:5rrYs0Ykyj50sdU/JU0x8etU+LubXWb+gED6TbEdMIk= +go.opentelemetry.io/proto/otlp v1.11.0/go.mod h1:SmVizdCOAm3XBtG1g1NnOdhW6jtddT72hLMhv8VwA8E= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -509,8 +509,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.56.0 h1:GUh5Ii4J5jtcseSMiRqr1jXCNHoxjeV9Fmekc2oLy6Y= golang.org/x/crypto v0.56.0/go.mod h1:OMW5y6CY9l38uPLmxU6l6pwcXp1obtLo3e6gT7gQR2I= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM= -golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f/go.mod h1:J1xhfL/vlindoeF/aINzNzt2Bket5bjo9sdOYzOsU80= +golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa h1:QSyA8ishJCyT21kER9KwNt0b7BM3iRK4x9QXhjN5Fdk= +golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa/go.mod h1:zeBbvyFKDaLwa7CH/zI8KXt7gTl14SF7sO08Pl5jBCM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -579,10 +579,10 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d h1:C9v1o0/4quuhOAfmRXA2j+we0PqZIp8traLdeogF3Ms= google.golang.org/genproto v0.0.0-20260715232425-e75dac1f907d/go.mod h1:Wz2wFJntZFmLGo7pLDXZ3wYk5hyc0Mb+SkHhDDXT+lU= -google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d h1:QwnJwPte4XXAkhPu26LTDIahnsMSUV0kK8HkxbC+Pc4= -google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d/go.mod h1:WRrQ7/7N19PypuT0fxLOL5Lq0waoiRri4FbtHDEKrGE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260819154853-08b0e4226688 h1:cYNAzI2sUwhmCcoj9TxvihSrqsxt6uIkj3rDRhSDmW4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260819154853-08b0e4226688/go.mod h1:DjtHYE8FKJLivXcBEjGwndXfIC23G0VpXiXKqG179uA= +google.golang.org/genproto/googleapis/api v0.0.0-20260819154853-08b0e4226688 h1:ax2KzoSRIZU/M0cIxri3pKxy99vniH1PVxWC6si/eZI= +google.golang.org/genproto/googleapis/api v0.0.0-20260819154853-08b0e4226688/go.mod h1:1RJ9BQGyNdZwkGc1eTqkErfRZ6RJyYPHZo73BZ1vQqI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260825221802-da73d73af1c5 h1:1VUiZAXyC+zmiFYi+WLtBzr68Cj8wOofHjjrA/kkizc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260825221802-da73d73af1c5/go.mod h1:DjtHYE8FKJLivXcBEjGwndXfIC23G0VpXiXKqG179uA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= diff --git a/internal/controller/alert_controller.go b/internal/controller/alert_controller.go index 360dd8923..30bfdccbb 100644 --- a/internal/controller/alert_controller.go +++ b/internal/controller/alert_controller.go @@ -20,7 +20,6 @@ import ( "context" corev1 "k8s.io/api/core/v1" - kuberecorder "k8s.io/client-go/tools/record" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" @@ -28,6 +27,8 @@ import ( apiv1 "github.com/fluxcd/notification-controller/api/v1" apiv1beta3 "github.com/fluxcd/notification-controller/api/v1beta3" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" + "github.com/fluxcd/pkg/runtime/events" "github.com/fluxcd/pkg/runtime/patch" ) @@ -37,7 +38,7 @@ import ( // AlertReconciler reconciles an Alert object to migrate it to static Alert. type AlertReconciler struct { client.Client - kuberecorder.EventRecorder + events.Recorder ControllerName string } @@ -88,7 +89,7 @@ func (r *AlertReconciler) Reconcile(ctx context.Context, req ctrl.Request) (resu controllerutil.RemoveFinalizer(obj, apiv1.NotificationFinalizer) log.Info("removed finalizer from Alert to migrate to static Alert") - r.Event(obj, corev1.EventTypeNormal, "Migration", "removed finalizer from Alert to migrate to static Alert") + r.Eventf(obj, nil, corev1.EventTypeNormal, "Migration", eventv1.ActionReconciled, "%s", "removed finalizer from Alert to migrate to static Alert") return } diff --git a/internal/controller/provider_controller.go b/internal/controller/provider_controller.go index 31a6b1682..2946e3547 100644 --- a/internal/controller/provider_controller.go +++ b/internal/controller/provider_controller.go @@ -19,7 +19,6 @@ package controller import ( "context" - kuberecorder "k8s.io/client-go/tools/record" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" "sigs.k8s.io/controller-runtime/pkg/client" @@ -28,6 +27,7 @@ import ( apiv1 "github.com/fluxcd/notification-controller/api/v1" apiv1beta3 "github.com/fluxcd/notification-controller/api/v1beta3" "github.com/fluxcd/pkg/cache" + "github.com/fluxcd/pkg/runtime/events" "github.com/fluxcd/pkg/runtime/patch" "github.com/fluxcd/notification-controller/internal/notifier" @@ -42,7 +42,7 @@ import ( // Provider. type ProviderReconciler struct { client.Client - kuberecorder.EventRecorder + events.Recorder TokenCache *cache.TokenCache } diff --git a/internal/controller/receiver_controller.go b/internal/controller/receiver_controller.go index 85a89a1d2..4ecaceab9 100644 --- a/internal/controller/receiver_controller.go +++ b/internal/controller/receiver_controller.go @@ -26,7 +26,6 @@ import ( apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" - kuberecorder "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" @@ -37,9 +36,11 @@ import ( "sigs.k8s.io/controller-runtime/pkg/predicate" "sigs.k8s.io/controller-runtime/pkg/reconcile" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" "github.com/fluxcd/pkg/runtime/conditions" helper "github.com/fluxcd/pkg/runtime/controller" + "github.com/fluxcd/pkg/runtime/events" "github.com/fluxcd/pkg/runtime/patch" "github.com/fluxcd/pkg/runtime/predicates" @@ -51,7 +52,7 @@ import ( type ReceiverReconciler struct { client.Client helper.Metrics - kuberecorder.EventRecorder + events.Recorder ControllerName string } @@ -170,14 +171,14 @@ func (r *ReceiverReconciler) Reconcile(ctx context.Context, req ctrl.Request) (r // Emit warning event if the reconciliation failed. if retErr != nil { - r.Event(obj, corev1.EventTypeWarning, meta.FailedReason, retErr.Error()) + r.Eventf(obj, nil, corev1.EventTypeWarning, meta.FailedReason, eventv1.ActionReconciling, "%s", retErr.Error()) } // Log and emit success event. if retErr == nil && conditions.IsReady(obj) { msg := fmt.Sprintf("Reconciliation finished, next run in %s", obj.GetInterval().String()) log.Info(msg) - r.Event(obj, corev1.EventTypeNormal, meta.SucceededReason, msg) + r.Eventf(obj, nil, corev1.EventTypeNormal, meta.SucceededReason, eventv1.ActionReconciled, "%s", msg) } }() @@ -353,7 +354,7 @@ func (r *ReceiverReconciler) markTerminal(obj *apiv1.Receiver, log logr.Logger, conditions.MarkStalled(obj, reason, "%s", errMsg) obj.Status.ObservedGeneration = obj.Generation log.Error(err, prefix) - r.Event(obj, corev1.EventTypeWarning, reason, errMsg) + r.Eventf(obj, nil, corev1.EventTypeWarning, reason, eventv1.ActionFailed, "%s", errMsg) } // token extract the token value from the secret object diff --git a/internal/controller/receiver_controller_test.go b/internal/controller/receiver_controller_test.go index 66ed03a44..c7fe563c8 100644 --- a/internal/controller/receiver_controller_test.go +++ b/internal/controller/receiver_controller_test.go @@ -31,7 +31,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/tools/record" + "k8s.io/client-go/tools/events" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" @@ -186,8 +186,8 @@ func TestReceiverReconciler_deleteBeforeFinalizer(t *testing.T) { g.Expect(k8sClient.Delete(ctx, receiver)).NotTo(HaveOccurred()) r := &ReceiverReconciler{ - Client: k8sClient, - EventRecorder: record.NewFakeRecorder(32), + Client: k8sClient, + Recorder: events.NewFakeRecorder(32), } // NOTE: Only a real API server responds with an error in this scenario. _, err := r.Reconcile(ctx, ctrl.Request{NamespacedName: client.ObjectKeyFromObject(receiver)}) @@ -301,7 +301,7 @@ func TestReceiverReconciler_Reconcile(t *testing.T) { // Revert to the original type and clear the providers so subsequent subtests start clean. // generic requires secretRef, so restore it alongside the type change. - patch = []byte(fmt.Sprintf(`{"spec":{"type":"generic","oidcProviders":null,"secretRef":{"name":%q}}}`, secretName)) + patch = fmt.Appendf(nil, `{"spec":{"type":"generic","oidcProviders":null,"secretRef":{"name":%q}}}`, secretName) g.Expect(k8sClient.Patch(context.Background(), resultR, client.RawPatch(types.MergePatchType, patch))).To(Succeed()) g.Eventually(func() bool { _ = k8sClient.Get(context.Background(), client.ObjectKeyFromObject(receiver), resultR) diff --git a/internal/controller/suite_test.go b/internal/controller/suite_test.go index 45df74d07..4bab62ebf 100644 --- a/internal/controller/suite_test.go +++ b/internal/controller/suite_test.go @@ -77,14 +77,14 @@ func TestMain(m *testing.M) { if err := (&AlertReconciler{ Client: testEnv, ControllerName: controllerName, - EventRecorder: testEnv.GetEventRecorderFor(controllerName), + Recorder: testEnv.GetEventRecorder(controllerName), }).SetupWithManager(testEnv); err != nil { panic(fmt.Sprintf("Failed to start AlertReconciler: %v", err)) } if err := (&ProviderReconciler{ - Client: testEnv, - EventRecorder: testEnv.GetEventRecorderFor(controllerName), + Client: testEnv, + Recorder: testEnv.GetEventRecorder(controllerName), }).SetupWithManager(testEnv); err != nil { panic(fmt.Sprintf("Failed to start ProviderReconciler: %v", err)) } @@ -93,7 +93,7 @@ func TestMain(m *testing.M) { Client: testEnv, Metrics: testMetricsH, ControllerName: controllerName, - EventRecorder: testEnv.GetEventRecorderFor(controllerName), + Recorder: testEnv.GetEventRecorder(controllerName), }).SetupWithManager(testEnv, ReceiverReconcilerOptions{ RateLimiter: controller.GetDefaultRateLimiter(), WatchConfigsPredicate: predicate.Not(predicate.Funcs{}), diff --git a/internal/notifier/alertmanager.go b/internal/notifier/alertmanager.go index 8ac4e381b..017059c17 100644 --- a/internal/notifier/alertmanager.go +++ b/internal/notifier/alertmanager.go @@ -28,7 +28,7 @@ import ( "golang.org/x/text/cases" "golang.org/x/text/language" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type Alertmanager struct { diff --git a/internal/notifier/alertmanager_fuzz_test.go b/internal/notifier/alertmanager_fuzz_test.go index c2cfcd7c1..1795e2605 100644 --- a/internal/notifier/alertmanager_fuzz_test.go +++ b/internal/notifier/alertmanager_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_AlertManager(f *testing.F) { diff --git a/internal/notifier/azure_devops.go b/internal/notifier/azure_devops.go index e99e33b97..59f5d3c29 100644 --- a/internal/notifier/azure_devops.go +++ b/internal/notifier/azure_devops.go @@ -27,7 +27,7 @@ import ( "github.com/microsoft/azure-devops-go-api/azuredevops/v6/git" "sigs.k8s.io/controller-runtime/pkg/client" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" "github.com/fluxcd/pkg/auth/azure" "github.com/fluxcd/pkg/cache" diff --git a/internal/notifier/azure_devops_fuzz_test.go b/internal/notifier/azure_devops_fuzz_test.go index 2d25d96e2..14bd0edc0 100644 --- a/internal/notifier/azure_devops_fuzz_test.go +++ b/internal/notifier/azure_devops_fuzz_test.go @@ -28,7 +28,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) const apiLocations = `{"count":0,"value":[{"area":"","id":"428dd4fb-fda5-4722-af02-9313b80305da","routeTemplate":"","resourceName":"","maxVersion":"6.0","minVersion":"5.0","releasedVersion":"6.0"}]}` diff --git a/internal/notifier/azure_devops_test.go b/internal/notifier/azure_devops_test.go index ae3c3d53c..483fa476e 100644 --- a/internal/notifier/azure_devops_test.go +++ b/internal/notifier/azure_devops_test.go @@ -21,7 +21,7 @@ import ( "testing" "time" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/microsoft/azure-devops-go-api/azuredevops/v6/git" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" diff --git a/internal/notifier/azure_eventhub.go b/internal/notifier/azure_eventhub.go index b23c82468..86ac32cb6 100644 --- a/internal/notifier/azure_eventhub.go +++ b/internal/notifier/azure_eventhub.go @@ -29,7 +29,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/auth/azure" "github.com/fluxcd/pkg/cache" ) diff --git a/internal/notifier/bitbucket.go b/internal/notifier/bitbucket.go index 09fbc61ac..1ad5c937c 100644 --- a/internal/notifier/bitbucket.go +++ b/internal/notifier/bitbucket.go @@ -27,7 +27,7 @@ import ( "github.com/ktrysmt/go-bitbucket" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" ) diff --git a/internal/notifier/bitbucket_fuzz_test.go b/internal/notifier/bitbucket_fuzz_test.go index 9ccfeee79..8e4fadd3f 100644 --- a/internal/notifier/bitbucket_fuzz_test.go +++ b/internal/notifier/bitbucket_fuzz_test.go @@ -28,7 +28,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Bitbucket(f *testing.F) { diff --git a/internal/notifier/bitbucketserver.go b/internal/notifier/bitbucketserver.go index ee207eb8b..ebbdcf9e0 100644 --- a/internal/notifier/bitbucketserver.go +++ b/internal/notifier/bitbucketserver.go @@ -29,7 +29,7 @@ import ( "strings" "time" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/bitbucketserver_test.go b/internal/notifier/bitbucketserver_test.go index ba386b724..cbc1d8c52 100644 --- a/internal/notifier/bitbucketserver_test.go +++ b/internal/notifier/bitbucketserver_test.go @@ -27,7 +27,7 @@ import ( "net/http" "net/http/httptest" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/internal/notifier/client_test.go b/internal/notifier/client_test.go index 7e9cf5557..da10205c6 100644 --- a/internal/notifier/client_test.go +++ b/internal/notifier/client_test.go @@ -29,7 +29,7 @@ import ( "testing" "time" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/internal/notifier/datadog.go b/internal/notifier/datadog.go index fe55e01d5..69835584f 100644 --- a/internal/notifier/datadog.go +++ b/internal/notifier/datadog.go @@ -27,7 +27,7 @@ import ( "github.com/DataDog/datadog-api-client-go/v2/api/datadog" "github.com/DataDog/datadog-api-client-go/v2/api/datadogV1" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type DataDog struct { diff --git a/internal/notifier/datadog_fuzz_test.go b/internal/notifier/datadog_fuzz_test.go index fe74577fc..1fc6b7917 100644 --- a/internal/notifier/datadog_fuzz_test.go +++ b/internal/notifier/datadog_fuzz_test.go @@ -10,7 +10,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" . "github.com/onsi/gomega" ) diff --git a/internal/notifier/discord.go b/internal/notifier/discord.go index 0651d5d56..bc83e0f78 100644 --- a/internal/notifier/discord.go +++ b/internal/notifier/discord.go @@ -25,7 +25,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) // Discord holds the hook URL diff --git a/internal/notifier/discord_fuzz_test.go b/internal/notifier/discord_fuzz_test.go index d418a1b7d..b2fe443b3 100644 --- a/internal/notifier/discord_fuzz_test.go +++ b/internal/notifier/discord_fuzz_test.go @@ -25,7 +25,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Discord(f *testing.F) { diff --git a/internal/notifier/forwarder.go b/internal/notifier/forwarder.go index 4963a08cd..ce81c08b5 100644 --- a/internal/notifier/forwarder.go +++ b/internal/notifier/forwarder.go @@ -25,7 +25,7 @@ import ( "fmt" "net/url" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/forwarder_fuzz_test.go b/internal/notifier/forwarder_fuzz_test.go index 85b2e58ea..82f8c217f 100644 --- a/internal/notifier/forwarder_fuzz_test.go +++ b/internal/notifier/forwarder_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Forwarder(f *testing.F) { diff --git a/internal/notifier/forwarder_test.go b/internal/notifier/forwarder_test.go index cb70a1311..21a109e96 100644 --- a/internal/notifier/forwarder_test.go +++ b/internal/notifier/forwarder_test.go @@ -28,7 +28,7 @@ import ( . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func TestForwarder_New(t *testing.T) { @@ -89,7 +89,7 @@ func TestForwarder_Post(t *testing.T) { { name: "non-empty HMAC key adds signature header", hmacKey: []byte("7152fed34dd6149a7c75a276c510da27cb6f82b0"), - hmacHeader: "sha256=65b018549b1254e7226d1c08f9567ee45bc9de0fc4e7b1a40253f9a018b08be7", + hmacHeader: "sha256=2662a6dd1a887c05183aa5b9787d5ed92116199f09c7b3c7908ee3bd20bc60d9", xSigHeader: "should be overwritten with actual signature", }, } diff --git a/internal/notifier/git_change_request_comment.go b/internal/notifier/git_change_request_comment.go index 5b9da2703..fbd245d19 100644 --- a/internal/notifier/git_change_request_comment.go +++ b/internal/notifier/git_change_request_comment.go @@ -19,7 +19,7 @@ package notifier import ( "fmt" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) // changeRequestComment contains shared logic for change request comment providers diff --git a/internal/notifier/gitea.go b/internal/notifier/gitea.go index e41b7a593..792e652fe 100644 --- a/internal/notifier/gitea.go +++ b/internal/notifier/gitea.go @@ -23,7 +23,7 @@ import ( "os" "code.gitea.io/sdk/gitea" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" ctrl "sigs.k8s.io/controller-runtime" ) diff --git a/internal/notifier/gitea_pull_request_comment.go b/internal/notifier/gitea_pull_request_comment.go index 545abc63b..40eece7fa 100644 --- a/internal/notifier/gitea_pull_request_comment.go +++ b/internal/notifier/gitea_pull_request_comment.go @@ -25,7 +25,7 @@ import ( "code.gitea.io/sdk/gitea" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type GiteaPullRequestComment struct { diff --git a/internal/notifier/gitea_test.go b/internal/notifier/gitea_test.go index e23c5edaa..50e2b7471 100644 --- a/internal/notifier/gitea_test.go +++ b/internal/notifier/gitea_test.go @@ -21,13 +21,14 @@ import ( "crypto/tls" "crypto/x509" "fmt" - testproxy "github.com/fluxcd/notification-controller/tests/proxy" "net/http" "net/http/httptest" "testing" "time" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + testproxy "github.com/fluxcd/notification-controller/tests/proxy" + + eventv1 "github.com/fluxcd/pkg/apis/event/v1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/internal/notifier/github.go b/internal/notifier/github.go index cd103dde0..4b3000aca 100644 --- a/internal/notifier/github.go +++ b/internal/notifier/github.go @@ -23,7 +23,7 @@ import ( "github.com/google/go-github/v64/github" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" ) diff --git a/internal/notifier/github_dispatch.go b/internal/notifier/github_dispatch.go index 3dfc8d54a..e7ad1375a 100644 --- a/internal/notifier/github_dispatch.go +++ b/internal/notifier/github_dispatch.go @@ -23,7 +23,7 @@ import ( "github.com/google/go-github/v64/github" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type GitHubDispatch struct { diff --git a/internal/notifier/github_dispatch_fuzz_test.go b/internal/notifier/github_dispatch_fuzz_test.go index 1100a4fb8..5070d3d2f 100644 --- a/internal/notifier/github_dispatch_fuzz_test.go +++ b/internal/notifier/github_dispatch_fuzz_test.go @@ -27,7 +27,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_GitHub_Dispatch(f *testing.F) { diff --git a/internal/notifier/github_fuzz_test.go b/internal/notifier/github_fuzz_test.go index c9728e9a1..7d98ca26a 100644 --- a/internal/notifier/github_fuzz_test.go +++ b/internal/notifier/github_fuzz_test.go @@ -27,7 +27,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_GitHub(f *testing.F) { diff --git a/internal/notifier/github_pull_request_comment.go b/internal/notifier/github_pull_request_comment.go index fdc905d5c..922117f1f 100644 --- a/internal/notifier/github_pull_request_comment.go +++ b/internal/notifier/github_pull_request_comment.go @@ -25,7 +25,7 @@ import ( "github.com/google/go-github/v64/github" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type GitHubPullRequestComment struct { diff --git a/internal/notifier/gitlab.go b/internal/notifier/gitlab.go index 625c6c47e..b3488368b 100644 --- a/internal/notifier/gitlab.go +++ b/internal/notifier/gitlab.go @@ -25,7 +25,7 @@ import ( gitlab "gitlab.com/gitlab-org/api/client-go" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" ) diff --git a/internal/notifier/gitlab_fuzz_test.go b/internal/notifier/gitlab_fuzz_test.go index 740f31b1b..33d88d61e 100644 --- a/internal/notifier/gitlab_fuzz_test.go +++ b/internal/notifier/gitlab_fuzz_test.go @@ -27,7 +27,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_GitLab(f *testing.F) { diff --git a/internal/notifier/gitlab_merge_request_comment.go b/internal/notifier/gitlab_merge_request_comment.go index 10e51b9f9..6401483bc 100644 --- a/internal/notifier/gitlab_merge_request_comment.go +++ b/internal/notifier/gitlab_merge_request_comment.go @@ -27,7 +27,7 @@ import ( gitlab "gitlab.com/gitlab-org/api/client-go" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type GitLabMergeRequestComment struct { diff --git a/internal/notifier/google_chat.go b/internal/notifier/google_chat.go index 69c2783ed..42aedc5e4 100644 --- a/internal/notifier/google_chat.go +++ b/internal/notifier/google_chat.go @@ -24,7 +24,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) // Slack holds the hook URL diff --git a/internal/notifier/google_chat_fuzz_test.go b/internal/notifier/google_chat_fuzz_test.go index 8a490c936..da4c9a770 100644 --- a/internal/notifier/google_chat_fuzz_test.go +++ b/internal/notifier/google_chat_fuzz_test.go @@ -25,7 +25,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_GoogleChat(f *testing.F) { diff --git a/internal/notifier/google_pubsub.go b/internal/notifier/google_pubsub.go index df07e07d4..46730ebf4 100644 --- a/internal/notifier/google_pubsub.go +++ b/internal/notifier/google_pubsub.go @@ -26,7 +26,7 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" "sigs.k8s.io/controller-runtime/pkg/log" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type ( diff --git a/internal/notifier/google_pubsub_test.go b/internal/notifier/google_pubsub_test.go index 07cfcfce5..d7873366d 100644 --- a/internal/notifier/google_pubsub_test.go +++ b/internal/notifier/google_pubsub_test.go @@ -23,7 +23,7 @@ import ( . "github.com/onsi/gomega" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func TestNewGooglePubSub(t *testing.T) { @@ -89,12 +89,12 @@ func TestGooglePubSubPost(t *testing.T) { event: eventv1.Event{ Metadata: map[string]string{"foo": "bar"}, }, - expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","metadata":{"foo":"bar"},"reportingController":""}`, + expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","action":"","metadata":{"foo":"bar"},"reportingController":""}`, publishShouldExecute: true, }, { name: "publish error is relayed", - expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","reportingController":""}`, + expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","action":"","reportingController":""}`, topicName: "projects/projectID/topics/topicID", publishErr: errors.New("publish error"), expectedErr: errors.New("publish error"), @@ -104,7 +104,7 @@ func TestGooglePubSubPost(t *testing.T) { name: "topic and attributes are relayed to the internal client", topicID: "topicID", attrs: map[string]string{"foo": "bar"}, - expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","reportingController":""}`, + expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","action":"","reportingController":""}`, publishShouldExecute: true, }, } diff --git a/internal/notifier/grafana.go b/internal/notifier/grafana.go index d5080b20a..8692c692d 100644 --- a/internal/notifier/grafana.go +++ b/internal/notifier/grafana.go @@ -25,7 +25,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/grafana_fuzz_test.go b/internal/notifier/grafana_fuzz_test.go index 893b0e875..2ade94961 100644 --- a/internal/notifier/grafana_fuzz_test.go +++ b/internal/notifier/grafana_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Grafana(f *testing.F) { diff --git a/internal/notifier/incidentio.go b/internal/notifier/incidentio.go index 09cb71ed6..1541c49b8 100644 --- a/internal/notifier/incidentio.go +++ b/internal/notifier/incidentio.go @@ -24,7 +24,7 @@ import ( "net/url" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/incidentio_fuzz_test.go b/internal/notifier/incidentio_fuzz_test.go index af48e3e09..d2268da62 100644 --- a/internal/notifier/incidentio_fuzz_test.go +++ b/internal/notifier/incidentio_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Incidentio(f *testing.F) { diff --git a/internal/notifier/incidentio_test.go b/internal/notifier/incidentio_test.go index bf3f121a1..1c04fb2f1 100644 --- a/internal/notifier/incidentio_test.go +++ b/internal/notifier/incidentio_test.go @@ -24,7 +24,7 @@ import ( "net/http/httptest" "testing" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" . "github.com/onsi/gomega" ) diff --git a/internal/notifier/lark.go b/internal/notifier/lark.go index 4a499929b..e0c6baf24 100644 --- a/internal/notifier/lark.go +++ b/internal/notifier/lark.go @@ -8,7 +8,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type Lark struct { diff --git a/internal/notifier/lark_fuzz_test.go b/internal/notifier/lark_fuzz_test.go index 80937bec2..b84c6ecb6 100644 --- a/internal/notifier/lark_fuzz_test.go +++ b/internal/notifier/lark_fuzz_test.go @@ -9,7 +9,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Lark(f *testing.F) { diff --git a/internal/notifier/markdown.go b/internal/notifier/markdown.go index cb4ef6ec2..b4a2bc6c5 100644 --- a/internal/notifier/markdown.go +++ b/internal/notifier/markdown.go @@ -21,7 +21,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) // formatMarkdownPost formats the event for Markdown rendering engines. diff --git a/internal/notifier/matrix.go b/internal/notifier/matrix.go index b1ae5d298..d3d4c314c 100644 --- a/internal/notifier/matrix.go +++ b/internal/notifier/matrix.go @@ -12,7 +12,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/matrix_fuzz_test.go b/internal/notifier/matrix_fuzz_test.go index a7dac07f3..8597c8c04 100644 --- a/internal/notifier/matrix_fuzz_test.go +++ b/internal/notifier/matrix_fuzz_test.go @@ -10,7 +10,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Matrix(f *testing.F) { diff --git a/internal/notifier/matrix_test.go b/internal/notifier/matrix_test.go index 356812179..84963f62b 100644 --- a/internal/notifier/matrix_test.go +++ b/internal/notifier/matrix_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -32,7 +32,7 @@ func TestSha1Sum(t *testing.T) { ReportingController: "", ReportingInstance: "", }, - sha1: "37d91b4f6a1e44c6a38273b0a0fd408fade7b0f5", + sha1: "b483201be9dd568ab4db38f53bc19fc82da23943", }, } diff --git a/internal/notifier/nats.go b/internal/notifier/nats.go index ad38e5a2f..ddefde567 100644 --- a/internal/notifier/nats.go +++ b/internal/notifier/nats.go @@ -22,7 +22,7 @@ import ( "errors" "fmt" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/nats-io/nats.go" "github.com/nats-io/nkeys" "sigs.k8s.io/controller-runtime/pkg/log" diff --git a/internal/notifier/nats_test.go b/internal/notifier/nats_test.go index 3ef15ebc5..6dff87ac3 100644 --- a/internal/notifier/nats_test.go +++ b/internal/notifier/nats_test.go @@ -6,7 +6,7 @@ import ( "fmt" "testing" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/nats-io/nats.go" . "github.com/onsi/gomega" ) @@ -192,13 +192,13 @@ func TestNATSPost(t *testing.T) { event: eventv1.Event{ Metadata: map[string]string{"foo": "bar"}, }, - expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","metadata":{"foo":"bar"},"reportingController":""}`, + expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","action":"","metadata":{"foo":"bar"},"reportingController":""}`, publishShouldExecute: true, }, { name: "publish error is wrapped and relayed", subject: "test", - expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","reportingController":""}`, + expectedEventPayload: `{"involvedObject":{},"severity":"","timestamp":null,"message":"","reason":"","action":"","reportingController":""}`, publishErr: errors.New("publish error"), expectedErr: fmt.Errorf("error publishing event to subject test: %w", errors.New("publish error")), publishShouldExecute: true, diff --git a/internal/notifier/notifier.go b/internal/notifier/notifier.go index 4268728ce..ce4ecf852 100644 --- a/internal/notifier/notifier.go +++ b/internal/notifier/notifier.go @@ -19,7 +19,7 @@ package notifier import ( "context" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) // OperationPost is the operation name used in cache event metrics diff --git a/internal/notifier/opsgenie.go b/internal/notifier/opsgenie.go index b6cb1a44b..7d45222c2 100644 --- a/internal/notifier/opsgenie.go +++ b/internal/notifier/opsgenie.go @@ -24,7 +24,7 @@ import ( "fmt" "net/url" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/opsgenie_fuzz_test.go b/internal/notifier/opsgenie_fuzz_test.go index 367cfff58..af5f09681 100644 --- a/internal/notifier/opsgenie_fuzz_test.go +++ b/internal/notifier/opsgenie_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_OpsGenie(f *testing.F) { diff --git a/internal/notifier/opsgenie_test.go b/internal/notifier/opsgenie_test.go index be3f9bd3a..2de516432 100644 --- a/internal/notifier/opsgenie_test.go +++ b/internal/notifier/opsgenie_test.go @@ -26,7 +26,7 @@ import ( "net/http/httptest" "testing" - "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" . "github.com/onsi/gomega" ) @@ -44,7 +44,7 @@ func TestOpsgenie_Post(t *testing.T) { tests := []struct { name string - event func() v1beta1.Event + event func() eventv1.Event }{ { name: "test event", @@ -52,7 +52,7 @@ func TestOpsgenie_Post(t *testing.T) { }, { name: "test event with empty metadata", - event: func() v1beta1.Event { + event: func() eventv1.Event { events := testEvent() events.Metadata = nil return events @@ -88,7 +88,7 @@ func TestOpsgenie_PostAlias(t *testing.T) { tests := []struct { name string - event func() v1beta1.Event + event func() eventv1.Event expectedAlias string }{ { @@ -99,7 +99,7 @@ func TestOpsgenie_PostAlias(t *testing.T) { }, { name: "alias is stable for same event", - event: func() v1beta1.Event { + event: func() eventv1.Event { e := testEvent() e.Message = "different message should not change alias" return e @@ -109,7 +109,7 @@ func TestOpsgenie_PostAlias(t *testing.T) { }, { name: "alias differs for different reason", - event: func() v1beta1.Event { + event: func() eventv1.Event { e := testEvent() e.Reason = "HealthCheckFailed" return e @@ -119,7 +119,7 @@ func TestOpsgenie_PostAlias(t *testing.T) { }, { name: "alias differs for different namespace", - event: func() v1beta1.Event { + event: func() eventv1.Event { e := testEvent() e.InvolvedObject.Namespace = "production" return e @@ -129,7 +129,7 @@ func TestOpsgenie_PostAlias(t *testing.T) { }, { name: "alias with empty metadata", - event: func() v1beta1.Event { + event: func() eventv1.Event { e := testEvent() e.Metadata = nil return e diff --git a/internal/notifier/otel.go b/internal/notifier/otel.go index c83dc0dc5..0cb27e0c6 100644 --- a/internal/notifier/otel.go +++ b/internal/notifier/otel.go @@ -37,7 +37,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "sigs.k8s.io/controller-runtime/pkg/log" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" apiv1beta3 "github.com/fluxcd/notification-controller/api/v1beta3" ) diff --git a/internal/notifier/otel_test.go b/internal/notifier/otel_test.go index 9b433b490..6f50b0649 100644 --- a/internal/notifier/otel_test.go +++ b/internal/notifier/otel_test.go @@ -23,10 +23,9 @@ import ( "testing" "time" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" . "github.com/onsi/gomega" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - - "github.com/fluxcd/pkg/apis/event/v1beta1" ) func TestOTEL_Post(t *testing.T) { @@ -44,11 +43,11 @@ func TestOTEL_Post(t *testing.T) { tests := []struct { name string - event func() v1beta1.Event + event func() eventv1.Event }{ { name: "test event", - event: func() v1beta1.Event { + event: func() eventv1.Event { e := testEvent() // Mocking the data provided by alert.eventMetadata e.Metadata["cluster"] = "my-cluster" diff --git a/internal/notifier/pagerduty.go b/internal/notifier/pagerduty.go index ae4848b6a..d5156f956 100644 --- a/internal/notifier/pagerduty.go +++ b/internal/notifier/pagerduty.go @@ -25,7 +25,7 @@ import ( "github.com/PagerDuty/go-pagerduty" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" ) diff --git a/internal/notifier/pagerduty_fuzz_test.go b/internal/notifier/pagerduty_fuzz_test.go index e4aea1e1f..0b6527903 100644 --- a/internal/notifier/pagerduty_fuzz_test.go +++ b/internal/notifier/pagerduty_fuzz_test.go @@ -9,7 +9,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_PagerDuty(f *testing.F) { diff --git a/internal/notifier/pagerduty_test.go b/internal/notifier/pagerduty_test.go index 93058e4af..51ad602ee 100644 --- a/internal/notifier/pagerduty_test.go +++ b/internal/notifier/pagerduty_test.go @@ -14,7 +14,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" ) diff --git a/internal/notifier/rocket.go b/internal/notifier/rocket.go index b8609b55b..6f8052dfc 100644 --- a/internal/notifier/rocket.go +++ b/internal/notifier/rocket.go @@ -25,7 +25,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) // Rocket holds the hook URL diff --git a/internal/notifier/rocket_fuzz_test.go b/internal/notifier/rocket_fuzz_test.go index 77216477c..98d732dc1 100644 --- a/internal/notifier/rocket_fuzz_test.go +++ b/internal/notifier/rocket_fuzz_test.go @@ -25,7 +25,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Rocket(f *testing.F) { diff --git a/internal/notifier/sentry.go b/internal/notifier/sentry.go index 90aa16511..46371d9c1 100644 --- a/internal/notifier/sentry.go +++ b/internal/notifier/sentry.go @@ -22,7 +22,7 @@ import ( "fmt" "net/http" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/getsentry/sentry-go" ) diff --git a/internal/notifier/sentry_test.go b/internal/notifier/sentry_test.go index b8a6651dd..6106b0c65 100644 --- a/internal/notifier/sentry_test.go +++ b/internal/notifier/sentry_test.go @@ -21,7 +21,7 @@ import ( "testing" "time" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/getsentry/sentry-go" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" diff --git a/internal/notifier/slack.go b/internal/notifier/slack.go index fc3c42456..3cdde7cb0 100644 --- a/internal/notifier/slack.go +++ b/internal/notifier/slack.go @@ -27,7 +27,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/slack_fuzz_test.go b/internal/notifier/slack_fuzz_test.go index b9fbf4cfb..d41f3e6bd 100644 --- a/internal/notifier/slack_fuzz_test.go +++ b/internal/notifier/slack_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Slack(f *testing.F) { diff --git a/internal/notifier/teams.go b/internal/notifier/teams.go index 8af55db8f..2e1c17cbb 100644 --- a/internal/notifier/teams.go +++ b/internal/notifier/teams.go @@ -25,7 +25,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) const ( diff --git a/internal/notifier/teams_fuzz_test.go b/internal/notifier/teams_fuzz_test.go index f36e7a8be..63426b177 100644 --- a/internal/notifier/teams_fuzz_test.go +++ b/internal/notifier/teams_fuzz_test.go @@ -25,7 +25,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_MSTeams(f *testing.F) { diff --git a/internal/notifier/telegram.go b/internal/notifier/telegram.go index 76be5e74c..74a10c6d7 100644 --- a/internal/notifier/telegram.go +++ b/internal/notifier/telegram.go @@ -9,7 +9,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) const ( diff --git a/internal/notifier/util.go b/internal/notifier/util.go index 74e7e873b..65708dad1 100644 --- a/internal/notifier/util.go +++ b/internal/notifier/util.go @@ -27,7 +27,7 @@ import ( "github.com/fluxcd/pkg/git" giturls "github.com/chainguard-dev/git-urls" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func parseGitAddress(s string) (string, string, error) { diff --git a/internal/notifier/util_fuzz_test.go b/internal/notifier/util_fuzz_test.go index b62f7af42..e92b1e675 100644 --- a/internal/notifier/util_fuzz_test.go +++ b/internal/notifier/util_fuzz_test.go @@ -20,7 +20,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Util_ParseGitAddress(f *testing.F) { diff --git a/internal/notifier/util_test.go b/internal/notifier/util_test.go index cfcd7a43c..51fc3da5a 100644 --- a/internal/notifier/util_test.go +++ b/internal/notifier/util_test.go @@ -22,7 +22,7 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func TestUtil_NameAndDescription(t *testing.T) { diff --git a/internal/notifier/webex.go b/internal/notifier/webex.go index 92bb23374..0069493fe 100644 --- a/internal/notifier/webex.go +++ b/internal/notifier/webex.go @@ -25,7 +25,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/webex_fuzz_test.go b/internal/notifier/webex_fuzz_test.go index c03df2b52..c169f8026 100644 --- a/internal/notifier/webex_fuzz_test.go +++ b/internal/notifier/webex_fuzz_test.go @@ -26,7 +26,7 @@ import ( "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) func Fuzz_Webex(f *testing.F) { diff --git a/internal/notifier/zoom.go b/internal/notifier/zoom.go index 792bf9302..769f78b8e 100644 --- a/internal/notifier/zoom.go +++ b/internal/notifier/zoom.go @@ -26,7 +26,7 @@ import ( "slices" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/hashicorp/go-retryablehttp" ) diff --git a/internal/notifier/zulip.go b/internal/notifier/zulip.go index 746e6da00..2e90566d6 100644 --- a/internal/notifier/zulip.go +++ b/internal/notifier/zulip.go @@ -23,7 +23,7 @@ import ( "net/url" "strings" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" ) type Zulip struct { diff --git a/internal/notifier/zulip_test.go b/internal/notifier/zulip_test.go index b38f2f8e4..da6e9583f 100644 --- a/internal/notifier/zulip_test.go +++ b/internal/notifier/zulip_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/notification-controller/internal/notifier" ) diff --git a/internal/server/event_handlers.go b/internal/server/event_handlers.go index baa68e77d..86b9bb3a8 100644 --- a/internal/server/event_handlers.go +++ b/internal/server/event_handlers.go @@ -36,7 +36,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/yaml" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/auth" "github.com/fluxcd/pkg/cache" "github.com/fluxcd/pkg/masktoken" @@ -94,7 +94,7 @@ func (s *EventServer) handleEvent() func(w http.ResponseWriter, r *http.Request) dropped, err := s.dispatchNotification(ctx, event, alert) if err != nil { alertLogger.Error(err, "failed to dispatch notification") - s.Eventf(alert, corev1.EventTypeWarning, "NotificationDispatchFailed", + s.Eventf(alert, nil, corev1.EventTypeWarning, "NotificationDispatchFailed", eventv1.ActionFailed, "failed to dispatch notification for %s: %s", involvedObjectString(event.InvolvedObject), err) continue } @@ -208,8 +208,8 @@ func (s *EventServer) messageIsIncluded(ctx context.Context, msg string, alert * } } else { log.FromContext(ctx).Error(err, fmt.Sprintf("failed to compile inclusion regex: %s", exp)) - s.Eventf(alert, corev1.EventTypeWarning, - "InvalidConfig", "failed to compile inclusion regex: %s", exp) + s.Eventf(alert, nil, corev1.EventTypeWarning, + "InvalidConfig", eventv1.ActionValidating, "failed to compile inclusion regex: %s", exp) } } return false @@ -229,7 +229,7 @@ func (s *EventServer) messageIsExcluded(ctx context.Context, msg string, alert * } } else { log.FromContext(ctx).Error(err, fmt.Sprintf("failed to compile exclusion regex: %s", exp)) - s.Eventf(alert, corev1.EventTypeWarning, "InvalidConfig", + s.Eventf(alert, nil, corev1.EventTypeWarning, "InvalidConfig", eventv1.ActionValidating, "failed to compile exclusion regex: %s", exp) } } @@ -263,7 +263,7 @@ func (s *EventServer) dispatchNotification(ctx context.Context, err = errors.New(maskedErrStr) } log.FromContext(ctx).Error(err, "failed to send notification") - s.Eventf(alert, corev1.EventTypeWarning, "NotificationDispatchFailed", + s.Eventf(alert, nil, corev1.EventTypeWarning, "NotificationDispatchFailed", eventv1.ActionFailed, "failed to send notification for %s: %s", involvedObjectString(e.InvolvedObject), err) } }(params.sender, *params.event) @@ -613,7 +613,7 @@ func (s *EventServer) eventMatchesAlertSource(ctx context.Context, event *eventv Name: event.InvolvedObject.Name, }, &obj); err != nil { logger.Error(err, "error getting the involved object") - s.Eventf(alert, corev1.EventTypeWarning, "SourceFetchFailed", + s.Eventf(alert, nil, corev1.EventTypeWarning, "SourceFetchFailed", eventv1.ActionFetching, "error getting source object %s", involvedObjectString(event.InvolvedObject)) return false } @@ -623,7 +623,7 @@ func (s *EventServer) eventMatchesAlertSource(ctx context.Context, event *eventv }) if err != nil { logger.Error(err, fmt.Sprintf("error using matchLabels from event source %s", crossNSObjectRefString(source))) - s.Eventf(alert, corev1.EventTypeWarning, "InvalidConfig", + s.Eventf(alert, nil, corev1.EventTypeWarning, "InvalidConfig", eventv1.ActionValidating, "error using matchLabels from event source %s", crossNSObjectRefString(source)) return false } @@ -710,7 +710,7 @@ func (s *EventServer) combineEventMetadata(ctx context.Context, event *eventv1.E const msg = "metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information)" slices.SortFunc(conflictingKeys, func(a, b *keyConflict) int { return strings.Compare(a.Key, b.Key) }) l.Info("warning: "+msg, "conflictingKeys", conflictingKeys) - s.AnnotatedEventf(alert, conflictEventAnnotations, corev1.EventTypeWarning, "MetadataAppendFailed", "%s", msg) + s.AnnotatedEventf(alert, nil, conflictEventAnnotations, corev1.EventTypeWarning, "MetadataAppendFailed", eventv1.ActionValidating, "%s", msg) } if len(metadata) > 0 { diff --git a/internal/server/event_handlers_test.go b/internal/server/event_handlers_test.go index 12a3ee743..ff73ae7b7 100644 --- a/internal/server/event_handlers_test.go +++ b/internal/server/event_handlers_test.go @@ -38,11 +38,11 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/client-go/tools/record" + "k8s.io/client-go/tools/events" fakeclient "sigs.k8s.io/controller-runtime/pkg/client/fake" "sigs.k8s.io/controller-runtime/pkg/log" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" "github.com/fluxcd/pkg/auth" @@ -289,9 +289,9 @@ func TestFilterAlertsForEvent(t *testing.T) { builder := fakeclient.NewClientBuilder().WithScheme(scheme) builder.WithObjects(testProvider) eventServer := EventServer{ - kubeClient: builder.Build(), - logger: log.Log, - EventRecorder: record.NewFakeRecorder(32), + kubeClient: builder.Build(), + logger: log.Log, + Recorder: events.NewFakeRecorder(32), } result := eventServer.filterAlertsForEvent(context.TODO(), alerts, testEvent) @@ -373,9 +373,9 @@ func TestDispatchNotification(t *testing.T) { builder := fakeclient.NewClientBuilder().WithScheme(scheme) builder.WithObjects(provider) eventServer := EventServer{ - kubeClient: builder.Build(), - logger: log.Log, - EventRecorder: record.NewFakeRecorder(32), + kubeClient: builder.Build(), + logger: log.Log, + Recorder: events.NewFakeRecorder(32), } _, err := eventServer.dispatchNotification(context.TODO(), testEvent, alert) @@ -593,7 +593,7 @@ func TestGetNotificationParams(t *testing.T) { kubeClient: builder.Build(), logger: log.Log, noCrossNamespaceRefs: tt.noCrossNSRefs, - EventRecorder: record.NewFakeRecorder(32), + Recorder: events.NewFakeRecorder(32), } params, dropped, err := eventServer.getNotificationParams(context.TODO(), event, alert) @@ -866,7 +866,7 @@ Wf86aX6PepsntZv2GYlA5UpabfT2EZICICpJ5h/iI+i341gBmLiAFQOyTDT+/wQc SecretRef: &meta.LocalObjectReference{Name: secretName}, }, secretData: map[string][]byte{ - "address": []byte(fmt.Sprintf("https://example.org/%s", strings.Repeat("a", 2029))), + "address": fmt.Appendf(nil, "https://example.org/%s", strings.Repeat("a", 2029)), }, wantErr: true, }, @@ -877,7 +877,7 @@ Wf86aX6PepsntZv2GYlA5UpabfT2EZICICpJ5h/iI+i341gBmLiAFQOyTDT+/wQc SecretRef: &meta.LocalObjectReference{Name: secretName}, }, secretData: map[string][]byte{ - "address": []byte(fmt.Sprintf("https://example.org/%s", strings.Repeat("a", 2028))), + "address": fmt.Appendf(nil, "https://example.org/%s", strings.Repeat("a", 2028)), }, wantErr: false, }, @@ -1378,9 +1378,9 @@ func TestEventMatchesAlert(t *testing.T) { } eventServer := EventServer{ - kubeClient: builder.Build(), - logger: log.Log, - EventRecorder: record.NewFakeRecorder(32), + kubeClient: builder.Build(), + logger: log.Log, + Recorder: events.NewFakeRecorder(32), } alert := &apiv1beta3.Alert{ ObjectMeta: metav1.ObjectMeta{ @@ -1452,7 +1452,7 @@ func TestCombineEventMetadata(t *testing.T) { expectedMetadata: map[string]string{ "summary": "alertSummary", }, - conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information) map[summary:involved object annotations, Alert object .spec.summary]", + conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information)", }, "alert event metadata is overriden by summary": { event: eventv1.Event{}, @@ -1467,7 +1467,7 @@ func TestCombineEventMetadata(t *testing.T) { expectedMetadata: map[string]string{ "summary": "alertSummary", }, - conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information) map[summary:Alert object .spec.eventMetadata, Alert object .spec.summary]", + conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information)", }, "summary is overriden by controller metadata": { event: eventv1.Event{ @@ -1483,7 +1483,7 @@ func TestCombineEventMetadata(t *testing.T) { expectedMetadata: map[string]string{ "summary": "controllerSummary", }, - conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information) map[summary:Alert object .spec.summary, involved object controller metadata]", + conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information)", }, "precedence order in RFC 0008 is honered": { event: eventv1.Event{ @@ -1513,16 +1513,16 @@ func TestCombineEventMetadata(t *testing.T) { "alertMetadataOverridenByController": "controllerMetadataValue2", "controllerMetadata": "controllerMetadataValue3", }, - conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information) map[alertMetadataOverridenByController:Alert object .spec.eventMetadata, involved object controller metadata objectMetadataOverridenByAlert:involved object annotations, Alert object .spec.eventMetadata objectMetadataOverridenByController:involved object annotations, involved object controller metadata]", + conflictEvent: "Warning MetadataAppendFailed metadata key conflicts detected (please refer to the Alert API docs and Flux RFC 0008 for more information)", }, } { t.Run(name, func(t *testing.T) { g := NewGomegaWithT(t) - eventRecorder := record.NewFakeRecorder(1) + eventRecorder := events.NewFakeRecorder(1) s := &EventServer{ - logger: log.Log, - EventRecorder: eventRecorder, + logger: log.Log, + Recorder: eventRecorder, } tt.event.InvolvedObject.APIVersion = "kustomize.toolkit.fluxcd.io/v1" diff --git a/internal/server/event_server.go b/internal/server/event_server.go index 7d812d66b..33f593975 100644 --- a/internal/server/event_server.go +++ b/internal/server/event_server.go @@ -31,12 +31,12 @@ import ( "github.com/sethvargo/go-limiter/httplimit" "github.com/slok/go-http-metrics/middleware" "github.com/slok/go-http-metrics/middleware/std" - kuberecorder "k8s.io/client-go/tools/record" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/cache" + "github.com/fluxcd/pkg/runtime/events" ) // +kubebuilder:rbac:groups="",resources=events,verbs=create;patch @@ -53,18 +53,18 @@ type EventServer struct { noCrossNamespaceRefs bool exportHTTPPathMetrics bool tokenCache *cache.TokenCache - kuberecorder.EventRecorder + events.Recorder } // NewEventServer returns an HTTP server that handles events func NewEventServer(port string, logger logr.Logger, kubeClient client.Client, - eventRecorder kuberecorder.EventRecorder, noCrossNamespaceRefs bool, + eventRecorder events.Recorder, noCrossNamespaceRefs bool, exportHTTPPathMetrics bool, tokenCache *cache.TokenCache) *EventServer { return &EventServer{ port: port, logger: logger.WithName("event-server"), kubeClient: kubeClient, - EventRecorder: eventRecorder, + Recorder: eventRecorder, noCrossNamespaceRefs: noCrossNamespaceRefs, exportHTTPPathMetrics: exportHTTPPathMetrics, tokenCache: tokenCache, diff --git a/internal/server/event_server_test.go b/internal/server/event_server_test.go index bcc0c0954..31f98fe96 100644 --- a/internal/server/event_server_test.go +++ b/internal/server/event_server_test.go @@ -40,11 +40,11 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" yamlutil "k8s.io/apimachinery/pkg/util/yaml" - "k8s.io/client-go/tools/record" + "k8s.io/client-go/tools/events" fakeclient "sigs.k8s.io/controller-runtime/pkg/client/fake" log "sigs.k8s.io/controller-runtime/pkg/log" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/apis/meta" apiv1 "github.com/fluxcd/notification-controller/api/v1" @@ -137,7 +137,7 @@ func TestEventServer(t *testing.T) { t.Fatalf("failed to create memory storage") } eventServer := NewEventServer("127.0.0.1:"+eventServerPort, - log.Log, kclient, record.NewFakeRecorder(32), true, true, nil) + log.Log, kclient, events.NewFakeRecorder(32), true, true, nil) stopCh := make(chan struct{}) go eventServer.ListenAndServe(stopCh, eventMdlw, store) defer close(stopCh) diff --git a/internal/server/provider_change_request.go b/internal/server/provider_change_request.go index d02fb76e7..09b2c4630 100644 --- a/internal/server/provider_change_request.go +++ b/internal/server/provider_change_request.go @@ -17,7 +17,7 @@ limitations under the License. package server import ( - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" apiv1beta3 "github.com/fluxcd/notification-controller/api/v1beta3" ) diff --git a/internal/server/provider_commit_status.go b/internal/server/provider_commit_status.go index 2b70ab184..79dbfa1f9 100644 --- a/internal/server/provider_commit_status.go +++ b/internal/server/provider_commit_status.go @@ -25,7 +25,7 @@ import ( "github.com/google/cel-go/common/types" "k8s.io/apimachinery/pkg/runtime" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" "github.com/fluxcd/pkg/runtime/cel" apiv1beta3 "github.com/fluxcd/notification-controller/api/v1beta3" diff --git a/internal/server/provider_commit_status_test.go b/internal/server/provider_commit_status_test.go index 8c2b56b84..ab3ce39f0 100644 --- a/internal/server/provider_commit_status_test.go +++ b/internal/server/provider_commit_status_test.go @@ -20,7 +20,7 @@ import ( "context" "testing" - eventv1 "github.com/fluxcd/pkg/apis/event/v1beta1" + eventv1 "github.com/fluxcd/pkg/apis/event/v1" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/main.go b/main.go index dda5fd2f8..81fb834f9 100644 --- a/main.go +++ b/main.go @@ -234,9 +234,9 @@ func main() { watchConfigs := !disableConfigWatchers if err = (&controller.ProviderReconciler{ - Client: mgr.GetClient(), - EventRecorder: mgr.GetEventRecorderFor(controllerName), - TokenCache: tokenCache, + Client: mgr.GetClient(), + Recorder: mgr.GetEventRecorder(controllerName), + TokenCache: tokenCache, }).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "Provider") os.Exit(1) @@ -245,7 +245,7 @@ func main() { if err = (&controller.AlertReconciler{ Client: mgr.GetClient(), ControllerName: controllerName, - EventRecorder: mgr.GetEventRecorderFor(controllerName), + Recorder: mgr.GetEventRecorder(controllerName), }).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "Alert") os.Exit(1) @@ -255,7 +255,7 @@ func main() { Client: mgr.GetClient(), ControllerName: controllerName, Metrics: metricsH, - EventRecorder: mgr.GetEventRecorderFor(controllerName), + Recorder: mgr.GetEventRecorder(controllerName), }).SetupWithManager(mgr, controller.ReceiverReconcilerOptions{ RateLimiter: runtimeCtrl.GetRateLimiter(rateLimiterOptions), WatchConfigs: watchConfigs, @@ -288,7 +288,7 @@ func main() { Registry: ctrlmetrics.Registry, }), }) - eventServer := server.NewEventServer(eventsAddr, ctrl.Log, mgr.GetClient(), mgr.GetEventRecorderFor(controllerName), aclOptions.NoCrossNamespaceRefs, exportHTTPPathMetrics, tokenCache) + eventServer := server.NewEventServer(eventsAddr, ctrl.Log, mgr.GetClient(), mgr.GetEventRecorder(controllerName), aclOptions.NoCrossNamespaceRefs, exportHTTPPathMetrics, tokenCache) go eventServer.ListenAndServe(ctx.Done(), eventMdlw, store) setupLog.Info("starting webhook receiver server", "addr", receiverAddr)