From 4ad9a6a95632e8f2d1783a1dc510dd9d1a6621c1 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Tue, 9 Sep 2025 10:45:50 +0300 Subject: [PATCH 1/8] K8SPSMDB-1339: add validation to `.spec.pitr.date` https://perconadev.atlassian.net/browse/K8SPSMDB-1339 --- .../psmdb.percona.com_perconaservermongodbrestores.yaml | 6 ++++++ deploy/bundle.yaml | 6 ++++++ deploy/crd.yaml | 6 ++++++ deploy/cw-bundle.yaml | 6 ++++++ e2e-tests/version-service/conf/crd.yaml | 6 ++++++ pkg/apis/psmdb/v1/perconaservermongodbrestore_types.go | 2 ++ 6 files changed, 32 insertions(+) diff --git a/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml b/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml index 1acce923a5..471fa1014f 100644 --- a/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml +++ b/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml @@ -191,6 +191,12 @@ spec: type: type: string type: object + x-kubernetes-validations: + - message: Time should be in format YYYY-MM-DD HH:MM:SS + rule: self.type != 'date' || (has(self.date) && self.date.matches('^[0-9]{4}-[0-9]{2}-[0-9]{2} + [0-9]{2}:[0-9]{2}:[0-9]{2}$')) + - message: Date should not be used when 'latest' type is used + rule: self.type != 'latest' || !has(self.date) replset: type: string selective: diff --git a/deploy/bundle.yaml b/deploy/bundle.yaml index 048e262568..773a88ebf6 100644 --- a/deploy/bundle.yaml +++ b/deploy/bundle.yaml @@ -426,6 +426,12 @@ spec: type: type: string type: object + x-kubernetes-validations: + - message: Time should be in format YYYY-MM-DD HH:MM:SS + rule: self.type != 'date' || (has(self.date) && self.date.matches('^[0-9]{4}-[0-9]{2}-[0-9]{2} + [0-9]{2}:[0-9]{2}:[0-9]{2}$')) + - message: Date should not be used when 'latest' type is used + rule: self.type != 'latest' || !has(self.date) replset: type: string selective: diff --git a/deploy/crd.yaml b/deploy/crd.yaml index 6736d18d14..bcfe5bca30 100644 --- a/deploy/crd.yaml +++ b/deploy/crd.yaml @@ -426,6 +426,12 @@ spec: type: type: string type: object + x-kubernetes-validations: + - message: Time should be in format YYYY-MM-DD HH:MM:SS + rule: self.type != 'date' || (has(self.date) && self.date.matches('^[0-9]{4}-[0-9]{2}-[0-9]{2} + [0-9]{2}:[0-9]{2}:[0-9]{2}$')) + - message: Date should not be used when 'latest' type is used + rule: self.type != 'latest' || !has(self.date) replset: type: string selective: diff --git a/deploy/cw-bundle.yaml b/deploy/cw-bundle.yaml index 9c3322a04f..477b1fd11d 100644 --- a/deploy/cw-bundle.yaml +++ b/deploy/cw-bundle.yaml @@ -426,6 +426,12 @@ spec: type: type: string type: object + x-kubernetes-validations: + - message: Time should be in format YYYY-MM-DD HH:MM:SS + rule: self.type != 'date' || (has(self.date) && self.date.matches('^[0-9]{4}-[0-9]{2}-[0-9]{2} + [0-9]{2}:[0-9]{2}:[0-9]{2}$')) + - message: Date should not be used when 'latest' type is used + rule: self.type != 'latest' || !has(self.date) replset: type: string selective: diff --git a/e2e-tests/version-service/conf/crd.yaml b/e2e-tests/version-service/conf/crd.yaml index 6736d18d14..bcfe5bca30 100644 --- a/e2e-tests/version-service/conf/crd.yaml +++ b/e2e-tests/version-service/conf/crd.yaml @@ -426,6 +426,12 @@ spec: type: type: string type: object + x-kubernetes-validations: + - message: Time should be in format YYYY-MM-DD HH:MM:SS + rule: self.type != 'date' || (has(self.date) && self.date.matches('^[0-9]{4}-[0-9]{2}-[0-9]{2} + [0-9]{2}:[0-9]{2}:[0-9]{2}$')) + - message: Date should not be used when 'latest' type is used + rule: self.type != 'latest' || !has(self.date) replset: type: string selective: diff --git a/pkg/apis/psmdb/v1/perconaservermongodbrestore_types.go b/pkg/apis/psmdb/v1/perconaservermongodbrestore_types.go index bf528c8b8b..69292ed4ba 100644 --- a/pkg/apis/psmdb/v1/perconaservermongodbrestore_types.go +++ b/pkg/apis/psmdb/v1/perconaservermongodbrestore_types.go @@ -177,6 +177,8 @@ func (t *PITRestoreDate) MarshalJSON() ([]byte, error) { return json.Marshal(t.Time.Format("2006-01-02 15:04:05")) } +// +kubebuilder:validation:XValidation:rule="self.type != 'date' || (has(self.date) && self.date.matches('^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$'))",message="Time should be in format YYYY-MM-DD HH:MM:SS" +// +kubebuilder:validation:XValidation:rule="self.type != 'latest' || !has(self.date)",message="Date should not be used when 'latest' type is used" type PITRestoreSpec struct { Type PITRestoreType `json:"type,omitempty"` Date *PITRestoreDate `json:"date,omitempty"` From 7a0fc97ad9d315d7f7c7e4c53028b0bf2e454788 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Wed, 10 Sep 2025 14:24:01 +0300 Subject: [PATCH 2/8] add unit-test --- ...ntroller.go => psmdb_backup_controller.go} | 0 .../helpers_test.go | 3 +- ...troller.go => psmdb_restore_controller.go} | 0 .../psmdb_restore_controller_test.go | 86 +++++++++++++++++++ .../perconaservermongodbrestore/suite_test.go | 79 +++++++++++++++++ 5 files changed, 167 insertions(+), 1 deletion(-) rename pkg/controller/perconaservermongodbbackup/{perconaservermongodbbackup_controller.go => psmdb_backup_controller.go} (100%) rename pkg/controller/perconaservermongodbrestore/{perconaservermongodbrestore_controller.go => psmdb_restore_controller.go} (100%) create mode 100644 pkg/controller/perconaservermongodbrestore/psmdb_restore_controller_test.go create mode 100644 pkg/controller/perconaservermongodbrestore/suite_test.go diff --git a/pkg/controller/perconaservermongodbbackup/perconaservermongodbbackup_controller.go b/pkg/controller/perconaservermongodbbackup/psmdb_backup_controller.go similarity index 100% rename from pkg/controller/perconaservermongodbbackup/perconaservermongodbbackup_controller.go rename to pkg/controller/perconaservermongodbbackup/psmdb_backup_controller.go diff --git a/pkg/controller/perconaservermongodbrestore/helpers_test.go b/pkg/controller/perconaservermongodbrestore/helpers_test.go index 11b15ba30e..9811c80d8d 100644 --- a/pkg/controller/perconaservermongodbrestore/helpers_test.go +++ b/pkg/controller/perconaservermongodbrestore/helpers_test.go @@ -5,13 +5,14 @@ import ( "path/filepath" "testing" + . "github.com/onsi/ginkgo/v2" "k8s.io/apimachinery/pkg/util/yaml" "sigs.k8s.io/controller-runtime/pkg/client" api "github.com/percona/percona-server-mongodb-operator/pkg/apis/psmdb/v1" ) -func readDefaultRestore(t *testing.T, name, namespace string) *api.PerconaServerMongoDBRestore { +func readDefaultRestore(t GinkgoTInterface, name, namespace string) *api.PerconaServerMongoDBRestore { t.Helper() data, err := os.ReadFile(filepath.Join("..", "..", "..", "deploy", "backup", "restore.yaml")) diff --git a/pkg/controller/perconaservermongodbrestore/perconaservermongodbrestore_controller.go b/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go similarity index 100% rename from pkg/controller/perconaservermongodbrestore/perconaservermongodbrestore_controller.go rename to pkg/controller/perconaservermongodbrestore/psmdb_restore_controller.go diff --git a/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller_test.go b/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller_test.go new file mode 100644 index 0000000000..74a228143d --- /dev/null +++ b/pkg/controller/perconaservermongodbrestore/psmdb_restore_controller_test.go @@ -0,0 +1,86 @@ +package perconaservermongodbrestore + +import ( + "context" + + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + + psmdbv1 "github.com/percona/percona-server-mongodb-operator/pkg/apis/psmdb/v1" +) + +var _ = Describe("PerconaServerMongoDB", Ordered, func() { + ctx := context.Background() + + const ns = "psmdb-restore" + namespace := &corev1.Namespace{ + ObjectMeta: metav1.ObjectMeta{ + Name: ns, + Namespace: ns, + }, + } + + BeforeAll(func() { + By("Creating the Namespace to perform the tests") + err := k8sClient.Create(ctx, namespace) + Expect(err).To(Not(HaveOccurred())) + }) + + AfterAll(func() { + By("Deleting the Namespace to perform the tests") + _ = k8sClient.Delete(ctx, namespace) + }) + + Context("Check '.spec.pitr.type' validation rule", func() { + cr := readDefaultRestore(GinkgoT(), "type-validation", ns) + It("Should not create restore", func() { + cr.Spec.PITR = &psmdbv1.PITRestoreSpec{ + Type: "latest", + Date: &psmdbv1.PITRestoreDate{Time: metav1.Now()}, + } + + err := k8sClient.Create(ctx, cr) + Expect(err).NotTo(BeNil()) + Expect(err.Error()).To(Equal(`PerconaServerMongoDBRestore.psmdb.percona.com "type-validation" is invalid: spec.pitr: Invalid value: "object": Date should not be used when 'latest' type is used`)) + }) + It("Should create restore", func() { + cr.Spec.PITR = &psmdbv1.PITRestoreSpec{ + Type: "date", + Date: &psmdbv1.PITRestoreDate{ + Time: metav1.Now(), + }, + } + Expect(k8sClient.Create(ctx, cr)).Should(Succeed()) + }) + }) + Context("Check '.spec.pitr.date' validation rule", func() { + cr := readDefaultRestore(GinkgoT(), "date-validation", ns) + var obj *unstructured.Unstructured + It("Should not create restore", func() { + cr.Spec.PITR = &psmdbv1.PITRestoreSpec{ + Type: "date", + Date: &psmdbv1.PITRestoreDate{ + Time: metav1.Now(), + }, + } + + m, err := runtime.DefaultUnstructuredConverter.ToUnstructured(cr) + Expect(err).To(Succeed()) + + obj = &unstructured.Unstructured{Object: m} + Expect(unstructured.SetNestedField(obj.Object, "2020-01-01", "spec", "pitr", "date")).To(Succeed()) + + err = k8sClient.Create(ctx, obj) + Expect(err.Error()).To(Equal(`PerconaServerMongoDBRestore.psmdb.percona.com "date-validation" is invalid: spec.pitr: Invalid value: "object": Time should be in format YYYY-MM-DD HH:MM:SS`)) + }) + It("Should create restore", func() { + Expect(unstructured.SetNestedField(obj.Object, "2020-01-01 10:10:10", "spec", "pitr", "date")).To(Succeed()) + + Expect(k8sClient.Create(ctx, obj)).To(Succeed()) + }) + }) +}) diff --git a/pkg/controller/perconaservermongodbrestore/suite_test.go b/pkg/controller/perconaservermongodbrestore/suite_test.go new file mode 100644 index 0000000000..4fe9af8d5a --- /dev/null +++ b/pkg/controller/perconaservermongodbrestore/suite_test.go @@ -0,0 +1,79 @@ +package perconaservermongodbrestore + +import ( + "path/filepath" + "testing" + + cmscheme "github.com/cert-manager/cert-manager/pkg/client/clientset/versioned/scheme" + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + "k8s.io/client-go/kubernetes/scheme" + "k8s.io/client-go/rest" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/envtest" + logf "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/log/zap" + + "github.com/percona/percona-server-mongodb-operator/clientcmd" + "github.com/percona/percona-server-mongodb-operator/pkg/apis" +) + +// These tests use Ginkgo (BDD-style Go testing framework). Refer to +// http://onsi.github.io/ginkgo/ to learn more about Ginkgo. + +var ( + cfg *rest.Config + k8sClient client.Client + testEnv *envtest.Environment +) + +func TestAPIs(t *testing.T) { + RegisterFailHandler(Fail) + + RunSpecs(t, "K8SPSMDB Suite") +} + +var _ = BeforeSuite(func() { + logf.SetLogger(zap.New(zap.WriteTo(GinkgoWriter), zap.UseDevMode(true))) + + By("bootstrapping test environment") + testEnv = &envtest.Environment{ + CRDDirectoryPaths: []string{filepath.Join("..", "..", "..", "config", "crd", "bases")}, + ErrorIfCRDPathMissing: true, + } + + var err error + cfg, err = testEnv.Start() + Expect(err).NotTo(HaveOccurred()) + Expect(cfg).NotTo(BeNil()) + + err = apis.AddToScheme(scheme.Scheme) + Expect(err).NotTo(HaveOccurred()) + + k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) + Expect(err).NotTo(HaveOccurred()) + Expect(k8sClient).NotTo(BeNil()) + + err = cmscheme.AddToScheme(k8sClient.Scheme()) + Expect(err).ToNot(HaveOccurred()) +}) + +var _ = AfterSuite(func() { + By("tearing down the test environment") + err := testEnv.Stop() + Expect(err).NotTo(HaveOccurred()) +}) + +// nolint:all +func reconciler() *ReconcilePerconaServerMongoDBRestore { + cli, err := clientcmd.NewClient(cfg) + if err != nil { + Expect(err).ToNot(HaveOccurred()) + } + + return (&ReconcilePerconaServerMongoDBRestore{ + client: k8sClient, + scheme: k8sClient.Scheme(), + clientcmd: cli, + }) +} From b620e41a33d5151b6f0f4190297c07677dabcdef Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Thu, 11 Sep 2025 16:29:42 +0300 Subject: [PATCH 3/8] update ginkgo version --- go.mod | 87 ++++++++++++++++++++++++++++------------------------------ go.sum | 4 +-- 2 files changed, 44 insertions(+), 47 deletions(-) diff --git a/go.mod b/go.mod index 30b2eef24b..4638a5dafa 100644 --- a/go.mod +++ b/go.mod @@ -12,9 +12,10 @@ require ( github.com/go-openapi/strfmt v0.23.0 github.com/go-openapi/swag v0.23.1 github.com/go-openapi/validate v0.24.0 + github.com/google/go-cmp v0.7.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 github.com/hashicorp/go-version v1.7.0 - github.com/onsi/ginkgo/v2 v2.25.1 + github.com/onsi/ginkgo/v2 v2.25.2 github.com/onsi/gomega v1.38.2 github.com/percona/percona-backup-mongodb v1.8.1-0.20250626104900-da3bd6c2c1ec github.com/pkg/errors v0.9.1 @@ -40,8 +41,14 @@ require ( cloud.google.com/go/compute/metadata v0.7.0 // indirect cloud.google.com/go/iam v1.2.0 // indirect cloud.google.com/go/storage v1.43.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.1 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/Masterminds/semver/v3 v3.4.0 // indirect + github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect + github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect + github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/aws/aws-sdk-go-v2 v1.33.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect github.com/aws/aws-sdk-go-v2/config v1.29.0 // indirect @@ -61,56 +68,18 @@ require ( github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.9 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.33.8 // indirect github.com/aws/smithy-go v1.22.1 // indirect + github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dustin/go-humanize v1.0.1 // indirect + github.com/emicklei/go-restful/v3 v3.12.1 // indirect + github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.6 // indirect github.com/go-ldap/ldap/v3 v3.4.8 // indirect - github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/google/btree v1.1.3 // indirect - github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect - github.com/google/s2a-go v0.1.8 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect - github.com/googleapis/gax-go/v2 v2.13.0 // indirect - github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect - github.com/minio/md5-simd v1.1.2 // indirect - github.com/minio/minio-go/v7 v7.0.68 // indirect - github.com/minio/sha256-simd v1.0.1 // indirect - github.com/rs/xid v1.5.0 // indirect - github.com/spf13/cobra v1.8.1 // indirect - github.com/x448/float16 v0.8.4 // indirect - go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect - go.uber.org/automaxprocs v1.6.0 // indirect - go.yaml.in/yaml/v2 v2.4.2 // indirect - go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/tools v0.36.0 // indirect - google.golang.org/api v0.198.0 // indirect - google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect - gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - k8s.io/component-base v0.33.4 // indirect - sigs.k8s.io/randfill v1.0.0 // indirect -) - -require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.1 // indirect - github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect - github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect - github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/emicklei/go-restful/v3 v3.12.1 // indirect - github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect github.com/go-openapi/analysis v0.23.0 // indirect @@ -118,19 +87,30 @@ require ( github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/loads v0.22.0 // indirect github.com/go-openapi/spec v0.21.0 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/google/btree v1.1.3 // indirect github.com/google/gnostic-models v0.6.9 // indirect - github.com/google/go-cmp v0.7.0 + github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect + github.com/google/s2a-go v0.1.8 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect + github.com/googleapis/gax-go/v2 v2.13.0 // indirect github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jessevdk/go-flags v1.6.1 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.18.0 // indirect + github.com/klauspost/cpuid/v2 v2.2.6 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/mailru/easyjson v0.9.0 // indirect + github.com/minio/md5-simd v1.1.2 // indirect + github.com/minio/minio-go/v7 v7.0.68 // indirect + github.com/minio/sha256-simd v1.0.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/spdystream v0.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -147,15 +127,25 @@ require ( github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect + github.com/rs/xid v1.5.0 // indirect + github.com/spf13/cobra v1.8.1 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/x448/float16 v0.8.4 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect go.opentelemetry.io/otel v1.37.0 // indirect go.opentelemetry.io/otel/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect + go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect + go.yaml.in/yaml/v2 v2.4.2 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect golang.org/x/mod v0.27.0 // indirect @@ -165,19 +155,26 @@ require ( golang.org/x/term v0.34.0 // indirect golang.org/x/text v0.28.0 // indirect golang.org/x/time v0.9.0 // indirect + golang.org/x/tools v0.36.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect + google.golang.org/api v0.198.0 // indirect + google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250818200422-3122310a409c // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250818200422-3122310a409c // indirect google.golang.org/protobuf v1.36.7 // indirect + gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.33.4 + k8s.io/component-base v0.33.4 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect k8s.io/utils v0.0.0-20241210054802-24370beab758 sigs.k8s.io/gateway-api v1.1.0 // indirect sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect ) diff --git a/go.sum b/go.sum index b25b6eb367..e4dc2f901e 100644 --- a/go.sum +++ b/go.sum @@ -322,8 +322,8 @@ github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo/v2 v2.25.1 h1:Fwp6crTREKM+oA6Cz4MsO8RhKQzs2/gOIVOUscMAfZY= -github.com/onsi/ginkgo/v2 v2.25.1/go.mod h1:ppTWQ1dh9KM/F1XgpeRqelR+zHVwV81DGRSDnFxK7Sk= +github.com/onsi/ginkgo/v2 v2.25.2 h1:hepmgwx1D+llZleKQDMEvy8vIlCxMGt7W5ZxDjIEhsw= +github.com/onsi/ginkgo/v2 v2.25.2/go.mod h1:43uiyQC4Ed2tkOzLsEYm7hnrb7UJTWHYNsuy3bG/snE= github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= From edbfa77f7518de26a8251119bf811eca89af5c5d Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Fri, 12 Sep 2025 14:52:00 +0300 Subject: [PATCH 4/8] update go ver to 1.25 --- .github/workflows/reviewdog.yml | 4 ++-- .github/workflows/test.yml | 2 +- Jenkinsfile | 4 ++-- build/Dockerfile | 2 +- go.mod | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml index c4193d71d9..f2e6ff75db 100644 --- a/.github/workflows/reviewdog.yml +++ b/.github/workflows/reviewdog.yml @@ -30,7 +30,7 @@ jobs: - uses: actions/checkout@v4.1.1 - uses: actions/setup-go@v5 with: - go-version: '^1.24' + go-version: '^1.25' - run: go install -v github.com/incu6us/goimports-reviser/v3@latest - run: $(go env GOPATH)/bin/goimports-reviser -imports-order "std,general,company,project" -company-prefixes "github.com/percona" ./... - uses: reviewdog/action-suggester@v1.22.0 @@ -44,7 +44,7 @@ jobs: - uses: actions/checkout@v4.1.1 - uses: actions/setup-go@v5 with: - go-version: '^1.24' + go-version: '^1.25' - run: go install mvdan.cc/sh/v3/cmd/shfmt@latest - run: $(go env GOPATH)/bin/shfmt -f . | grep -v 'vendor' | xargs $(go env GOPATH)/bin/shfmt -bn -ci -s -w - name: suggester / shfmt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fbaf841e2f..236ae64f77 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ jobs: steps: - uses: actions/setup-go@v5 with: - go-version: '^1.24' + go-version: '^1.25' - uses: actions/checkout@v4.1.1 - name: run tests run: make test diff --git a/Jenkinsfile b/Jenkinsfile index 39730002cb..2de35075b2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -447,7 +447,7 @@ pipeline { -v $WORKSPACE/src/github.com/percona/percona-server-mongodb-operator:/go/src/github.com/percona/percona-server-mongodb-operator \ -w /go/src/github.com/percona/percona-server-mongodb-operator \ -e GOFLAGS='-buildvcs=false' \ - golang:1.24 sh -c ' + golang:1.25 sh -c ' go install github.com/google/go-licenses@v1.6.0; /go/bin/go-licenses csv github.com/percona/percona-server-mongodb-operator/cmd/manager \ | cut -d , -f 3 \ @@ -475,7 +475,7 @@ pipeline { -v $WORKSPACE/src/github.com/percona/percona-server-mongodb-operator:/go/src/github.com/percona/percona-server-mongodb-operator \ -w /go/src/github.com/percona/percona-server-mongodb-operator \ -e GOFLAGS='-buildvcs=false' \ - golang:1.24 sh -c 'go build -v -o percona-server-mongodb-operator github.com/percona/percona-server-mongodb-operator/cmd/manager' + golang:1.25 sh -c 'go build -v -o percona-server-mongodb-operator github.com/percona/percona-server-mongodb-operator/cmd/manager' " ''' diff --git a/build/Dockerfile b/build/Dockerfile index 8cff2c7c45..988c15cf0b 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=${BUILDPLATFORM} golang:1.24 AS go_builder +FROM --platform=${BUILDPLATFORM} golang:1.25 AS go_builder WORKDIR /go/src/github.com/percona/percona-server-mongodb-operator COPY go.mod go.sum ./ diff --git a/go.mod b/go.mod index aa2fa21595..06124140b4 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/percona/percona-server-mongodb-operator -go 1.24.2 +go 1.25 require ( github.com/Percona-Lab/percona-version-service v0.0.0-20230216094301-f9489c81b52a From a339102e7e9afdea4aa0b096ebf78ac31072cd55 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Mon, 15 Sep 2025 17:20:57 +0300 Subject: [PATCH 5/8] update tools --- go.mod | 14 +++++++------- go.sum | 28 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/go.mod b/go.mod index c84ee22d7a..1fe3fac225 100644 --- a/go.mod +++ b/go.mod @@ -161,16 +161,16 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.41.0 // indirect + golang.org/x/crypto v0.42.0 // indirect golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/mod v0.27.0 // indirect - golang.org/x/net v0.43.0 // indirect + golang.org/x/mod v0.28.0 // indirect + golang.org/x/net v0.44.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sys v0.35.0 // indirect - golang.org/x/term v0.34.0 // indirect - golang.org/x/text v0.28.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/term v0.35.0 // indirect + golang.org/x/text v0.29.0 // indirect golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.36.0 // indirect + golang.org/x/tools v0.37.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/api v0.198.0 // indirect google.golang.org/genproto v0.0.0-20240903143218-8af14fe29dc1 // indirect diff --git a/go.sum b/go.sum index 87ea940d56..63077b3e3a 100644 --- a/go.sum +++ b/go.sum @@ -479,8 +479,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= -golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI= +golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= @@ -492,8 +492,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= -golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -512,8 +512,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= -golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= @@ -541,16 +541,16 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= -golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= -golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= +golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ= +golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= @@ -558,8 +558,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -573,8 +573,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= -golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools v0.37.0 h1:DVSRzp7FwePZW356yEAChSdNcQo6Nsp+fex1SUW09lE= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From da5d3a2fb2e8af0141a69ef97cb4a5dbab45d516 Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Mon, 15 Sep 2025 17:52:59 +0300 Subject: [PATCH 6/8] update test workflow --- .github/workflows/test.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d55f50396b..0f97f19da7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,9 +5,10 @@ jobs: name: Test runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v5 + - uses: actions/setup-go@v6 with: - go-version: '^1.25' + go-version-file: go.mod + cache: false - uses: actions/checkout@v5 - name: run tests run: make test From 092ce63b298493655d42b236886b061be88d3fcd Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Mon, 15 Sep 2025 17:54:27 +0300 Subject: [PATCH 7/8] fix --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0f97f19da7..a7f7f40040 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,10 +5,10 @@ jobs: name: Test runs-on: ubuntu-latest steps: + - uses: actions/checkout@v5 - uses: actions/setup-go@v6 with: go-version-file: go.mod cache: false - - uses: actions/checkout@v5 - name: run tests run: make test From 368d0b21092c714d412877d1e9d99df11f58c7cd Mon Sep 17 00:00:00 2001 From: Andrii Dema Date: Mon, 15 Sep 2025 18:33:47 +0300 Subject: [PATCH 8/8] update controller-gen --- .github/workflows/test.yml | 1 - Makefile | 2 +- .../psmdb.percona.com_perconaservermongodbbackups.yaml | 2 +- .../psmdb.percona.com_perconaservermongodbrestores.yaml | 2 +- .../crd/bases/psmdb.percona.com_perconaservermongodbs.yaml | 2 +- deploy/bundle.yaml | 6 +++--- deploy/crd.yaml | 6 +++--- deploy/cw-bundle.yaml | 6 +++--- e2e-tests/version-service/conf/crd.yaml | 6 +++--- 9 files changed, 16 insertions(+), 17 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a7f7f40040..0262ad43d5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,6 +9,5 @@ jobs: - uses: actions/setup-go@v6 with: go-version-file: go.mod - cache: false - name: run tests run: make test diff --git a/Makefile b/Makefile index c2ff03d117..7aa43fec38 100644 --- a/Makefile +++ b/Makefile @@ -86,7 +86,7 @@ endef CONTROLLER_GEN = $(shell pwd)/bin/controller-gen controller-gen: ## Download controller-gen locally if necessary. - $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.3) + $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.19.0) KUSTOMIZE = $(shell pwd)/bin/kustomize kustomize: ## Download kustomize locally if necessary. diff --git a/config/crd/bases/psmdb.percona.com_perconaservermongodbbackups.yaml b/config/crd/bases/psmdb.percona.com_perconaservermongodbbackups.yaml index 3c65b850f8..a57329689c 100644 --- a/config/crd/bases/psmdb.percona.com_perconaservermongodbbackups.yaml +++ b/config/crd/bases/psmdb.percona.com_perconaservermongodbbackups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 name: perconaservermongodbbackups.psmdb.percona.com spec: group: psmdb.percona.com diff --git a/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml b/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml index 471fa1014f..276b96d1f9 100644 --- a/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml +++ b/config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 name: perconaservermongodbrestores.psmdb.percona.com spec: group: psmdb.percona.com diff --git a/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml b/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml index 99133674ac..9d43415abd 100644 --- a/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml +++ b/config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 name: perconaservermongodbs.psmdb.percona.com spec: group: psmdb.percona.com diff --git a/deploy/bundle.yaml b/deploy/bundle.yaml index 61e92b9998..878d471bf7 100644 --- a/deploy/bundle.yaml +++ b/deploy/bundle.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -233,7 +233,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -473,7 +473,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb diff --git a/deploy/crd.yaml b/deploy/crd.yaml index 9bde9d9827..2f3fed15e7 100644 --- a/deploy/crd.yaml +++ b/deploy/crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -233,7 +233,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -473,7 +473,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb diff --git a/deploy/cw-bundle.yaml b/deploy/cw-bundle.yaml index ca0ce682c3..9d529aa43b 100644 --- a/deploy/cw-bundle.yaml +++ b/deploy/cw-bundle.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -233,7 +233,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -473,7 +473,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb diff --git a/e2e-tests/version-service/conf/crd.yaml b/e2e-tests/version-service/conf/crd.yaml index 9bde9d9827..2f3fed15e7 100644 --- a/e2e-tests/version-service/conf/crd.yaml +++ b/e2e-tests/version-service/conf/crd.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -233,7 +233,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb @@ -473,7 +473,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.19.0 labels: app.kubernetes.io/component: crd app.kubernetes.io/name: percona-server-mongodb