Skip to content

Commit 95d7e3b

Browse files
Merge pull request #324 from rabi/bump_bmo
Bump BMO to latest (v0.11.0)
2 parents 21d8ccf + 06445b7 commit 95d7e3b

File tree

7 files changed

+599
-474
lines changed

7 files changed

+599
-474
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ tidy: ## Run go mod tidy on every mod file in the repo
376376

377377
.PHONY: operator-lint
378378
operator-lint: gowork ## Runs operator-lint
379-
GOBIN=$(LOCALBIN) go install github.com/gibizer/operator-lint@v0.1.0
379+
GOBIN=$(LOCALBIN) go install github.com/gibizer/operator-lint@latest
380380
go vet -vettool=$(LOCALBIN)/operator-lint ./... ./api/...
381381

382382
# Used for webhook testing

api/v1beta1/openstackbaremetalset_types.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ type OpenStackBaremetalSetTemplateSpec struct {
6262
// +kubebuilder:validation:Optional
6363
// +kubebuilder:default=edpm-hardened-uefi.qcow2
6464
// OSImage - OS qcow2 image Name
65-
OSImage string `json:"osImage,omitempty"`
65+
OSImage string `json:"osImage"`
6666
// +kubebuilder:validation:Optional
6767
// OSContainerImageURL - Container image URL for init with the OS qcow2 image (osImage)
6868
OSContainerImageURL string `json:"osContainerImageUrl,omitempty"`
@@ -76,7 +76,7 @@ type OpenStackBaremetalSetTemplateSpec struct {
7676
// during provisioning and deprovisioning.
7777
// +kubebuilder:default=metadata
7878
// +kubebuilder:validation:Optional
79-
AutomatedCleaningMode AutomatedCleaningMode `json:"automatedCleaningMode,omitempty"`
79+
AutomatedCleaningMode AutomatedCleaningMode `json:"automatedCleaningMode"`
8080
// ProvisionServerName - Optional. Existing OpenStackProvisionServer to use, else one would be created.
8181
// +kubebuilder:validation:Optional
8282
ProvisionServerName string `json:"provisionServerName,omitempty"`
@@ -93,7 +93,7 @@ type OpenStackBaremetalSetTemplateSpec struct {
9393
// +kubebuilder:default=openshift-machine-api
9494
// +kubebuilder:validation:Optional
9595
// BmhNamespace Namespace to look for BaremetalHosts(default: openshift-machine-api)
96-
BmhNamespace string `json:"bmhNamespace,omitempty"`
96+
BmhNamespace string `json:"bmhNamespace"`
9797
// +kubebuilder:validation:Optional
9898
// BmhLabelSelector allows for a sub-selection of BaremetalHosts based on arbitrary labels
9999
BmhLabelSelector map[string]string `json:"bmhLabelSelector,omitempty"`

api/v1beta1/openstackbaremetalset_webhook.go

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -54,29 +54,31 @@ func (r *OpenStackBaremetalSet) SetupWebhookWithManager(mgr ctrl.Manager) error
5454
}
5555

5656
return ctrl.NewWebhookManagedBy(mgr).
57+
WithValidator(OpenStackBaremetalSetCustomValidator).
5758
For(r).
5859
Complete()
5960
}
6061

6162
// +kubebuilder:webhook:verbs=create;update;delete,path=/validate-baremetal-openstack-org-v1beta1-openstackbaremetalset,mutating=false,failurePolicy=fail,sideEffects=None,groups=baremetal.openstack.org,resources=openstackbaremetalsets,versions=v1beta1,name=vopenstackbaremetalset.kb.io,admissionReviewVersions=v1
6263

63-
var _ webhook.Validator = &OpenStackBaremetalSet{}
64+
var OpenStackBaremetalSetCustomValidator webhook.CustomValidator = &OpenStackBaremetalSet{}
6465

6566
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
66-
func (r *OpenStackBaremetalSet) ValidateCreate() (admission.Warnings, error) {
67-
openstackbaremetalsetlog.Info("validate create", "name", r.Name)
67+
func (r *OpenStackBaremetalSet) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error) {
68+
bmSet := obj.(*OpenStackBaremetalSet)
69+
openstackbaremetalsetlog.Info("validate create", "name", bmSet.Name)
6870
var errors field.ErrorList
6971
// Check if OpenStackBaremetalSet name matches RFC1123 for use in labels
7072
validate := validator.New()
71-
if err := validate.Var(r.Name, "hostname_rfc1123"); err != nil {
73+
if err := validate.Var(bmSet.Name, "hostname_rfc1123"); err != nil {
7274
openstackbaremetalsetlog.Error(err, "Error validating OpenStackBaremetalSet name, name must follow RFC1123")
7375
errors = append(errors, field.Invalid(
7476
field.NewPath("Name"),
75-
r.Name,
76-
fmt.Sprintf("Error validating OpenStackBaremetalSet name %s, name must follow RFC1123", r.Name)))
77+
bmSet.Name,
78+
fmt.Sprintf("Error validating OpenStackBaremetalSet name %s, name must follow RFC1123", bmSet.Name)))
7779
return nil, apierrors.NewInvalid(
7880
schema.GroupKind{Group: "baremetal.openstack.org", Kind: "OpenStackBaremetalSet"},
79-
r.Name,
81+
bmSet.Name,
8082
errors)
8183
}
8284

@@ -91,14 +93,14 @@ func (r *OpenStackBaremetalSet) ValidateCreate() (admission.Warnings, error) {
9193
baremetalHostsList, err := GetBaremetalHosts(
9294
context.TODO(),
9395
webhookClient,
94-
r.Spec.BmhNamespace,
95-
r.Spec.BmhLabelSelector,
96+
bmSet.Spec.BmhNamespace,
97+
bmSet.Spec.BmhLabelSelector,
9698
)
9799
if err != nil {
98100
return nil, err
99101
}
100102

101-
if _, err := VerifyBaremetalSetScaleUp(openstackbaremetalsetlog, r, baremetalHostsList, &metal3v1.BareMetalHostList{}); err != nil {
103+
if _, err := VerifyBaremetalSetScaleUp(openstackbaremetalsetlog, bmSet, baremetalHostsList, &metal3v1.BareMetalHostList{}); err != nil {
102104
return nil, err
103105
}
104106

@@ -136,8 +138,9 @@ func (spec OpenStackBaremetalSetTemplateSpec) ValidateTemplate(oldCount int, old
136138
}
137139

138140
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
139-
func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
140-
openstackbaremetalsetlog.Info("validate update", "name", r.Name)
141+
func (r *OpenStackBaremetalSet) ValidateUpdate(ctx context.Context,
142+
old runtime.Object, new runtime.Object) (admission.Warnings, error) {
143+
openstackbaremetalsetlog.Info("validate update", "name", old.(*OpenStackBaremetalSet).Name)
141144

142145
var ok bool
143146
var oldInstance *OpenStackBaremetalSet
@@ -146,7 +149,7 @@ func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Wa
146149
return nil, fmt.Errorf("runtime object is not an OpenStackBaremetalSet")
147150
}
148151

149-
if err := r.Spec.ValidateTemplate(len(oldInstance.Spec.BaremetalHosts),
152+
if err := oldInstance.Spec.ValidateTemplate(len(oldInstance.Spec.BaremetalHosts),
150153
oldInstance.Spec.OpenStackBaremetalSetTemplateSpec); err != nil {
151154
return nil, err
152155
}
@@ -156,7 +159,8 @@ func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Wa
156159
// We do this to maintain consistency across the gathered list of BMHs during reconcile.
157160
//
158161
oldCount := len(oldInstance.Spec.BaremetalHosts)
159-
newCount := len(r.Spec.BaremetalHosts)
162+
newInstance := new.(*OpenStackBaremetalSet)
163+
newCount := len(newInstance.Spec.BaremetalHosts)
160164

161165
if newCount != oldCount {
162166
//
@@ -166,7 +170,7 @@ func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Wa
166170
// operations for scaling up or down.
167171
//
168172
// TODO: Create a specific context here instead of passing TODO()?
169-
if err := VerifyAndSyncBaremetalStatusBmhRefs(context.TODO(), webhookClient, r); err != nil {
173+
if err := VerifyAndSyncBaremetalStatusBmhRefs(context.TODO(), webhookClient, oldInstance); err != nil {
170174
return nil, err
171175
}
172176

@@ -178,8 +182,8 @@ func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Wa
178182
baremetalHostsList, err := GetBaremetalHosts(
179183
context.TODO(),
180184
webhookClient,
181-
r.Spec.BmhNamespace,
182-
r.Spec.BmhLabelSelector,
185+
oldInstance.Spec.BmhNamespace,
186+
oldInstance.Spec.BmhLabelSelector,
183187
)
184188
if err != nil {
185189
return nil, err
@@ -189,14 +193,14 @@ func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Wa
189193
existingBaremetalHosts, err := GetBaremetalHosts(
190194
context.TODO(),
191195
webhookClient,
192-
r.Spec.BmhNamespace,
193-
labels.GetLabels(r, labels.GetGroupLabel(ServiceName), map[string]string{}),
196+
oldInstance.Spec.BmhNamespace,
197+
labels.GetLabels(oldInstance, labels.GetGroupLabel(ServiceName), map[string]string{}),
194198
)
195199
if err != nil {
196200
return nil, err
197201
}
198202

199-
if _, err := VerifyBaremetalSetScaleUp(openstackbaremetalsetlog, r, baremetalHostsList, existingBaremetalHosts); err != nil {
203+
if _, err := VerifyBaremetalSetScaleUp(openstackbaremetalsetlog, newInstance, baremetalHostsList, existingBaremetalHosts); err != nil {
200204
return nil, err
201205
}
202206
}
@@ -206,8 +210,8 @@ func (r *OpenStackBaremetalSet) ValidateUpdate(old runtime.Object) (admission.Wa
206210
}
207211

208212
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
209-
func (r *OpenStackBaremetalSet) ValidateDelete() (admission.Warnings, error) {
210-
openstackbaremetalsetlog.Info("validate delete", "name", r.Name)
213+
func (r *OpenStackBaremetalSet) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error) {
214+
openstackbaremetalsetlog.Info("validate delete", "name", obj.(*OpenStackBaremetalSet).Name)
211215

212216
return nil, nil
213217
}

api/v1beta1/openstackprovisionserver_webhook.go

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,47 +53,50 @@ func (r *OpenStackProvisionServer) SetupWebhookWithManager(mgr ctrl.Manager) err
5353
}
5454

5555
return ctrl.NewWebhookManagedBy(mgr).
56+
WithValidator(OpenStackProvisionServerCustomValidator).
57+
WithDefaulter(OpenStackProvisionServerCustomDefaulter).
5658
For(r).
5759
Complete()
5860
}
5961

6062
//+kubebuilder:webhook:path=/validate-baremetal-openstack-org-v1beta1-openstackprovisionserver,mutating=false,failurePolicy=fail,sideEffects=None,groups=baremetal.openstack.org,resources=openstackprovisionservers,verbs=create;update,versions=v1beta1,name=vopenstackprovisionserver.kb.io,admissionReviewVersions=v1
6163

62-
var _ webhook.Validator = &OpenStackProvisionServer{}
64+
var OpenStackProvisionServerCustomValidator webhook.CustomValidator = &OpenStackProvisionServer{}
6365

6466
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
65-
func (r *OpenStackProvisionServer) ValidateCreate() (admission.Warnings, error) {
66-
openstackprovisionserverlog.Info("validate create", "name", r.Name)
67+
func (r *OpenStackProvisionServer) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error) {
68+
provServer := obj.(*OpenStackProvisionServer)
69+
openstackprovisionserverlog.Info("validate create", "name", provServer.Name)
6770
var errors field.ErrorList
6871
// Check if OpenStackProvisionServer name matches RFC1123 for use in labels
6972
validate := validator.New()
70-
if err := validate.Var(r.Name, "hostname_rfc1123"); err != nil {
73+
if err := validate.Var(provServer.Name, "hostname_rfc1123"); err != nil {
7174
openstackprovisionserverlog.Error(err, "Error validating OpenStackProvisionServer name, name must follow RFC1123")
7275
errors = append(errors, field.Invalid(
7376
field.NewPath("Name"),
74-
r.Name,
75-
fmt.Sprintf("Error validating OpenStackProvisionServer name %s, name must follow RFC1123", r.Name)))
77+
provServer.Name,
78+
fmt.Sprintf("Error validating OpenStackProvisionServer name %s, name must follow RFC1123", provServer.Name)))
7679
}
7780

78-
return nil, r.validateCr()
81+
return nil, r.validateCr(provServer)
7982
}
8083

8184
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
82-
func (r *OpenStackProvisionServer) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
83-
openstackprovisionserverlog.Info("validate update", "name", r.Name)
85+
func (r *OpenStackProvisionServer) ValidateUpdate(ctx context.Context, old runtime.Object, new runtime.Object) (admission.Warnings, error) {
86+
openstackprovisionserverlog.Info("validate update", "name", old.(*OpenStackProvisionServer).Name)
8487

85-
return nil, r.validateCr()
88+
return nil, r.validateCr(old.(*OpenStackProvisionServer))
8689
}
8790

88-
func (r *OpenStackProvisionServer) validateCr() error {
91+
func (r *OpenStackProvisionServer) validateCr(oldInstance *OpenStackProvisionServer) error {
8992
// TODO: Create a specific context here instead of passing TODO()?
90-
existingPorts, err := GetExistingProvServerPorts(context.TODO(), webhookClient, r)
93+
existingPorts, err := GetExistingProvServerPorts(context.TODO(), webhookClient, oldInstance)
9194
if err != nil {
9295
return err
9396
}
9497

9598
for name, port := range existingPorts {
96-
namespacedName := types.NamespacedName{Namespace: r.Namespace, Name: r.Name}
99+
namespacedName := types.NamespacedName{Namespace: oldInstance.Namespace, Name: oldInstance.Name}
97100
if port == r.Spec.Port && name != namespacedName.String() {
98101
return fmt.Errorf("port %d is already in use by another OpenStackProvisionServer: %s", port, name)
99102
}
@@ -103,20 +106,20 @@ func (r *OpenStackProvisionServer) validateCr() error {
103106
}
104107

105108
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
106-
func (r *OpenStackProvisionServer) ValidateDelete() (admission.Warnings, error) {
107-
openstackprovisionserverlog.Info("validate delete", "name", r.Name)
109+
func (r *OpenStackProvisionServer) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error) {
110+
openstackprovisionserverlog.Info("validate delete", "name", obj.(*OpenStackProvisionServer).Name)
108111

109112
return nil, nil
110113
}
111114

112115
//+kubebuilder:webhook:path=/mutate-baremetal-openstack-org-v1beta1-openstackprovisionserver,mutating=true,failurePolicy=fail,sideEffects=None,groups=baremetal.openstack.org,resources=openstackprovisionservers,verbs=create;update,versions=v1beta1,name=mopenstackprovisionserver.kb.io,admissionReviewVersions=v1
113116

114-
var _ webhook.Defaulter = &OpenStackProvisionServer{}
117+
var OpenStackProvisionServerCustomDefaulter webhook.CustomDefaulter = &OpenStackProvisionServer{}
115118

116119
// Default implements webhook.Defaulter so a webhook will be registered for the type
117-
func (r *OpenStackProvisionServer) Default() {
118-
openstackprovisionserverlog.Info("default", "name", r.Name)
119-
120+
func (r *OpenStackProvisionServer) Default(ctx context.Context, obj runtime.Object) error {
121+
openstackprovisionserverlog.Info("default", "name", obj.(*OpenStackProvisionServer).Name)
122+
var err error
120123
if r.Spec.OSContainerImageURL == "" {
121124
r.Spec.OSContainerImageURL = openstackProvisionServerDefaults.OSContainerImageURL
122125
}
@@ -130,14 +133,16 @@ func (r *OpenStackProvisionServer) Default() {
130133
r.Spec.OSImage = openstackProvisionServerDefaults.OSImage
131134
}
132135
if r.Spec.Port == 0 {
133-
err := AssignProvisionServerPort(context.TODO(), webhookClient, r,
136+
err = AssignProvisionServerPort(context.TODO(), webhookClient, obj.(*OpenStackProvisionServer),
134137
ProvisionServerPortStart, ProvisionServerPortEnd)
135138
if err != nil {
136139
// If this occurs, it will also be caught just after this defaulting webhook in the
137140
// validating webhook, because that webhook calls the same underlying function that
138141
// checks for the availability of ports. That will cause the create/update of the
139142
// CR to fail and halt moving forward.
140-
openstackprovisionserverlog.Error(err, "Cannot assign port for OpenStackProvisionServer", "OpenStackProvisionServer", r)
143+
openstackprovisionserverlog.Error(err, "Cannot assign port for OpenStackProvisionServer", "OpenStackProvisionServer",
144+
obj.(*OpenStackProvisionServer))
141145
}
142146
}
147+
return err
143148
}

go.mod

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
11
module github.com/openstack-k8s-operators/openstack-baremetal-operator
22

3-
go 1.24
3+
go 1.24.0
44

55
require (
66
github.com/blang/semver v3.5.1+incompatible
77
github.com/go-logr/logr v1.4.3
88
github.com/golang/glog v1.2.5
99
github.com/google/uuid v1.6.0
10-
github.com/metal3-io/baremetal-operator/apis v0.6.3
11-
github.com/onsi/ginkgo/v2 v2.20.1
12-
github.com/onsi/gomega v1.34.1
10+
github.com/metal3-io/baremetal-operator/apis v0.11.0
11+
github.com/onsi/ginkgo/v2 v2.22.0
12+
github.com/onsi/gomega v1.36.1
1313
github.com/openstack-k8s-operators/lib-common/modules/common v0.6.1-0.20250922082314-c83d83092a04
1414
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.0.0-00010101000000-000000000000
1515
github.com/spf13/cobra v1.10.1
16-
k8s.io/api v0.31.12
17-
k8s.io/apimachinery v0.31.12
18-
k8s.io/client-go v0.31.12
16+
k8s.io/api v0.33.5
17+
k8s.io/apimachinery v0.33.5
18+
k8s.io/client-go v0.33.0
1919
k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d
20-
sigs.k8s.io/controller-runtime v0.19.7
20+
sigs.k8s.io/controller-runtime v0.21.0
2121
)
2222

2323
require (
2424
github.com/beorn7/perks v1.0.1 // indirect
25+
github.com/blang/semver/v4 v4.0.0 // indirect
2526
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2627
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2728
github.com/emicklei/go-restful/v3 v3.12.0 // indirect
28-
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
29+
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
2930
github.com/fsnotify/fsnotify v1.7.0 // indirect
3031
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
3132
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
@@ -38,52 +39,49 @@ require (
3839
github.com/go-playground/validator/v10 v10.25.0 // indirect
3940
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
4041
github.com/gogo/protobuf v1.3.2 // indirect
41-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
42-
github.com/golang/protobuf v1.5.4 // indirect
43-
github.com/google/gnostic-models v0.6.8 // indirect
44-
github.com/google/go-cmp v0.6.0 // indirect
45-
github.com/google/gofuzz v1.2.0 // indirect
46-
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 // indirect
47-
github.com/imdario/mergo v0.3.16 // indirect
42+
github.com/google/btree v1.1.3 // indirect
43+
github.com/google/gnostic-models v0.6.9 // indirect
44+
github.com/google/go-cmp v0.7.0 // indirect
45+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
4846
github.com/inconshreveable/mousetrap v1.1.0 // indirect
4947
github.com/josharian/intern v1.0.0 // indirect
5048
github.com/json-iterator/go v1.1.12 // indirect
5149
github.com/k8snetworkplumbingwg/network-attachment-definition-client v1.7.7 // indirect
5250
github.com/leodido/go-urn v1.4.0 // indirect
5351
github.com/mailru/easyjson v0.7.7 // indirect
54-
github.com/metal3-io/baremetal-operator/pkg/hardwareutils v0.5.1 // indirect
5552
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5653
github.com/modern-go/reflect2 v1.0.2 // indirect
5754
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
5855
github.com/openshift/api v3.9.0+incompatible // indirect
5956
github.com/pkg/errors v0.9.1 // indirect
60-
github.com/prometheus/client_golang v1.19.1 // indirect
57+
github.com/prometheus/client_golang v1.22.0 // indirect
6158
github.com/prometheus/client_model v0.6.1 // indirect
62-
github.com/prometheus/common v0.55.0 // indirect
59+
github.com/prometheus/common v0.62.0 // indirect
6360
github.com/prometheus/procfs v0.15.1 // indirect
6461
github.com/spf13/pflag v1.0.9 // indirect
6562
github.com/x448/float16 v0.8.4 // indirect
6663
go.uber.org/multierr v1.11.0 // indirect
6764
go.uber.org/zap v1.27.0 // indirect
68-
golang.org/x/crypto v0.33.0 // indirect
69-
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
70-
golang.org/x/net v0.34.0 // indirect
71-
golang.org/x/oauth2 v0.21.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.5.0 // indirect
76-
golang.org/x/tools v0.24.0 // indirect
65+
golang.org/x/crypto v0.36.0 // indirect
66+
golang.org/x/net v0.38.0 // indirect
67+
golang.org/x/oauth2 v0.27.0 // indirect
68+
golang.org/x/sync v0.12.0 // indirect
69+
golang.org/x/sys v0.31.0 // indirect
70+
golang.org/x/term v0.30.0 // indirect
71+
golang.org/x/text v0.23.0 // indirect
72+
golang.org/x/time v0.9.0 // indirect
73+
golang.org/x/tools v0.26.0 // indirect
7774
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
78-
google.golang.org/protobuf v1.34.2 // indirect
75+
google.golang.org/protobuf v1.36.5 // indirect
76+
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
7977
gopkg.in/inf.v0 v0.9.1 // indirect
80-
gopkg.in/yaml.v2 v2.4.0 // indirect
8178
gopkg.in/yaml.v3 v3.0.1 // indirect
82-
k8s.io/apiextensions-apiserver v0.31.0 // indirect
79+
k8s.io/apiextensions-apiserver v0.33.0 // indirect
8380
k8s.io/klog/v2 v2.130.1 // indirect
84-
k8s.io/kube-openapi v0.0.0-20240322212309-b815d8309940 // indirect
85-
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
86-
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
81+
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
82+
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
83+
sigs.k8s.io/randfill v1.0.0 // indirect
84+
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
8785
sigs.k8s.io/yaml v1.4.0 // indirect
8886
)
8987

0 commit comments

Comments
 (0)