Skip to content

Commit 02b58ba

Browse files
Auto enable AceShifter feature for OpenShift-managed clusters (#27)
Signed-off-by: Rokibul Hasan <mdrokibulhasan@appscode.com>
1 parent 856adff commit 02b58ba

File tree

848 files changed

+9008
-3459
lines changed

Some content is hidden

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

848 files changed

+9008
-3459
lines changed

go.mod

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ require (
88
github.com/fluxcd/helm-controller/api v1.2.0
99
github.com/fluxcd/source-controller/api v1.5.0
1010
github.com/google/gofuzz v1.2.0
11-
github.com/spf13/cobra v1.8.1
12-
go.bytebuilders.dev/license-verifier v0.14.6
11+
github.com/spf13/cobra v1.9.1
12+
go.bytebuilders.dev/license-verifier v0.14.9
1313
gomodules.xyz/logs v0.0.7
1414
gomodules.xyz/x v0.0.17
1515
helm.sh/helm/v3 v3.17.3
@@ -19,17 +19,17 @@ require (
1919
k8s.io/cli-runtime v0.32.3
2020
k8s.io/client-go v0.32.3
2121
k8s.io/klog/v2 v2.130.1
22-
k8s.io/kube-openapi v0.0.0-20250318172550-b98be4ee1595
22+
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff
2323
k8s.io/kubectl v0.32.2
2424
k8s.io/utils v0.0.0-20241210054802-24370beab758
25-
kmodules.xyz/client-go v0.32.1
26-
kmodules.xyz/fake-apiserver v0.0.6
27-
kmodules.xyz/resource-metadata v0.28.0
25+
kmodules.xyz/client-go v0.32.4
26+
kmodules.xyz/fake-apiserver v0.0.7
27+
kmodules.xyz/resource-metadata v0.29.1-0.20250523040023-d0200d1bce1b
2828
kubepack.dev/lib-app v0.5.0
2929
kubepack.dev/lib-helm v0.32.1
3030
open-cluster-management.io/api v0.16.0
3131
open-cluster-management.io/sdk-go v0.16.0
32-
sigs.k8s.io/controller-runtime v0.20.3
32+
sigs.k8s.io/controller-runtime v0.20.4
3333
sigs.k8s.io/yaml v1.4.0
3434
x-helm.dev/apimachinery v0.0.17
3535
)
@@ -169,7 +169,7 @@ require (
169169
github.com/jonboulle/clockwork v0.4.0 // indirect
170170
github.com/josharian/intern v1.0.0 // indirect
171171
github.com/json-iterator/go v1.1.12 // indirect
172-
github.com/klauspost/compress v1.17.11 // indirect
172+
github.com/klauspost/compress v1.18.0 // indirect
173173
github.com/klauspost/cpuid/v2 v2.2.7 // indirect
174174
github.com/kylelemons/godebug v1.1.0 // indirect
175175
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
@@ -242,14 +242,14 @@ require (
242242
go.uber.org/zap v1.27.0 // indirect
243243
go.wandrs.dev/http v0.0.4 // indirect
244244
gocloud.dev v0.40.0 // indirect
245-
golang.org/x/crypto v0.36.0 // indirect
245+
golang.org/x/crypto v0.37.0 // indirect
246246
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
247247
golang.org/x/net v0.38.0 // indirect
248248
golang.org/x/oauth2 v0.27.0 // indirect
249-
golang.org/x/sync v0.12.0 // indirect
250-
golang.org/x/sys v0.31.0 // indirect
251-
golang.org/x/term v0.30.0 // indirect
252-
golang.org/x/text v0.23.0 // indirect
249+
golang.org/x/sync v0.13.0 // indirect
250+
golang.org/x/sys v0.32.0 // indirect
251+
golang.org/x/term v0.31.0 // indirect
252+
golang.org/x/text v0.24.0 // indirect
253253
golang.org/x/time v0.10.0 // indirect
254254
golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9 // indirect
255255
gomodules.xyz/blobfs v0.2.2 // indirect

go.sum

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV
196196
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
197197
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
198198
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
199-
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
199+
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
200200
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
201201
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
202202
github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
@@ -470,8 +470,8 @@ github.com/keybase/go-keychain v0.0.0-20231219164618-57a3676c3af6/go.mod h1:3VeW
470470
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
471471
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
472472
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
473-
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
474-
github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
473+
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
474+
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
475475
github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM=
476476
github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
477477
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
@@ -558,8 +558,8 @@ github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JX
558558
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
559559
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
560560
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
561-
github.com/onsi/ginkgo/v2 v2.22.0 h1:Yed107/8DjTr0lKCNt7Dn8yQ6ybuDRQoMGrNFKzMfHg=
562-
github.com/onsi/ginkgo/v2 v2.22.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
561+
github.com/onsi/ginkgo/v2 v2.23.1 h1:Ox0cOPv/t8RzKJUfDo9ZKtRvBOJY369sFJnl00CjqwY=
562+
github.com/onsi/ginkgo/v2 v2.23.1/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM=
563563
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
564564
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
565565
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
@@ -654,8 +654,8 @@ github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
654654
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
655655
github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo=
656656
github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM=
657-
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
658-
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
657+
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
658+
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
659659
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
660660
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
661661
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
@@ -713,8 +713,8 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
713713
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
714714
github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
715715
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
716-
go.bytebuilders.dev/license-verifier v0.14.6 h1:0iHYGURUbx8toiXvFKftn/qMpeHzqHbAgEnEzOCNLvo=
717-
go.bytebuilders.dev/license-verifier v0.14.6/go.mod h1:LqWXJKee5ofDcCYM6T5WilYlUc4NlKeZz58tHwO8GEs=
716+
go.bytebuilders.dev/license-verifier v0.14.9 h1:EwwhYdHs5I3B+OrVO4fGFfFiEtIKVpqem2jtYb+Lek0=
717+
go.bytebuilders.dev/license-verifier v0.14.9/go.mod h1:BviSsSxXgXVXBSCXvYmftuTEtxchb04G0cV/AlD/Tu8=
718718
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
719719
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
720720
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
@@ -793,8 +793,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh
793793
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
794794
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
795795
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
796-
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
797-
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
796+
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
797+
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
798798
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
799799
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
800800
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -865,8 +865,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ
865865
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
866866
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
867867
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
868-
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
869-
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
868+
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
869+
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
870870
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
871871
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
872872
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -894,16 +894,16 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
894894
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
895895
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
896896
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
897-
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
898-
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
897+
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
898+
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
899899
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
900900
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
901901
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
902902
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
903903
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
904904
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
905-
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
906-
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
905+
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
906+
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
907907
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
908908
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
909909
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -913,8 +913,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
913913
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
914914
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
915915
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
916-
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
917-
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
916+
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
917+
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
918918
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
919919
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
920920
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
@@ -1078,8 +1078,8 @@ k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
10781078
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
10791079
k8s.io/kube-aggregator v0.32.2 h1:kg9pke+i2qRbJwX1UKwZV4fsCRvmbaCEFk38R4FqHmw=
10801080
k8s.io/kube-aggregator v0.32.2/go.mod h1:rRm+xY1yIFIt3zBc727nG5SBLYywywD87klfIAw+7+c=
1081-
k8s.io/kube-openapi v0.0.0-20250318172550-b98be4ee1595 h1:oj2YLpdiU3TRGr10fBjJ5Gny1rEFB9NC4KZh1lxpn+Y=
1082-
k8s.io/kube-openapi v0.0.0-20250318172550-b98be4ee1595/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
1081+
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
1082+
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
10831083
k8s.io/kubectl v0.32.2 h1:TAkag6+XfSBgkqK9I7ZvwtF0WVtUAvK8ZqTt+5zi1Us=
10841084
k8s.io/kubectl v0.32.2/go.mod h1:+h/NQFSPxiDZYX/WZaWw9fwYezGLISP0ud8nQKg+3g8=
10851085
k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0=
@@ -1088,16 +1088,16 @@ kmodules.xyz/apiversion v0.2.0 h1:vAQYqZFm4xu4pbB1cAdHbFEPES6EQkcR4wc06xdTOWk=
10881088
kmodules.xyz/apiversion v0.2.0/go.mod h1:oPX8g8LvlPdPX3Yc5YvCzJHQnw3YF/X4/jdW0b1am80=
10891089
kmodules.xyz/apply v0.29.0 h1:0OXGfE2IPuvXHk6uI9zp6KCYdBibx8mK4PEl0g3LZ44=
10901090
kmodules.xyz/apply v0.29.0/go.mod h1:bwToXErB+DC7/EEWjQVARCSbJBjGx5hIEuV1n0tC73g=
1091-
kmodules.xyz/client-go v0.32.1 h1:W8TWGBBaokQEqfesbdhlRFMMV0TChcRbMRQ0eTIRS88=
1092-
kmodules.xyz/client-go v0.32.1/go.mod h1:tqe40/iDtO/RSNaDJs/a+rgnMPSOcK622HpOmOFvcds=
1093-
kmodules.xyz/fake-apiserver v0.0.6 h1:n/3Nd8BkjCvEn/Daen2gyb6V9+YlOrOB/8Miavfu30U=
1094-
kmodules.xyz/fake-apiserver v0.0.6/go.mod h1:49c+tJQ24leVKsrdL0qWezeP3GXZzTKSi147ddtbIW8=
1091+
kmodules.xyz/client-go v0.32.4 h1:eB5I18rLptkx0vsDcqIr62I23sX16K3BBs29RoOxrFk=
1092+
kmodules.xyz/client-go v0.32.4/go.mod h1:ZwLnc7UqEXUNSe43n/SnER6+7YAQCu38L2te6YefoHU=
1093+
kmodules.xyz/fake-apiserver v0.0.7 h1:+EmOi/rbDddDFqWUZZyuYtTKqd7Dwq8WoC3xtifbqMo=
1094+
kmodules.xyz/fake-apiserver v0.0.7/go.mod h1:zua6slbMalPFm7l8bU6lP+bjIduytUXCTrHZ7+9j/Qo=
10951095
kmodules.xyz/go-containerregistry v0.0.14 h1:8MgLFa74HymAJEyjH7fyQJn5u2Ok6qPPFQX8ARfcXp0=
10961096
kmodules.xyz/go-containerregistry v0.0.14/go.mod h1:xz0iGC3noyMi5NNAzXWTH6KqfiIgFWZAomw+U2zVOXs=
10971097
kmodules.xyz/offshoot-api v0.32.0 h1:gogc5scSZe2JoXtZof72UGRl3Tit0kFaFRMkLLT1D8o=
10981098
kmodules.xyz/offshoot-api v0.32.0/go.mod h1:tled7OxYZ3SkUJcrVFVVYyd+zXjsRSEm1R6Q3k4gcx0=
1099-
kmodules.xyz/resource-metadata v0.28.0 h1:ifshTakMBnN+ctlJOrNOIU6yaouEhkQAPUrgbEusH44=
1100-
kmodules.xyz/resource-metadata v0.28.0/go.mod h1:i5dUbGT7jMjDn9ShQ4AAc48JDmqeORigpYEMqeKsx0Y=
1099+
kmodules.xyz/resource-metadata v0.29.1-0.20250523040023-d0200d1bce1b h1:NkC9NGtSvOISszzZ5a5xTMUA/4aQJWm0xXfavLIc/WU=
1100+
kmodules.xyz/resource-metadata v0.29.1-0.20250523040023-d0200d1bce1b/go.mod h1:KEcdN2IPqp22IzgiaUYXuuSQYsKzDeINaZo/JggbJH0=
11011101
kmodules.xyz/resource-metrics v0.30.6 h1:y+26VJ3oJ6FtE+f/sc9HfMAfaySZA+fIytRJ14YtxDo=
11021102
kmodules.xyz/resource-metrics v0.30.6/go.mod h1:SL7hGoKCUOTOEQXVEkryREwlVkujM8jKPVEPUklZ3JY=
11031103
kubepack.dev/kubepack v0.32.0 h1:4pGvdOyla+BIVJSvCXvks/QdEJ27dqWLD5qSs4+hVPk=
@@ -1117,8 +1117,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcp
11171117
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
11181118
sigs.k8s.io/cli-utils v0.37.2 h1:GOfKw5RV2HDQZDJlru5KkfLO1tbxqMoyn1IYUxqBpNg=
11191119
sigs.k8s.io/cli-utils v0.37.2/go.mod h1:V+IZZr4UoGj7gMJXklWBg6t5xbdThFBcpj4MrZuCYco=
1120-
sigs.k8s.io/controller-runtime v0.20.3 h1:I6Ln8JfQjHH7JbtCD2HCYHoIzajoRxPNuvhvcDbZgkI=
1121-
sigs.k8s.io/controller-runtime v0.20.3/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY=
1120+
sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU=
1121+
sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY=
11221122
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
11231123
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
11241124
sigs.k8s.io/kustomize/api v0.18.0 h1:hTzp67k+3NEVInwz5BHyzc9rGxIauoXferXyjv5lWPo=

pkg/cluster_upgrade/upgrader.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import (
3232
"k8s.io/apimachinery/pkg/types"
3333
"k8s.io/apimachinery/pkg/util/json"
3434
cu "kmodules.xyz/client-go/client"
35-
"kmodules.xyz/fake-apiserver/pkg/resources"
3635
uiapi "kmodules.xyz/resource-metadata/apis/ui/v1alpha1"
3736
"kmodules.xyz/resource-metadata/hub"
3837
"kubepack.dev/lib-helm/pkg/repo"
@@ -77,8 +76,7 @@ func UpgradeCluster(profileBinding *profilev1alpha1.ManagedClusterProfileBinding
7776
return err
7877
}
7978

80-
err = resources.RegisterCRDs(fakeServer.FakeRestConfig)
81-
if err != nil {
79+
if err := feature_installer.RegisterRequiredCRDs(fakeServer, profileBinding); err != nil {
8280
return err
8381
}
8482

pkg/controller/helpers.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,18 @@ import (
2929
)
3030

3131
func GetClusterMetadata(cluster v1.ManagedCluster) (kmapi.ClusterInfo, error) {
32-
var clusterInfo kmapi.ClusterInfo
33-
var clusterMetadata struct {
34-
ClusterMetadata kmapi.ClusterInfo `yaml:"clusterMetadata"`
35-
}
36-
32+
var clusterInfo kmapi.ClusterClaimInfo
3733
for _, claim := range cluster.Status.ClusterClaims {
3834
if claim.Name == common.ClusterClaimClusterInfo {
3935
yamlData := []byte(claim.Value)
40-
if err := yaml.Unmarshal(yamlData, &clusterMetadata); err != nil {
41-
return clusterInfo, err // Return error if YAML unmarshaling fails
36+
if err := yaml.Unmarshal(yamlData, &clusterInfo); err != nil {
37+
return clusterInfo.ClusterMetadata, err // Return error if YAML unmarshaling fails
4238
}
43-
clusterInfo = clusterMetadata.ClusterMetadata
44-
return clusterInfo, nil
39+
return clusterInfo.ClusterMetadata, nil
4540
}
4641
}
4742

48-
return clusterInfo, errors.New("cluster info not found")
43+
return clusterInfo.ClusterMetadata, errors.New("cluster info not found")
4944
}
5045

5146
func validateFeatureList(profile *profilev1alpha1.ManagedClusterSetProfile) error {

pkg/controller/managedclusterprofilebinding_controller.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,19 @@ func (r *ManagedClusterProfileBindingReconciler) Reconcile(ctx context.Context,
8181
}
8282

8383
featureInfo := make(map[string][]string)
84-
for f, val := range profile.Spec.Features {
85-
featureInfo[val.FeatureSet] = append(featureInfo[val.FeatureSet], f)
84+
featurePushed := make(map[string]bool)
85+
addFeatures := func(features map[string]profilev1alpha1.FeatureSpec) {
86+
for name, spec := range features {
87+
if !featurePushed[name] {
88+
featureInfo[spec.FeatureSet] = append(featureInfo[spec.FeatureSet], name)
89+
featurePushed[name] = true
90+
}
91+
}
8692
}
8793

94+
addFeatures(profileBinding.Spec.Features)
95+
addFeatures(profile.Spec.Features)
96+
8897
var upgradeTime string
8998
if profileBinding.Annotations != nil {
9099
upgradeTime = profileBinding.Annotations[common.UpgradeAnnotation]

pkg/controller/managedclustersetprofile_controller.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package controller
1818

1919
import (
2020
"context"
21+
"slices"
2122

2223
profilev1alpha1 "github.com/kluster-manager/cluster-profile/apis/profile/v1alpha1"
2324

@@ -126,6 +127,14 @@ func (r *ManagedClusterSetProfileReconciler) Reconcile(ctx context.Context, req
126127
profileBinding.Spec.Features = profileBindingList.Items[0].Spec.Features
127128
}
128129

130+
if profileBinding.Spec.Features == nil {
131+
profileBinding.Spec.Features = make(map[string]profilev1alpha1.FeatureSpec)
132+
}
133+
if slices.Contains(clusterMetadata.ClusterManagers, kmapi.ClusterManagerOpenShift.Name()) {
134+
profileBinding.Spec.Features["aceshifter"] = profilev1alpha1.FeatureSpec{
135+
FeatureSet: "opscenter-core",
136+
}
137+
}
129138
_, err = cu.CreateOrPatch(context.Background(), r.Client, profileBinding, func(obj client.Object, createOp bool) client.Object {
130139
in := obj.(*profilev1alpha1.ManagedClusterProfileBinding)
131140
in.Labels = profileBinding.Labels

0 commit comments

Comments
 (0)