Skip to content

Commit e6ccca3

Browse files
sourcehawkclaude
andauthored
chore(deps): upgrade to Kubernetes 1.36 and controller-runtime v0.24.1 (#170)
Upgrades controller-runtime to v0.24.1 and the k8s.io/* modules to v0.36.1 in a single change. controller-runtime v0.24 is built against k8s.io/* v0.36, so upgrading either alone produces a pairing that is not in the compatibility matrix and that nothing tests. controller-runtime v0.24 declares go 1.26.0, so the framework's minimum Go version rises from 1.25 to 1.26. This applies to every row of the matrix: pinning older dependencies with replace directives does not lower the framework's own Go requirement. client-go v0.36 makes EventRecorder.Eventf a recognised printf wrapper, which go vet rejects at four call sites that passed an already-formatted string as the format argument. Beyond the vet failure, that form re-interprets any % in the interpolated values as a verb, and RecordApplyOperationEvent reaches it with caller-supplied key/value pairs, so a pair like progress=50% was emitted as progress=50%!,(MISSING). The pre-formatted message is now recorded with Event, the remaining three sites pass real format arguments, and the corruption is covered by a regression test. Kubernetes 1.36 requires the kubeadm v1beta4 config format, which only kind 0.32.0 emits, so the E2E node image bump is accompanied by a kind toolchain bump. Renovate now groups controller-runtime with the k8s.io/* modules so this pair cannot split across separate pull requests again. Claude-Session: https://claude.ai/code/session_01A2fRr3d9JEsnNcqmkZsahz Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent ba6b4d2 commit e6ccca3

15 files changed

Lines changed: 110 additions & 70 deletions

File tree

‎.github/workflows/compatibility.yml‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ jobs:
1818
fail-fast: false
1919
matrix:
2020
include:
21+
- controller-runtime: "0.24"
22+
cr-version: "v0.24.1"
23+
k8s: "0.36"
24+
k8s-version: "v0.36.1"
25+
current: true
2126
- controller-runtime: "0.23"
2227
cr-version: "v0.23.3"
2328
k8s: "0.35"
2429
k8s-version: "v0.35.2"
25-
current: true
30+
current: false
2631
- controller-runtime: "0.22"
2732
cr-version: "v0.22.0"
2833
k8s: "0.34"

‎.tool-versions‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
golang 1.26.3
22
golangci-lint 2.12.2
33
nodejs 25.9.0
4-
kind 0.31.0
4+
kind 0.32.0
55
python 3.14.4

‎Makefile‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ run-examples: ## Run all examples to verify they execute without error.
170170
##@ E2E Testing
171171

172172
KIND_CLUSTER_NAME ?= ocf-e2e
173-
KIND_IMAGE ?= kindest/node:v1.31.0
173+
KIND_IMAGE ?= kindest/node:v1.36.1@sha256:3489c7674813ba5d8b1a9977baea8a6e553784dab7b84759d1014dbd78f7ebd5
174174

175175
.PHONY: kind-create
176176
kind-create: ## Create a kind cluster for E2E tests (skips if it already exists).

‎README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ return comp.Reconcile(ctx, recCtx)
8181
go get github.com/sourcehawk/operator-component-framework
8282
```
8383

84-
Requires Go 1.25.6+ and [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) v0.22 or later.
84+
Requires Go 1.26+ and [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) v0.22 or later. See
85+
[compatibility](docs/compatibility.md) for the tested version combinations.
8586

8687
## Scaffolding
8788

‎docs/compatibility.md‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,22 @@ policy for tested combinations, and how compatibility is verified.
55

66
## Go Requirement
77

8-
The framework requires **Go 1.25 or later** (declared in `go.mod`). Consumer projects must use Go 1.25 or later to build
8+
The framework requires **Go 1.26 or later** (declared in `go.mod`). Consumer projects must use Go 1.26 or later to build
99
against this framework. Go's toolchain version selection ensures the consumer project picks up the same minimum.
1010

11+
This minimum is inherited from controller-runtime v0.24, which itself declares `go 1.26.0`. It applies to every
12+
combination in the matrix below, including the ones that pin older controller-runtime and `k8s.io/*` versions: pinning
13+
those dependencies down does not lower the framework's own Go requirement.
14+
1115
## Supported Versions
1216

1317
The framework is tested against the following version combinations:
1418

1519
| Framework | controller-runtime | k8s.io/\* | Kubernetes | Go | Status |
1620
| --------- | ------------------ | --------- | ---------- | ---- | ------- |
17-
| main | v0.23.x | v0.35.x | 1.35 | 1.25 | Primary |
18-
| main | v0.22.x | v0.34.x | 1.34 | 1.25 | Tested |
21+
| main | v0.24.x | v0.36.x | 1.36 | 1.26 | Primary |
22+
| main | v0.23.x | v0.35.x | 1.35 | 1.26 | Tested |
23+
| main | v0.22.x | v0.34.x | 1.34 | 1.26 | Tested |
1924

2025
**Primary** is the version combination used in `go.mod` and in the main CI pipeline.
2126

‎go.mod‎

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
module github.com/sourcehawk/operator-component-framework
22

3-
go 1.25.6
3+
go 1.26.0
44

55
require (
66
github.com/Masterminds/semver/v3 v3.5.0
77
github.com/onsi/ginkgo/v2 v2.32.0
88
github.com/onsi/gomega v1.42.1
9-
github.com/pmezard/go-difflib v1.0.0
9+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
1010
github.com/sourcehawk/go-crd-condition-metrics v1.1.0
1111
github.com/spf13/cobra v1.10.2
1212
github.com/stretchr/testify v1.11.1
13-
k8s.io/api v0.35.2
14-
k8s.io/apiextensions-apiserver v0.35.0
15-
k8s.io/apimachinery v0.35.2
16-
k8s.io/client-go v0.35.2
13+
k8s.io/api v0.36.1
14+
k8s.io/apiextensions-apiserver v0.36.1
15+
k8s.io/apimachinery v0.36.1
16+
k8s.io/client-go v0.36.1
1717
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3
18-
sigs.k8s.io/controller-runtime v0.23.3
18+
sigs.k8s.io/controller-runtime v0.24.1
1919
sigs.k8s.io/yaml v1.6.0
2020
)
2121

2222
require (
2323
github.com/beorn7/perks v1.0.1 // indirect
2424
github.com/cespare/xxhash/v2 v2.3.0 // indirect
25-
github.com/davecgh/go-spew v1.1.1 // indirect
26-
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
25+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
26+
github.com/emicklei/go-restful/v3 v3.13.0 // indirect
2727
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
2828
github.com/fsnotify/fsnotify v1.9.0 // indirect
2929
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
@@ -33,7 +33,6 @@ require (
3333
github.com/go-openapi/jsonreference v0.20.2 // indirect
3434
github.com/go-openapi/swag v0.23.0 // indirect
3535
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
36-
github.com/google/btree v1.1.3 // indirect
3736
github.com/google/gnostic-models v0.7.0 // indirect
3837
github.com/google/go-cmp v0.7.0 // indirect
3938
github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect
@@ -47,33 +46,33 @@ require (
4746
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
4847
github.com/prometheus/client_golang v1.23.2 // indirect
4948
github.com/prometheus/client_model v0.6.2 // indirect
50-
github.com/prometheus/common v0.66.1 // indirect
51-
github.com/prometheus/procfs v0.16.1 // indirect
49+
github.com/prometheus/common v0.67.5 // indirect
50+
github.com/prometheus/procfs v0.19.2 // indirect
5251
github.com/sourcehawk/go-prometheus-gaugevecset v1.1.0 // indirect
5352
github.com/spf13/pflag v1.0.9 // indirect
5453
github.com/stretchr/objx v0.5.2 // indirect
5554
github.com/x448/float16 v0.8.4 // indirect
5655
go.uber.org/multierr v1.11.0 // indirect
57-
go.uber.org/zap v1.27.0 // indirect
56+
go.uber.org/zap v1.27.1 // indirect
5857
go.yaml.in/yaml/v2 v2.4.3 // indirect
5958
go.yaml.in/yaml/v3 v3.0.4 // indirect
6059
golang.org/x/mod v0.36.0 // indirect
6160
golang.org/x/net v0.56.0 // indirect
62-
golang.org/x/oauth2 v0.30.0 // indirect
61+
golang.org/x/oauth2 v0.34.0 // indirect
6362
golang.org/x/sync v0.21.0 // indirect
6463
golang.org/x/sys v0.46.0 // indirect
6564
golang.org/x/term v0.44.0 // indirect
6665
golang.org/x/text v0.38.0 // indirect
67-
golang.org/x/time v0.9.0 // indirect
66+
golang.org/x/time v0.14.0 // indirect
6867
golang.org/x/tools v0.45.0 // indirect
6968
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
70-
google.golang.org/protobuf v1.36.8 // indirect
69+
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect
7170
gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect
7271
gopkg.in/inf.v0 v0.9.1 // indirect
7372
gopkg.in/yaml.v3 v3.0.1 // indirect
74-
k8s.io/klog/v2 v2.130.1 // indirect
75-
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect
73+
k8s.io/klog/v2 v2.140.0 // indirect
74+
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect
7675
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
7776
sigs.k8s.io/randfill v1.0.0 // indirect
78-
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 // indirect
77+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2 // indirect
7978
)

‎go.sum‎

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
77
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
88
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
99
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
10-
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
1110
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
12-
github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU=
13-
github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
11+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
12+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13+
github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes=
14+
github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
1415
github.com/evanphx/json-patch v0.5.2 h1:xVCHIVMUu1wtM/VkR9jVZ45N3FhZfYMMYGorLCR8P3k=
1516
github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ=
1617
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
@@ -41,8 +42,6 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v
4142
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
4243
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
4344
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
44-
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
45-
github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4=
4645
github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
4746
github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
4847
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
@@ -93,16 +92,17 @@ github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I=
9392
github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg=
9493
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
9594
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
96-
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
9795
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
96+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
97+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
9898
github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o=
9999
github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
100100
github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
101101
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
102-
github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs=
103-
github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA=
104-
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
105-
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
102+
github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4=
103+
github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
104+
github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws=
105+
github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw=
106106
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
107107
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
108108
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -139,8 +139,8 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
139139
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
140140
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
141141
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
142-
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
143-
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
142+
go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc=
143+
go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
144144
go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
145145
go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
146146
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
@@ -149,8 +149,8 @@ golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
149149
golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ=
150150
golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o=
151151
golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec=
152-
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
153-
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
152+
golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
153+
golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
154154
golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM=
155155
golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
156156
golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw=
@@ -159,14 +159,14 @@ golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc=
159159
golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y=
160160
golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE=
161161
golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4=
162-
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
163-
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
162+
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
163+
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
164164
golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8=
165165
golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0=
166166
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
167167
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
168-
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
169-
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
168+
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI=
169+
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
170170
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
171171
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
172172
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
@@ -177,27 +177,27 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
177177
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
178178
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
179179
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
180-
k8s.io/api v0.35.2 h1:tW7mWc2RpxW7HS4CoRXhtYHSzme1PN1UjGHJ1bdrtdw=
181-
k8s.io/api v0.35.2/go.mod h1:7AJfqGoAZcwSFhOjcGM7WV05QxMMgUaChNfLTXDRE60=
182-
k8s.io/apiextensions-apiserver v0.35.0 h1:3xHk2rTOdWXXJM+RDQZJvdx0yEOgC0FgQ1PlJatA5T4=
183-
k8s.io/apiextensions-apiserver v0.35.0/go.mod h1:E1Ahk9SADaLQ4qtzYFkwUqusXTcaV2uw3l14aqpL2LU=
184-
k8s.io/apimachinery v0.35.2 h1:NqsM/mmZA7sHW02JZ9RTtk3wInRgbVxL8MPfzSANAK8=
185-
k8s.io/apimachinery v0.35.2/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns=
186-
k8s.io/client-go v0.35.2 h1:YUfPefdGJA4aljDdayAXkc98DnPkIetMl4PrKX97W9o=
187-
k8s.io/client-go v0.35.2/go.mod h1:4QqEwh4oQpeK8AaefZ0jwTFJw/9kIjdQi0jpKeYvz7g=
188-
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
189-
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
190-
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE=
191-
k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
180+
k8s.io/api v0.36.1 h1:XbL/EMj8K2aJpJtePmqUyQMsM0D4QI2pvl7YKJ20FTY=
181+
k8s.io/api v0.36.1/go.mod h1:KOWo4ey3TINlXjeHVuwB3i+tXXnu+UcwFBHlI/9dvEo=
182+
k8s.io/apiextensions-apiserver v0.36.1 h1:6JfYmPUsuUIHuN+3QxutXYWj492RqF5fBSx67GYK5Ks=
183+
k8s.io/apiextensions-apiserver v0.36.1/go.mod h1:pLzZin90riwisdzKwv/GoTwENooytoIx5zWJb4Hkby8=
184+
k8s.io/apimachinery v0.36.1 h1:G63Gjx2W+q0YD+72Vo8oY0nDnePVwnuzTmmy5ENrVSA=
185+
k8s.io/apimachinery v0.36.1/go.mod h1:ibYOR00vW/I1kzvi5SF0dRuJ52BvKtfvRdOn35GPQ+8=
186+
k8s.io/client-go v0.36.1 h1:FN/K8QIT2CEDt+2WB2HnWrUANZ50AP5GII43/SP2JR0=
187+
k8s.io/client-go v0.36.1/go.mod h1:s6rAnCtTGYDQnpNjEhSaISV+2O8jwruZ6m3QOYBFbtU=
188+
k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc=
189+
k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0=
190+
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg=
191+
k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0=
192192
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3 h1:jVkFFVfXdXP74B/zbO3hM3hpSFD0xvhQ5U686DPurkE=
193193
k8s.io/utils v0.0.0-20260707023825-cf1189d6abe3/go.mod h1:M2s5JB1lIYP3jzZdorPLHXIPJzt9vv2muW5a6L9DtNM=
194-
sigs.k8s.io/controller-runtime v0.23.3 h1:VjB/vhoPoA9l1kEKZHBMnQF33tdCLQKJtydy4iqwZ80=
195-
sigs.k8s.io/controller-runtime v0.23.3/go.mod h1:B6COOxKptp+YaUT5q4l6LqUJTRpizbgf9KSRNdQGns0=
194+
sigs.k8s.io/controller-runtime v0.24.1 h1:miPEwrmirImAvgME1L9qebGHrOnGJoVmVdtOU9fRfo4=
195+
sigs.k8s.io/controller-runtime v0.24.1/go.mod h1:vFkfY5fGt5xAC/sKb8IBFKgWPNKG9OUG29dR8Y2wImw=
196196
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
197197
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
198198
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
199199
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
200-
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 h1:2WOzJpHUBVrrkDjU4KBT8n5LDcj824eX0I5UKcgeRUs=
201-
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
200+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2 h1:kwVWMx5yS1CrnFWA/2QHyRVJ8jM6dBA80uLmm0wJkk8=
201+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
202202
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
203203
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=

‎pkg/component/delete.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func deleteResources(
7070

7171
rec.Recorder.Eventf(
7272
rec.Owner, v1.EventTypeNormal, "ResourceDeleted",
73-
fmt.Sprintf("Resource %s deleted due to %s", resource.Identity(), cfg.reason),
73+
"Resource %s deleted due to %s", resource.Identity(), cfg.reason,
7474
)
7575
}
7676

‎pkg/component/orphan.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func orphanResources(ctx context.Context, rec ReconcileContext, resources []Reso
6767
}
6868
if removed {
6969
rec.Recorder.Eventf(rec.Owner, v1.EventTypeNormal, "ResourceOrphaned",
70-
fmt.Sprintf("Resource %s orphaned: owner reference removed", resource.Identity()))
70+
"Resource %s orphaned: owner reference removed", resource.Identity())
7171
}
7272
}
7373
return errors.Join(errs...)

‎pkg/component/suspend.go‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ func suspendResource(
169169

170170
rec.Recorder.Eventf(
171171
rec.Owner, v1.EventTypeNormal, "ResourceDeleted",
172-
fmt.Sprintf("Resource %s deleted on suspension", resource.Identity()),
172+
"Resource %s deleted on suspension", resource.Identity(),
173173
)
174174

175175
return suspension, nil

0 commit comments

Comments
 (0)