From 8cd38b0546737da2673e50b56db55c03dd676a25 Mon Sep 17 00:00:00 2001 From: Neaj Morshad Date: Mon, 18 Nov 2024 15:59:59 +0600 Subject: [PATCH 1/3] Use pointer clientTLS filed Signed-off-by: Neaj Morshad --- go.mod | 12 +- go.sum | 40 +-- mssqlserver/kubedb_client_builder.go | 2 +- vendor/k8s.io/utils/net/multi_listen.go | 195 ++++++++++++++ .../apimachinery/apis/kubedb/constants.go | 4 + .../apis/kubedb/v1alpha2/cassandra_helpers.go | 2 +- .../apis/kubedb/v1alpha2/cassandra_types.go | 2 +- .../apis/kubedb/v1alpha2/cassandra_webhook.go | 2 +- .../kubedb/v1alpha2/clickhouse_helpers.go | 2 +- .../apis/kubedb/v1alpha2/clickhouse_types.go | 2 +- .../kubedb/v1alpha2/clickhouse_webhook.go | 2 +- .../apis/kubedb/v1alpha2/conversion.go | 22 +- .../apis/kubedb/v1alpha2/druid_helpers.go | 2 +- .../apis/kubedb/v1alpha2/druid_types.go | 2 +- .../kubedb/v1alpha2/elasticsearch_helpers.go | 2 +- .../kubedb/v1alpha2/elasticsearch_types.go | 2 +- .../apis/kubedb/v1alpha2/etcd_helpers.go | 2 +- .../apis/kubedb/v1alpha2/etcd_types.go | 2 +- .../apis/kubedb/v1alpha2/ferretdb_helpers.go | 2 +- .../apis/kubedb/v1alpha2/ferretdb_types.go | 2 +- .../apis/kubedb/v1alpha2/ferretdb_webhook.go | 4 +- .../apis/kubedb/v1alpha2/kafka_helpers.go | 6 +- .../apis/kubedb/v1alpha2/kafka_types.go | 2 +- .../apis/kubedb/v1alpha2/kafka_webhook.go | 6 +- .../apis/kubedb/v1alpha2/mariadb_helpers.go | 2 +- .../apis/kubedb/v1alpha2/mariadb_types.go | 2 +- .../apis/kubedb/v1alpha2/memcached_helpers.go | 2 +- .../apis/kubedb/v1alpha2/memcached_types.go | 2 +- .../apis/kubedb/v1alpha2/mongodb_helpers.go | 2 +- .../apis/kubedb/v1alpha2/mongodb_types.go | 2 +- .../kubedb/v1alpha2/mssqlserver_helpers.go | 64 ++--- .../apis/kubedb/v1alpha2/mssqlserver_types.go | 29 +- .../kubedb/v1alpha2/mssqlserver_webhook.go | 39 ++- .../apis/kubedb/v1alpha2/mysql_helpers.go | 2 +- .../apis/kubedb/v1alpha2/mysql_types.go | 2 +- .../apis/kubedb/v1alpha2/openapi_generated.go | 58 +--- .../kubedb/v1alpha2/perconaxtradb_helpers.go | 2 +- .../kubedb/v1alpha2/perconaxtradb_types.go | 2 +- .../apis/kubedb/v1alpha2/pgbouncer_helpers.go | 2 +- .../apis/kubedb/v1alpha2/pgbouncer_types.go | 16 +- .../apis/kubedb/v1alpha2/pgpool_helpers.go | 2 +- .../apis/kubedb/v1alpha2/pgpool_types.go | 2 +- .../apis/kubedb/v1alpha2/pgpool_webhook.go | 2 +- .../apis/kubedb/v1alpha2/postgres_helpers.go | 2 +- .../apis/kubedb/v1alpha2/postgres_types.go | 2 +- .../apis/kubedb/v1alpha2/proxysql_types.go | 2 +- .../apis/kubedb/v1alpha2/rabbitmq_helpers.go | 2 +- .../apis/kubedb/v1alpha2/rabbitmq_types.go | 2 +- .../apis/kubedb/v1alpha2/rabbitmq_webhook.go | 4 +- .../apis/kubedb/v1alpha2/redis_helpers.go | 2 +- .../kubedb/v1alpha2/redis_sentinel_helpers.go | 2 +- .../kubedb/v1alpha2/redis_sentinel_types.go | 2 +- .../apis/kubedb/v1alpha2/redis_types.go | 2 +- .../kubedb/v1alpha2/singlestore_helpers.go | 2 +- .../apis/kubedb/v1alpha2/singlestore_types.go | 2 +- .../kubedb/v1alpha2/singlestore_webhook.go | 2 +- .../apis/kubedb/v1alpha2/solr_helpers.go | 2 +- .../apis/kubedb/v1alpha2/solr_types.go | 2 +- .../apis/kubedb/v1alpha2/solr_webhook.go | 2 +- .../apis/kubedb/v1alpha2/types.go | 10 +- .../apis/kubedb/v1alpha2/zookeeper_helpers.go | 6 +- .../apis/kubedb/v1alpha2/zookeeper_types.go | 2 +- .../apis/kubedb/v1alpha2/zookeeper_webhook.go | 2 +- .../v1alpha2/zz_generated.conversion.go | 6 +- .../kubedb/v1alpha2/zz_generated.deepcopy.go | 42 +-- .../crds/kubedb.com_mssqlservers.yaml | 255 ++---------------- ...ops.kubedb.com_mssqlserveropsrequests.yaml | 2 + vendor/modules.txt | 12 +- 68 files changed, 410 insertions(+), 516 deletions(-) create mode 100644 vendor/k8s.io/utils/net/multi_listen.go diff --git a/go.mod b/go.mod index 0b3b0d5db..79b218a0a 100644 --- a/go.mod +++ b/go.mod @@ -27,12 +27,12 @@ require ( github.com/rabbitmq/amqp091-go v1.9.0 github.com/redis/go-redis/v9 v9.5.1 go.mongodb.org/mongo-driver v1.14.0 - k8s.io/api v0.30.2 - k8s.io/apimachinery v0.30.2 + k8s.io/api v0.30.3 + k8s.io/apimachinery v0.30.3 k8s.io/klog/v2 v2.130.1 kmodules.xyz/client-go v0.30.32 kmodules.xyz/custom-resources v0.30.0 - kubedb.dev/apimachinery v0.49.0-rc.0 + kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e sigs.k8s.io/controller-runtime v0.18.4 xorm.io/xorm v1.3.6 ) @@ -138,10 +138,10 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.30.2 // indirect - k8s.io/client-go v0.30.2 // indirect + k8s.io/client-go v0.30.3 // indirect k8s.io/component-base v0.30.2 // indirect - k8s.io/kube-openapi v0.0.0-20240703190633-0aa61b46e8c2 // indirect - k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 // indirect + k8s.io/kube-openapi v0.0.0-20240726031636-6f6746feab9c // indirect + k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect kmodules.xyz/apiversion v0.2.0 // indirect kmodules.xyz/monitoring-agent-api v0.30.2 // indirect kmodules.xyz/offshoot-api v0.30.1 // indirect diff --git a/go.sum b/go.sum index b4b332e0f..255e92f8c 100644 --- a/go.sum +++ b/go.sum @@ -382,8 +382,8 @@ github.com/onsi/ginkgo/v2 v2.9.7/go.mod h1:cxrmXWykAwTwhQsJOPfdIDiJ+l2RYq7U8hFU+ github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM= github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o= github.com/onsi/ginkgo/v2 v2.13.2/go.mod h1:XStQ8QcGwLyF4HdfcZB8SFOS/MWCgDuXMSBe6zrvLgM= -github.com/onsi/ginkgo/v2 v2.17.2 h1:7eMhcy3GimbsA3hEnVKdw/PQM9XN9krpKVXsZdph0/g= -github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= +github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA= +github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= @@ -404,8 +404,8 @@ github.com/onsi/gomega v1.27.8/go.mod h1:2J8vzI/s+2shY9XHRApDkdgPo1TKT7P2u6fXeJK github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= -github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= -github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= +github.com/onsi/gomega v1.34.0 h1:eSSPsPNp6ZpsG8X1OVmOTxig+CblTc4AxpPBykhe2Os= +github.com/onsi/gomega v1.34.0/go.mod h1:MIKI8c+f+QLWk+hxbePD4i0LMJSExPaZOVfkoex4cAo= github.com/opensearch-project/opensearch-go v1.1.0 h1:eG5sh3843bbU1itPRjA9QXbxcg8LaZ+DjEzQH9aLN3M= github.com/opensearch-project/opensearch-go v1.1.0/go.mod h1:+6/XHCuTH+fwsMJikZEWsucZ4eZMma3zNSeLrTtVGbo= github.com/opensearch-project/opensearch-go/v2 v2.3.0 h1:nQIEMr+A92CkhHrZgUhcfsrZjibvB3APXf2a1VwCmMQ= @@ -571,8 +571,8 @@ golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= +golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -725,8 +725,8 @@ golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg= +golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -778,22 +778,22 @@ gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -k8s.io/api v0.30.2 h1:+ZhRj+28QT4UOH+BKznu4CBgPWgkXO7XAvMcMl0qKvI= -k8s.io/api v0.30.2/go.mod h1:ULg5g9JvOev2dG0u2hig4Z7tQ2hHIuS+m8MNZ+X6EmI= +k8s.io/api v0.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ= +k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04= k8s.io/apiextensions-apiserver v0.30.2 h1:l7Eue2t6QiLHErfn2vwK4KgF4NeDgjQkCXtEbOocKIE= k8s.io/apiextensions-apiserver v0.30.2/go.mod h1:lsJFLYyK40iguuinsb3nt+Sj6CmodSI4ACDLep1rgjw= -k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg= -k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= -k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50= -k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs= +k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc= +k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc= +k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k= +k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U= k8s.io/component-base v0.30.2 h1:pqGBczYoW1sno8q9ObExUqrYSKhtE5rW3y6gX88GZII= k8s.io/component-base v0.30.2/go.mod h1:yQLkQDrkK8J6NtP+MGJOws+/PPeEXNpwFixsUI7h/OE= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20240703190633-0aa61b46e8c2 h1:T5TEV4a+pEjc+j9Xui3MGGeoDLIN6uzZrx8NYotFMgQ= -k8s.io/kube-openapi v0.0.0-20240703190633-0aa61b46e8c2/go.mod h1:UxDHUPsUwTOOxSU+oXURfFBcAS6JwiRXTYqYwfuGowc= -k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak= -k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/kube-openapi v0.0.0-20240726031636-6f6746feab9c h1:CHL3IcTrTI3csK36iwYJy36uQRic+IpSoRMNH+0I8SE= +k8s.io/kube-openapi v0.0.0-20240726031636-6f6746feab9c/go.mod h1:0CVn9SVo8PeW5/JgsBZZIFmmTk5noOM8WXf2e1tCihE= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kmodules.xyz/apiversion v0.2.0 h1:vAQYqZFm4xu4pbB1cAdHbFEPES6EQkcR4wc06xdTOWk= kmodules.xyz/apiversion v0.2.0/go.mod h1:oPX8g8LvlPdPX3Yc5YvCzJHQnw3YF/X4/jdW0b1am80= kmodules.xyz/client-go v0.30.32 h1:y1qb4IJwYdkROLcc7e0UcJSDj8D2YeLsawAWHnCF+JU= @@ -804,8 +804,8 @@ kmodules.xyz/monitoring-agent-api v0.30.2 h1:sAgz5P5EXZqhlj1NzJ+QltAgeIx5bGSMj+a kmodules.xyz/monitoring-agent-api v0.30.2/go.mod h1:BoZFPDDRB7J39CcUsSDlzgW8PQCwik4ILPleyUob+Mg= kmodules.xyz/offshoot-api v0.30.1 h1:TrulAYO+oBsXe9sZZGTmNWIuI8qD2izMpgcTSPvgAmI= kmodules.xyz/offshoot-api v0.30.1/go.mod h1:T3mpjR6fui0QzOcmQvIuANytW48fe9ytmy/1cgx6D4g= -kubedb.dev/apimachinery v0.49.0-rc.0 h1:7WLTSSoXEb8trDFW5AcDxfYJxX7j5TQU2OYijLgAfTc= -kubedb.dev/apimachinery v0.49.0-rc.0/go.mod h1:l3sl+LZXvllja1xbZTgmzHNY7hQGK/uLXjkSothH5ns= +kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e h1:8U2ubH20d0BsfDS/qKttrGvX78xy/mAboKxKhJmaJbM= +kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e/go.mod h1:KHMku01LAZnDSVqURo5cWnAFBH5LRbOdd2V2XnDVBVA= kubeops.dev/petset v0.0.7 h1:F77BTRfUqRVO7kNc8q2oFSSviDmYBqni/osXqu0kgJ4= kubeops.dev/petset v0.0.7/go.mod h1:lt0SZV4ohRy7RiwLNUnMoauG4lCbcRbSqhMg20rdUQg= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= diff --git a/mssqlserver/kubedb_client_builder.go b/mssqlserver/kubedb_client_builder.go index d26e81385..e6d65bed6 100644 --- a/mssqlserver/kubedb_client_builder.go +++ b/mssqlserver/kubedb_client_builder.go @@ -122,7 +122,7 @@ func (o *KubeDBClientBuilder) getConnectionString() (string, error) { // TLS Configuration tlsConfig := "" - if o.db.Spec.TLS.ClientTLS { + if o.db.Spec.TLS.ClientTLS != nil && *o.db.Spec.TLS.ClientTLS == true { tlsConfig = "encrypt=true;TrustServerCertificate=true;" } diff --git a/vendor/k8s.io/utils/net/multi_listen.go b/vendor/k8s.io/utils/net/multi_listen.go new file mode 100644 index 000000000..7cb7795be --- /dev/null +++ b/vendor/k8s.io/utils/net/multi_listen.go @@ -0,0 +1,195 @@ +/* +Copyright 2024 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package net + +import ( + "context" + "fmt" + "net" + "sync" +) + +// connErrPair pairs conn and error which is returned by accept on sub-listeners. +type connErrPair struct { + conn net.Conn + err error +} + +// multiListener implements net.Listener +type multiListener struct { + listeners []net.Listener + wg sync.WaitGroup + + // connCh passes accepted connections, from child listeners to parent. + connCh chan connErrPair + // stopCh communicates from parent to child listeners. + stopCh chan struct{} +} + +// compile time check to ensure *multiListener implements net.Listener +var _ net.Listener = &multiListener{} + +// MultiListen returns net.Listener which can listen on and accept connections for +// the given network on multiple addresses. Internally it uses stdlib to create +// sub-listener and multiplexes connection requests using go-routines. +// The network must be "tcp", "tcp4" or "tcp6". +// It follows the semantics of net.Listen that primarily means: +// 1. If the host is an unspecified/zero IP address with "tcp" network, MultiListen +// listens on all available unicast and anycast IP addresses of the local system. +// 2. Use "tcp4" or "tcp6" to exclusively listen on IPv4 or IPv6 family, respectively. +// 3. The host can accept names (e.g, localhost) and it will create a listener for at +// most one of the host's IP. +func MultiListen(ctx context.Context, network string, addrs ...string) (net.Listener, error) { + var lc net.ListenConfig + return multiListen( + ctx, + network, + addrs, + func(ctx context.Context, network, address string) (net.Listener, error) { + return lc.Listen(ctx, network, address) + }) +} + +// multiListen implements MultiListen by consuming stdlib functions as dependency allowing +// mocking for unit-testing. +func multiListen( + ctx context.Context, + network string, + addrs []string, + listenFunc func(ctx context.Context, network, address string) (net.Listener, error), +) (net.Listener, error) { + if !(network == "tcp" || network == "tcp4" || network == "tcp6") { + return nil, fmt.Errorf("network %q not supported", network) + } + if len(addrs) == 0 { + return nil, fmt.Errorf("no address provided to listen on") + } + + ml := &multiListener{ + connCh: make(chan connErrPair), + stopCh: make(chan struct{}), + } + for _, addr := range addrs { + l, err := listenFunc(ctx, network, addr) + if err != nil { + // close all the sub-listeners and exit + _ = ml.Close() + return nil, err + } + ml.listeners = append(ml.listeners, l) + } + + for _, l := range ml.listeners { + ml.wg.Add(1) + go func(l net.Listener) { + defer ml.wg.Done() + for { + // Accept() is blocking, unless ml.Close() is called, in which + // case it will return immediately with an error. + conn, err := l.Accept() + // This assumes that ANY error from Accept() will terminate the + // sub-listener. We could maybe be more precise, but it + // doesn't seem necessary. + terminate := err != nil + + select { + case ml.connCh <- connErrPair{conn: conn, err: err}: + case <-ml.stopCh: + // In case we accepted a connection AND were stopped, and + // this select-case was chosen, just throw away the + // connection. This avoids potentially blocking on connCh + // or leaking a connection. + if conn != nil { + _ = conn.Close() + } + terminate = true + } + // Make sure we don't loop on Accept() returning an error and + // the select choosing the channel case. + if terminate { + return + } + } + }(l) + } + return ml, nil +} + +// Accept implements net.Listener. It waits for and returns a connection from +// any of the sub-listener. +func (ml *multiListener) Accept() (net.Conn, error) { + // wait for any sub-listener to enqueue an accepted connection + connErr, ok := <-ml.connCh + if !ok { + // The channel will be closed only when Close() is called on the + // multiListener. Closing of this channel implies that all + // sub-listeners are also closed, which causes a "use of closed + // network connection" error on their Accept() calls. We return the + // same error for multiListener.Accept() if multiListener.Close() + // has already been called. + return nil, fmt.Errorf("use of closed network connection") + } + return connErr.conn, connErr.err +} + +// Close implements net.Listener. It will close all sub-listeners and wait for +// the go-routines to exit. +func (ml *multiListener) Close() error { + // Make sure this can be called repeatedly without explosions. + select { + case <-ml.stopCh: + return fmt.Errorf("use of closed network connection") + default: + } + + // Tell all sub-listeners to stop. + close(ml.stopCh) + + // Closing the listeners causes Accept() to immediately return an error in + // the sub-listener go-routines. + for _, l := range ml.listeners { + _ = l.Close() + } + + // Wait for all the sub-listener go-routines to exit. + ml.wg.Wait() + close(ml.connCh) + + // Drain any already-queued connections. + for connErr := range ml.connCh { + if connErr.conn != nil { + _ = connErr.conn.Close() + } + } + return nil +} + +// Addr is an implementation of the net.Listener interface. It always returns +// the address of the first listener. Callers should use conn.LocalAddr() to +// obtain the actual local address of the sub-listener. +func (ml *multiListener) Addr() net.Addr { + return ml.listeners[0].Addr() +} + +// Addrs is like Addr, but returns the address for all registered listeners. +func (ml *multiListener) Addrs() []net.Addr { + var ret []net.Addr + for _, l := range ml.listeners { + ret = append(ret, l.Addr()) + } + return ret +} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go index 68ffd7773..41b4a6fb1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go @@ -67,6 +67,9 @@ const ( EtcdKey = "etcd" + "." + GroupName ProxySQLKey = "proxysql" + "." + GroupName + // Auth related constants + BasicAuthActiveFromAnnotation = "basic-auth-active-from" + // =========================== Elasticsearch Constants ============================ ElasticsearchRestPort = 9200 ElasticsearchRestPortName = "http" @@ -414,6 +417,7 @@ const ( // environment variables EnvAcceptEula = "ACCEPT_EULA" + EnvMSSQLPid = "MSSQL_PID" EnvMSSQLEnableHADR = "MSSQL_ENABLE_HADR" EnvMSSQLAgentEnabled = "MSSQL_AGENT_ENABLED" EnvMSSQLSAUsername = "MSSQL_SA_USERNAME" diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go index c9774862a..95e1e2418 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go @@ -269,7 +269,7 @@ func (r *Cassandra) ResourceSingular() string { func (r *Cassandra) SetDefaults() { if r.Spec.DeletionPolicy == "" { - r.Spec.DeletionPolicy = TerminationPolicyDelete + r.Spec.DeletionPolicy = DeletionPolicyDelete } var casVersion catalog.CassandraVersion diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go index 0ff02c71c..8a4d06c5a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go @@ -97,7 +97,7 @@ type CassandraSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_webhook.go index a948bfa7d..8488cefec 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_webhook.go @@ -69,7 +69,7 @@ func (r *Cassandra) ValidateDelete() (admission.Warnings, error) { cassandralog.Info("validate delete", "name", r.Name) var allErr field.ErrorList - if r.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if r.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("deletionPolicy"), r.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go index 2715e6d16..6dfabdd6f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go @@ -370,7 +370,7 @@ func (c *ClickHouse) SetDefaults() { c.Spec.Replicas = pointer.Int32P(1) } if c.Spec.DeletionPolicy == "" { - c.Spec.DeletionPolicy = TerminationPolicyDelete + c.Spec.DeletionPolicy = DeletionPolicyDelete } if c.Spec.StorageType == "" { c.Spec.StorageType = StorageTypeDurable diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go index cd91574bf..1dfa0f93c 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go @@ -101,7 +101,7 @@ type ClickHouseSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_webhook.go index 7dece77de..a839f7750 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_webhook.go @@ -69,7 +69,7 @@ func (c *ClickHouse) ValidateDelete() (admission.Warnings, error) { clickhouselog.Info("validate delete", "name", c.Name) var allErr field.ErrorList - if c.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if c.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("teminationPolicy"), c.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/conversion.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/conversion.go index 983900d41..ee2e4ae2d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/conversion.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/conversion.go @@ -183,7 +183,7 @@ func Convert_v1_MariaDBSpec_To_v1alpha2_MariaDBSpec(in *v1.MariaDBSpec, out *Mar out.RequireSSL = in.RequireSSL out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.AllowedSchemas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedSchemas)) out.HealthChecker = in.HealthChecker out.Archiver = (*Archiver)(unsafe.Pointer(in.Archiver)) @@ -264,7 +264,7 @@ func Convert_v1_PostgresSpec_To_v1alpha2_PostgresSpec(in *v1.PostgresSpec, out * out.ServiceTemplates = *(*[]NamedServiceTemplateSpec)(unsafe.Pointer(&in.ServiceTemplates)) out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.EnforceFsGroup = in.EnforceFsGroup out.AllowedSchemas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedSchemas)) out.HealthChecker = in.HealthChecker @@ -369,7 +369,7 @@ func Convert_v1_MySQLSpec_To_v1alpha2_MySQLSpec(in *v1.MySQLSpec, out *MySQLSpec out.RequireSSL = in.RequireSSL out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.UseAddressType = AddressType(in.UseAddressType) out.AllowedSchemas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedSchemas)) out.AllowedReadReplicas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedReadReplicas)) @@ -611,7 +611,7 @@ func Convert_v1_MongoDBSpec_To_v1alpha2_MongoDBSpec(in *v1.MongoDBSpec, out *Mon out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.KeyFileSecret = (*corev1.LocalObjectReference)(unsafe.Pointer(in.KeyFileSecret)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.StorageEngine = StorageEngine(in.StorageEngine) out.AllowedSchemas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedSchemas)) if in.Arbiter != nil { @@ -761,7 +761,7 @@ func Convert_v1_RedisSpec_To_v1alpha2_RedisSpec(in *v1.RedisSpec, out *RedisSpec out.ServiceTemplates = *(*[]NamedServiceTemplateSpec)(unsafe.Pointer(&in.ServiceTemplates)) out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.AllowedSchemas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedSchemas)) out.HealthChecker = in.HealthChecker return nil @@ -829,7 +829,7 @@ func Convert_v1_PerconaXtraDBSpec_To_v1alpha2_PerconaXtraDBSpec(in *v1.PerconaXt out.RequireSSL = in.RequireSSL out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.AllowedSchemas = (*AllowedConsumers)(unsafe.Pointer(in.AllowedSchemas)) out.HealthChecker = in.HealthChecker out.SystemUserSecrets = (*SystemUserSecretsSpec)(unsafe.Pointer(in.SystemUserSecrets)) @@ -958,7 +958,7 @@ func Convert_v1_ElasticsearchSpec_To_v1alpha2_ElasticsearchSpec(in *v1.Elasticse out.InternalUsers = *(*map[string]ElasticsearchUserSpec)(unsafe.Pointer(&in.InternalUsers)) out.RolesMapping = *(*map[string]ElasticsearchRoleMapSpec)(unsafe.Pointer(&in.RolesMapping)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.KernelSettings = (*KernelSettings)(unsafe.Pointer(in.KernelSettings)) out.HeapSizePercentage = (*int32)(unsafe.Pointer(in.HeapSizePercentage)) out.HealthChecker = in.HealthChecker @@ -977,7 +977,7 @@ func Convert_v1_MemcachedSpec_To_v1alpha2_MemcachedSpec(in *v1.MemcachedSpec, ou out.ServiceTemplates = *(*[]NamedServiceTemplateSpec)(unsafe.Pointer(&in.ServiceTemplates)) out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.Halted = in.Halted - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.HealthChecker = in.HealthChecker return nil } @@ -1025,7 +1025,7 @@ func Convert_v1_PgBouncerSpec_To_v1alpha2_PgBouncerSpec(in *v1.PgBouncerSpec, ou out.Monitor = (*monitoringagentapiapiv1.AgentSpec)(unsafe.Pointer(in.Monitor)) out.SSLMode = PgBouncerSSLMode(in.SSLMode) out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) - out.TerminationPolicy = PgBouncerTerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.HealthChecker = in.HealthChecker return nil } @@ -1069,7 +1069,7 @@ func Convert_v1_ProxySQLSpec_To_v1alpha2_ProxySQLSpec(in *v1.ProxySQLSpec, out * } out.ServiceTemplates = *(*[]NamedServiceTemplateSpec)(unsafe.Pointer(&in.ServiceTemplates)) out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.HealthChecker = in.HealthChecker return nil } @@ -1113,7 +1113,7 @@ func Convert_v1_RedisSentinelSpec_To_v1alpha2_RedisSentinelSpec(in *v1.RedisSent out.DisableAuth = in.DisableAuth out.Halted = in.Halted out.Monitor = (*monitoringagentapiapiv1.AgentSpec)(unsafe.Pointer(in.Monitor)) - out.TerminationPolicy = TerminationPolicy(in.DeletionPolicy) + out.TerminationPolicy = DeletionPolicy(in.DeletionPolicy) out.HealthChecker = in.HealthChecker return nil } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go index f8c2d4f4e..db03e2582 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_helpers.go @@ -431,7 +431,7 @@ func (d *Druid) GetCertSecretName(alias DruidCertificateAlias) string { func (d *Druid) SetDefaults() { if d.Spec.DeletionPolicy == "" { - d.Spec.DeletionPolicy = TerminationPolicyDelete + d.Spec.DeletionPolicy = DeletionPolicyDelete } if d.Spec.EnableSSL { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go index d572d1155..3ffd2dede 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go @@ -115,7 +115,7 @@ type DruidSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_helpers.go index 9cf6ac446..bc22cd810 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_helpers.go @@ -436,7 +436,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top } if e.Spec.TerminationPolicy == "" { - e.Spec.TerminationPolicy = TerminationPolicyDelete + e.Spec.TerminationPolicy = DeletionPolicyDelete } if e.Spec.PodTemplate.Spec.ServiceAccountName == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_types.go index 89c557aad..284112397 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_types.go @@ -156,7 +156,7 @@ type ElasticsearchSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // KernelSettings contains the additional kernel settings. // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_helpers.go index d0708704c..6caa1697f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_helpers.go @@ -182,7 +182,7 @@ func (e *Etcd) SetDefaults() { e.Spec.StorageType = StorageTypeDurable } if e.Spec.DeletionPolicy == "" { - e.Spec.DeletionPolicy = TerminationPolicyDelete + e.Spec.DeletionPolicy = DeletionPolicyDelete } e.Spec.Monitor.SetDefaults() diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_types.go index cbf151b15..ecc916ba1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/etcd_types.go @@ -92,7 +92,7 @@ type EtcdSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` } type TLSPolicy struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_helpers.go index 0e5f17c6c..b88bb0459 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_helpers.go @@ -181,7 +181,7 @@ func (f *FerretDB) SetDefaults() { } if f.Spec.DeletionPolicy == "" { - f.Spec.DeletionPolicy = TerminationPolicyWipeOut + f.Spec.DeletionPolicy = DeletionPolicyWipeOut } if f.Spec.SSLMode == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go index cdfd9e276..c99cf28dc 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go @@ -92,7 +92,7 @@ type FerretDBSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go index 883f5b3b6..e9f925531 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_webhook.go @@ -92,7 +92,7 @@ func (f *FerretDB) ValidateDelete() (admission.Warnings, error) { ferretdblog.Info("validate delete", "name", f.Name) var allErr field.ErrorList - if f.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if f.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("terminationPolicy"), f.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) @@ -154,7 +154,7 @@ func (f *FerretDB) ValidateCreateOrUpdate() field.ErrorList { } // Termination policy related - if f.Spec.DeletionPolicy == TerminationPolicyHalt { + if f.Spec.DeletionPolicy == DeletionPolicyHalt { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("terminationPolicy"), f.Name, `'spec.terminationPolicy' value 'Halt' is not supported yet for FerretDB`)) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go index 95d5ebf41..094e8cf8f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_helpers.go @@ -300,15 +300,15 @@ func (k *Kafka) SetHealthCheckerDefaults() { func (k *Kafka) SetDefaults() { if k.Spec.Halted { - if k.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if k.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { klog.Errorf(`Can't halt, since deletion policy is 'DoNotTerminate'`) return } - k.Spec.DeletionPolicy = TerminationPolicyHalt + k.Spec.DeletionPolicy = DeletionPolicyHalt } if k.Spec.DeletionPolicy == "" { - k.Spec.DeletionPolicy = TerminationPolicyDelete + k.Spec.DeletionPolicy = DeletionPolicyDelete } if k.Spec.StorageType == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_types.go index b4770a0ba..1fb23c599 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_types.go @@ -110,7 +110,7 @@ type KafkaSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_webhook.go index b76005bb9..420423419 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/kafka_webhook.go @@ -81,7 +81,7 @@ func (k *Kafka) ValidateDelete() (admission.Warnings, error) { // TODO(user): fill in your validation logic upon object deletion. var allErr field.ErrorList - if k.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if k.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("teminationPolicy"), k.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) @@ -170,7 +170,7 @@ func (k *Kafka) ValidateCreateOrUpdate() error { } } - if k.Spec.Halted && k.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if k.Spec.Halted && k.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("halted"), k.Name, `can't halt if deletionPolicy is set to "DoNotTerminate"`)) @@ -207,7 +207,7 @@ func (k *Kafka) ValidateCreateOrUpdate() error { k.Name, "StorageType should be either durable or ephemeral")) } - if k.Spec.StorageType == StorageTypeEphemeral && k.Spec.DeletionPolicy == TerminationPolicyHalt { + if k.Spec.StorageType == StorageTypeEphemeral && k.Spec.DeletionPolicy == DeletionPolicyHalt { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("deletionPolicy"), k.Name, `'spec.deletionPolicy: Halt' can not be used for 'Ephemeral' storage`)) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_helpers.go index a717e2ec8..6943b0dde 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_helpers.go @@ -210,7 +210,7 @@ func (m *MariaDB) SetDefaults(mdVersion *v1alpha1.MariaDBVersion, topology *core m.Spec.StorageType = StorageTypeDurable } if m.Spec.TerminationPolicy == "" { - m.Spec.TerminationPolicy = TerminationPolicyDelete + m.Spec.TerminationPolicy = DeletionPolicyDelete } if m.Spec.PodTemplate.Spec.ServiceAccountName == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_types.go index ca7ecd655..3ade7e877 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_types.go @@ -111,7 +111,7 @@ type MariaDBSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_helpers.go index f6839cea8..3925e2937 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_helpers.go @@ -187,7 +187,7 @@ func (m *Memcached) SetDefaults(mcVersion *catalog.MemcachedVersion) { m.setDefaultContainerSecurityContext(mcVersion, &m.Spec.PodTemplate) // perform defaulting if m.Spec.TerminationPolicy == "" { - m.Spec.TerminationPolicy = TerminationPolicyDelete + m.Spec.TerminationPolicy = DeletionPolicyDelete } if m.Spec.PodTemplate.Spec.ServiceAccountName == "" { m.Spec.PodTemplate.Spec.ServiceAccountName = m.OffshootName() diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go index c4321b209..e3077f1e2 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go @@ -101,7 +101,7 @@ type MemcachedSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go index 615121324..7304b41b1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go @@ -618,7 +618,7 @@ func (m *MongoDB) SetDefaults(mgVersion *v1alpha1.MongoDBVersion, topology *core m.Spec.StorageEngine = StorageEngineWiredTiger } if m.Spec.TerminationPolicy == "" { - m.Spec.TerminationPolicy = TerminationPolicyDelete + m.Spec.TerminationPolicy = DeletionPolicyDelete } if m.Spec.SSLMode == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_types.go index 3fdabe84e..4382a4bb2 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_types.go @@ -121,7 +121,7 @@ type MongoDBSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // StorageEngine can be wiredTiger (default) or inMemory // See available StorageEngine: https://docs.mongodb.com/manual/core/storage-engines/ diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go index d37479609..08e7ed057 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go @@ -326,16 +326,16 @@ func (m *MSSQLServer) SetDefaults() { m.Spec.StorageType = StorageTypeDurable } if m.Spec.DeletionPolicy == "" { - m.Spec.DeletionPolicy = TerminationPolicyDelete + m.Spec.DeletionPolicy = DeletionPolicyDelete } if m.IsStandalone() { if m.Spec.Replicas == nil { m.Spec.Replicas = pointer.Int32P(1) } - } else { - if m.Spec.LeaderElection == nil { - m.Spec.LeaderElection = &MSSQLServerLeaderElectionConfig{ + } else if m.IsAvailabilityGroup() { + if m.Spec.Topology.AvailabilityGroup.LeaderElection == nil { + m.Spec.Topology.AvailabilityGroup.LeaderElection = &MSSQLServerLeaderElectionConfig{ // The upper limit of election timeout is 50000ms (50s), which should only be used when deploying a // globally-distributed etcd cluster. A reasonable round-trip time for the continental United States is around 130-150ms, // and the time between US and Japan is around 350-400ms. If the network has uneven performance or regular packet @@ -350,11 +350,11 @@ func (m *MSSQLServer) SetDefaults() { HeartbeatTick: 1, } } - if m.Spec.LeaderElection.TransferLeadershipInterval == nil { - m.Spec.LeaderElection.TransferLeadershipInterval = &meta.Duration{Duration: 1 * time.Second} + if m.Spec.Topology.AvailabilityGroup.LeaderElection.TransferLeadershipInterval == nil { + m.Spec.Topology.AvailabilityGroup.LeaderElection.TransferLeadershipInterval = &meta.Duration{Duration: 1 * time.Second} } - if m.Spec.LeaderElection.TransferLeadershipTimeout == nil { - m.Spec.LeaderElection.TransferLeadershipTimeout = &meta.Duration{Duration: 60 * time.Second} + if m.Spec.Topology.AvailabilityGroup.LeaderElection.TransferLeadershipTimeout == nil { + m.Spec.Topology.AvailabilityGroup.LeaderElection.TransferLeadershipTimeout = &meta.Duration{Duration: 60 * time.Second} } } @@ -498,8 +498,6 @@ func (m *MSSQLServer) setDefaultContainerResourceLimits(podTemplate *ofst.PodTem } func (m *MSSQLServer) SetTLSDefaults() { - m.SetTLSDefaultsForInternalAuth() - if m.Spec.TLS == nil || m.Spec.TLS.IssuerRef == nil { return } @@ -546,34 +544,30 @@ func (m *MSSQLServer) SetTLSDefaults() { OrganizationalUnits: defaultClientOrgUnit, }, }) -} - -func (m *MSSQLServer) SetTLSDefaultsForInternalAuth() { - if m.Spec.InternalAuth == nil || m.Spec.InternalAuth.EndpointCert == nil || m.Spec.InternalAuth.EndpointCert.IssuerRef == nil { - return - } - // Endpoint-cert - defaultServerOrg := []string{kubedb.KubeDBOrganization} - defaultServerOrgUnit := []string{string(MSSQLServerEndpointCert)} - _, cert := kmapi.GetCertificate(m.Spec.InternalAuth.EndpointCert.Certificates, string(MSSQLServerEndpointCert)) - if cert != nil && cert.Subject != nil { - if cert.Subject.Organizations != nil { - defaultServerOrg = cert.Subject.Organizations - } - if cert.Subject.OrganizationalUnits != nil { - defaultServerOrgUnit = cert.Subject.OrganizationalUnits + if m.IsAvailabilityGroup() { + // Endpoint-cert + defaultEndpointOrg := []string{kubedb.KubeDBOrganization} + defaultEndpointOrgUnit := []string{string(MSSQLServerEndpointCert)} + _, cert = kmapi.GetCertificate(m.Spec.TLS.Certificates, string(MSSQLServerEndpointCert)) + if cert != nil && cert.Subject != nil { + if cert.Subject.Organizations != nil { + defaultEndpointOrg = cert.Subject.Organizations + } + if cert.Subject.OrganizationalUnits != nil { + defaultEndpointOrgUnit = cert.Subject.OrganizationalUnits + } } - } - m.Spec.InternalAuth.EndpointCert.Certificates = kmapi.SetMissingSpecForCertificate(m.Spec.InternalAuth.EndpointCert.Certificates, kmapi.CertificateSpec{ - Alias: string(MSSQLServerEndpointCert), - SecretName: m.GetCertSecretName(MSSQLServerEndpointCert), - Subject: &kmapi.X509Subject{ - Organizations: defaultServerOrg, - OrganizationalUnits: defaultServerOrgUnit, - }, - }) + m.Spec.TLS.Certificates = kmapi.SetMissingSpecForCertificate(m.Spec.TLS.Certificates, kmapi.CertificateSpec{ + Alias: string(MSSQLServerEndpointCert), + SecretName: m.GetCertSecretName(MSSQLServerEndpointCert), + Subject: &kmapi.X509Subject{ + Organizations: defaultEndpointOrg, + OrganizationalUnits: defaultEndpointOrgUnit, + }, + }) + } } func (m *MSSQLServer) ReplicasAreReady(lister pslister.PetSetLister) (bool, string, error) { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go index 2331a1f36..dc37f557c 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go @@ -95,11 +95,6 @@ type MSSQLServerSpec struct { // +optional ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` - // InternalAuth is used to authenticate endpoint - // +optional - // +nullable - InternalAuth *InternalAuthentication `json:"internalAuth,omitempty"` - // Init is used to initialize database // +optional Init *InitSpec `json:"init,omitempty"` @@ -121,15 +116,7 @@ type MSSQLServerSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` - - // Coordinator defines attributes of the coordinator container - // +optional - Coordinator CoordinatorSpec `json:"coordinator,omitempty"` - - // Leader election configuration - // +optional - LeaderElection *MSSQLServerLeaderElectionConfig `json:"leaderElection,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional @@ -145,15 +132,11 @@ type MSSQLServerSpec struct { Archiver *Archiver `json:"archiver,omitempty"` } -// InternalAuthentication provides different way of endpoint authentication -type InternalAuthentication struct { - // EndpointCert is used for endpoint authentication of MSSql Server - EndpointCert *kmapi.TLSConfig `json:"endpointCert"` -} - type SQLServerTLSConfig struct { kmapi.TLSConfig `json:",inline"` - ClientTLS bool `json:"clientTLS"` + + // +optional + ClientTLS *bool `json:"clientTLS"` } type MSSQLServerTopology struct { @@ -171,6 +154,10 @@ type MSSQLServerAvailabilityGroupSpec struct { // AvailabilityDatabases is an array of databases to be included in the availability group // +optional Databases []string `json:"databases"` + + // Leader election configuration + // +optional + LeaderElection *MSSQLServerLeaderElectionConfig `json:"leaderElection,omitempty"` } // MSSQLServerStatus defines the observed state of MSSQLServer diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go index a088f2b98..68443f595 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go @@ -95,7 +95,7 @@ func (m *MSSQLServer) ValidateDelete() (admission.Warnings, error) { mssqllog.Info("validate delete", "name", m.Name) var allErr field.ErrorList - if m.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if m.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("terminationPolicy"), m.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) @@ -132,31 +132,20 @@ func (m *MSSQLServer) ValidateCreateOrUpdate() field.ErrorList { m.Name, "number of replicas can not be nil and can not be less than or equal to 0")) } - - if m.Spec.InternalAuth == nil { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("internalAuth"), - m.Name, "spec.internalAuth is missing")) - } else if m.Spec.InternalAuth.EndpointCert == nil { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("internalAuth").Child("endpointCert"), - m.Name, "spec.internalAuth.endpointCert is missing")) - } else { - if m.Spec.InternalAuth.EndpointCert.IssuerRef == nil { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("internalAuth").Child("endpointCert").Child("issuerRef"), - m.Name, "spec.internalAuth.endpointCert.issuerRef' is missing")) - } - if len(m.Spec.InternalAuth.EndpointCert.Certificates) > 1 { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("internalAuth").Child("endpointCert").Child("certificates"), - m.Name, "spec.internalAuth.endpointCert.certificates' can have only one certificate")) - } - } } if m.Spec.TLS == nil { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("tls"), m.Name, "spec.tls is missing")) - } else if m.Spec.TLS.IssuerRef == nil { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("tls").Child("issuerRef"), - m.Name, "spec.tls.issuerRef' is missing")) + } else { + if m.Spec.TLS.IssuerRef == nil { + allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("tls").Child("issuerRef"), + m.Name, "spec.tls.issuerRef' is missing")) + } + if m.Spec.TLS.ClientTLS == nil { + allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("tls").Child("clientTLS"), + m.Name, "spec.tls.clientTLS' is missing")) + } } if m.Spec.PodTemplate != nil { @@ -291,7 +280,6 @@ func mssqlValidateVolumesMountPaths(podTemplate *ofst.PodTemplateSpec) error { var forbiddenMSSQLServerEnvVars = []string{ kubedb.EnvMSSQLSAUsername, kubedb.EnvMSSQLSAPassword, - kubedb.EnvAcceptEula, kubedb.EnvMSSQLEnableHADR, kubedb.EnvMSSQLAgentEnabled, kubedb.EnvMSSQLVersion, @@ -307,11 +295,18 @@ func getMSSQLServerContainerEnvs(m *MSSQLServer) []core.EnvVar { } func ValidateMSSQLServerEnvVar(envs []core.EnvVar, forbiddenEnvs []string, resourceType string) error { + presentMSSQL_PID := false for _, env := range envs { present, _ := arrays.Contains(forbiddenEnvs, env.Name) if present { return fmt.Errorf("environment variable %s is forbidden to use in %s spec", env.Name, resourceType) } + if env.Name == "MSSQL_PID" { + presentMSSQL_PID = true + } + } + if !presentMSSQL_PID { + return fmt.Errorf("environment variable %s must be provided in %s spec", kubedb.EnvMSSQLPid, resourceType) } return nil } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_helpers.go index cb749df94..7ae173071 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_helpers.go @@ -264,7 +264,7 @@ func (m *MySQL) SetDefaults(myVersion *v1alpha1.MySQLVersion, topology *core_uti m.Spec.StorageType = StorageTypeDurable } if m.Spec.TerminationPolicy == "" { - m.Spec.TerminationPolicy = TerminationPolicyDelete + m.Spec.TerminationPolicy = DeletionPolicyDelete } if m.UsesGroupReplication() { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go index b023255f8..467bb78bc 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go @@ -128,7 +128,7 @@ type MySQLSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // Indicated whether to use DNS or IP address to address pods in a db cluster. // If IP address is used, HostNetwork will be used. Defaults to DNS. diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go index c587cbcc8..2b83d6b4d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go @@ -549,7 +549,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBStatus": schema_apimachinery_apis_kubedb_v1alpha2_FerretDBStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.GitRepo": schema_apimachinery_apis_kubedb_v1alpha2_GitRepo(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec": schema_apimachinery_apis_kubedb_v1alpha2_InitSpec(ref), - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InternalAuthentication": schema_apimachinery_apis_kubedb_v1alpha2_InternalAuthentication(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Kafka": schema_apimachinery_apis_kubedb_v1alpha2_Kafka(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.KafkaApp": schema_apimachinery_apis_kubedb_v1alpha2_KafkaApp(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.KafkaBrokerCapacity": schema_apimachinery_apis_kubedb_v1alpha2_KafkaBrokerCapacity(ref), @@ -28546,28 +28545,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_InitSpec(ref common.ReferenceCallb } } -func schema_apimachinery_apis_kubedb_v1alpha2_InternalAuthentication(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "InternalAuthentication provides different way of endpoint authentication", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "endpointCert": { - SchemaProps: spec.SchemaProps{ - Description: "EndpointCert is used for endpoint authentication of MSSql Server", - Ref: ref("kmodules.xyz/client-go/api/v1.TLSConfig"), - }, - }, - }, - Required: []string{"endpointCert"}, - }, - }, - Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.TLSConfig"}, - } -} - func schema_apimachinery_apis_kubedb_v1alpha2_Kafka(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -29177,9 +29154,17 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerAvailabilityGroupSpec(r }, }, }, + "leaderElection": { + SchemaProps: spec.SchemaProps{ + Description: "Leader election configuration", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerLeaderElectionConfig"), + }, + }, }, }, }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerLeaderElectionConfig"}, } } @@ -29334,12 +29319,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, - "internalAuth": { - SchemaProps: spec.SchemaProps{ - Description: "InternalAuth is used to authenticate endpoint", - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InternalAuthentication"), - }, - }, "init": { SchemaProps: spec.SchemaProps{ Description: "Init is used to initialize database", @@ -29386,19 +29365,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen Format: "", }, }, - "coordinator": { - SchemaProps: spec.SchemaProps{ - Description: "Coordinator defines attributes of the coordinator container", - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec"), - }, - }, - "leaderElection": { - SchemaProps: spec.SchemaProps{ - Description: "Leader election configuration", - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerLeaderElectionConfig"), - }, - }, "healthChecker": { SchemaProps: spec.SchemaProps{ Description: "HealthChecker defines attributes of the health checker", @@ -29423,7 +29389,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InternalAuthentication", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerLeaderElectionConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SQLServerTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SQLServerTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -34010,13 +33976,11 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SQLServerTLSConfig(ref common.Refe }, "clientTLS": { SchemaProps: spec.SchemaProps{ - Default: false, - Type: []string{"boolean"}, - Format: "", + Type: []string{"boolean"}, + Format: "", }, }, }, - Required: []string{"clientTLS"}, }, }, Dependencies: []string{ diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_helpers.go index 52a9f67b9..4bbbcc6f0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_helpers.go @@ -219,7 +219,7 @@ func (p *PerconaXtraDB) SetDefaults(pVersion *v1alpha1.PerconaXtraDBVersion, top p.Spec.StorageType = StorageTypeDurable } if p.Spec.TerminationPolicy == "" { - p.Spec.TerminationPolicy = TerminationPolicyDelete + p.Spec.TerminationPolicy = DeletionPolicyDelete } if p.Spec.PodTemplate.Spec.ServiceAccountName == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_types.go index 021fd35d3..fffafa5a1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_types.go @@ -105,7 +105,7 @@ type PerconaXtraDBSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_helpers.go index f879d65e2..2d247ade9 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_helpers.go @@ -192,7 +192,7 @@ func (p *PgBouncer) SetDefaults(pgBouncerVersion *catalog.PgBouncerVersion, uses } if p.Spec.TerminationPolicy == "" { - p.Spec.TerminationPolicy = PgBouncerTerminationPolicyDelete + p.Spec.TerminationPolicy = DeletionPolicyDelete } p.setConnectionPoolConfigDefaults() diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_types.go index 095e99cff..3a1589707 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_types.go @@ -99,7 +99,7 @@ type PgBouncerSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy PgBouncerTerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional @@ -265,17 +265,3 @@ const ( // to Send the client cert and client key certificate for authentication. PgBouncerClientAuthModeCert PgBouncerClientAuthMode = "cert" ) - -// +kubebuilder:validation:Enum=Halt;Delete;WipeOut;DoNotTerminate -type PgBouncerTerminationPolicy string - -const ( - // Deletes database pods, service but leave the PVCs and stash backup data intact. - PgBouncerDeletionPolicyHalt PgBouncerTerminationPolicy = "Halt" - // Deletes database pods, service, pvcs but leave the stash backup data intact. - PgBouncerTerminationPolicyDelete PgBouncerTerminationPolicy = "Delete" - // Deletes database pods, service, pvcs and stash backup data. - PgBouncerTerminationPolicyWipeOut PgBouncerTerminationPolicy = "WipeOut" - // Rejects attempt to delete database using ValidationWebhook. - PgBouncerTerminationPolicyDoNotTerminate PgBouncerTerminationPolicy = "DoNotTerminate" -) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_helpers.go index 7e0167b7a..9fc3e1454 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_helpers.go @@ -348,7 +348,7 @@ func (p *Pgpool) SetDefaults() { p.Spec.Replicas = pointer.Int32P(1) } if p.Spec.DeletionPolicy == "" { - p.Spec.DeletionPolicy = TerminationPolicyDelete + p.Spec.DeletionPolicy = DeletionPolicyDelete } if p.Spec.PodTemplate == nil { p.Spec.PodTemplate = &ofst.PodTemplateSpec{} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go index b2795de86..605b95088 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go @@ -99,7 +99,7 @@ type PgpoolSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // SSLMode for both standalone and clusters. [disable;allow;prefer;require;verify-ca;verify-full] SSLMode PgpoolSSLMode `json:"sslMode,omitempty"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go index 7476ca18a..d870dd754 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_webhook.go @@ -90,7 +90,7 @@ func (p *Pgpool) ValidateDelete() (admission.Warnings, error) { pgpoollog.Info("validate delete", "name", p.Name) var errorList field.ErrorList - if p.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if p.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { errorList = append(errorList, field.Invalid(field.NewPath("spec").Child("terminationPolicy"), p.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go index ee212cbac..a31dbb4ce 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go @@ -193,7 +193,7 @@ func (p *Postgres) SetDefaults(postgresVersion *catalog.PostgresVersion, topolog p.Spec.StorageType = StorageTypeDurable } if p.Spec.TerminationPolicy == "" { - p.Spec.TerminationPolicy = TerminationPolicyDelete + p.Spec.TerminationPolicy = DeletionPolicyDelete } if p.Spec.LeaderElection == nil { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_types.go index ff4b5ea29..dbbf37dd7 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_types.go @@ -131,7 +131,7 @@ type PostgresSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_types.go index 9a196ce2a..630c0a030 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_types.go @@ -166,7 +166,7 @@ type ProxySQLSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go index f998beb0c..35384a26f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_helpers.go @@ -281,7 +281,7 @@ func (r *RabbitMQ) SetDefaults() { } if r.Spec.DeletionPolicy == "" { - r.Spec.DeletionPolicy = TerminationPolicyDelete + r.Spec.DeletionPolicy = DeletionPolicyDelete } if r.Spec.StorageType == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go index 050c8a954..bb42ff5a7 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go @@ -110,7 +110,7 @@ type RabbitMQSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_webhook.go index 6a33e59a4..4ad133a9f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_webhook.go @@ -71,8 +71,8 @@ func (r *RabbitMQ) ValidateDelete() (admission.Warnings, error) { rabbitmqlog.Info("validate delete", "name", r.Name) var allErr field.ErrorList - if r.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("teminationPolicy"), + if r.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { + allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("deletionPolicy"), r.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) return nil, apierrors.NewInvalid(schema.GroupKind{Group: "rabbitmq.kubedb.com", Kind: "RabbitMQ"}, r.Name, allErr) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_helpers.go index 163eae20e..048be592e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_helpers.go @@ -227,7 +227,7 @@ func (r *Redis) SetDefaults(rdVersion *catalog.RedisVersion, topology *core_util r.Spec.StorageType = StorageTypeDurable } if r.Spec.TerminationPolicy == "" { - r.Spec.TerminationPolicy = TerminationPolicyDelete + r.Spec.TerminationPolicy = DeletionPolicyDelete } r.setDefaultContainerSecurityContext(rdVersion, &r.Spec.PodTemplate) if r.Spec.PodTemplate.Spec.ServiceAccountName == "" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_helpers.go index ec023d85a..73d2fa19b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_helpers.go @@ -188,7 +188,7 @@ func (rs *RedisSentinel) SetDefaults(rdVersion *catalog.RedisVersion, topology * rs.Spec.StorageType = StorageTypeDurable } if rs.Spec.TerminationPolicy == "" { - rs.Spec.TerminationPolicy = TerminationPolicyDelete + rs.Spec.TerminationPolicy = DeletionPolicyDelete } rs.setDefaultContainerSecurityContext(rdVersion, &rs.Spec.PodTemplate) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_types.go index dbb060832..a36e18024 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_sentinel_types.go @@ -90,7 +90,7 @@ type RedisSentinelSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go index 9d2f2615a..fb40cb8aa 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go @@ -123,7 +123,7 @@ type RedisSpec struct { // TerminationPolicy controls the delete operation for database // +optional - TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + TerminationPolicy DeletionPolicy `json:"terminationPolicy,omitempty"` // Coordinator defines attributes of the coordinator container // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_helpers.go index a0136f033..617317a65 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_helpers.go @@ -327,7 +327,7 @@ func (s *Singlestore) SetDefaults() { s.Spec.StorageType = StorageTypeDurable } if s.Spec.DeletionPolicy == "" { - s.Spec.DeletionPolicy = TerminationPolicyDelete + s.Spec.DeletionPolicy = DeletionPolicyDelete } if s.Spec.Topology == nil { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go index da7375461..48b3b0041 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go @@ -102,7 +102,7 @@ type SinglestoreSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_webhook.go index 7547abb31..5078f7814 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_webhook.go @@ -78,7 +78,7 @@ func (s *Singlestore) ValidateDelete() (admission.Warnings, error) { singlestorelog.Info("validate delete", "name", s.Name) var allErr field.ErrorList - if s.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if s.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("terminationPolicy"), s.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go index ca0b3b26c..265e7fb48 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_helpers.go @@ -274,7 +274,7 @@ func (s Solr) CoordinatorSelectors() map[string]string { func (s *Solr) SetDefaults() { if s.Spec.DeletionPolicy == "" { - s.Spec.DeletionPolicy = TerminationPolicyDelete + s.Spec.DeletionPolicy = DeletionPolicyDelete } if s.Spec.ClientAuthSSL != "need" && s.Spec.ClientAuthSSL != "want" { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go index b56760945..25abe9352 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go @@ -123,7 +123,7 @@ type SolrSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // HealthChecker defines attributes of the health checker // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_webhook.go index 4a64c8e85..1ea9feecb 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_webhook.go @@ -84,7 +84,7 @@ func (s *Solr) ValidateDelete() (admission.Warnings, error) { solrlog.Info("validate delete", "name", s.Name) var allErr field.ErrorList - if s.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if s.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("terminationPolicy"), s.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go index bb818a960..3a8aab79e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go @@ -111,17 +111,17 @@ const ( ) // +kubebuilder:validation:Enum=Halt;Delete;WipeOut;DoNotTerminate -type TerminationPolicy string +type DeletionPolicy string const ( // Deletes database pods, service but leave the PVCs and stash backup data intact. - TerminationPolicyHalt TerminationPolicy = "Halt" + DeletionPolicyHalt DeletionPolicy = "Halt" // Deletes database pods, service, pvcs but leave the stash backup data intact. - TerminationPolicyDelete TerminationPolicy = "Delete" + DeletionPolicyDelete DeletionPolicy = "Delete" // Deletes database pods, service, pvcs and stash backup data. - TerminationPolicyWipeOut TerminationPolicy = "WipeOut" + DeletionPolicyWipeOut DeletionPolicy = "WipeOut" // Rejects attempt to delete database using ValidationWebhook. - TerminationPolicyDoNotTerminate TerminationPolicy = "DoNotTerminate" + DeletionPolicyDoNotTerminate DeletionPolicy = "DoNotTerminate" ) // +kubebuilder:validation:Enum=primary;standby;stats;dashboard;secondary diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go index 5bd4730ef..39b9b8b7c 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_helpers.go @@ -188,18 +188,18 @@ func (z *ZooKeeper) SetHealthCheckerDefaults() { func (z *ZooKeeper) SetDefaults() { if z.Spec.DeletionPolicy == "" { - z.Spec.DeletionPolicy = TerminationPolicyDelete + z.Spec.DeletionPolicy = DeletionPolicyDelete } if z.Spec.Replicas == nil { z.Spec.Replicas = pointer.Int32P(1) } if z.Spec.Halted { - if z.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if z.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { klog.Errorf(`Can't halt, since termination policy is 'DoNotTerminate'`) return } - z.Spec.DeletionPolicy = TerminationPolicyHalt + z.Spec.DeletionPolicy = DeletionPolicyHalt } var zkVersion catalog.ZooKeeperVersion diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go index 661a5feea..972d48c59 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go @@ -106,7 +106,7 @@ type ZooKeeperSpec struct { // DeletionPolicy controls the delete operation for database // +optional - DeletionPolicy TerminationPolicy `json:"deletionPolicy,omitempty"` + DeletionPolicy DeletionPolicy `json:"deletionPolicy,omitempty"` // Indicates that the database is halted and all offshoot Kubernetes resources except PVCs are deleted. // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go index 20fcfba92..e9da6a2ce 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_webhook.go @@ -79,7 +79,7 @@ func (z *ZooKeeper) ValidateDelete() (admission.Warnings, error) { zookeeperlog.Info("validate delete", "name", z.Name) var allErr field.ErrorList - if z.Spec.DeletionPolicy == TerminationPolicyDoNotTerminate { + if z.Spec.DeletionPolicy == DeletionPolicyDoNotTerminate { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("teminationPolicy"), z.Name, "Can not delete as terminationPolicy is set to \"DoNotTerminate\"")) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go index a9586fa31..eef82ace1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go @@ -2045,7 +2045,7 @@ func autoConvert_v1_KafkaSpec_To_v1alpha2_KafkaSpec(in *v1.KafkaSpec, out *Kafka out.TLS = (*clientgoapiv1.TLSConfig)(unsafe.Pointer(in.TLS)) out.PodTemplate = in.PodTemplate out.ServiceTemplates = *(*[]NamedServiceTemplateSpec)(unsafe.Pointer(&in.ServiceTemplates)) - out.DeletionPolicy = TerminationPolicy(in.DeletionPolicy) + out.DeletionPolicy = DeletionPolicy(in.DeletionPolicy) out.HealthChecker = in.HealthChecker out.CruiseControl = (*KafkaCruiseControl)(unsafe.Pointer(in.CruiseControl)) out.Monitor = (*monitoringagentapiapiv1.AgentSpec)(unsafe.Pointer(in.Monitor)) @@ -4300,6 +4300,8 @@ func Convert_v1_ScriptSourceSpec_To_v1alpha2_ScriptSourceSpec(in *v1.ScriptSourc func autoConvert_v1alpha2_SecretReference_To_v1_SecretReference(in *SecretReference, out *v1.SecretReference, s conversion.Scope) error { out.LocalObjectReference = in.LocalObjectReference + out.RotateAfter = (*metav1.Duration)(unsafe.Pointer(in.RotateAfter)) + out.ActiveFrom = (*metav1.Time)(unsafe.Pointer(in.ActiveFrom)) out.ExternallyManaged = in.ExternallyManaged return nil } @@ -4311,6 +4313,8 @@ func Convert_v1alpha2_SecretReference_To_v1_SecretReference(in *SecretReference, func autoConvert_v1_SecretReference_To_v1alpha2_SecretReference(in *v1.SecretReference, out *SecretReference, s conversion.Scope) error { out.LocalObjectReference = in.LocalObjectReference + out.RotateAfter = (*metav1.Duration)(unsafe.Pointer(in.RotateAfter)) + out.ActiveFrom = (*metav1.Time)(unsafe.Pointer(in.ActiveFrom)) out.ExternallyManaged = in.ExternallyManaged return nil } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go index 4f8458a76..f3f0ee66f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go @@ -1938,27 +1938,6 @@ func (in *InitSpec) DeepCopy() *InitSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *InternalAuthentication) DeepCopyInto(out *InternalAuthentication) { - *out = *in - if in.EndpointCert != nil { - in, out := &in.EndpointCert, &out.EndpointCert - *out = new(apiv1.TLSConfig) - (*in).DeepCopyInto(*out) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalAuthentication. -func (in *InternalAuthentication) DeepCopy() *InternalAuthentication { - if in == nil { - return nil - } - out := new(InternalAuthentication) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Kafka) DeepCopyInto(out *Kafka) { *out = *in @@ -2328,6 +2307,11 @@ func (in *MSSQLServerAvailabilityGroupSpec) DeepCopyInto(out *MSSQLServerAvailab *out = make([]string, len(*in)) copy(*out, *in) } + if in.LeaderElection != nil { + in, out := &in.LeaderElection, &out.LeaderElection + *out = new(MSSQLServerLeaderElectionConfig) + (*in).DeepCopyInto(*out) + } return } @@ -2429,11 +2413,6 @@ func (in *MSSQLServerSpec) DeepCopyInto(out *MSSQLServerSpec) { *out = new(corev1.LocalObjectReference) **out = **in } - if in.InternalAuth != nil { - in, out := &in.InternalAuth, &out.InternalAuth - *out = new(InternalAuthentication) - (*in).DeepCopyInto(*out) - } if in.Init != nil { in, out := &in.Init, &out.Init *out = new(InitSpec) @@ -2456,12 +2435,6 @@ func (in *MSSQLServerSpec) DeepCopyInto(out *MSSQLServerSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } - in.Coordinator.DeepCopyInto(&out.Coordinator) - if in.LeaderElection != nil { - in, out := &in.LeaderElection, &out.LeaderElection - *out = new(MSSQLServerLeaderElectionConfig) - (*in).DeepCopyInto(*out) - } in.HealthChecker.DeepCopyInto(&out.HealthChecker) if in.Monitor != nil { in, out := &in.Monitor, &out.Monitor @@ -5131,6 +5104,11 @@ func (in *RemoteReplicaSpec) DeepCopy() *RemoteReplicaSpec { func (in *SQLServerTLSConfig) DeepCopyInto(out *SQLServerTLSConfig) { *out = *in in.TLSConfig.DeepCopyInto(&out.TLSConfig) + if in.ClientTLS != nil { + in, out := &in.ClientTLS, &out.ClientTLS + *out = new(bool) + **out = **in + } return } diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml index e29a08f8f..c61e5d671 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml @@ -80,112 +80,6 @@ spec: type: string type: object x-kubernetes-map-type: atomic - coordinator: - properties: - resources: - properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - type: object - securityContext: - properties: - allowPrivilegeEscalation: - type: boolean - appArmorProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - capabilities: - properties: - add: - items: - type: string - type: array - x-kubernetes-list-type: atomic - drop: - items: - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - type: boolean - procMount: - type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: - type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: - properties: - localhostProfile: - type: string - type: - type: string - required: - - type - type: object - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - type: object deletionPolicy: enum: - Halt @@ -1229,133 +1123,6 @@ spec: waitForInitialRestore: type: boolean type: object - internalAuth: - nullable: true - properties: - endpointCert: - properties: - certificates: - items: - properties: - alias: - type: string - dnsNames: - items: - type: string - type: array - duration: - type: string - emailAddresses: - items: - type: string - type: array - ipAddresses: - items: - type: string - type: array - issuerRef: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - privateKey: - properties: - encoding: - enum: - - PKCS1 - - PKCS8 - type: string - type: object - renewBefore: - type: string - secretName: - type: string - subject: - properties: - countries: - items: - type: string - type: array - localities: - items: - type: string - type: array - organizationalUnits: - items: - type: string - type: array - organizations: - items: - type: string - type: array - postalCodes: - items: - type: string - type: array - provinces: - items: - type: string - type: array - serialNumber: - type: string - streetAddresses: - items: - type: string - type: array - type: object - uris: - items: - type: string - type: array - required: - - alias - type: object - type: array - issuerRef: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - x-kubernetes-map-type: atomic - type: object - required: - - endpointCert - type: object - leaderElection: - properties: - electionTick: - default: 10 - format: int32 - type: integer - heartbeatTick: - default: 1 - format: int32 - type: integer - period: - default: 100ms - type: string - transferLeadershipInterval: - default: 1s - type: string - transferLeadershipTimeout: - default: 60s - type: string - type: object monitor: properties: agent: @@ -4891,8 +4658,6 @@ spec: - name type: object x-kubernetes-map-type: atomic - required: - - clientTLS type: object topology: properties: @@ -4902,6 +4667,26 @@ spec: items: type: string type: array + leaderElection: + properties: + electionTick: + default: 10 + format: int32 + type: integer + heartbeatTick: + default: 1 + format: int32 + type: integer + period: + default: 100ms + type: string + transferLeadershipInterval: + default: 1s + type: string + transferLeadershipTimeout: + default: 60s + type: string + type: object type: object mode: enum: diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mssqlserveropsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mssqlserveropsrequests.yaml index 00a0fa2f0..70a8d8bf2 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mssqlserveropsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mssqlserveropsrequests.yaml @@ -178,6 +178,8 @@ spec: - alias type: object type: array + clientTLS: + type: boolean issuerRef: properties: apiGroup: diff --git a/vendor/modules.txt b/vendor/modules.txt index 9a4018e9b..eb7a52045 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1229,7 +1229,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.1 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.30.2 +# k8s.io/api v0.30.3 ## explicit; go 1.22.0 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -1298,7 +1298,7 @@ k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1 k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1 -# k8s.io/apimachinery v0.30.2 +# k8s.io/apimachinery v0.30.3 ## explicit; go 1.22.0 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -1351,7 +1351,7 @@ k8s.io/apimachinery/pkg/version k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/client-go v0.30.2 +# k8s.io/client-go v0.30.3 ## explicit; go 1.22.0 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1 @@ -1512,7 +1512,7 @@ k8s.io/klog/v2/internal/dbg k8s.io/klog/v2/internal/serialize k8s.io/klog/v2/internal/severity k8s.io/klog/v2/internal/sloghandler -# k8s.io/kube-openapi v0.0.0-20240703190633-0aa61b46e8c2 +# k8s.io/kube-openapi v0.0.0-20240726031636-6f6746feab9c ## explicit; go 1.20 k8s.io/kube-openapi/pkg/cached k8s.io/kube-openapi/pkg/common @@ -1523,7 +1523,7 @@ k8s.io/kube-openapi/pkg/schemaconv k8s.io/kube-openapi/pkg/spec3 k8s.io/kube-openapi/pkg/util/proto k8s.io/kube-openapi/pkg/validation/spec -# k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 +# k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 ## explicit; go 1.18 k8s.io/utils/buffer k8s.io/utils/clock @@ -1564,7 +1564,7 @@ kmodules.xyz/offshoot-api/api/v1 kmodules.xyz/offshoot-api/api/v1/conversion kmodules.xyz/offshoot-api/api/v2 kmodules.xyz/offshoot-api/util -# kubedb.dev/apimachinery v0.49.0-rc.0 +# kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e ## explicit; go 1.22.1 kubedb.dev/apimachinery/apis kubedb.dev/apimachinery/apis/catalog From 4f0a6e5ae732a730cd26a8b24026f358ca3c2ecb Mon Sep 17 00:00:00 2001 From: Neaj Morshad Date: Mon, 18 Nov 2024 16:04:38 +0600 Subject: [PATCH 2/3] Use pointer client tls field Signed-off-by: Neaj Morshad --- go.mod | 2 +- go.sum | 4 +- mssqlserver/kubedb_client_builder.go | 2 +- .../apis/kubedb/v1alpha2/mssqlserver_types.go | 4 +- .../apis/kubedb/v1alpha2/openapi_generated.go | 86 +++++++++---------- .../kubedb/v1alpha2/zz_generated.deepcopy.go | 46 +++++----- vendor/modules.txt | 2 +- 7 files changed, 73 insertions(+), 73 deletions(-) diff --git a/go.mod b/go.mod index 79b218a0a..8298068fa 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( k8s.io/klog/v2 v2.130.1 kmodules.xyz/client-go v0.30.32 kmodules.xyz/custom-resources v0.30.0 - kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e + kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438 sigs.k8s.io/controller-runtime v0.18.4 xorm.io/xorm v1.3.6 ) diff --git a/go.sum b/go.sum index 255e92f8c..bad4c4f54 100644 --- a/go.sum +++ b/go.sum @@ -804,8 +804,8 @@ kmodules.xyz/monitoring-agent-api v0.30.2 h1:sAgz5P5EXZqhlj1NzJ+QltAgeIx5bGSMj+a kmodules.xyz/monitoring-agent-api v0.30.2/go.mod h1:BoZFPDDRB7J39CcUsSDlzgW8PQCwik4ILPleyUob+Mg= kmodules.xyz/offshoot-api v0.30.1 h1:TrulAYO+oBsXe9sZZGTmNWIuI8qD2izMpgcTSPvgAmI= kmodules.xyz/offshoot-api v0.30.1/go.mod h1:T3mpjR6fui0QzOcmQvIuANytW48fe9ytmy/1cgx6D4g= -kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e h1:8U2ubH20d0BsfDS/qKttrGvX78xy/mAboKxKhJmaJbM= -kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e/go.mod h1:KHMku01LAZnDSVqURo5cWnAFBH5LRbOdd2V2XnDVBVA= +kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438 h1:ZWfejX6wX81JB2Fac+By8xXjfYMFwp7/Kf+X2JJKRZE= +kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438/go.mod h1:KHMku01LAZnDSVqURo5cWnAFBH5LRbOdd2V2XnDVBVA= kubeops.dev/petset v0.0.7 h1:F77BTRfUqRVO7kNc8q2oFSSviDmYBqni/osXqu0kgJ4= kubeops.dev/petset v0.0.7/go.mod h1:lt0SZV4ohRy7RiwLNUnMoauG4lCbcRbSqhMg20rdUQg= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= diff --git a/mssqlserver/kubedb_client_builder.go b/mssqlserver/kubedb_client_builder.go index e6d65bed6..a6852a26b 100644 --- a/mssqlserver/kubedb_client_builder.go +++ b/mssqlserver/kubedb_client_builder.go @@ -122,7 +122,7 @@ func (o *KubeDBClientBuilder) getConnectionString() (string, error) { // TLS Configuration tlsConfig := "" - if o.db.Spec.TLS.ClientTLS != nil && *o.db.Spec.TLS.ClientTLS == true { + if o.db.Spec.TLS.ClientTLS != nil && *o.db.Spec.TLS.ClientTLS { tlsConfig = "encrypt=true;TrustServerCertificate=true;" } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go index dc37f557c..8b958c780 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go @@ -104,7 +104,7 @@ type MSSQLServerSpec struct { PodTemplate *ofst.PodTemplateSpec `json:"podTemplate,omitempty"` // TLS contains tls configurations for client and server. - TLS *SQLServerTLSConfig `json:"tls,omitempty"` + TLS *MSSQLServerTLSConfig `json:"tls,omitempty"` // ServiceTemplates is an optional configuration for services used to expose database // +optional @@ -132,7 +132,7 @@ type MSSQLServerSpec struct { Archiver *Archiver `json:"archiver,omitempty"` } -type SQLServerTLSConfig struct { +type MSSQLServerTLSConfig struct { kmapi.TLSConfig `json:",inline"` // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go index 2b83d6b4d..61ae439cd 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go @@ -566,6 +566,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerList": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerList(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerSpec": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerStatus": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerStatus(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTLSConfig": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerTLSConfig(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerTopology(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MariaDB": schema_apimachinery_apis_kubedb_v1alpha2_MariaDB(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MariaDBList": schema_apimachinery_apis_kubedb_v1alpha2_MariaDBList(ref), @@ -643,7 +644,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisSpec": schema_apimachinery_apis_kubedb_v1alpha2_RedisSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisStatus": schema_apimachinery_apis_kubedb_v1alpha2_RedisStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RemoteReplicaSpec": schema_apimachinery_apis_kubedb_v1alpha2_RemoteReplicaSpec(ref), - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SQLServerTLSConfig": schema_apimachinery_apis_kubedb_v1alpha2_SQLServerTLSConfig(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ScriptSourceSpec": schema_apimachinery_apis_kubedb_v1alpha2_ScriptSourceSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference": schema_apimachinery_apis_kubedb_v1alpha2_SecretReference(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SemiSyncSpec": schema_apimachinery_apis_kubedb_v1alpha2_SemiSyncSpec(ref), @@ -29334,7 +29334,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen "tls": { SchemaProps: spec.SchemaProps{ Description: "TLS contains tls configurations for client and server.", - Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SQLServerTLSConfig"), + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTLSConfig"), }, }, "serviceTemplates": { @@ -29389,7 +29389,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SQLServerTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -29436,6 +29436,46 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerStatus(ref common.Refer } } +func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerTLSConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "issuerRef": { + SchemaProps: spec.SchemaProps{ + Description: "IssuerRef is a reference to a Certificate Issuer.", + Ref: ref("k8s.io/api/core/v1.TypedLocalObjectReference"), + }, + }, + "certificates": { + SchemaProps: spec.SchemaProps{ + Description: "Certificate provides server and/or client certificate options used by application pods. These options are passed to a cert-manager Certificate object. xref: https://github.com/jetstack/cert-manager/blob/v0.16.0/pkg/apis/certmanager/v1beta1/types_certificate.go#L82-L162", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kmodules.xyz/client-go/api/v1.CertificateSpec"), + }, + }, + }, + }, + }, + "clientTLS": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.TypedLocalObjectReference", "kmodules.xyz/client-go/api/v1.CertificateSpec"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerTopology(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -33948,46 +33988,6 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RemoteReplicaSpec(ref common.Refer } } -func schema_apimachinery_apis_kubedb_v1alpha2_SQLServerTLSConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "issuerRef": { - SchemaProps: spec.SchemaProps{ - Description: "IssuerRef is a reference to a Certificate Issuer.", - Ref: ref("k8s.io/api/core/v1.TypedLocalObjectReference"), - }, - }, - "certificates": { - SchemaProps: spec.SchemaProps{ - Description: "Certificate provides server and/or client certificate options used by application pods. These options are passed to a cert-manager Certificate object. xref: https://github.com/jetstack/cert-manager/blob/v0.16.0/pkg/apis/certmanager/v1beta1/types_certificate.go#L82-L162", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.CertificateSpec"), - }, - }, - }, - }, - }, - "clientTLS": { - SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", - }, - }, - }, - }, - }, - Dependencies: []string{ - "k8s.io/api/core/v1.TypedLocalObjectReference", "kmodules.xyz/client-go/api/v1.CertificateSpec"}, - } -} - func schema_apimachinery_apis_kubedb_v1alpha2_ScriptSourceSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go index f3f0ee66f..c54452bc4 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.deepcopy.go @@ -2425,7 +2425,7 @@ func (in *MSSQLServerSpec) DeepCopyInto(out *MSSQLServerSpec) { } if in.TLS != nil { in, out := &in.TLS, &out.TLS - *out = new(SQLServerTLSConfig) + *out = new(MSSQLServerTLSConfig) (*in).DeepCopyInto(*out) } if in.ServiceTemplates != nil { @@ -2482,6 +2482,28 @@ func (in *MSSQLServerStatus) DeepCopy() *MSSQLServerStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MSSQLServerTLSConfig) DeepCopyInto(out *MSSQLServerTLSConfig) { + *out = *in + in.TLSConfig.DeepCopyInto(&out.TLSConfig) + if in.ClientTLS != nil { + in, out := &in.ClientTLS, &out.ClientTLS + *out = new(bool) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSSQLServerTLSConfig. +func (in *MSSQLServerTLSConfig) DeepCopy() *MSSQLServerTLSConfig { + if in == nil { + return nil + } + out := new(MSSQLServerTLSConfig) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MSSQLServerTopology) DeepCopyInto(out *MSSQLServerTopology) { *out = *in @@ -5100,28 +5122,6 @@ func (in *RemoteReplicaSpec) DeepCopy() *RemoteReplicaSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SQLServerTLSConfig) DeepCopyInto(out *SQLServerTLSConfig) { - *out = *in - in.TLSConfig.DeepCopyInto(&out.TLSConfig) - if in.ClientTLS != nil { - in, out := &in.ClientTLS, &out.ClientTLS - *out = new(bool) - **out = **in - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SQLServerTLSConfig. -func (in *SQLServerTLSConfig) DeepCopy() *SQLServerTLSConfig { - if in == nil { - return nil - } - out := new(SQLServerTLSConfig) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ScriptSourceSpec) DeepCopyInto(out *ScriptSourceSpec) { *out = *in diff --git a/vendor/modules.txt b/vendor/modules.txt index eb7a52045..c85707fc3 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1564,7 +1564,7 @@ kmodules.xyz/offshoot-api/api/v1 kmodules.xyz/offshoot-api/api/v1/conversion kmodules.xyz/offshoot-api/api/v2 kmodules.xyz/offshoot-api/util -# kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118084711-f93d33ddb83e +# kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438 ## explicit; go 1.22.1 kubedb.dev/apimachinery/apis kubedb.dev/apimachinery/apis/catalog From 6a0abb98fc440a59e6e6925cfa283bac1ee03da5 Mon Sep 17 00:00:00 2001 From: Neaj Morshad Date: Tue, 19 Nov 2024 14:43:43 +0600 Subject: [PATCH 3/3] Update deps Signed-off-by: Neaj Morshad --- go.mod | 2 +- go.sum | 4 +-- .../apimachinery/apis/kubedb/constants.go | 24 ++++++++++++-- .../apis/kubedb/v1/mongodb_helpers.go | 32 ++++++++++--------- .../apis/kubedb/v1/mysql_types.go | 4 +-- .../apis/kubedb/v1/postgres_helpers.go | 4 +-- .../apis/kubedb/v1alpha2/mongodb_helpers.go | 12 ++++--- .../kubedb/v1alpha2/mssqlserver_helpers.go | 5 +++ .../kubedb/v1alpha2/mssqlserver_webhook.go | 4 --- .../apis/kubedb/v1alpha2/mysql_types.go | 4 +-- .../apis/kubedb/v1alpha2/postgres_helpers.go | 5 +-- .../apimachinery/crds/kubedb.com_mysqls.yaml | 4 +++ vendor/modules.txt | 2 +- 13 files changed, 68 insertions(+), 38 deletions(-) diff --git a/go.mod b/go.mod index 8298068fa..22b2822e2 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( k8s.io/klog/v2 v2.130.1 kmodules.xyz/client-go v0.30.32 kmodules.xyz/custom-resources v0.30.0 - kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438 + kubedb.dev/apimachinery v0.49.0-rc.0.0.20241119063532-8cc86086db40 sigs.k8s.io/controller-runtime v0.18.4 xorm.io/xorm v1.3.6 ) diff --git a/go.sum b/go.sum index bad4c4f54..6ca952cca 100644 --- a/go.sum +++ b/go.sum @@ -804,8 +804,8 @@ kmodules.xyz/monitoring-agent-api v0.30.2 h1:sAgz5P5EXZqhlj1NzJ+QltAgeIx5bGSMj+a kmodules.xyz/monitoring-agent-api v0.30.2/go.mod h1:BoZFPDDRB7J39CcUsSDlzgW8PQCwik4ILPleyUob+Mg= kmodules.xyz/offshoot-api v0.30.1 h1:TrulAYO+oBsXe9sZZGTmNWIuI8qD2izMpgcTSPvgAmI= kmodules.xyz/offshoot-api v0.30.1/go.mod h1:T3mpjR6fui0QzOcmQvIuANytW48fe9ytmy/1cgx6D4g= -kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438 h1:ZWfejX6wX81JB2Fac+By8xXjfYMFwp7/Kf+X2JJKRZE= -kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438/go.mod h1:KHMku01LAZnDSVqURo5cWnAFBH5LRbOdd2V2XnDVBVA= +kubedb.dev/apimachinery v0.49.0-rc.0.0.20241119063532-8cc86086db40 h1:/sd6qmj0p7WxYxpeOKav0D6Fe30MdbiJbVZ0C6Rglas= +kubedb.dev/apimachinery v0.49.0-rc.0.0.20241119063532-8cc86086db40/go.mod h1:KHMku01LAZnDSVqURo5cWnAFBH5LRbOdd2V2XnDVBVA= kubeops.dev/petset v0.0.7 h1:F77BTRfUqRVO7kNc8q2oFSSviDmYBqni/osXqu0kgJ4= kubeops.dev/petset v0.0.7/go.mod h1:lt0SZV4ohRy7RiwLNUnMoauG4lCbcRbSqhMg20rdUQg= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go index 41b4a6fb1..4f8fa0c5f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go @@ -1614,9 +1614,19 @@ var ( core.ResourceMemory: resource.MustParse("256Mi"), }, } + DefaultArbiterMemoryIntensive = core.ResourceRequirements{ + Requests: core.ResourceList{ + // these are the default cpu & memory for a coordinator container + core.ResourceCPU: resource.MustParse(".200"), + core.ResourceMemory: resource.MustParse("500Mi"), + }, + Limits: core.ResourceList{ + core.ResourceMemory: resource.MustParse("500Mi"), + }, + } - // DefaultResourcesCPUIntensive is for MongoDB versions >= 6 - DefaultResourcesCPUIntensive = core.ResourceRequirements{ + // DefaultResourcesCPUIntensiveMongoDBv6 is for MongoDB versions >= 6 + DefaultResourcesCPUIntensiveMongoDBv6 = core.ResourceRequirements{ Requests: core.ResourceList{ core.ResourceCPU: resource.MustParse(".800"), core.ResourceMemory: resource.MustParse("1024Mi"), @@ -1625,6 +1635,16 @@ var ( core.ResourceMemory: resource.MustParse("1024Mi"), }, } + // DefaultResourcesCPUIntensiveMongoDBv8 is for MongoDB versions >= 8 + DefaultResourcesCPUIntensiveMongoDBv8 = core.ResourceRequirements{ + Requests: core.ResourceList{ + core.ResourceCPU: resource.MustParse(".800"), + core.ResourceMemory: resource.MustParse("1.5Gi"), + }, + Limits: core.ResourceList{ + core.ResourceMemory: resource.MustParse("1.5Gi"), + }, + } // DefaultResourcesMemoryIntensive must be used for elasticsearch // to avoid OOMKILLED while deploying ES V8 diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mongodb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mongodb_helpers.go index 48c310d48..4422cccaf 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mongodb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mongodb_helpers.go @@ -713,8 +713,10 @@ func (m *MongoDB) setPodTemplateDefaultValues(podTemplate *ofstv2.PodTemplateSpe m.setDefaultPodSecurityContext(mgVersion, podTemplate) defaultResource := kubedb.DefaultResources - if m.isVersion6OrLater(mgVersion) { - defaultResource = kubedb.DefaultResourcesCPUIntensive + if m.isLaterVersion(mgVersion, 8) { + defaultResource = kubedb.DefaultResourcesCPUIntensiveMongoDBv8 + } else if m.isLaterVersion(mgVersion, 6) { + defaultResource = kubedb.DefaultResourcesCPUIntensiveMongoDBv6 } container := ofst_util.EnsureInitContainerExists(podTemplate, kubedb.MongoDBInitInstallContainerName) @@ -733,7 +735,11 @@ func (m *MongoDB) setContainerDefaultValues(container *core.Container, mgVersion defaultResource core.ResourceRequirements, isArbiter ...bool, ) { if len(isArbiter) > 0 && isArbiter[0] { - m.setContainerDefaultResources(container, kubedb.DefaultArbiter(true)) + if m.isLaterVersion(mgVersion, 7) { + m.setContainerDefaultResources(container, kubedb.DefaultArbiterMemoryIntensive) + } else { + m.setContainerDefaultResources(container, kubedb.DefaultArbiter(true)) + } } else { m.setContainerDefaultResources(container, defaultResource) } @@ -886,19 +892,19 @@ func (m *MongoDB) SetTLSDefaults() { }) } -func (m *MongoDB) isVersion6OrLater(mgVersion *v1alpha1.MongoDBVersion) bool { +func (m *MongoDB) isLaterVersion(mgVersion *v1alpha1.MongoDBVersion, version uint64) bool { v, _ := semver.NewVersion(mgVersion.Spec.Version) - return v.Major() >= 6 + return v.Major() >= version } func (m *MongoDB) GetEntryCommand(mgVersion *v1alpha1.MongoDBVersion) string { - if m.isVersion6OrLater(mgVersion) { + if m.isLaterVersion(mgVersion, 6) { return "mongosh" } return "mongo" } -func (m *MongoDB) getCmdForProbes(mgVersion *v1alpha1.MongoDBVersion, isArbiter ...bool) []string { +func (m *MongoDB) getCmdForProbes(mgVersion *v1alpha1.MongoDBVersion) []string { var sslArgs string if m.Spec.SSLMode == SSLModeRequireSSL { sslArgs = fmt.Sprintf("--tls --tlsCAFile=%v/%v --tlsCertificateKeyFile=%v/%v", @@ -917,17 +923,13 @@ func (m *MongoDB) getCmdForProbes(mgVersion *v1alpha1.MongoDBVersion, isArbiter } } - var authArgs string - if len(isArbiter) == 0 { // not arbiter - authArgs = "--username=$MONGO_INITDB_ROOT_USERNAME --password=$MONGO_INITDB_ROOT_PASSWORD --authenticationDatabase=admin" - } return []string{ "bash", "-c", - fmt.Sprintf(`set -x; if [[ $(%s admin --host=localhost %v %v --quiet --eval "db.adminCommand('ping').ok" ) -eq "1" ]]; then + fmt.Sprintf(`set -x; if [[ $(%s admin --host=localhost %v --quiet --eval "db.adminCommand('ping').ok" ) -eq "1" ]]; then exit 0 fi - exit 1`, m.GetEntryCommand(mgVersion), sslArgs, authArgs), + exit 1`, m.GetEntryCommand(mgVersion), sslArgs), } } @@ -935,7 +937,7 @@ func (m *MongoDB) GetDefaultLivenessProbeSpec(mgVersion *v1alpha1.MongoDBVersion return &core.Probe{ ProbeHandler: core.ProbeHandler{ Exec: &core.ExecAction{ - Command: m.getCmdForProbes(mgVersion, isArbiter...), + Command: m.getCmdForProbes(mgVersion), }, }, FailureThreshold: 3, @@ -949,7 +951,7 @@ func (m *MongoDB) GetDefaultReadinessProbeSpec(mgVersion *v1alpha1.MongoDBVersio return &core.Probe{ ProbeHandler: core.ProbeHandler{ Exec: &core.ExecAction{ - Command: m.getCmdForProbes(mgVersion, isArbiter...), + Command: m.getCmdForProbes(mgVersion), }, }, FailureThreshold: 3, diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mysql_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mysql_types.go index b9a8e3745..9b3ddcb1a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/mysql_types.go @@ -41,12 +41,12 @@ const ( MySQLModeSemiSync MySQLMode = "SemiSync" ) -// +kubebuilder:validation:Enum=Single-Primary +// +kubebuilder:validation:Enum=Single-Primary;Multi-Primary type MySQLGroupMode string const ( MySQLGroupModeSinglePrimary MySQLGroupMode = "Single-Primary" - // MySQLGroupModeMultiPrimary MySQLGroupMode = "Multi-Primary" + MySQLGroupModeMultiPrimary MySQLGroupMode = "Multi-Primary" ) // Mysql defines a Mysql database. diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/postgres_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/postgres_helpers.go index ddf77bdfa..d0ec2434a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/postgres_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/postgres_helpers.go @@ -306,12 +306,12 @@ func (p *Postgres) SetDefaultReplicationMode(postgresVersion *catalog.PostgresVe } func (p *Postgres) SetArbiterDefault() { - if p.Spec.Arbiter == nil { + if ptr.Deref(p.Spec.Replicas, 0)%2 == 0 && p.Spec.Arbiter == nil { p.Spec.Arbiter = &ArbiterSpec{ Resources: core.ResourceRequirements{}, } + apis.SetDefaultResourceLimits(&p.Spec.Arbiter.Resources, kubedb.DefaultArbiter(false)) } - apis.SetDefaultResourceLimits(&p.Spec.Arbiter.Resources, kubedb.DefaultArbiter(false)) } func (p *Postgres) setDefaultPodSecurityContext(podTemplate *ofstv2.PodTemplateSpec, pgVersion *catalog.PostgresVersion) { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go index 7304b41b1..d06b88a65 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go @@ -634,8 +634,10 @@ func (m *MongoDB) SetDefaults(mgVersion *v1alpha1.MongoDBVersion, topology *core } defaultResource := kubedb.DefaultResources - if m.isVersion6OrLater(mgVersion) { - defaultResource = kubedb.DefaultResourcesCPUIntensive + if m.isLaterVersion(mgVersion, 8) { + defaultResource = kubedb.DefaultResourcesCPUIntensiveMongoDBv8 + } else if m.isLaterVersion(mgVersion, 6) { + defaultResource = kubedb.DefaultResourcesCPUIntensiveMongoDBv6 } if m.Spec.ShardTopology != nil { @@ -890,13 +892,13 @@ func (m *MongoDB) SetTLSDefaults() { }) } -func (m *MongoDB) isVersion6OrLater(mgVersion *v1alpha1.MongoDBVersion) bool { +func (m *MongoDB) isLaterVersion(mgVersion *v1alpha1.MongoDBVersion, version uint64) bool { v, _ := semver.NewVersion(mgVersion.Spec.Version) - return v.Major() >= 6 + return v.Major() >= version } func (m *MongoDB) GetEntryCommand(mgVersion *v1alpha1.MongoDBVersion) string { - if m.isVersion6OrLater(mgVersion) { + if m.isLaterVersion(mgVersion, 6) { return "mongosh" } return "mongo" diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go index 08e7ed057..415e49f43 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go @@ -502,6 +502,11 @@ func (m *MSSQLServer) SetTLSDefaults() { return } + if m.Spec.TLS.ClientTLS == nil { + defaultValue := false + m.Spec.TLS.ClientTLS = &defaultValue + } + // Server-cert defaultServerOrg := []string{kubedb.KubeDBOrganization} defaultServerOrgUnit := []string{string(MSSQLServerServerCert)} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go index 68443f595..8285504f5 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_webhook.go @@ -142,10 +142,6 @@ func (m *MSSQLServer) ValidateCreateOrUpdate() field.ErrorList { allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("tls").Child("issuerRef"), m.Name, "spec.tls.issuerRef' is missing")) } - if m.Spec.TLS.ClientTLS == nil { - allErr = append(allErr, field.Invalid(field.NewPath("spec").Child("tls").Child("clientTLS"), - m.Name, "spec.tls.clientTLS' is missing")) - } } if m.Spec.PodTemplate != nil { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go index 467bb78bc..2085a58e4 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go @@ -41,12 +41,12 @@ const ( MySQLModeSemiSync MySQLMode = "SemiSync" ) -// +kubebuilder:validation:Enum=Single-Primary +// +kubebuilder:validation:Enum=Single-Primary;Multi-Primary type MySQLGroupMode string const ( MySQLGroupModeSinglePrimary MySQLGroupMode = "Single-Primary" - // MySQLGroupModeMultiPrimary MySQLGroupMode = "Multi-Primary" + MySQLGroupModeMultiPrimary MySQLGroupMode = "Multi-Primary" ) // Mysql defines a Mysql database. diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go index a31dbb4ce..545239fdc 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go @@ -35,6 +35,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" appslister "k8s.io/client-go/listers/apps/v1" + "k8s.io/utils/ptr" kmapi "kmodules.xyz/client-go/api/v1" "kmodules.xyz/client-go/apiextensions" core_util "kmodules.xyz/client-go/core/v1" @@ -315,12 +316,12 @@ func (p *Postgres) SetDefaultReplicationMode(postgresVersion *catalog.PostgresVe } func (p *Postgres) SetArbiterDefault() { - if p.Spec.Arbiter == nil { + if ptr.Deref(p.Spec.Replicas, 0)%2 == 0 && p.Spec.Arbiter == nil { p.Spec.Arbiter = &ArbiterSpec{ Resources: core.ResourceRequirements{}, } + apis.SetDefaultResourceLimits(&p.Spec.Arbiter.Resources, kubedb.DefaultArbiter(false)) } - apis.SetDefaultResourceLimits(&p.Spec.Arbiter.Resources, kubedb.DefaultArbiter(false)) } func (p *Postgres) setDefaultInitContainerSecurityContext(podTemplate *ofst.PodTemplateSpec, pgVersion *catalog.PostgresVersion) { diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml index d6c74e1f0..54425a75d 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml @@ -4815,6 +4815,7 @@ spec: default: Single-Primary enum: - Single-Primary + - Multi-Primary type: string name: type: string @@ -4825,6 +4826,7 @@ spec: default: Single-Primary enum: - Single-Primary + - Multi-Primary type: string router: properties: @@ -12478,6 +12480,7 @@ spec: default: Single-Primary enum: - Single-Primary + - Multi-Primary type: string name: type: string @@ -12488,6 +12491,7 @@ spec: default: Single-Primary enum: - Single-Primary + - Multi-Primary type: string router: properties: diff --git a/vendor/modules.txt b/vendor/modules.txt index c85707fc3..28efcceb9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1564,7 +1564,7 @@ kmodules.xyz/offshoot-api/api/v1 kmodules.xyz/offshoot-api/api/v1/conversion kmodules.xyz/offshoot-api/api/v2 kmodules.xyz/offshoot-api/util -# kubedb.dev/apimachinery v0.49.0-rc.0.0.20241118100310-eaa4e1c88438 +# kubedb.dev/apimachinery v0.49.0-rc.0.0.20241119063532-8cc86086db40 ## explicit; go 1.22.1 kubedb.dev/apimachinery/apis kubedb.dev/apimachinery/apis/catalog