Skip to content

Commit 85499f4

Browse files
Merge pull request #136 from benluddy/client-featuregate-adapter
CNTRLPLANE-5: Accept client-go feature gates and unrecognized feature gates via --feature-gates.
2 parents e9d3b87 + 4f9521a commit 85499f4

File tree

232 files changed

+8254
-4305
lines changed

Some content is hidden

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

232 files changed

+8254
-4305
lines changed

cmd/oauth-apiserver/client_adapter.go

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
Copyright 2024 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
// Originally from
18+
// https://github.com/kubernetes/kubernetes/blob/4142fb530ceb25d9965a3e6925be79a03d918cba/pkg/features/client_adapter.go.
19+
package main
20+
21+
import (
22+
"fmt"
23+
24+
clientfeatures "k8s.io/client-go/features"
25+
"k8s.io/component-base/featuregate"
26+
)
27+
28+
// clientAdapter adapts a k8s.io/component-base/featuregate.MutableFeatureGate to client-go's
29+
// feature Gate and Registry interfaces. The component-base types Feature, FeatureSpec, and
30+
// prerelease, and the component-base prerelease constants, are duplicated by parallel types and
31+
// constants in client-go. The parallel types exist to allow the feature gate mechanism to be used
32+
// for client-go features without introducing a circular dependency between component-base and
33+
// client-go.
34+
type clientAdapter struct {
35+
mfg featuregate.MutableFeatureGate
36+
}
37+
38+
var _ clientfeatures.Gates = &clientAdapter{}
39+
40+
func (a *clientAdapter) Enabled(name clientfeatures.Feature) bool {
41+
return a.mfg.Enabled(featuregate.Feature(name))
42+
}
43+
44+
var _ clientfeatures.Registry = &clientAdapter{}
45+
46+
func (a *clientAdapter) Add(in map[clientfeatures.Feature]clientfeatures.FeatureSpec) error {
47+
out := map[featuregate.Feature]featuregate.FeatureSpec{}
48+
for name, spec := range in {
49+
converted := featuregate.FeatureSpec{
50+
Default: spec.Default,
51+
LockToDefault: spec.LockToDefault,
52+
}
53+
switch spec.PreRelease {
54+
case clientfeatures.Alpha:
55+
converted.PreRelease = featuregate.Alpha
56+
case clientfeatures.Beta:
57+
converted.PreRelease = featuregate.Beta
58+
case clientfeatures.GA:
59+
converted.PreRelease = featuregate.GA
60+
case clientfeatures.Deprecated:
61+
converted.PreRelease = featuregate.Deprecated
62+
default:
63+
// The default case implies programmer error. The same set of prerelease
64+
// constants must exist in both component-base and client-go, and each one
65+
// must have a case here.
66+
panic(fmt.Sprintf("unrecognized prerelease %q of feature %q", spec.PreRelease, name))
67+
}
68+
out[featuregate.Feature(name)] = converted
69+
}
70+
return a.mfg.Add(out) //nolint:forbidigo // No need to support versioned feature gates in client adapter
71+
}
72+
73+
// Set implements the unexported interface that client-go feature gate testing expects for
74+
// ek8s.io/client-go/features/testing.SetFeatureDuringTest. This is necessary for integration tests
75+
// to set test overrides for client-go feature gates.
76+
func (a *clientAdapter) Set(name clientfeatures.Feature, enabled bool) error {
77+
return a.mfg.SetFromMap(map[string]bool{string(name): enabled})
78+
}

cmd/oauth-apiserver/main.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import (
66

77
"github.com/spf13/cobra"
88

9+
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
10+
utilfeature "k8s.io/apiserver/pkg/util/feature"
11+
clientfeatures "k8s.io/client-go/features"
912
"k8s.io/component-base/cli"
1013

1114
"github.com/openshift/library-go/pkg/serviceability"
@@ -14,6 +17,12 @@ import (
1417
"github.com/openshift/oauth-apiserver/pkg/version"
1518
)
1619

20+
func init() {
21+
ca := &clientAdapter{utilfeature.DefaultMutableFeatureGate}
22+
utilruntime.Must(clientfeatures.AddFeaturesToExistingFeatureGates(ca))
23+
clientfeatures.ReplaceFeatureGates(ca)
24+
}
25+
1726
func main() {
1827
defer serviceability.BehaviorOnPanic(os.Getenv("OPENSHIFT_ON_PANIC"), version.Get())()
1928
defer serviceability.Profile(os.Getenv("OPENSHIFT_PROFILE")).Stop()

go.mod

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ require (
99
github.com/google/gofuzz v1.2.0
1010
github.com/google/uuid v1.6.0
1111
github.com/jteeuwen/go-bindata v3.0.8-0.20151023091102-a0ff2567cfb7+incompatible
12-
github.com/openshift/api v0.0.0-20241104230711-4c27e61e5554
12+
github.com/openshift/api v0.0.0-20250425163235-9b80d67473bc
1313
github.com/openshift/apiserver-library-go v0.0.0-20241021160823-f6d544efa1ab
1414
github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660
15-
github.com/openshift/client-go v0.0.0-20241001162912-da6d55e4611f
15+
github.com/openshift/client-go v0.0.0-20250425165505-5f55ff6979a1
1616
github.com/openshift/library-go v0.0.0-20241104153602-864cc9d1d646
1717
github.com/spf13/cobra v1.8.1
1818
github.com/spf13/pflag v1.0.5
@@ -28,7 +28,7 @@ require (
2828
k8s.io/kube-aggregator v0.32.3
2929
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f
3030
k8s.io/kubernetes v1.32.3
31-
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
31+
k8s.io/utils v0.0.0-20241210054802-24370beab758
3232
)
3333

3434
require (
@@ -105,15 +105,15 @@ require (
105105
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
106106
go.uber.org/multierr v1.11.0 // indirect
107107
go.uber.org/zap v1.27.0 // indirect
108-
golang.org/x/crypto v0.28.0 // indirect
108+
golang.org/x/crypto v0.36.0 // indirect
109109
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
110110
golang.org/x/mod v0.21.0 // indirect
111-
golang.org/x/net v0.30.0 // indirect
111+
golang.org/x/net v0.37.0 // indirect
112112
golang.org/x/oauth2 v0.23.0 // indirect
113-
golang.org/x/sync v0.8.0 // indirect
114-
golang.org/x/sys v0.26.0 // indirect
115-
golang.org/x/term v0.25.0 // indirect
116-
golang.org/x/text v0.19.0 // indirect
113+
golang.org/x/sync v0.12.0 // indirect
114+
golang.org/x/sys v0.31.0 // indirect
115+
golang.org/x/term v0.30.0 // indirect
116+
golang.org/x/text v0.23.0 // indirect
117117
golang.org/x/time v0.7.0 // indirect
118118
golang.org/x/tools v0.26.0 // indirect
119119
google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect
@@ -128,8 +128,8 @@ require (
128128
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
129129
k8s.io/kms v0.32.3 // indirect
130130
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 // indirect
131-
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
132-
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect
131+
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
132+
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
133133
sigs.k8s.io/yaml v1.4.0 // indirect
134134
)
135135

go.sum

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -166,14 +166,14 @@ github.com/onsi/ginkgo/v2 v2.21.0 h1:7rg/4f3rB88pb5obDgNZrNHrQ4e6WpjonchcpuBRnZM
166166
github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
167167
github.com/onsi/gomega v1.35.1 h1:Cwbd75ZBPxFSuZ6T+rN/WCb/gOc6YgFBXLlZLhC7Ds4=
168168
github.com/onsi/gomega v1.35.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
169-
github.com/openshift/api v0.0.0-20241104230711-4c27e61e5554 h1:rNbJuZnN71JVSkf50CH1EHFNnhVn6q57Q/OjkVRbDpI=
170-
github.com/openshift/api v0.0.0-20241104230711-4c27e61e5554/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo=
169+
github.com/openshift/api v0.0.0-20250425163235-9b80d67473bc h1:BGKjHtYzBweOSu1UwTnNqtPbJZ4VzOTqVFlUDpP+6U8=
170+
github.com/openshift/api v0.0.0-20250425163235-9b80d67473bc/go.mod h1:yk60tHAmHhtVpJQo3TwVYq2zpuP70iJIFDCmeKMIzPw=
171171
github.com/openshift/apiserver-library-go v0.0.0-20241021160823-f6d544efa1ab h1:SzGBZrUElmpDKY2NQxJDHQhXSD7mV6oTwMzhFE5X/3s=
172172
github.com/openshift/apiserver-library-go v0.0.0-20241021160823-f6d544efa1ab/go.mod h1:9Anrq7+DZmmw1Brchx4zmh26hAZbe6Dv7bGXRclnhYI=
173173
github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660 h1:F0zE2bmdVvaEd18VXuGYQdJJ1FYJu4MIDW9PYZWc9No=
174174
github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE=
175-
github.com/openshift/client-go v0.0.0-20241001162912-da6d55e4611f h1:FRc0bVNWprihWS0GqQWzb3dY4dkCwpOP3mDw5NwSoR4=
176-
github.com/openshift/client-go v0.0.0-20241001162912-da6d55e4611f/go.mod h1:KiZi2mJRH1TOJ3FtBDYS6YvUL30s/iIXaGSUrSa36mo=
175+
github.com/openshift/client-go v0.0.0-20250425165505-5f55ff6979a1 h1:2HPG58V07TrrSGBviNPd0PY42vYHPPCIEwj/pb9nUlY=
176+
github.com/openshift/client-go v0.0.0-20250425165505-5f55ff6979a1/go.mod h1:kH5mjMfcHCF0tEnxwvNJTLMnlbrEt3Ua+vMVGvBOK5w=
177177
github.com/openshift/kubernetes-apiserver v0.0.0-20250526074939-69bc847b1ee3 h1:D/jrK28YMd/W+b2iOht8NZUwfcIvexJ+5k+diMvNDFw=
178178
github.com/openshift/kubernetes-apiserver v0.0.0-20250526074939-69bc847b1ee3/go.mod h1:UcB9tWjBY7aryeI5zAgzVJB/6k7E97bkr1RgqDz0jPw=
179179
github.com/openshift/library-go v0.0.0-20241104153602-864cc9d1d646 h1:rQD7LQAwBdrAS81NR37a2kjJl8gqm5mBYhHa9BESBO4=
@@ -280,8 +280,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
280280
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
281281
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
282282
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
283-
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
284-
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
283+
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
284+
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
285285
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
286286
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
287287
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
@@ -304,8 +304,8 @@ golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81R
304304
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
305305
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
306306
golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
307-
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
308-
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
307+
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
308+
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
309309
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
310310
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
311311
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
@@ -316,8 +316,8 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ
316316
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
317317
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
318318
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
319-
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
320-
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
319+
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
320+
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
321321
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
322322
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
323323
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -332,16 +332,16 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc
332332
golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
333333
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
334334
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
335-
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
336-
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
335+
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
336+
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
337337
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
338-
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
339-
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
338+
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
339+
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
340340
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
341341
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
342342
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
343-
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
344-
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
343+
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
344+
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
345345
golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
346346
golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
347347
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -420,13 +420,15 @@ k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJ
420420
k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4=
421421
k8s.io/kubernetes v1.32.3 h1:2A58BlNME8NwsMawmnM6InYo3Jf35Nw5G79q46kXwoA=
422422
k8s.io/kubernetes v1.32.3/go.mod h1:GvhiBeolvSRzBpFlgM0z/Bbu3Oxs9w3P6XfEgYaMi8k=
423-
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
424-
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
423+
k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0=
424+
k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
425425
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcpeN4baWEV2ko2Z/AsiZgEdwgcfwLgMo=
426426
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw=
427-
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
428-
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
429-
sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA=
430-
sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
427+
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
428+
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
429+
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016 h1:kXv6kKdoEtedwuqMmkqhbkgvYKeycVbC8+iPCP9j5kQ=
430+
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
431+
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
432+
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
431433
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
432434
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=

hack/openapi-violation.list

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,12 @@ API rule violation: list_type_missing,github.com/openshift/api/build/v1,ImageSou
4545
API rule violation: list_type_missing,github.com/openshift/api/build/v1,JenkinsPipelineBuildStrategy,Env
4646
API rule violation: list_type_missing,github.com/openshift/api/build/v1,SourceBuildStrategy,Env
4747
API rule violation: list_type_missing,github.com/openshift/api/build/v1,StageInfo,Steps
48-
API rule violation: list_type_missing,github.com/openshift/api/config/v1,APIServerNamedServingCert,Names
49-
API rule violation: list_type_missing,github.com/openshift/api/config/v1,APIServerServingCerts,NamedCertificates
50-
API rule violation: list_type_missing,github.com/openshift/api/config/v1,APIServerSpec,AdditionalCORSAllowedOrigins
5148
API rule violation: list_type_missing,github.com/openshift/api/config/v1,AdmissionConfig,DisabledAdmissionPlugins
5249
API rule violation: list_type_missing,github.com/openshift/api/config/v1,AdmissionConfig,EnabledAdmissionPlugins
5350
API rule violation: list_type_missing,github.com/openshift/api/config/v1,BuildDefaults,Env
5451
API rule violation: list_type_missing,github.com/openshift/api/config/v1,BuildDefaults,ImageLabels
5552
API rule violation: list_type_missing,github.com/openshift/api/config/v1,BuildOverrides,ImageLabels
5653
API rule violation: list_type_missing,github.com/openshift/api/config/v1,BuildOverrides,Tolerations
57-
API rule violation: list_type_missing,github.com/openshift/api/config/v1,ClusterOperatorStatus,Conditions
5854
API rule violation: list_type_missing,github.com/openshift/api/config/v1,ClusterOperatorStatus,RelatedObjects
5955
API rule violation: list_type_missing,github.com/openshift/api/config/v1,ClusterOperatorStatus,Versions
6056
API rule violation: list_type_missing,github.com/openshift/api/config/v1,ComponentRouteStatus,ConsumingUsers

0 commit comments

Comments
 (0)