diff --git a/Makefile b/Makefile index 8508d19bc..e2c2c2f1f 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ BUILD_DIR := $(REPOSITORY_ROOT)/build # API (doc) generation utilities CONTROLLER_GEN_VERSION ?= v0.21.0 -GEN_API_REF_DOCS_VERSION ?= e327d0730470cbd61b06300f81c5fcf91c23c113 +GEN_API_REF_DOCS_VERSION ?= fca9c57bb1b2075a32100ca24637513a7b1d9dfe # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) diff --git a/docs/spec/v1beta3/events.md b/docs/spec/v1beta3/events.md index 1eb048bd3..a44046d9e 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": "Reconciling", + "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. +- The `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 03e59fe58..81c6193ab 100644 --- a/go.mod +++ b/go.mod @@ -51,9 +51,9 @@ require ( golang.org/x/oauth2 v0.36.0 golang.org/x/text v0.37.0 google.golang.org/api v0.283.0 - k8s.io/api v0.36.1 - k8s.io/apimachinery v0.36.1 - k8s.io/client-go v0.36.1 + k8s.io/api v0.37.0-alpha.1 + k8s.io/apimachinery v0.37.0-alpha.1 + k8s.io/client-go v0.37.0-alpha.1 k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 sigs.k8s.io/controller-runtime v0.24.1 sigs.k8s.io/yaml v1.6.0 @@ -76,7 +76,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.12.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice v1.0.0 // indirect github.com/Azure/go-amqp v1.5.0 // indirect - github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect + github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect github.com/DataDog/zstd v1.5.2 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect @@ -103,7 +103,7 @@ require ( github.com/fluxcd/pkg/apis/acl v0.10.0 // indirect github.com/fluxcd/pkg/apis/kustomize v1.19.0 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.1 // indirect github.com/gabriel-vasile/mimetype v1.4.5 // indirect github.com/go-errors/errors v1.5.1 // indirect github.com/go-fed/httpsig v1.1.0 // indirect @@ -113,20 +113,20 @@ require ( github.com/go-jose/go-jose/v4 v4.1.4 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect - github.com/go-openapi/jsonpointer v0.22.0 // indirect - github.com/go-openapi/jsonreference v0.21.1 // indirect - github.com/go-openapi/swag v0.24.1 // indirect - github.com/go-openapi/swag/cmdutils v0.24.0 // indirect - github.com/go-openapi/swag/conv v0.24.0 // indirect - github.com/go-openapi/swag/fileutils v0.24.0 // indirect - github.com/go-openapi/swag/jsonname v0.24.0 // indirect - github.com/go-openapi/swag/jsonutils v0.24.0 // indirect - github.com/go-openapi/swag/loading v0.24.0 // indirect - github.com/go-openapi/swag/mangling v0.24.0 // indirect - github.com/go-openapi/swag/netutils v0.24.0 // indirect - github.com/go-openapi/swag/stringutils v0.24.0 // indirect - github.com/go-openapi/swag/typeutils v0.24.0 // indirect - github.com/go-openapi/swag/yamlutils v0.24.0 // indirect + github.com/go-openapi/jsonpointer v0.22.4 // indirect + github.com/go-openapi/jsonreference v0.21.4 // indirect + github.com/go-openapi/swag v0.25.4 // indirect + github.com/go-openapi/swag/cmdutils v0.25.4 // indirect + github.com/go-openapi/swag/conv v0.25.4 // indirect + github.com/go-openapi/swag/fileutils v0.25.4 // indirect + github.com/go-openapi/swag/jsonname v0.25.4 // indirect + github.com/go-openapi/swag/jsonutils v0.25.4 // indirect + github.com/go-openapi/swag/loading v0.25.4 // indirect + github.com/go-openapi/swag/mangling v0.25.4 // indirect + github.com/go-openapi/swag/netutils v0.25.4 // indirect + github.com/go-openapi/swag/stringutils v0.25.4 // indirect + github.com/go-openapi/swag/typeutils v0.25.4 // indirect + github.com/go-openapi/swag/yamlutils v0.25.4 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.22.0 // indirect @@ -148,7 +148,6 @@ require ( github.com/hiddeco/sshsig v0.2.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/klauspost/compress v1.18.5 // indirect @@ -156,11 +155,10 @@ require ( github.com/kylelemons/godebug v1.1.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect - github.com/mailru/easyjson v0.9.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/term v0.5.0 // indirect + github.com/moby/term v0.5.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect @@ -199,12 +197,12 @@ require ( go.opentelemetry.io/proto/otlp v1.10.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.3 // indirect + go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.52.0 // indirect golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect golang.org/x/mod v0.35.0 // indirect - golang.org/x/net v0.55.0 // indirect + golang.org/x/net v0.55.1-0.20260602153038-42abb857022c // indirect golang.org/x/sync v0.20.0 // indirect golang.org/x/sys v0.45.0 // indirect golang.org/x/term v0.43.0 // indirect @@ -218,16 +216,15 @@ require ( gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.36.1 // indirect + k8s.io/apiextensions-apiserver v0.37.0-alpha.1 // indirect k8s.io/cli-runtime v0.36.1 // indirect - k8s.io/component-base v0.36.1 // indirect + k8s.io/component-base v0.37.0-alpha.1 // indirect k8s.io/klog/v2 v2.140.0 // indirect - k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect + k8s.io/kube-openapi v0.0.0-20260519202549-bbf5c5577288 // indirect k8s.io/kubectl v0.36.1 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/kustomize/api v0.21.1 // indirect sigs.k8s.io/kustomize/kyaml v0.21.1 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.4.0 // indirect ) diff --git a/go.sum b/go.sum index 88efbe1f8..3824c70ee 100644 --- a/go.sum +++ b/go.sum @@ -41,8 +41,8 @@ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.3 h1:ZJJNFaQ86GVKQ9ehw github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.3/go.mod h1:URuDvhmATVKqHBH9/0nOiNKk0+YcwfQ3WkK5PqHKxc8= github.com/Azure/go-amqp v1.5.0 h1:GRiQK1VhrNFbyx5VlmI6BsA1FCp27W5rb9kxOZScnTo= github.com/Azure/go-amqp v1.5.0/go.mod h1:vZAogwdrkbyK3Mla8m/CxSc/aKdnTZ4IbPxl51Y5WZE= -github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= -github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs= @@ -166,8 +166,8 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/fxamacker/cbor/v2 v2.9.1 h1:2rWm8B193Ll4VdjsJY28jxs70IdDsHRWgQYAI80+rMQ= +github.com/fxamacker/cbor/v2 v2.9.1/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.5 h1:J7wGKdGu33ocBOhGy0z653k/lFKLFDPJMG8Gql0kxn4= github.com/gabriel-vasile/mimetype v1.4.5/go.mod h1:ibHel+/kbxn9x2407k1izTA1S81ku1z/DlgOW2QE0M4= github.com/getsentry/sentry-go v0.46.2 h1:1jhYwrKGa3sIpo/y5iDNXS5wDoT7I1KNzMHrnK6ojns= @@ -195,34 +195,40 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-openapi/jsonpointer v0.22.0 h1:TmMhghgNef9YXxTu1tOopo+0BGEytxA+okbry0HjZsM= -github.com/go-openapi/jsonpointer v0.22.0/go.mod h1:xt3jV88UtExdIkkL7NloURjRQjbeUgcxFblMjq2iaiU= -github.com/go-openapi/jsonreference v0.21.1 h1:bSKrcl8819zKiOgxkbVNRUBIr6Wwj9KYrDbMjRs0cDA= -github.com/go-openapi/jsonreference v0.21.1/go.mod h1:PWs8rO4xxTUqKGu+lEvvCxD5k2X7QYkKAepJyCmSTT8= -github.com/go-openapi/swag v0.24.1 h1:DPdYTZKo6AQCRqzwr/kGkxJzHhpKxZ9i/oX0zag+MF8= -github.com/go-openapi/swag v0.24.1/go.mod h1:sm8I3lCPlspsBBwUm1t5oZeWZS0s7m/A+Psg0ooRU0A= -github.com/go-openapi/swag/cmdutils v0.24.0 h1:KlRCffHwXFI6E5MV9n8o8zBRElpY4uK4yWyAMWETo9I= -github.com/go-openapi/swag/cmdutils v0.24.0/go.mod h1:uxib2FAeQMByyHomTlsP8h1TtPd54Msu2ZDU/H5Vuf8= -github.com/go-openapi/swag/conv v0.24.0 h1:ejB9+7yogkWly6pnruRX45D1/6J+ZxRu92YFivx54ik= -github.com/go-openapi/swag/conv v0.24.0/go.mod h1:jbn140mZd7EW2g8a8Y5bwm8/Wy1slLySQQ0ND6DPc2c= -github.com/go-openapi/swag/fileutils v0.24.0 h1:U9pCpqp4RUytnD689Ek/N1d2N/a//XCeqoH508H5oak= -github.com/go-openapi/swag/fileutils v0.24.0/go.mod h1:3SCrCSBHyP1/N+3oErQ1gP+OX1GV2QYFSnrTbzwli90= -github.com/go-openapi/swag/jsonname v0.24.0 h1:2wKS9bgRV/xB8c62Qg16w4AUiIrqqiniJFtZGi3dg5k= -github.com/go-openapi/swag/jsonname v0.24.0/go.mod h1:GXqrPzGJe611P7LG4QB9JKPtUZ7flE4DOVechNaDd7Q= -github.com/go-openapi/swag/jsonutils v0.24.0 h1:F1vE1q4pg1xtO3HTyJYRmEuJ4jmIp2iZ30bzW5XgZts= -github.com/go-openapi/swag/jsonutils v0.24.0/go.mod h1:vBowZtF5Z4DDApIoxcIVfR8v0l9oq5PpYRUuteVu6f0= -github.com/go-openapi/swag/loading v0.24.0 h1:ln/fWTwJp2Zkj5DdaX4JPiddFC5CHQpvaBKycOlceYc= -github.com/go-openapi/swag/loading v0.24.0/go.mod h1:gShCN4woKZYIxPxbfbyHgjXAhO61m88tmjy0lp/LkJk= -github.com/go-openapi/swag/mangling v0.24.0 h1:PGOQpViCOUroIeak/Uj/sjGAq9LADS3mOyjznmHy2pk= -github.com/go-openapi/swag/mangling v0.24.0/go.mod h1:Jm5Go9LHkycsz0wfoaBDkdc4CkpuSnIEf62brzyCbhc= -github.com/go-openapi/swag/netutils v0.24.0 h1:Bz02HRjYv8046Ycg/w80q3g9QCWeIqTvlyOjQPDjD8w= -github.com/go-openapi/swag/netutils v0.24.0/go.mod h1:WRgiHcYTnx+IqfMCtu0hy9oOaPR0HnPbmArSRN1SkZM= -github.com/go-openapi/swag/stringutils v0.24.0 h1:i4Z/Jawf9EvXOLUbT97O0HbPUja18VdBxeadyAqS1FM= -github.com/go-openapi/swag/stringutils v0.24.0/go.mod h1:5nUXB4xA0kw2df5PRipZDslPJgJut+NjL7D25zPZ/4w= -github.com/go-openapi/swag/typeutils v0.24.0 h1:d3szEGzGDf4L2y1gYOSSLeK6h46F+zibnEas2Jm/wIw= -github.com/go-openapi/swag/typeutils v0.24.0/go.mod h1:q8C3Kmk/vh2VhpCLaoR2MVWOGP8y7Jc8l82qCTd1DYI= -github.com/go-openapi/swag/yamlutils v0.24.0 h1:bhw4894A7Iw6ne+639hsBNRHg9iZg/ISrOVr+sJGp4c= -github.com/go-openapi/swag/yamlutils v0.24.0/go.mod h1:DpKv5aYuaGm/sULePoeiG8uwMpZSfReo1HR3Ik0yaG8= +github.com/go-openapi/jsonpointer v0.22.4 h1:dZtK82WlNpVLDW2jlA1YCiVJFVqkED1MegOUy9kR5T4= +github.com/go-openapi/jsonpointer v0.22.4/go.mod h1:elX9+UgznpFhgBuaMQ7iu4lvvX1nvNsesQ3oxmYTw80= +github.com/go-openapi/jsonreference v0.21.4 h1:24qaE2y9bx/q3uRK/qN+TDwbok1NhbSmGjjySRCHtC8= +github.com/go-openapi/jsonreference v0.21.4/go.mod h1:rIENPTjDbLpzQmQWCj5kKj3ZlmEh+EFVbz3RTUh30/4= +github.com/go-openapi/swag v0.25.4 h1:OyUPUFYDPDBMkqyxOTkqDYFnrhuhi9NR6QVUvIochMU= +github.com/go-openapi/swag v0.25.4/go.mod h1:zNfJ9WZABGHCFg2RnY0S4IOkAcVTzJ6z2Bi+Q4i6qFQ= +github.com/go-openapi/swag/cmdutils v0.25.4 h1:8rYhB5n6WawR192/BfUu2iVlxqVR9aRgGJP6WaBoW+4= +github.com/go-openapi/swag/cmdutils v0.25.4/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0= +github.com/go-openapi/swag/conv v0.25.4 h1:/Dd7p0LZXczgUcC/Ikm1+YqVzkEeCc9LnOWjfkpkfe4= +github.com/go-openapi/swag/conv v0.25.4/go.mod h1:3LXfie/lwoAv0NHoEuY1hjoFAYkvlqI/Bn5EQDD3PPU= +github.com/go-openapi/swag/fileutils v0.25.4 h1:2oI0XNW5y6UWZTC7vAxC8hmsK/tOkWXHJQH4lKjqw+Y= +github.com/go-openapi/swag/fileutils v0.25.4/go.mod h1:cdOT/PKbwcysVQ9Tpr0q20lQKH7MGhOEb6EwmHOirUk= +github.com/go-openapi/swag/jsonname v0.25.4 h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ9869Vye1bNHI= +github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag= +github.com/go-openapi/swag/jsonutils v0.25.4 h1:VSchfbGhD4UTf4vCdR2F4TLBdLwHyUDTd1/q4i+jGZA= +github.com/go-openapi/swag/jsonutils v0.25.4/go.mod h1:7OYGXpvVFPn4PpaSdPHJBtF0iGnbEaTk8AvBkoWnaAY= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4 h1:IACsSvBhiNJwlDix7wq39SS2Fh7lUOCJRmx/4SN4sVo= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4/go.mod h1:Mt0Ost9l3cUzVv4OEZG+WSeoHwjWLnarzMePNDAOBiM= +github.com/go-openapi/swag/loading v0.25.4 h1:jN4MvLj0X6yhCDduRsxDDw1aHe+ZWoLjW+9ZQWIKn2s= +github.com/go-openapi/swag/loading v0.25.4/go.mod h1:rpUM1ZiyEP9+mNLIQUdMiD7dCETXvkkC30z53i+ftTE= +github.com/go-openapi/swag/mangling v0.25.4 h1:2b9kBJk9JvPgxr36V23FxJLdwBrpijI26Bx5JH4Hp48= +github.com/go-openapi/swag/mangling v0.25.4/go.mod h1:6dxwu6QyORHpIIApsdZgb6wBk/DPU15MdyYj/ikn0Hg= +github.com/go-openapi/swag/netutils v0.25.4 h1:Gqe6K71bGRb3ZQLusdI8p/y1KLgV4M/k+/HzVSqT8H0= +github.com/go-openapi/swag/netutils v0.25.4/go.mod h1:m2W8dtdaoX7oj9rEttLyTeEFFEBvnAx9qHd5nJEBzYg= +github.com/go-openapi/swag/stringutils v0.25.4 h1:O6dU1Rd8bej4HPA3/CLPciNBBDwZj9HiEpdVsb8B5A8= +github.com/go-openapi/swag/stringutils v0.25.4/go.mod h1:GTsRvhJW5xM5gkgiFe0fV3PUlFm0dr8vki6/VSRaZK0= +github.com/go-openapi/swag/typeutils v0.25.4 h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv42wAJSN91wRw= +github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE= +github.com/go-openapi/swag/yamlutils v0.25.4 h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw= +github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc= +github.com/go-openapi/testify/enable/yaml/v2 v2.0.2 h1:0+Y41Pz1NkbTHz8NngxTuAXxEodtNSI1WG1c/m5Akw4= +github.com/go-openapi/testify/enable/yaml/v2 v2.0.2/go.mod h1:kme83333GCtJQHXQ8UKX3IBZu6z8T5Dvy5+CW3NLUUg= +github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= +github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -315,8 +321,6 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOl github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= @@ -342,8 +346,6 @@ github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= -github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -356,8 +358,8 @@ github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQ github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= -github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= +github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -431,8 +433,8 @@ github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3A github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= +github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -497,8 +499,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= +go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -523,8 +525,8 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= -golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= +golang.org/x/net v0.55.1-0.20260602153038-42abb857022c h1:hzdRVvjwthcq46T3ybsDtJpg1iZZaW3zik9P3tsYJeo= +golang.org/x/net v0.55.1-0.20260602153038-42abb857022c/go.mod h1:Mo4aFsyVPXieTwCJ1g83a3xU8RY7PkHFQqQ7pkWnuM0= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= @@ -618,28 +620,26 @@ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.36.1 h1:XbL/EMj8K2aJpJtePmqUyQMsM0D4QI2pvl7YKJ20FTY= -k8s.io/api v0.36.1/go.mod h1:KOWo4ey3TINlXjeHVuwB3i+tXXnu+UcwFBHlI/9dvEo= -k8s.io/apiextensions-apiserver v0.36.1 h1:6JfYmPUsuUIHuN+3QxutXYWj492RqF5fBSx67GYK5Ks= -k8s.io/apiextensions-apiserver v0.36.1/go.mod h1:pLzZin90riwisdzKwv/GoTwENooytoIx5zWJb4Hkby8= -k8s.io/apimachinery v0.36.1 h1:G63Gjx2W+q0YD+72Vo8oY0nDnePVwnuzTmmy5ENrVSA= -k8s.io/apimachinery v0.36.1/go.mod h1:ibYOR00vW/I1kzvi5SF0dRuJ52BvKtfvRdOn35GPQ+8= +k8s.io/api v0.37.0-alpha.1 h1:fTnRCeg6apyW4NEMAzh4I0QKmhLrfBn/Wd7ofdiWrWs= +k8s.io/api v0.37.0-alpha.1/go.mod h1:Zb4KyckZ/m8i6rABBg74uJhc6A4crNQo9epNeXftsc0= +k8s.io/apiextensions-apiserver v0.37.0-alpha.1 h1:TkKOlQPlkdsYobMgXFQl9VsAyTpMQdqWjHxg/SkIxpk= +k8s.io/apiextensions-apiserver v0.37.0-alpha.1/go.mod h1:nIcLWPUYzGga34ggNYvrykyyE6yyubk3WnlD9XUZoDg= +k8s.io/apimachinery v0.37.0-alpha.1 h1:1h6p2YVjU618lo3rFTTKELLzWNu/rmOQSY6Yn5VBnSI= +k8s.io/apimachinery v0.37.0-alpha.1/go.mod h1:NCrGZAB1OmwASDtTJ2J0mNYwcgFJSH6FimUsgzQ53d0= k8s.io/cli-runtime v0.36.1 h1:yuC/BGnnj1YYPh6D1P+pZnzinCs6DvMq86yAeNqoqzM= k8s.io/cli-runtime v0.36.1/go.mod h1:ZQWHGt8xAF7KnviB79vX0lYNyUUqKIpU+LQg7exuFAw= -k8s.io/client-go v0.36.1 h1:FN/K8QIT2CEDt+2WB2HnWrUANZ50AP5GII43/SP2JR0= -k8s.io/client-go v0.36.1/go.mod h1:s6rAnCtTGYDQnpNjEhSaISV+2O8jwruZ6m3QOYBFbtU= -k8s.io/component-base v0.36.1 h1:iG6GsELftXqTNG9HG6kiVjatSgAw1sf5pJ6R5a6N0kA= -k8s.io/component-base v0.36.1/go.mod h1:nf9XPlntRdqO6WMeEWAA5F93Y4ICZQdeT9GeqLDB3JI= +k8s.io/client-go v0.37.0-alpha.1 h1:j5ih65oSeKZ4FSLZ1t6Gl7xhOIUWTHlxRj755AXFh50= +k8s.io/client-go v0.37.0-alpha.1/go.mod h1:GXoFH7wX24Gk7/9u0Sqkk/CXGKhtK2NzwxZ3rh+50Qw= +k8s.io/component-base v0.37.0-alpha.1 h1:C+wu77XGtTrSvU/v4CMCmg8Uq3BmYsgDSbAy8PDiWfo= +k8s.io/component-base v0.37.0-alpha.1/go.mod h1:syzFTe+v8SyroLQ5JItALe3snAEmX9VTPCrCEk2K0gk= k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= -k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg= -k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/kube-openapi v0.0.0-20260519202549-bbf5c5577288 h1:A7Lby6ekC6nv+6oO38huCMFBRP0Os+tIeq1GkwxOQes= +k8s.io/kube-openapi v0.0.0-20260519202549-bbf5c5577288/go.mod h1:V/QaCUYDa+0QpcHhVVc5l99Uz56wEMEXBSj9oCDkNDY= k8s.io/kubectl v0.36.1 h1:96HqS9twIdHM0MlJLTwbo14b9kUKPkOzZ4tlRDLv4qI= k8s.io/kubectl v0.36.1/go.mod h1:/DGPAIewKsFWF9VFgGvkPhao2Ev4SNuE3BioZo8yPbk= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= -sigs.k8s.io/controller-runtime v0.24.1 h1:miPEwrmirImAvgME1L9qebGHrOnGJoVmVdtOU9fRfo4= -sigs.k8s.io/controller-runtime v0.24.1/go.mod h1:vFkfY5fGt5xAC/sKb8IBFKgWPNKG9OUG29dR8Y2wImw= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kustomize/api v0.21.1 h1:lzqbzvz2CSvsjIUZUBNFKtIMsEw7hVLJp0JeSIVmuJs= @@ -648,7 +648,7 @@ sigs.k8s.io/kustomize/kyaml v0.21.1 h1:IVlbmhC076nf6foyL6Taw4BkrLuEsXUXNpsE+ScX7 sigs.k8s.io/kustomize/kyaml v0.21.1/go.mod h1:hmxADesM3yUN2vbA5z1/YTBnzLJ1dajdqpQonwBL1FQ= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= -sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8= -sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0 h1:qmp2e3ZfFi1/jJbDGpD4mt3wyp6PE1NfKHCYLqgNQJo= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= diff --git a/internal/controller/alert_controller.go b/internal/controller/alert_controller.go index 360dd8923..9e7a9d0fe 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.EventRecorder 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..ae9a7a7ec 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.EventRecorder TokenCache *cache.TokenCache } diff --git a/internal/controller/receiver_controller.go b/internal/controller/receiver_controller.go index 85a89a1d2..b48adcf8b 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.EventRecorder 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 f896b4ff7..01c158b9d 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" @@ -187,7 +187,7 @@ func TestReceiverReconciler_deleteBeforeFinalizer(t *testing.T) { r := &ReceiverReconciler{ Client: k8sClient, - EventRecorder: record.NewFakeRecorder(32), + EventRecorder: 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)}) diff --git a/internal/controller/suite_test.go b/internal/controller/suite_test.go index 45df74d07..f70d02eb8 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), + EventRecorder: 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), + EventRecorder: 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), + EventRecorder: 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 864533e55..43006a117 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 932d07ec9..7fc6f6c66 100644 --- a/internal/notifier/discord.go +++ b/internal/notifier/discord.go @@ -23,7 +23,7 @@ import ( "path" "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 74b33f5b4..e12695c8a 100644 --- a/internal/notifier/google_chat.go +++ b/internal/notifier/google_chat.go @@ -22,7 +22,7 @@ import ( "net/url" "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 279fa4876..0ff81be50 100644 --- a/internal/notifier/grafana.go +++ b/internal/notifier/grafana.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" "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/lark.go b/internal/notifier/lark.go index 0ba723051..df0aff3eb 100644 --- a/internal/notifier/lark.go +++ b/internal/notifier/lark.go @@ -6,7 +6,7 @@ import ( "net/url" "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 07eabc098..73b3bf510 100644 --- a/internal/notifier/matrix.go +++ b/internal/notifier/matrix.go @@ -10,7 +10,7 @@ import ( "net/url" "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 eae923960..8b777eed1 100644 --- a/internal/notifier/opsgenie.go +++ b/internal/notifier/opsgenie.go @@ -23,7 +23,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 1f26dcae2..4862afd1d 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 5772db7e7..26911aac2 100644 --- a/internal/notifier/opsgenie_test.go +++ b/internal/notifier/opsgenie_test.go @@ -24,7 +24,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" ) @@ -42,7 +42,7 @@ func TestOpsgenie_Post(t *testing.T) { tests := []struct { name string - event func() v1beta1.Event + event func() eventv1.Event }{ { name: "test event", @@ -50,7 +50,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 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 08d46944e..159936bc0 100644 --- a/internal/notifier/rocket.go +++ b/internal/notifier/rocket.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" ) // 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 b235f16bb..6557d5a76 100644 --- a/internal/notifier/slack.go +++ b/internal/notifier/slack.go @@ -25,7 +25,7 @@ import ( "net/url" "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 43ad99495..39fce1414 100644 --- a/internal/notifier/teams.go +++ b/internal/notifier/teams.go @@ -24,7 +24,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 cad10e270..da1617565 100644 --- a/internal/notifier/telegram.go +++ b/internal/notifier/telegram.go @@ -7,7 +7,7 @@ import ( "net/url" "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 65dd57893..3e9a93a83 100644 --- a/internal/notifier/webex.go +++ b/internal/notifier/webex.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" "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/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..c7812f055 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", "", "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.Eventf(alert, nil, corev1.EventTypeWarning, "MetadataAppendFailed", "", "%s", msg) } if len(metadata) > 0 { diff --git a/internal/server/event_handlers_test.go b/internal/server/event_handlers_test.go index 12a3ee743..9fbd66cde 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" @@ -291,7 +291,7 @@ func TestFilterAlertsForEvent(t *testing.T) { eventServer := EventServer{ kubeClient: builder.Build(), logger: log.Log, - EventRecorder: record.NewFakeRecorder(32), + EventRecorder: events.NewFakeRecorder(32), } result := eventServer.filterAlertsForEvent(context.TODO(), alerts, testEvent) @@ -375,7 +375,7 @@ func TestDispatchNotification(t *testing.T) { eventServer := EventServer{ kubeClient: builder.Build(), logger: log.Log, - EventRecorder: record.NewFakeRecorder(32), + EventRecorder: 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), + EventRecorder: events.NewFakeRecorder(32), } params, dropped, err := eventServer.getNotificationParams(context.TODO(), event, alert) @@ -1380,7 +1380,7 @@ func TestEventMatchesAlert(t *testing.T) { eventServer := EventServer{ kubeClient: builder.Build(), logger: log.Log, - EventRecorder: record.NewFakeRecorder(32), + EventRecorder: 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,13 +1513,13 @@ 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, diff --git a/internal/server/event_server.go b/internal/server/event_server.go index 18a02b3b7..7e0454101 100644 --- a/internal/server/event_server.go +++ b/internal/server/event_server.go @@ -33,11 +33,11 @@ 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" + "k8s.io/client-go/tools/events" "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" ) @@ -55,12 +55,12 @@ type EventServer struct { noCrossNamespaceRefs bool exportHTTPPathMetrics bool tokenCache *cache.TokenCache - kuberecorder.EventRecorder + events.EventRecorder } // 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.EventRecorder, noCrossNamespaceRefs bool, exportHTTPPathMetrics bool, tokenCache *cache.TokenCache) *EventServer { return &EventServer{ port: port, diff --git a/internal/server/event_server_test.go b/internal/server/event_server_test.go index 25d1e060c..c1556d60d 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 a9a6e3176..2be9573cb 100644 --- a/main.go +++ b/main.go @@ -235,7 +235,7 @@ func main() { if err = (&controller.ProviderReconciler{ Client: mgr.GetClient(), - EventRecorder: mgr.GetEventRecorderFor(controllerName), + EventRecorder: mgr.GetEventRecorder(controllerName), TokenCache: tokenCache, }).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "Provider") @@ -245,7 +245,7 @@ func main() { if err = (&controller.AlertReconciler{ Client: mgr.GetClient(), ControllerName: controllerName, - EventRecorder: mgr.GetEventRecorderFor(controllerName), + EventRecorder: 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), + EventRecorder: mgr.GetEventRecorder(controllerName), }).SetupWithManager(mgr, controller.ReceiverReconcilerOptions{ RateLimiter: runtimeCtrl.GetRateLimiter(rateLimiterOptions), WatchConfigs: watchConfigs, @@ -282,7 +282,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)