Skip to content

Commit cd996bd

Browse files
Merge pull request #823 from bertinatto/try-apply
API-1835: operator client update
2 parents ef2ca21 + 061fd41 commit cd996bd

File tree

214 files changed

+16972
-8836
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+16972
-8836
lines changed

go.mod

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ require (
66
github.com/ghodss/yaml v1.0.0
77
github.com/gonum/graph v0.0.0-20170401004347-50b27dea7ebb
88
github.com/google/go-cmp v0.6.0
9-
github.com/openshift/api v0.0.0-20240527133614-ba11c1587003
9+
github.com/openshift/api v0.0.0-20240924155631-232984653385
1010
github.com/openshift/build-machinery-go v0.0.0-20240419090851-af9c868bcf52
11-
github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87
12-
github.com/openshift/library-go v0.0.0-20240619120114-0c65da30ad30
11+
github.com/openshift/client-go v0.0.0-20240918182115-6a8ead8397fd
12+
github.com/openshift/library-go v0.0.0-20240924211342-f6478ea3357f
1313
github.com/prometheus/client_golang v1.16.0
1414
github.com/prometheus/common v0.44.0
1515
github.com/spf13/cobra v1.7.0
@@ -22,7 +22,7 @@ require (
2222
k8s.io/client-go v0.30.1
2323
k8s.io/component-base v0.30.1
2424
k8s.io/klog/v2 v2.120.1
25-
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
25+
k8s.io/utils v0.0.0-20240310230437-4693a0247e57
2626
)
2727

2828
require (
@@ -35,7 +35,7 @@ require (
3535
github.com/cespare/xxhash/v2 v2.2.0 // indirect
3636
github.com/coreos/go-semver v0.3.1 // indirect
3737
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
38-
github.com/davecgh/go-spew v1.1.1 // indirect
38+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
3939
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
4040
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
4141
github.com/felixge/httpsnoop v1.0.3 // indirect
@@ -70,7 +70,7 @@ require (
7070
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
7171
github.com/pkg/errors v0.9.1 // indirect
7272
github.com/pkg/profile v1.3.0 // indirect
73-
github.com/pmezard/go-difflib v1.0.0 // indirect
73+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
7474
github.com/prometheus/client_model v0.4.0 // indirect
7575
github.com/prometheus/procfs v0.10.1 // indirect
7676
github.com/robfig/cron v1.2.0 // indirect
@@ -90,14 +90,14 @@ require (
9090
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
9191
go.uber.org/multierr v1.11.0 // indirect
9292
go.uber.org/zap v1.26.0 // indirect
93-
golang.org/x/crypto v0.21.0 // indirect
93+
golang.org/x/crypto v0.23.0 // indirect
9494
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
95-
golang.org/x/net v0.23.0 // indirect
95+
golang.org/x/net v0.25.0 // indirect
9696
golang.org/x/oauth2 v0.10.0 // indirect
9797
golang.org/x/sync v0.6.0 // indirect
98-
golang.org/x/sys v0.18.0 // indirect
99-
golang.org/x/term v0.18.0 // indirect
100-
golang.org/x/text v0.14.0 // indirect
98+
golang.org/x/sys v0.20.0 // indirect
99+
golang.org/x/term v0.20.0 // indirect
100+
golang.org/x/text v0.15.0 // indirect
101101
golang.org/x/time v0.3.0 // indirect
102102
golang.org/x/tools v0.18.0 // indirect
103103
google.golang.org/appengine v1.6.7 // indirect

go.sum

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
2626
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
2727
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
2828
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
29-
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
3029
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
30+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
31+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3132
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
3233
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
3334
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
@@ -148,20 +149,23 @@ github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY
148149
github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
149150
github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE=
150151
github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
151-
github.com/openshift/api v0.0.0-20240527133614-ba11c1587003 h1:ewhIvyXCcvH6m3U02bMFtd/DfsmOSbOCuVzon+zGu7g=
152-
github.com/openshift/api v0.0.0-20240527133614-ba11c1587003/go.mod h1:OOh6Qopf21pSzqNVCB5gomomBXb8o5sGKZxG2KNpaXM=
152+
github.com/openshift/api v0.0.0-20240924155631-232984653385 h1:P6O191HwBj0ahEfea2wkvxhmW2fzXhvCh8hwHDvUozM=
153+
github.com/openshift/api v0.0.0-20240924155631-232984653385/go.mod h1:OOh6Qopf21pSzqNVCB5gomomBXb8o5sGKZxG2KNpaXM=
153154
github.com/openshift/build-machinery-go v0.0.0-20240419090851-af9c868bcf52 h1:bqBwrXG7sbJUqP1Og1bR8FvVh7qb7CrMgy9saKmOZFs=
154155
github.com/openshift/build-machinery-go v0.0.0-20240419090851-af9c868bcf52/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE=
155-
github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87 h1:JtLhaGpSEconE+1IKmIgCOof/Len5ceG6H1pk43yv5U=
156-
github.com/openshift/client-go v0.0.0-20240528061634-b054aa794d87/go.mod h1:3IPD4U0qyovZS4EFady2kqY32m8lGcbs/Wx+yprg9z8=
157-
github.com/openshift/library-go v0.0.0-20240619120114-0c65da30ad30 h1:c9PNqAVBbnsR4Ro+P2e2Ih3aacnq5l1IfGX5985Rd7c=
158-
github.com/openshift/library-go v0.0.0-20240619120114-0c65da30ad30/go.mod h1:PdASVamWinll2BPxiUpXajTwZxV8A1pQbWEsCN1od7I=
156+
github.com/openshift/client-go v0.0.0-20240918182115-6a8ead8397fd h1:Gd0+bYdcfGIsDOJ8BwTJJjQeXoziyIsTwqp/s38rKyM=
157+
github.com/openshift/client-go v0.0.0-20240918182115-6a8ead8397fd/go.mod h1:EB7GeA/vpf9AHklMgnnT0+uG6l/3f8cChtCFbJFrk4g=
158+
github.com/openshift/library-go v0.0.0-20240924211342-f6478ea3357f h1:BE9hhv0XriQ4XIslufYaEe9nArf+CXDgn7d/Y3ATW4o=
159+
github.com/openshift/library-go v0.0.0-20240924211342-f6478ea3357f/go.mod h1:f8QcnrooSwGa96xI4UaKbKGJZskhTCGeimXKyc4t/ZU=
159160
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
160161
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
161162
github.com/pkg/profile v1.3.0 h1:OQIvuDgm00gWVWGTf4m4mCt6W1/0YqU7Ntg0mySWgaI=
162163
github.com/pkg/profile v1.3.0/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
163-
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
164164
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
165+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
166+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
167+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.74.0 h1:AHzMWDxNiAVscJL6+4wkvFRTpMnJqiaZFEKA/osaBXE=
168+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.74.0/go.mod h1:wAR5JopumPtAZnu0Cjv2PSqV4p4QB09LMhc6fZZTXuA=
165169
github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
166170
github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
167171
github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY=
@@ -245,8 +249,8 @@ go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
245249
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
246250
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
247251
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
248-
golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
249-
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
252+
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
253+
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
250254
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=
251255
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
252256
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -256,8 +260,8 @@ golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR
256260
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
257261
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
258262
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
259-
golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
260-
golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
263+
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
264+
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
261265
golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8=
262266
golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI=
263267
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -270,15 +274,15 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
270274
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
271275
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
272276
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
273-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
274-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
275-
golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
276-
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
277+
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
278+
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
279+
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
280+
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
277281
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
278282
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
279283
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
280-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
281-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
284+
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
285+
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
282286
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
283287
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
284288
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -337,8 +341,8 @@ k8s.io/kube-aggregator v0.30.1 h1:ymR2BsxDacTKwzKTuNhGZttuk009c+oZbSeD+IPX5q4=
337341
k8s.io/kube-aggregator v0.30.1/go.mod h1:SFbqWsM6ea8dHd3mPLsZFzJHbjBOS5ykIgJh4znZ5iQ=
338342
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
339343
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
340-
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
341-
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
344+
k8s.io/utils v0.0.0-20240310230437-4693a0247e57 h1:gbqbevonBh57eILzModw6mrkbwM0gQBEuevE/AaBsHY=
345+
k8s.io/utils v0.0.0-20240310230437-4693a0247e57/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
342346
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 h1:/U5vjBbQn3RChhv7P11uhYvCSm5G2GaIi5AIGBS6r4c=
343347
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4=
344348
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=

pkg/cmd/recoverycontroller/cmd.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66

77
operatorv1 "github.com/openshift/api/operator/v1"
8+
"github.com/openshift/cluster-kube-controller-manager-operator/pkg/operator"
89
"github.com/openshift/cluster-kube-controller-manager-operator/pkg/operator/certrotationcontroller"
910
"github.com/openshift/cluster-kube-controller-manager-operator/pkg/operator/operatorclient"
1011
"github.com/openshift/cluster-kube-controller-manager-operator/pkg/version"
@@ -79,7 +80,13 @@ func (o *Options) Run(ctx context.Context) error {
7980
operatorclient.TargetNamespace,
8081
)
8182

82-
operatorClient, dynamicInformers, err := genericoperatorclient.NewStaticPodOperatorClient(o.controllerContext.KubeConfig, operatorv1.GroupVersion.WithResource("kubecontrollermanagers"))
83+
operatorClient, dynamicInformers, err := genericoperatorclient.NewStaticPodOperatorClient(
84+
o.controllerContext.KubeConfig,
85+
operatorv1.GroupVersion.WithResource("kubecontrollermanagers"),
86+
operatorv1.GroupVersion.WithKind("KubeControllerManager"),
87+
operator.ExtractStaticPodOperatorSpec,
88+
operator.ExtractStaticPodOperatorStatus,
89+
)
8390
if err != nil {
8491
return err
8592
}

pkg/operator/certrotationcontroller/certrotationcontroller.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ func newCertRotationController(
9595
Lister: kubeInformersForNamespaces.InformersFor(operatorclient.OperatorNamespace).Core().V1().Secrets().Lister(),
9696
Client: secretsGetter,
9797
EventRecorder: eventRecorder,
98-
UseSecretUpdateOnly: true,
9998
},
10099
certrotation.CABundleConfigMap{
101100
Namespace: operatorclient.OperatorNamespace,
@@ -120,11 +119,10 @@ func newCertRotationController(
120119
CertCreator: &certrotation.SignerRotation{
121120
SignerName: "kube-csr-signer",
122121
},
123-
Informer: kubeInformersForNamespaces.InformersFor(operatorclient.OperatorNamespace).Core().V1().Secrets(),
124-
Lister: kubeInformersForNamespaces.InformersFor(operatorclient.OperatorNamespace).Core().V1().Secrets().Lister(),
125-
Client: secretsGetter,
126-
EventRecorder: eventRecorder,
127-
UseSecretUpdateOnly: true,
122+
Informer: kubeInformersForNamespaces.InformersFor(operatorclient.OperatorNamespace).Core().V1().Secrets(),
123+
Lister: kubeInformersForNamespaces.InformersFor(operatorclient.OperatorNamespace).Core().V1().Secrets().Lister(),
124+
Client: secretsGetter,
125+
EventRecorder: eventRecorder,
128126
},
129127
eventRecorder,
130128
&certrotation.StaticPodConditionStatusReporter{OperatorClient: operatorClient},

pkg/operator/configobservation/configobservercontroller/observe_config_controller.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"k8s.io/client-go/tools/cache"
77

88
configinformers "github.com/openshift/client-go/config/informers/externalversions"
9-
libgocloudprovider "github.com/openshift/library-go/pkg/cloudprovider"
109
"github.com/openshift/library-go/pkg/controller/factory"
1110
"github.com/openshift/library-go/pkg/operator/configobserver"
1211
libgoapiserver "github.com/openshift/library-go/pkg/operator/configobserver/apiserver"
@@ -30,9 +29,7 @@ import (
3029
// OpenShift. Passing these to KCM causes it to log an error on startup.
3130
// This list is passed to the feature gate config observer as a blacklist,
3231
// excluding them from the feature gate output passed to KCM.
33-
var openShiftOnlyFeatureGates = sets.New[configv1.FeatureGateName](
34-
libgocloudprovider.ExternalCloudProviderFeature,
35-
)
32+
var openShiftOnlyFeatureGates = sets.New[configv1.FeatureGateName]()
3633

3734
type ConfigObserver struct {
3835
factory.Controller

pkg/operator/starter.go

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
configv1client "github.com/openshift/client-go/config/clientset/versioned"
1212
configinformers "github.com/openshift/client-go/config/informers/externalversions"
1313
configinformersv1 "github.com/openshift/client-go/config/informers/externalversions/config/v1"
14+
applyoperatorv1 "github.com/openshift/client-go/operator/applyconfigurations/operator/v1"
1415
"github.com/openshift/cluster-kube-controller-manager-operator/bindata"
1516
"github.com/openshift/cluster-kube-controller-manager-operator/pkg/operator/certrotationcontroller"
1617
"github.com/openshift/cluster-kube-controller-manager-operator/pkg/operator/configobservation/configobservercontroller"
@@ -36,7 +37,9 @@ import (
3637
policyv1 "k8s.io/api/policy/v1"
3738
"k8s.io/apimachinery/pkg/api/errors"
3839
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
40+
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
3941
"k8s.io/apimachinery/pkg/labels"
42+
"k8s.io/apimachinery/pkg/runtime"
4043
"k8s.io/client-go/kubernetes"
4144
"k8s.io/klog/v2"
4245
"k8s.io/utils/ptr"
@@ -64,7 +67,13 @@ func RunOperator(ctx context.Context, cc *controllercmd.ControllerContext) error
6467
"openshift-infra",
6568
)
6669

67-
operatorClient, dynamicInformers, err := genericoperatorclient.NewStaticPodOperatorClient(cc.KubeConfig, operatorv1.GroupVersion.WithResource("kubecontrollermanagers"))
70+
operatorClient, dynamicInformers, err := genericoperatorclient.NewStaticPodOperatorClient(
71+
cc.KubeConfig,
72+
operatorv1.GroupVersion.WithResource("kubecontrollermanagers"),
73+
operatorv1.GroupVersion.WithKind("KubeControllerManager"),
74+
ExtractStaticPodOperatorSpec,
75+
ExtractStaticPodOperatorStatus,
76+
)
6877
if err != nil {
6978
return err
7079
}
@@ -375,3 +384,34 @@ func newPlatformMatcherFn(platform configv1.PlatformType, infraInformer configin
375384
return infraData.Status.PlatformStatus.Type == platform, true, nil
376385
}
377386
}
387+
388+
func ExtractStaticPodOperatorSpec(obj *unstructured.Unstructured, fieldManager string) (*applyoperatorv1.StaticPodOperatorSpecApplyConfiguration, error) {
389+
castObj := &operatorv1.KubeControllerManager{}
390+
if err := runtime.DefaultUnstructuredConverter.FromUnstructured(obj.Object, castObj); err != nil {
391+
return nil, fmt.Errorf("unable to convert to KubeControllerManager: %w", err)
392+
}
393+
ret, err := applyoperatorv1.ExtractKubeControllerManager(castObj, fieldManager)
394+
if err != nil {
395+
return nil, fmt.Errorf("unable to extract fields for %q: %w", fieldManager, err)
396+
}
397+
if ret.Spec == nil {
398+
return nil, nil
399+
}
400+
return &ret.Spec.StaticPodOperatorSpecApplyConfiguration, nil
401+
}
402+
403+
func ExtractStaticPodOperatorStatus(obj *unstructured.Unstructured, fieldManager string) (*applyoperatorv1.StaticPodOperatorStatusApplyConfiguration, error) {
404+
castObj := &operatorv1.KubeControllerManager{}
405+
if err := runtime.DefaultUnstructuredConverter.FromUnstructured(obj.Object, castObj); err != nil {
406+
return nil, fmt.Errorf("unable to convert to KubeControllerManager: %w", err)
407+
}
408+
ret, err := applyoperatorv1.ExtractKubeControllerManagerStatus(castObj, fieldManager)
409+
if err != nil {
410+
return nil, fmt.Errorf("unable to extract fields for %q: %w", fieldManager, err)
411+
}
412+
413+
if ret.Status == nil {
414+
return nil, nil
415+
}
416+
return &ret.Status.StaticPodOperatorStatusApplyConfiguration, nil
417+
}

vendor/github.com/openshift/api/.ci-operator.yaml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/openshift/api/Dockerfile.rhel8 renamed to vendor/github.com/openshift/api/Dockerfile.ocp

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)