Skip to content

Commit 336a0cc

Browse files
committed
Use k8s 1.32 client libs
Signed-off-by: Tamal Saha <[email protected]>
1 parent e730518 commit 336a0cc

File tree

2,582 files changed

+216943
-88303
lines changed

Some content is hidden

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

2,582 files changed

+216943
-88303
lines changed

builder/builder.go

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,12 @@ var log = logf.Log.WithName("webhook-runtime")
3030

3131
// WebhookBuilder builds a Webhook.
3232
type WebhookBuilder struct {
33-
apiType runtime.Object
34-
gk schema.GroupKind
35-
scheme *runtime.Scheme
33+
apiType runtime.Object
34+
gk schema.GroupKind
35+
scheme *runtime.Scheme
36+
customDefaulter admission.CustomDefaulter
37+
customDefaulterOpts []admission.DefaulterOption
38+
customValidator admission.CustomValidator
3639
}
3740

3841
// WebhookManagedBy allows inform its Scheme and RESTMapper.
@@ -50,6 +53,20 @@ func (blder *WebhookBuilder) For(apiType runtime.Object) *WebhookBuilder {
5053
return blder
5154
}
5255

56+
// WithDefaulter takes an admission.CustomDefaulter interface, a MutatingWebhook with the provided opts (admission.DefaulterOption)
57+
// will be wired for this type.
58+
func (blder *WebhookBuilder) WithDefaulter(defaulter admission.CustomDefaulter, opts ...admission.DefaulterOption) *WebhookBuilder {
59+
blder.customDefaulter = defaulter
60+
blder.customDefaulterOpts = opts
61+
return blder
62+
}
63+
64+
// WithValidator takes a admission.CustomValidator interface, a ValidatingWebhook will be wired for this type.
65+
func (blder *WebhookBuilder) WithValidator(validator admission.CustomValidator) *WebhookBuilder {
66+
blder.customValidator = validator
67+
return blder
68+
}
69+
5370
// Complete builds the webhook.
5471
func (blder *WebhookBuilder) Complete() (hooks.AdmissionHook, hooks.AdmissionHook, error) {
5572
// Create webhook(s) for each type
@@ -64,13 +81,10 @@ func (blder *WebhookBuilder) Complete() (hooks.AdmissionHook, hooks.AdmissionHoo
6481

6582
// registerDefaultingWebhook registers a defaulting webhook if th.
6683
func (blder *WebhookBuilder) registerDefaultingWebhook() hooks.AdmissionHook {
67-
defaulter, isDefaulter := blder.apiType.(admission.Defaulter)
68-
if !isDefaulter {
69-
log.Info("skip registering a mutating webhook, admission.Defaulter interface is not implemented", "GK", blder.gk)
84+
if blder.customValidator == nil {
7085
return nil
7186
}
72-
73-
mwh := admission.DefaultingWebhookFor(blder.scheme, defaulter)
87+
mwh := admission.WithCustomDefaulter(blder.scheme, blder.apiType, blder.customDefaulter, blder.customDefaulterOpts...)
7488
return &webhook{
7589
prefix: MutatorGroupPrefix,
7690
gk: blder.gk,
@@ -79,13 +93,10 @@ func (blder *WebhookBuilder) registerDefaultingWebhook() hooks.AdmissionHook {
7993
}
8094

8195
func (blder *WebhookBuilder) registerValidatingWebhook() hooks.AdmissionHook {
82-
checker, isValidator := blder.apiType.(admission.Validator)
83-
if !isValidator {
84-
log.Info("skip registering a validating webhook, admission.Validator interface is not implemented", "GK", blder.gk)
96+
if blder.customValidator == nil {
8597
return nil
8698
}
87-
88-
vwh := admission.ValidatingWebhookFor(blder.scheme, checker)
99+
vwh := admission.WithCustomValidator(blder.scheme, blder.apiType, blder.customValidator)
89100
return &webhook{
90101
prefix: ValidatorGroupPrefix,
91102
gk: blder.gk,

go.mod

Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,90 @@
11
module kmodules.xyz/webhook-runtime
22

3-
go 1.22.0
3+
go 1.23.0
44

5-
toolchain go1.22.2
5+
toolchain go1.24.0
66

77
require (
8-
github.com/evanphx/json-patch v5.7.0+incompatible
8+
github.com/evanphx/json-patch v5.9.11+incompatible
99
github.com/json-iterator/go v1.1.12
1010
gomodules.xyz/jsonpatch/v2 v2.4.0
11-
k8s.io/api v0.29.2
12-
k8s.io/apimachinery v0.29.2
13-
k8s.io/apiserver v0.29.2
14-
k8s.io/client-go v0.29.2
15-
k8s.io/klog/v2 v2.120.1
16-
k8s.io/kubernetes v0.0.0-00010101000000-000000000000
17-
kmodules.xyz/client-go v0.29.13
11+
k8s.io/api v0.32.2
12+
k8s.io/apimachinery v0.32.2
13+
k8s.io/apiserver v0.32.2
14+
k8s.io/client-go v0.32.2
15+
k8s.io/klog/v2 v2.130.1
16+
k8s.io/kubernetes v1.32.2
17+
kmodules.xyz/client-go v0.30.47-0.20250302101702-ef36725e9e6e
1818
kmodules.xyz/openshift v0.29.0
19-
sigs.k8s.io/controller-runtime v0.17.2
19+
sigs.k8s.io/controller-runtime v0.20.2
2020
)
2121

2222
require (
23-
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 // indirect
24-
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
25-
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
26-
github.com/nxadm/tail v1.4.11 // indirect
27-
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
28-
github.com/rogpeppe/go-internal v1.11.0 // indirect
29-
github.com/zeebo/xxh3 v1.0.2 // indirect
30-
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect
31-
)
32-
33-
require (
34-
github.com/Masterminds/semver/v3 v3.2.1 // indirect
23+
github.com/Masterminds/semver/v3 v3.3.1 // indirect
3524
github.com/beorn7/perks v1.0.1 // indirect
3625
github.com/blang/semver/v4 v4.0.0 // indirect
37-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
26+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
3827
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
39-
github.com/distribution/reference v0.5.0 // indirect
40-
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
41-
github.com/evanphx/json-patch/v5 v5.8.0 // indirect
28+
github.com/distribution/reference v0.6.0 // indirect
29+
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
30+
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
4231
github.com/fatih/structs v1.1.0 // indirect
43-
github.com/go-logr/logr v1.4.1 // indirect
44-
github.com/go-openapi/jsonpointer v0.20.0 // indirect
45-
github.com/go-openapi/jsonreference v0.20.2 // indirect
46-
github.com/go-openapi/swag v0.22.4 // indirect
32+
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
33+
github.com/go-logr/logr v1.4.2 // indirect
34+
github.com/go-openapi/jsonpointer v0.21.0 // indirect
35+
github.com/go-openapi/jsonreference v0.21.0 // indirect
36+
github.com/go-openapi/swag v0.23.0 // indirect
4737
github.com/gogo/protobuf v1.3.2 // indirect
4838
github.com/golang/protobuf v1.5.4 // indirect
49-
github.com/google/gnostic-models v0.6.8 // indirect
39+
github.com/google/gnostic-models v0.6.9 // indirect
5040
github.com/google/go-cmp v0.6.0 // indirect
5141
github.com/google/gofuzz v1.2.0 // indirect
5242
github.com/google/uuid v1.6.0 // indirect
5343
github.com/imdario/mergo v0.3.16 // indirect
44+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
5445
github.com/josharian/intern v1.0.0 // indirect
46+
github.com/klauspost/compress v1.17.11 // indirect
47+
github.com/klauspost/cpuid/v2 v2.0.9 // indirect
5548
github.com/mailru/easyjson v0.7.7 // indirect
5649
github.com/mattn/go-isatty v0.0.16 // indirect
5750
github.com/mitchellh/mapstructure v1.5.0 // indirect
5851
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5952
github.com/modern-go/reflect2 v1.0.2 // indirect
6053
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
54+
github.com/nxadm/tail v1.4.11 // indirect
6155
github.com/opencontainers/go-digest v1.0.0 // indirect
6256
github.com/pkg/errors v0.9.1 // indirect
63-
github.com/prometheus/client_golang v1.18.0 // indirect
64-
github.com/prometheus/client_model v0.5.0 // indirect
65-
github.com/prometheus/common v0.45.0 // indirect
66-
github.com/prometheus/procfs v0.12.0 // indirect
57+
github.com/prometheus/client_golang v1.20.5 // indirect
58+
github.com/prometheus/client_model v0.6.1 // indirect
59+
github.com/prometheus/common v0.55.0 // indirect
60+
github.com/prometheus/procfs v0.15.1 // indirect
6761
github.com/sergi/go-diff v1.2.0 // indirect
68-
github.com/spf13/pflag v1.0.5 // indirect
62+
github.com/spf13/cobra v1.8.1 // indirect
63+
github.com/spf13/pflag v1.0.6 // indirect
64+
github.com/x448/float16 v0.8.4 // indirect
6965
github.com/yudai/gojsondiff v1.0.0 // indirect
7066
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
71-
golang.org/x/net v0.23.0 // indirect
72-
golang.org/x/oauth2 v0.15.0 // indirect
73-
golang.org/x/sys v0.18.0 // indirect
74-
golang.org/x/term v0.18.0 // indirect
75-
golang.org/x/text v0.14.0 // indirect
76-
golang.org/x/time v0.5.0 // indirect
77-
google.golang.org/appengine v1.6.8 // indirect
78-
google.golang.org/protobuf v1.33.0 // indirect
67+
github.com/zeebo/xxh3 v1.0.2 // indirect
68+
go.opentelemetry.io/otel v1.33.0 // indirect
69+
go.opentelemetry.io/otel/trace v1.33.0 // indirect
70+
golang.org/x/net v0.35.0 // indirect
71+
golang.org/x/oauth2 v0.27.0 // indirect
72+
golang.org/x/sys v0.30.0 // indirect
73+
golang.org/x/term v0.29.0 // indirect
74+
golang.org/x/text v0.22.0 // indirect
75+
golang.org/x/time v0.10.0 // indirect
76+
google.golang.org/protobuf v1.36.3 // indirect
77+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
7978
gopkg.in/inf.v0 v0.9.1 // indirect
80-
gopkg.in/yaml.v2 v2.4.0 // indirect
8179
gopkg.in/yaml.v3 v3.0.1 // indirect
82-
k8s.io/apiextensions-apiserver v0.29.2 // indirect
83-
k8s.io/component-base v0.29.2 // indirect
84-
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
85-
k8s.io/utils v0.0.0-20240102154912-e7106e64919e // indirect
80+
k8s.io/apiextensions-apiserver v0.32.2 // indirect
81+
k8s.io/component-base v0.32.2 // indirect
82+
k8s.io/component-helpers v0.32.2 // indirect
83+
k8s.io/controller-manager v0.32.2 // indirect
84+
k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 // indirect
85+
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
8686
kmodules.xyz/apiversion v0.2.0 // indirect
87-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
88-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
87+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
88+
sigs.k8s.io/structured-merge-diff/v4 v4.4.3 // indirect
8989
sigs.k8s.io/yaml v1.4.0 // indirect
9090
)
91-
92-
replace k8s.io/kubernetes => github.com/kmodules/kubernetes v1.30.0-alpha.0.0.20231224075822-3bd9a13c86db

0 commit comments

Comments
 (0)