Skip to content

Commit 64a741b

Browse files
Merge pull request #262 from stuggi/update_validatecertsecrets
Update tls cert secret validation due VerifyCertSecrets() change
2 parents 497caae + 938f56b commit 64a741b

File tree

5 files changed

+99
-63
lines changed

5 files changed

+99
-63
lines changed

api/go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ go 1.20
44

55
require (
66
github.com/go-logr/logr v1.4.2
7-
github.com/onsi/ginkgo/v2 v2.20.0
7+
github.com/onsi/ginkgo/v2 v2.20.1
88
github.com/onsi/gomega v1.34.1
9-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240808095747-579da98fa7a6
10-
k8s.io/api v0.28.12
11-
k8s.io/apimachinery v0.28.12
12-
k8s.io/client-go v0.28.12
9+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6
10+
k8s.io/api v0.28.13
11+
k8s.io/apimachinery v0.28.13
12+
k8s.io/client-go v0.28.13
1313
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
1414
sigs.k8s.io/controller-runtime v0.16.6
1515
)
@@ -66,8 +66,8 @@ require (
6666
gopkg.in/inf.v0 v0.9.1 // indirect
6767
gopkg.in/yaml.v2 v2.4.0 // indirect
6868
gopkg.in/yaml.v3 v3.0.1 // indirect
69-
k8s.io/apiextensions-apiserver v0.28.12 // indirect
70-
k8s.io/component-base v0.28.12 // indirect
69+
k8s.io/apiextensions-apiserver v0.28.13 // indirect
70+
k8s.io/component-base v0.28.13 // indirect
7171
k8s.io/klog/v2 v2.110.1 // indirect
7272
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
7373
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect

api/go.sum

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,14 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
7777
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
7878
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
7979
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
80-
github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
81-
github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
80+
github.com/onsi/ginkgo/v2 v2.20.1 h1:YlVIbqct+ZmnEph770q9Q7NVAz4wwIiVNahee6JyUzo=
81+
github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
8282
github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
8383
github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
8484
github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxCMwNRnMjhhIDOWHJowi6q8G6koI=
8585
github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4=
86-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240808095747-579da98fa7a6 h1:QrqPZPnJuJoYRFXL3aE4b+onLjjEUq8b3JjuptUkOoE=
87-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240808095747-579da98fa7a6/go.mod h1:hCT/Ba8kRkRB23d07YEsCzELsYcJGpD/Uw4NDh+LD6w=
86+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6 h1:VSbVNzUa41hybq/lZi0L8bNv/yzYyNylc8yKSEO+ZCA=
87+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6/go.mod h1:6zxa5xg9uvpObVKFSJa/SA+vDDlgh0Q1aswxDB2XbxU=
8888
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
8989
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
9090
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -197,16 +197,16 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
197197
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
198198
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
199199
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
200-
k8s.io/api v0.28.12 h1:C2hpsaso18pqn0Dmkfnbv/YCctozTC3KGGuZ6bF7zhQ=
201-
k8s.io/api v0.28.12/go.mod h1:qjswI+whxvf9LAKD4sEYHfy+WgHGWeH+H5sCRQMwZAQ=
202-
k8s.io/apiextensions-apiserver v0.28.12 h1:6GA64rylk5q0mbXfHHFVgfL1jx/4p6RU+Y+ni2DUuZc=
203-
k8s.io/apiextensions-apiserver v0.28.12/go.mod h1:Len29ySvb/fnrXvioTxg2l6iFi97B53Bm3/jBMBllCE=
204-
k8s.io/apimachinery v0.28.12 h1:VepMEVOi9o7L/4wMAXJq+3BK9tqBIeerTB+HSOTKeo0=
205-
k8s.io/apimachinery v0.28.12/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o=
206-
k8s.io/client-go v0.28.12 h1:li7iRPRQF3vDki6gTxT/kXWJvw3BkJSdjVPVhDTZQec=
207-
k8s.io/client-go v0.28.12/go.mod h1:yEzH2Z+nEGlrnKyHJWcJsbOr5tGdIj04dj1TVQOg0wE=
208-
k8s.io/component-base v0.28.12 h1:ZNq6QFFGCPjaAzWqYHaQRoAY5seoK3vP0pZOjgxOzNc=
209-
k8s.io/component-base v0.28.12/go.mod h1:8zI5TmGuHX6R5Lay61Ox7wb+dsEENl0NBmVSiHMQu1c=
200+
k8s.io/api v0.28.13 h1:0Sw8MjdkmrJAF/uVv09HXSZ3cQauVyZHQWKt8hiiKo4=
201+
k8s.io/api v0.28.13/go.mod h1:7hlRF5wArzXf0qbRRT2TMtHRa5SHBEVJhA02JpTxj9Q=
202+
k8s.io/apiextensions-apiserver v0.28.13 h1:+Q3jtMXBxvURuW0tzW1UsZMPud3T4OvgVPuI/uQUEQ8=
203+
k8s.io/apiextensions-apiserver v0.28.13/go.mod h1:yThTxyuc0ba1rXKZNK2aQNIbFxmGcU+CPc8YB40IGj0=
204+
k8s.io/apimachinery v0.28.13 h1:0O2mk2i0Yi+xkron0lK//biI21F1eGXb4eXECLU5v7g=
205+
k8s.io/apimachinery v0.28.13/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o=
206+
k8s.io/client-go v0.28.13 h1:kHgFOxWwAsa8VxL6Oylo10V6euobub9Jo0wyEWrhrWk=
207+
k8s.io/client-go v0.28.13/go.mod h1:IudvInbWfd+6WLreEVnBnZJCGFaSROCFbny9jFTkk7g=
208+
k8s.io/component-base v0.28.13 h1:hNgX2QcMt7Z5vy/9MB2rodbvBJj6H4Jq1JZDqGvVuf8=
209+
k8s.io/component-base v0.28.13/go.mod h1:G37g+bIAcjV2cAMEpFG2SEN7NgRFMizqSksOLpPN2bM=
210210
k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
211211
k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
212212
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ=

controllers/galera_controller.go

Lines changed: 57 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -554,29 +554,65 @@ func (r *GaleraReconciler) Reconcile(ctx context.Context, req ctrl.Request) (res
554554
}
555555
instance.Status.Conditions.MarkTrue(condition.InputReadyCondition, condition.InputReadyMessage)
556556

557-
var certHash, caHash string
558-
specTLS := &instance.Spec.TLS
559-
if err == nil && specTLS.Enabled() {
560-
certHash, _, err = specTLS.GenericService.ValidateCertSecret(ctx, helper, instance.Namespace)
561-
inputHashEnv["Cert"] = env.SetValue(certHash)
562-
}
563-
if err == nil && specTLS.Ca.CaBundleSecretName != "" {
564-
caName := types.NamespacedName{
565-
Name: specTLS.Ca.CaBundleSecretName,
566-
Namespace: instance.Namespace,
557+
//
558+
// TLS input validation
559+
//
560+
// Validate the CA cert secret if provided
561+
if instance.Spec.TLS.CaBundleSecretName != "" {
562+
hash, err := tls.ValidateCACertSecret(
563+
ctx,
564+
helper.GetClient(),
565+
types.NamespacedName{
566+
Name: instance.Spec.TLS.CaBundleSecretName,
567+
Namespace: instance.Namespace,
568+
},
569+
)
570+
if err != nil {
571+
if k8s_errors.IsNotFound(err) {
572+
instance.Status.Conditions.Set(condition.FalseCondition(
573+
condition.TLSInputReadyCondition,
574+
condition.RequestedReason,
575+
condition.SeverityInfo,
576+
fmt.Sprintf(condition.TLSInputReadyWaitingMessage, instance.Spec.TLS.CaBundleSecretName)))
577+
return ctrl.Result{}, nil
578+
}
579+
instance.Status.Conditions.Set(condition.FalseCondition(
580+
condition.TLSInputReadyCondition,
581+
condition.ErrorReason,
582+
condition.SeverityWarning,
583+
condition.TLSInputErrorMessage,
584+
err.Error()))
585+
return ctrl.Result{}, err
586+
}
587+
588+
if hash != "" {
589+
inputHashEnv["CA"] = env.SetValue(hash)
567590
}
568-
caHash, _, err = tls.ValidateCACertSecret(ctx, helper.GetClient(), caName)
569-
inputHashEnv["CA"] = env.SetValue(caHash)
570591
}
571-
if err != nil {
572-
instance.Status.Conditions.Set(condition.FalseCondition(
573-
condition.TLSInputReadyCondition,
574-
condition.ErrorReason,
575-
condition.SeverityWarning,
576-
condition.TLSInputErrorMessage,
577-
err.Error()))
578-
return ctrl.Result{}, fmt.Errorf("error calculating input hash: %w", err)
592+
593+
// Validate service cert secret
594+
if instance.Spec.TLS.Enabled() {
595+
hash, err := instance.Spec.TLS.ValidateCertSecret(ctx, helper, instance.Namespace)
596+
if err != nil {
597+
if k8s_errors.IsNotFound(err) {
598+
instance.Status.Conditions.Set(condition.FalseCondition(
599+
condition.TLSInputReadyCondition,
600+
condition.RequestedReason,
601+
condition.SeverityInfo,
602+
fmt.Sprintf(condition.TLSInputReadyWaitingMessage, err.Error())))
603+
return ctrl.Result{}, nil
604+
}
605+
instance.Status.Conditions.Set(condition.FalseCondition(
606+
condition.TLSInputReadyCondition,
607+
condition.ErrorReason,
608+
condition.SeverityWarning,
609+
condition.TLSInputErrorMessage,
610+
err.Error()))
611+
return ctrl.Result{}, err
612+
}
613+
inputHashEnv["Cert"] = env.SetValue(hash)
579614
}
615+
// all cert input checks out so report InputReady
580616
instance.Status.Conditions.MarkTrue(condition.TLSInputReadyCondition, condition.InputReadyMessage)
581617

582618
// Generate and hash config maps
@@ -594,7 +630,7 @@ func (r *GaleraReconciler) Reconcile(ctx context.Context, req ctrl.Request) (res
594630

595631
// build state of the restart hash. this is used to decide whether the
596632
// statefulset must stop all its pods before applying a config update
597-
clusterPropertiesEnv["GCommTLS"] = env.SetValue(strconv.FormatBool(specTLS.Enabled() && specTLS.Ca.CaBundleSecretName != ""))
633+
clusterPropertiesEnv["GCommTLS"] = env.SetValue(strconv.FormatBool(instance.Spec.TLS.Enabled() && instance.Spec.TLS.Ca.CaBundleSecretName != ""))
598634
clusterPropertiesHash, err := util.HashOfInputHashes(clusterPropertiesEnv)
599635
if err != nil {
600636
return ctrl.Result{}, err

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ go 1.20
55
require (
66
github.com/go-logr/logr v1.4.2
77
github.com/google/uuid v1.6.0
8-
github.com/onsi/ginkgo/v2 v2.20.0
8+
github.com/onsi/ginkgo/v2 v2.20.1
99
github.com/onsi/gomega v1.34.1
10-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240808095747-579da98fa7a6
10+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6
1111
github.com/openstack-k8s-operators/mariadb-operator/api v0.0.0-00010101000000-000000000000
1212
go.uber.org/zap v1.27.0
1313
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56
14-
k8s.io/api v0.28.12
15-
k8s.io/apimachinery v0.28.12
16-
k8s.io/client-go v0.28.12
14+
k8s.io/api v0.28.13
15+
k8s.io/apimachinery v0.28.13
16+
k8s.io/client-go v0.28.13
1717
k8s.io/kubectl v0.28.12
1818
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
1919
sigs.k8s.io/controller-runtime v0.16.6
@@ -69,8 +69,8 @@ require (
6969
gopkg.in/inf.v0 v0.9.1 // indirect
7070
gopkg.in/yaml.v2 v2.4.0 // indirect
7171
gopkg.in/yaml.v3 v3.0.1 // indirect
72-
k8s.io/apiextensions-apiserver v0.28.12 // indirect
73-
k8s.io/component-base v0.28.12 // indirect
72+
k8s.io/apiextensions-apiserver v0.28.13 // indirect
73+
k8s.io/component-base v0.28.13 // indirect
7474
k8s.io/klog/v2 v2.110.1 // indirect
7575
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
7676
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect

go.sum

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,14 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
8181
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
8282
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
8383
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
84-
github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
85-
github.com/onsi/ginkgo/v2 v2.20.0/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
84+
github.com/onsi/ginkgo/v2 v2.20.1 h1:YlVIbqct+ZmnEph770q9Q7NVAz4wwIiVNahee6JyUzo=
85+
github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI=
8686
github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
8787
github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
8888
github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxCMwNRnMjhhIDOWHJowi6q8G6koI=
8989
github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4=
90-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240808095747-579da98fa7a6 h1:QrqPZPnJuJoYRFXL3aE4b+onLjjEUq8b3JjuptUkOoE=
91-
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240808095747-579da98fa7a6/go.mod h1:hCT/Ba8kRkRB23d07YEsCzELsYcJGpD/Uw4NDh+LD6w=
90+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6 h1:VSbVNzUa41hybq/lZi0L8bNv/yzYyNylc8yKSEO+ZCA=
91+
github.com/openstack-k8s-operators/lib-common/modules/common v0.4.1-0.20240905123813-174296c09ec6/go.mod h1:6zxa5xg9uvpObVKFSJa/SA+vDDlgh0Q1aswxDB2XbxU=
9292
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
9393
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
9494
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -201,16 +201,16 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
201201
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
202202
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
203203
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
204-
k8s.io/api v0.28.12 h1:C2hpsaso18pqn0Dmkfnbv/YCctozTC3KGGuZ6bF7zhQ=
205-
k8s.io/api v0.28.12/go.mod h1:qjswI+whxvf9LAKD4sEYHfy+WgHGWeH+H5sCRQMwZAQ=
206-
k8s.io/apiextensions-apiserver v0.28.12 h1:6GA64rylk5q0mbXfHHFVgfL1jx/4p6RU+Y+ni2DUuZc=
207-
k8s.io/apiextensions-apiserver v0.28.12/go.mod h1:Len29ySvb/fnrXvioTxg2l6iFi97B53Bm3/jBMBllCE=
208-
k8s.io/apimachinery v0.28.12 h1:VepMEVOi9o7L/4wMAXJq+3BK9tqBIeerTB+HSOTKeo0=
209-
k8s.io/apimachinery v0.28.12/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o=
210-
k8s.io/client-go v0.28.12 h1:li7iRPRQF3vDki6gTxT/kXWJvw3BkJSdjVPVhDTZQec=
211-
k8s.io/client-go v0.28.12/go.mod h1:yEzH2Z+nEGlrnKyHJWcJsbOr5tGdIj04dj1TVQOg0wE=
212-
k8s.io/component-base v0.28.12 h1:ZNq6QFFGCPjaAzWqYHaQRoAY5seoK3vP0pZOjgxOzNc=
213-
k8s.io/component-base v0.28.12/go.mod h1:8zI5TmGuHX6R5Lay61Ox7wb+dsEENl0NBmVSiHMQu1c=
204+
k8s.io/api v0.28.13 h1:0Sw8MjdkmrJAF/uVv09HXSZ3cQauVyZHQWKt8hiiKo4=
205+
k8s.io/api v0.28.13/go.mod h1:7hlRF5wArzXf0qbRRT2TMtHRa5SHBEVJhA02JpTxj9Q=
206+
k8s.io/apiextensions-apiserver v0.28.13 h1:+Q3jtMXBxvURuW0tzW1UsZMPud3T4OvgVPuI/uQUEQ8=
207+
k8s.io/apiextensions-apiserver v0.28.13/go.mod h1:yThTxyuc0ba1rXKZNK2aQNIbFxmGcU+CPc8YB40IGj0=
208+
k8s.io/apimachinery v0.28.13 h1:0O2mk2i0Yi+xkron0lK//biI21F1eGXb4eXECLU5v7g=
209+
k8s.io/apimachinery v0.28.13/go.mod h1:zUG757HaKs6Dc3iGtKjzIpBfqTM4yiRsEe3/E7NX15o=
210+
k8s.io/client-go v0.28.13 h1:kHgFOxWwAsa8VxL6Oylo10V6euobub9Jo0wyEWrhrWk=
211+
k8s.io/client-go v0.28.13/go.mod h1:IudvInbWfd+6WLreEVnBnZJCGFaSROCFbny9jFTkk7g=
212+
k8s.io/component-base v0.28.13 h1:hNgX2QcMt7Z5vy/9MB2rodbvBJj6H4Jq1JZDqGvVuf8=
213+
k8s.io/component-base v0.28.13/go.mod h1:G37g+bIAcjV2cAMEpFG2SEN7NgRFMizqSksOLpPN2bM=
214214
k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
215215
k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
216216
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 h1:LyMgNKD2P8Wn1iAwQU5OhxCKlKJy0sHc+PcDwFB24dQ=

0 commit comments

Comments
 (0)