diff --git a/go.mod b/go.mod index 0a0846279..c1a898898 100644 --- a/go.mod +++ b/go.mod @@ -12,17 +12,17 @@ require ( gomodules.xyz/runtime v0.3.0 gomodules.xyz/wait v0.2.0 gomodules.xyz/x v0.0.14 - k8s.io/api v0.24.1 - k8s.io/apimachinery v0.24.1 - k8s.io/cli-runtime v0.24.1 - k8s.io/client-go v0.24.1 - k8s.io/component-base v0.24.1 - k8s.io/klog/v2 v2.60.1 - k8s.io/kubectl v0.24.1 - kmodules.xyz/client-go v0.24.0 - kmodules.xyz/custom-resources v0.24.0 + k8s.io/api v0.24.3 + k8s.io/apimachinery v0.24.3 + k8s.io/cli-runtime v0.24.3 + k8s.io/client-go v0.24.3 + k8s.io/component-base v0.24.3 + k8s.io/klog/v2 v2.70.1 + k8s.io/kubectl v0.24.3 + kmodules.xyz/client-go v0.24.5 + kmodules.xyz/custom-resources v0.24.1 kmodules.xyz/monitoring-agent-api v0.24.0 - kubedb.dev/apimachinery v0.27.1-0.20220604010336-666ce9c7cf9f + kubedb.dev/apimachinery v0.27.1-0.20220802063205-a89b3bc243f9 stash.appscode.dev/apimachinery v0.22.0 ) @@ -95,6 +95,9 @@ require ( github.com/yudai/gojsondiff v1.0.0 // indirect github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect + go.uber.org/atomic v1.9.0 // indirect + go.uber.org/multierr v1.8.0 // indirect + go.uber.org/zap v1.21.0 // indirect golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect golang.org/x/net v0.0.0-20220531201128-c960675eff93 // indirect golang.org/x/oauth2 v0.0.0-20220524215830-622c5d57e401 // indirect @@ -102,11 +105,11 @@ require ( golang.org/x/term v0.0.0-20220526004731-065cf7ba2467 // indirect golang.org/x/time v0.0.0-20220411224347-583f2d630306 // indirect gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f // indirect - gomodules.xyz/encoding v0.0.5 // indirect + gomodules.xyz/encoding v0.0.7 // indirect gomodules.xyz/flags v0.1.3 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect gomodules.xyz/mergo v0.3.13 // indirect - gomodules.xyz/password-generator v0.2.7 // indirect + gomodules.xyz/password-generator v0.2.8 // indirect gomodules.xyz/sets v0.2.1 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.28.0 // indirect @@ -117,9 +120,9 @@ require ( k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 // indirect k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect kmodules.xyz/objectstore-api v0.24.0 // indirect - kmodules.xyz/offshoot-api v0.24.1 // indirect + kmodules.xyz/offshoot-api v0.24.2 // indirect kmodules.xyz/prober v0.24.0 // indirect - sigs.k8s.io/controller-runtime v0.12.1 // indirect + sigs.k8s.io/controller-runtime v0.12.3 // indirect sigs.k8s.io/json v0.0.0-20220525155127-227cbc7cc124 // indirect sigs.k8s.io/kustomize/api v0.11.4 // indirect sigs.k8s.io/kustomize/kyaml v0.13.6 // indirect @@ -127,6 +130,8 @@ require ( sigs.k8s.io/yaml v1.3.0 // indirect ) +replace github.com/Masterminds/sprig/v3 => github.com/gomodules/sprig/v3 v3.2.3-0.20220405051441-0a8a99bac1b8 + replace sigs.k8s.io/controller-runtime => github.com/kmodules/controller-runtime v0.12.2-0.20220603144237-6cd001896bf3 replace github.com/imdario/mergo => github.com/imdario/mergo v0.3.5 @@ -136,3 +141,18 @@ replace k8s.io/apimachinery => github.com/kmodules/apimachinery v0.24.2-rc.0.0.2 replace k8s.io/apiserver => github.com/kmodules/apiserver v0.0.0-20220603223637-59dad1716c43 replace k8s.io/kubernetes => github.com/kmodules/kubernetes v1.25.0-alpha.0.0.20220603172133-1c9d09d1b3b8 + +replace ( + go.opentelemetry.io/contrib => go.opentelemetry.io/contrib v0.20.0 + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 + go.opentelemetry.io/otel => go.opentelemetry.io/otel v0.20.0 + go.opentelemetry.io/otel/exporters/otlp => go.opentelemetry.io/otel/exporters/otlp v0.20.0 + go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v0.20.0 + go.opentelemetry.io/otel/oteltest => go.opentelemetry.io/otel/oteltest v0.20.0 + go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v0.20.0 + go.opentelemetry.io/otel/sdk/export/metric => go.opentelemetry.io/otel/sdk/export/metric v0.20.0 + go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v0.20.0 + go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v0.20.0 + go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v0.7.0 +) diff --git a/go.sum b/go.sum index e2dc2b961..acf095042 100644 --- a/go.sum +++ b/go.sum @@ -612,17 +612,21 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc= go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -920,8 +924,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f h1:hTyhR4r+tj1Uq7/PpFxLTzbeA0LhMVp7bEYfhkzFjdY= gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f/go.mod h1:K3m7N+nBOlf91/tpv8REUGwsAgaKFwElQCuiLhm12AQ= -gomodules.xyz/encoding v0.0.5 h1:s8cZC4tZpViGwExIGxRNEHZ4ThPNW4x9DaUudRMP1fk= -gomodules.xyz/encoding v0.0.5/go.mod h1:blYJWy456Bzxj3L2G7G5WV1l5rFXl6uYXrmeFqxxqk8= +gomodules.xyz/encoding v0.0.7 h1:Y4PaflVS+vkYgkw6FwyF1S0ab4Y1BAdOqB3Uwjcx8qI= +gomodules.xyz/encoding v0.0.7/go.mod h1:blYJWy456Bzxj3L2G7G5WV1l5rFXl6uYXrmeFqxxqk8= gomodules.xyz/flags v0.1.3 h1:jQ06+EfmoMv5NvjXvJon03dOhLU+FF0TQMWN7I6qpzs= gomodules.xyz/flags v0.1.3/go.mod h1:e+kvBLnqdEWGG670SKOYag1CXStM2Slrxq01OIK3tFs= gomodules.xyz/go-sh v0.1.0 h1:1BJAuGREh2RhePt7HRrpmjnkbgfpXlCzc42SiyZ5dkc= @@ -932,8 +936,8 @@ gomodules.xyz/logs v0.0.6 h1:8+9Wkud5yBPtIvkVszubyTeFxNII30lWODom0+GZD8U= gomodules.xyz/logs v0.0.6/go.mod h1:Q+fFtZFLEB5q86KmDehXCGuMP72Rv+Rwz0KuVxK+Gi4= gomodules.xyz/mergo v0.3.13 h1:q6cL/MMXZH/MrR2+yjSihFFq6UifXqjwaqI48B6cMEM= gomodules.xyz/mergo v0.3.13/go.mod h1:F/2rKC7j0URTnHUKDiTiLcGdLMhdv8jK2Za3cRTUVmc= -gomodules.xyz/password-generator v0.2.7 h1:xUCiIKji8JYOkyTsvi/2nArbVevsHMOnoJVMaShbzqI= -gomodules.xyz/password-generator v0.2.7/go.mod h1:TvwYYTx9+P1pPwKQKfZgB/wr2Id9MqAQ3B5auY7reNg= +gomodules.xyz/password-generator v0.2.8 h1:yQg+Yb2AeCtTfcbsNsy84h0dhW9rH7Z0rYsH/7LQ5mM= +gomodules.xyz/password-generator v0.2.8/go.mod h1:TvwYYTx9+P1pPwKQKfZgB/wr2Id9MqAQ3B5auY7reNg= gomodules.xyz/pointer v0.1.0 h1:sG2UKrYVSo6E3r4itAjXfPfe4fuXMi0KdyTHpR3vGCg= gomodules.xyz/pointer v0.1.0/go.mod h1:sPLsC0+yLTRecUiC5yVlyvXhZ6LAGojNCRWNNqoplvo= gomodules.xyz/runtime v0.3.0 h1:Fgf3fjIE3xY/sswO73iRBeR3mundZAjlY42fQPigPR0= @@ -1129,50 +1133,55 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.24.1 h1:BjCMRDcyEYz03joa3K1+rbshwh1Ay6oB53+iUx2H8UY= k8s.io/api v0.24.1/go.mod h1:JhoOvNiLXKTPQ60zh2g0ewpA+bnEYf5q44Flhquh4vQ= +k8s.io/api v0.24.3 h1:tt55QEmKd6L2k5DP6G/ZzdMQKvG5ro4H4teClqm0sTY= +k8s.io/api v0.24.3/go.mod h1:elGR/XSZrS7z7cSZPzVWaycpJuGIw57j9b95/1PdJNI= k8s.io/apiextensions-apiserver v0.24.1 h1:5yBh9+ueTq/kfnHQZa0MAo6uNcPrtxPMpNQgorBaKS0= k8s.io/apiextensions-apiserver v0.24.1/go.mod h1:A6MHfaLDGfjOc/We2nM7uewD5Oa/FnEbZ6cD7g2ca4Q= -k8s.io/cli-runtime v0.24.1 h1:IW6L8dRBq+pPTzvXcB+m/hOabzbqXy57Bqo4XxmW7DY= -k8s.io/cli-runtime v0.24.1/go.mod h1:14aVvCTqkA7dNXY51N/6hRY3GUjchyWDOwW84qmR3bs= -k8s.io/client-go v0.24.1 h1:w1hNdI9PFrzu3OlovVeTnf4oHDt+FJLd9Ndluvnb42E= +k8s.io/cli-runtime v0.24.3 h1:O9YvUHrDSCQUPlsqVmaqDrueqjpJ7IO6Yas9B6xGSoo= +k8s.io/cli-runtime v0.24.3/go.mod h1:In84wauoMOqa7JDvDSXGbf8lTNlr70fOGpYlYfJtSqA= k8s.io/client-go v0.24.1/go.mod h1:f1kIDqcEYmwXS/vTbbhopMUbhKp2JhOeVTfxgaCIlF8= +k8s.io/client-go v0.24.3 h1:Nl1840+6p4JqkFWEW2LnMKU667BUxw03REfLAVhuKQY= +k8s.io/client-go v0.24.3/go.mod h1:AAovolf5Z9bY1wIg2FZ8LPQlEdKHjLI7ZD4rw920BJw= k8s.io/code-generator v0.24.1/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= -k8s.io/component-base v0.24.1 h1:APv6W/YmfOWZfo+XJ1mZwep/f7g7Tpwvdbo9CQLDuts= +k8s.io/code-generator v0.24.3/go.mod h1:dpVhs00hTuTdTY6jvVxvTFCk6gSMrtfRydbhZwHI15w= k8s.io/component-base v0.24.1/go.mod h1:DW5vQGYVCog8WYpNob3PMmmsY8A3L9QZNg4j/dV3s38= -k8s.io/component-helpers v0.24.1/go.mod h1:q5Z1pWV/QfX9ThuNeywxasiwkLw9KsR4Q9TAOdb/Y3s= +k8s.io/component-base v0.24.3 h1:u99WjuHYCRJjS1xeLOx72DdRaghuDnuMgueiGMFy1ec= +k8s.io/component-base v0.24.3/go.mod h1:bqom2IWN9Lj+vwAkPNOv2TflsP1PeVDIwIN0lRthxYY= +k8s.io/component-helpers v0.24.3/go.mod h1:/1WNW8TfBOijQ1ED2uCHb4wtXYWDVNMqUll8h36iNVo= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20211129171323-c02415ce4185/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= +k8s.io/klog/v2 v2.70.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 h1:nBQrWPlrNIiw0BsX6a6MKr1itkm0ZS0Nl97kNLitFfI= k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6/go.mod h1:daOouuuwd9JXpv1L7Y34iV3yf6nxzipkKMWWlqlvK9M= -k8s.io/kubectl v0.24.1 h1:gxcjHrnwntV1c+G/BHWVv4Mtk8CQJ0WTraElLBG+ddk= -k8s.io/kubectl v0.24.1/go.mod h1:NzFqQ50B004fHYWOfhHTrAm4TY6oGF5FAAL13LEaeUI= -k8s.io/metrics v0.24.1/go.mod h1:vMs5xpcOyY9D+/XVwlaw8oUHYCo6JTGBCZfyXOOkAhE= +k8s.io/kubectl v0.24.3 h1:PqY8ho/S/KuE2/hCC3Iee7X+lOtARYo0LQsNzvV/edE= +k8s.io/kubectl v0.24.3/go.mod h1:PYLcvw96sC1NLbxZEDbdlOEd6/C76VIWjGmWV5QjSk0= +k8s.io/metrics v0.24.3/go.mod h1:p1M0lhMySWfhISkSd3HEj8xIgrVnJTK3PPhFq2rA3To= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -kmodules.xyz/client-go v0.24.0 h1:eZmbT9+6nsVusnhZjL/fO67sn8PSz7dDNEPjXYS91yE= -kmodules.xyz/client-go v0.24.0/go.mod h1:+yJRdj6fQquMI1LfIKoQuJYIBbPxp5imJ8w7acP/A6I= -kmodules.xyz/custom-resources v0.24.0 h1:OWQHB2oFh5q+RjeVfwrsJTZ3NbcclBtghETvq3lGhP8= -kmodules.xyz/custom-resources v0.24.0/go.mod h1:S6+TonEzosMPXbTA0gkh8djnw+mhLtwCN41a3PNUtsY= +kmodules.xyz/client-go v0.24.5 h1:vZcVfRv3o+E+t0reUwk5pxg9fe1v61/FGDh8sWi1RDk= +kmodules.xyz/client-go v0.24.5/go.mod h1:wTV6xDTJT8PYnHg33tg1ofVWvIXAboQGH+OKUCJwja0= +kmodules.xyz/custom-resources v0.24.1 h1:b9IIZ6sJaCkWmMFELrA+gFc4NCizLH2bItAEifLYrRY= +kmodules.xyz/custom-resources v0.24.1/go.mod h1:S6+TonEzosMPXbTA0gkh8djnw+mhLtwCN41a3PNUtsY= kmodules.xyz/monitoring-agent-api v0.24.0 h1:CPFvzDppUKckMBLwaMnZbpYCuP7+NhcS4t7dWNTIgQo= kmodules.xyz/monitoring-agent-api v0.24.0/go.mod h1:lu1TmXRMx9IcjMpY8s5nc4HNOhOix5/z9caEnbL8JxA= kmodules.xyz/objectstore-api v0.24.0 h1:qD+8ERSKUIYIikP1+G490s22o0ltcC6/rJvQ4hnG92M= kmodules.xyz/objectstore-api v0.24.0/go.mod h1:Qe4AwAxkUhqMN7h3qD2B9Edc+Dh5Gr8QgHfg8Oluiiw= -kmodules.xyz/offshoot-api v0.24.1 h1:8KCVNkLwdebzWmHcTdZPTQGxqI92bqA+vrmz65ueULY= -kmodules.xyz/offshoot-api v0.24.1/go.mod h1:fYu0051hoJXXs70OjmIE+Q5smOgmzvYFhRJXCiFShaY= +kmodules.xyz/offshoot-api v0.24.2 h1:QCJEqv++x+FXe7fiTZ/zptJo83qZA4cTUO7YhMlIDvQ= +kmodules.xyz/offshoot-api v0.24.2/go.mod h1:fYu0051hoJXXs70OjmIE+Q5smOgmzvYFhRJXCiFShaY= kmodules.xyz/prober v0.24.0 h1:lh3fDBjYD9bOuFW5Usmf9mFYSNn7r0t65xeN4w2EMgw= kmodules.xyz/prober v0.24.0/go.mod h1:leon0MFb7OWi/snhosqkNqbwYaED4VEmj7xaLxk851k= -kubedb.dev/apimachinery v0.27.1-0.20220604010336-666ce9c7cf9f h1:ANbBhHrMjUGubHsoFlqB5x28cvI6bOs3R/SctDwDDRs= -kubedb.dev/apimachinery v0.27.1-0.20220604010336-666ce9c7cf9f/go.mod h1:B3I642nrn6LdIHjs/6zfKdJ94KaVhsHVxIFdyz9Mkng= +kubedb.dev/apimachinery v0.27.1-0.20220802063205-a89b3bc243f9 h1:bq9jelaWnbD+u9q94rxJbaTGEfZTiIfhokOonXNbeOk= +kubedb.dev/apimachinery v0.27.1-0.20220802063205-a89b3bc243f9/go.mod h1:XFyYbBJucmbwtfju+JrukS3aH70YygpuPXeb3gvQLio= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/vendor/gomodules.xyz/password-generator/password.go b/vendor/gomodules.xyz/password-generator/password.go index 011faeb75..ccf454c26 100644 --- a/vendor/gomodules.xyz/password-generator/password.go +++ b/vendor/gomodules.xyz/password-generator/password.go @@ -30,7 +30,7 @@ var ( len_unreserved = len(unreserved) reserved = []byte(`!#$&'()*+,/:;=?@[]`) len_reserved = len(reserved) - simple_symbols = []byte(`!$&()*-.;=_~`) // ref: https://github.com/golang/go/blob/release-branch.go1.15/src/net/url/url.go#L1158-L1186 , missing: Unreserved | Reserved - #/?[]':+@, + simple_symbols = []byte(`!$&()*.;_~`) // ref: https://github.com/golang/go/blob/release-branch.go1.15/src/net/url/url.go#L1158-L1186 , missing: Unreserved | Reserved - #/?[]':+@,-= len_simple_symbols = len(simple_symbols) symbols = []byte(`!"#$%&'()*+,-./:;<=>?@^[\]_{|}~` + "`") len_symbols = len(symbols) diff --git a/vendor/k8s.io/klog/v2/README.md b/vendor/k8s.io/klog/v2/README.md index 7de2212cc..d45cbe172 100644 --- a/vendor/k8s.io/klog/v2/README.md +++ b/vendor/k8s.io/klog/v2/README.md @@ -28,7 +28,6 @@ Historical context is available here: Semantic versioning is used in this repository. It contains several Go modules with different levels of stability: - `k8s.io/klog/v2` - stable API, `vX.Y.Z` tags -- `k8s.io/hack/tools` - no stable API yet (may change eventually or get moved to separate repo), `hack/tools/v0.Y.Z` tags - `examples` - no stable API, no tags, no intention to ever stabilize Exempt from the API stability guarantee are items (packages, functions, etc.) diff --git a/vendor/k8s.io/klog/v2/contextual.go b/vendor/k8s.io/klog/v2/contextual.go index 0bf19280e..65ac479ab 100644 --- a/vendor/k8s.io/klog/v2/contextual.go +++ b/vendor/k8s.io/klog/v2/contextual.go @@ -34,18 +34,6 @@ import ( // mutex locking. var ( - // contextualLoggingEnabled controls whether contextual logging is - // active. Disabling it may have some small performance benefit. - contextualLoggingEnabled = true - - // globalLogger is the global Logger chosen by users of klog, nil if - // none is available. - globalLogger *Logger - - // globalLoggerOptions contains the options that were supplied for - // globalLogger. - globalLoggerOptions loggerOptions - // klogLogger is used as fallback for logging through the normal klog code // when no Logger is set. klogLogger logr.Logger = logr.New(&klogger{}) @@ -81,10 +69,10 @@ func SetLogger(logger logr.Logger) { // routing log entries through klogr into klog and then into the actual Logger // backend. func SetLoggerWithOptions(logger logr.Logger, opts ...LoggerOption) { - globalLogger = &logger - globalLoggerOptions = loggerOptions{} + logging.logger = &logger + logging.loggerOptions = loggerOptions{} for _, opt := range opts { - opt(&globalLoggerOptions) + opt(&logging.loggerOptions) } } @@ -119,8 +107,8 @@ type loggerOptions struct { // Modifying the logger is not thread-safe and should be done while no other // goroutines invoke log calls, usually during program initialization. func ClearLogger() { - globalLogger = nil - globalLoggerOptions = loggerOptions{} + logging.logger = nil + logging.loggerOptions = loggerOptions{} } // EnableContextualLogging controls whether contextual logging is enabled. @@ -132,14 +120,14 @@ func ClearLogger() { // // This must be called during initialization before goroutines are started. func EnableContextualLogging(enabled bool) { - contextualLoggingEnabled = enabled + logging.contextualLoggingEnabled = enabled } // FromContext retrieves a logger set by the caller or, if not set, // falls back to the program's global logger (a Logger instance or klog // itself). func FromContext(ctx context.Context) Logger { - if contextualLoggingEnabled { + if logging.contextualLoggingEnabled { if logger, err := logr.FromContext(ctx); err == nil { return logger } @@ -160,10 +148,10 @@ func TODO() Logger { // better receive a logger via its parameters. TODO can be used as a temporary // solution for such code. func Background() Logger { - if globalLoggerOptions.contextualLogger { - // Is non-nil because globalLoggerOptions.contextualLogger is + if logging.loggerOptions.contextualLogger { + // Is non-nil because logging.loggerOptions.contextualLogger is // only true if a logger was set. - return *globalLogger + return *logging.logger } return klogLogger @@ -172,7 +160,7 @@ func Background() Logger { // LoggerWithValues returns logger.WithValues(...kv) when // contextual logging is enabled, otherwise the logger. func LoggerWithValues(logger Logger, kv ...interface{}) Logger { - if contextualLoggingEnabled { + if logging.contextualLoggingEnabled { return logger.WithValues(kv...) } return logger @@ -181,7 +169,7 @@ func LoggerWithValues(logger Logger, kv ...interface{}) Logger { // LoggerWithName returns logger.WithName(name) when contextual logging is // enabled, otherwise the logger. func LoggerWithName(logger Logger, name string) Logger { - if contextualLoggingEnabled { + if logging.contextualLoggingEnabled { return logger.WithName(name) } return logger @@ -190,7 +178,7 @@ func LoggerWithName(logger Logger, name string) Logger { // NewContext returns logr.NewContext(ctx, logger) when // contextual logging is enabled, otherwise ctx. func NewContext(ctx context.Context, logger Logger) context.Context { - if contextualLoggingEnabled { + if logging.contextualLoggingEnabled { return logr.NewContext(ctx, logger) } return ctx diff --git a/vendor/k8s.io/klog/v2/internal/dbg/dbg.go b/vendor/k8s.io/klog/v2/internal/dbg/dbg.go new file mode 100644 index 000000000..f27bd1447 --- /dev/null +++ b/vendor/k8s.io/klog/v2/internal/dbg/dbg.go @@ -0,0 +1,42 @@ +// Go support for leveled logs, analogous to https://code.google.com/p/google-glog/ +// +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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 dbg provides some helper code for call traces. +package dbg + +import ( + "runtime" +) + +// Stacks is a wrapper for runtime.Stack that attempts to recover the data for +// all goroutines or the calling one. +func Stacks(all bool) []byte { + // We don't know how big the traces are, so grow a few times if they don't fit. Start large, though. + n := 10000 + if all { + n = 100000 + } + var trace []byte + for i := 0; i < 5; i++ { + trace = make([]byte, n) + nbytes := runtime.Stack(trace, all) + if nbytes < len(trace) { + return trace[:nbytes] + } + n *= 2 + } + return trace +} diff --git a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go index d89731368..f85d7ccf8 100644 --- a/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go +++ b/vendor/k8s.io/klog/v2/internal/serialize/keyvalues.go @@ -20,6 +20,8 @@ import ( "bytes" "fmt" "strconv" + + "github.com/go-logr/logr" ) // WithValues implements LogSink.WithValues. The old key/value pairs are @@ -44,53 +46,49 @@ func WithValues(oldKV, newKV []interface{}) []interface{} { return kv } -// TrimDuplicates deduplicates elements provided in multiple key/value tuple -// slices, whilst maintaining the distinction between where the items are -// contained. -func TrimDuplicates(kvLists ...[]interface{}) [][]interface{} { - // maintain a map of all seen keys - seenKeys := map[interface{}]struct{}{} - // build the same number of output slices as inputs - outs := make([][]interface{}, len(kvLists)) - // iterate over the input slices backwards, as 'later' kv specifications - // of the same key will take precedence over earlier ones - for i := len(kvLists) - 1; i >= 0; i-- { - // initialise this output slice - outs[i] = []interface{}{} - // obtain a reference to the kvList we are processing - // and make sure it has an even number of entries - kvList := kvLists[i] - if len(kvList)%2 != 0 { - kvList = append(kvList, missingValue) - } +// MergeKVs deduplicates elements provided in two key/value slices. +// +// Keys in each slice are expected to be unique, so duplicates can only occur +// when the first and second slice contain the same key. When that happens, the +// key/value pair from the second slice is used. The first slice must be well-formed +// (= even key/value pairs). The second one may have a missing value, in which +// case the special "missing value" is added to the result. +func MergeKVs(first, second []interface{}) []interface{} { + maxLength := len(first) + (len(second)+1)/2*2 + if maxLength == 0 { + // Nothing to do at all. + return nil + } - // start iterating at len(kvList) - 2 (i.e. the 2nd last item) for - // slices that have an even number of elements. - // We add (len(kvList) % 2) here to handle the case where there is an - // odd number of elements in a kvList. - // If there is an odd number, then the last element in the slice will - // have the value 'null'. - for i2 := len(kvList) - 2 + (len(kvList) % 2); i2 >= 0; i2 -= 2 { - k := kvList[i2] - // if we have already seen this key, do not include it again - if _, ok := seenKeys[k]; ok { - continue - } - // make a note that we've observed a new key - seenKeys[k] = struct{}{} - // attempt to obtain the value of the key - var v interface{} - // i2+1 should only ever be out of bounds if we handling the first - // iteration over a slice with an odd number of elements - if i2+1 < len(kvList) { - v = kvList[i2+1] - } - // add this KV tuple to the *start* of the output list to maintain - // the original order as we are iterating over the slice backwards - outs[i] = append([]interface{}{k, v}, outs[i]...) + if len(first) == 0 && len(second)%2 == 0 { + // Nothing to be overridden, second slice is well-formed + // and can be used directly. + return second + } + + // Determine which keys are in the second slice so that we can skip + // them when iterating over the first one. The code intentionally + // favors performance over completeness: we assume that keys are string + // constants and thus compare equal when the string values are equal. A + // string constant being overridden by, for example, a fmt.Stringer is + // not handled. + overrides := map[interface{}]bool{} + for i := 0; i < len(second); i += 2 { + overrides[second[i]] = true + } + merged := make([]interface{}, 0, maxLength) + for i := 0; i+1 < len(first); i += 2 { + key := first[i] + if overrides[key] { + continue } + merged = append(merged, key, first[i+1]) } - return outs + merged = append(merged, second...) + if len(merged)%2 != 0 { + merged = append(merged, missingValue) + } + return merged } const missingValue = "(MISSING)" @@ -111,10 +109,10 @@ func KVListFormat(b *bytes.Buffer, keysAndValues ...interface{}) { // https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/migration-to-structured-logging.md#name-arguments // for the sake of performance. Keys with spaces, // special characters, etc. will break parsing. - if k, ok := k.(string); ok { + if sK, ok := k.(string); ok { // Avoid one allocation when the key is a string, which // normally it should be. - b.WriteString(k) + b.WriteString(sK) } else { b.WriteString(fmt.Sprintf("%s", k)) } @@ -131,6 +129,24 @@ func KVListFormat(b *bytes.Buffer, keysAndValues ...interface{}) { writeStringValue(b, true, v) case error: writeStringValue(b, true, ErrorToString(v)) + case logr.Marshaler: + value := MarshalerToValue(v) + // A marshaler that returns a string is useful for + // delayed formatting of complex values. We treat this + // case like a normal string. This is useful for + // multi-line support. + // + // We could do this by recursively formatting a value, + // but that comes with the risk of infinite recursion + // if a marshaler returns itself. Instead we call it + // only once and rely on it returning the intended + // value directly. + switch value := value.(type) { + case string: + writeStringValue(b, true, value) + default: + writeStringValue(b, false, fmt.Sprintf("%+v", v)) + } case []byte: // In https://github.com/kubernetes/klog/pull/237 it was decided // to format byte slices with "%+q". The advantages of that are: @@ -163,6 +179,18 @@ func StringerToString(s fmt.Stringer) (ret string) { return } +// MarshalerToValue invokes a marshaler and catches +// panics. +func MarshalerToValue(m logr.Marshaler) (ret interface{}) { + defer func() { + if err := recover(); err != nil { + ret = fmt.Sprintf("", err) + } + }() + ret = m.MarshalLog() + return +} + // ErrorToString converts an error to a string, // handling panics if they occur. func ErrorToString(err error) (ret string) { diff --git a/vendor/k8s.io/klog/v2/k8s_references.go b/vendor/k8s.io/klog/v2/k8s_references.go index db58f8baa..2c218f698 100644 --- a/vendor/k8s.io/klog/v2/k8s_references.go +++ b/vendor/k8s.io/klog/v2/k8s_references.go @@ -77,6 +77,8 @@ func KRef(namespace, name string) ObjectRef { } // KObjs returns slice of ObjectRef from an slice of ObjectMeta +// +// DEPRECATED: Use KObjSlice instead, it has better performance. func KObjs(arg interface{}) []ObjectRef { s := reflect.ValueOf(arg) if s.Kind() != reflect.Slice { @@ -92,3 +94,65 @@ func KObjs(arg interface{}) []ObjectRef { } return objectRefs } + +// KObjSlice takes a slice of objects that implement the KMetadata interface +// and returns an object that gets logged as a slice of ObjectRef values or a +// string containing those values, depending on whether the logger prefers text +// output or structured output. +// +// An error string is logged when KObjSlice is not passed a suitable slice. +// +// Processing of the argument is delayed until the value actually gets logged, +// in contrast to KObjs where that overhead is incurred regardless of whether +// the result is needed. +func KObjSlice(arg interface{}) interface{} { + return kobjSlice{arg: arg} +} + +type kobjSlice struct { + arg interface{} +} + +var _ fmt.Stringer = kobjSlice{} +var _ logr.Marshaler = kobjSlice{} + +func (ks kobjSlice) String() string { + objectRefs, err := ks.process() + if err != nil { + return err.Error() + } + return fmt.Sprintf("%v", objectRefs) +} + +func (ks kobjSlice) MarshalLog() interface{} { + objectRefs, err := ks.process() + if err != nil { + return err.Error() + } + return objectRefs +} + +func (ks kobjSlice) process() ([]interface{}, error) { + s := reflect.ValueOf(ks.arg) + switch s.Kind() { + case reflect.Invalid: + // nil parameter, print as nil. + return nil, nil + case reflect.Slice: + // Okay, handle below. + default: + return nil, fmt.Errorf("", ks.arg) + } + objectRefs := make([]interface{}, 0, s.Len()) + for i := 0; i < s.Len(); i++ { + item := s.Index(i).Interface() + if item == nil { + objectRefs = append(objectRefs, nil) + } else if v, ok := item.(KMetadata); ok { + objectRefs = append(objectRefs, KObj(v)) + } else { + return nil, fmt.Errorf("", item) + } + } + return objectRefs, nil +} diff --git a/vendor/k8s.io/klog/v2/klog.go b/vendor/k8s.io/klog/v2/klog.go index cb04590fe..652fadcd4 100644 --- a/vendor/k8s.io/klog/v2/klog.go +++ b/vendor/k8s.io/klog/v2/klog.go @@ -41,6 +41,10 @@ // // -logtostderr=true // Logs are written to standard error instead of to files. +// This shortcuts most of the usual output routing: +// -alsologtostderr, -stderrthreshold and -log_dir have no +// effect and output redirection at runtime with SetOutput is +// ignored. // -alsologtostderr=false // Logs are written to standard error as well as to files. // -stderrthreshold=ERROR @@ -92,6 +96,7 @@ import ( "k8s.io/klog/v2/internal/buffer" "k8s.io/klog/v2/internal/clock" + "k8s.io/klog/v2/internal/dbg" "k8s.io/klog/v2/internal/serialize" "k8s.io/klog/v2/internal/severity" ) @@ -242,6 +247,10 @@ func (m *moduleSpec) String() string { // Lock because the type is not atomic. TODO: clean this up. logging.mu.Lock() defer logging.mu.Unlock() + return m.serialize() +} + +func (m *moduleSpec) serialize() string { var b bytes.Buffer for i, f := range m.filter { if i > 0 { @@ -263,6 +272,17 @@ var errVmoduleSyntax = errors.New("syntax error: expect comma-separated list of // Set will sets module value // Syntax: -vmodule=recordio=2,file=1,gfs*=3 func (m *moduleSpec) Set(value string) error { + filter, err := parseModuleSpec(value) + if err != nil { + return err + } + logging.mu.Lock() + defer logging.mu.Unlock() + logging.setVState(logging.verbosity, filter, true) + return nil +} + +func parseModuleSpec(value string) ([]modulePat, error) { var filter []modulePat for _, pat := range strings.Split(value, ",") { if len(pat) == 0 { @@ -271,15 +291,15 @@ func (m *moduleSpec) Set(value string) error { } patLev := strings.Split(pat, "=") if len(patLev) != 2 || len(patLev[0]) == 0 || len(patLev[1]) == 0 { - return errVmoduleSyntax + return nil, errVmoduleSyntax } pattern := patLev[0] v, err := strconv.ParseInt(patLev[1], 10, 32) if err != nil { - return errors.New("syntax error: expect comma-separated list of filename=N") + return nil, errors.New("syntax error: expect comma-separated list of filename=N") } if v < 0 { - return errors.New("negative value for vmodule level") + return nil, errors.New("negative value for vmodule level") } if v == 0 { continue // Ignore. It's harmless but no point in paying the overhead. @@ -287,10 +307,7 @@ func (m *moduleSpec) Set(value string) error { // TODO: check syntax of filter? filter = append(filter, modulePat{pattern, isLiteral(pattern), Level(v)}) } - logging.mu.Lock() - defer logging.mu.Unlock() - logging.setVState(logging.verbosity, filter, true) - return nil + return filter, nil } // isLiteral reports whether the pattern is a literal string, that is, has no metacharacters @@ -404,19 +421,19 @@ func InitFlags(flagset *flag.FlagSet) { flagset = flag.CommandLine } - flagset.StringVar(&logging.logDir, "log_dir", logging.logDir, "If non-empty, write log files in this directory") - flagset.StringVar(&logging.logFile, "log_file", logging.logFile, "If non-empty, use this log file") + flagset.StringVar(&logging.logDir, "log_dir", logging.logDir, "If non-empty, write log files in this directory (no effect when -logtostderr=true)") + flagset.StringVar(&logging.logFile, "log_file", logging.logFile, "If non-empty, use this log file (no effect when -logtostderr=true)") flagset.Uint64Var(&logging.logFileMaxSizeMB, "log_file_max_size", logging.logFileMaxSizeMB, - "Defines the maximum size a log file can grow to. Unit is megabytes. "+ + "Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. "+ "If the value is 0, the maximum file size is unlimited.") flagset.BoolVar(&logging.toStderr, "logtostderr", logging.toStderr, "log to standard error instead of files") - flagset.BoolVar(&logging.alsoToStderr, "alsologtostderr", logging.alsoToStderr, "log to standard error as well as files") + flagset.BoolVar(&logging.alsoToStderr, "alsologtostderr", logging.alsoToStderr, "log to standard error as well as files (no effect when -logtostderr=true)") flagset.Var(&logging.verbosity, "v", "number for the log level verbosity") flagset.BoolVar(&logging.addDirHeader, "add_dir_header", logging.addDirHeader, "If true, adds the file directory to the header of the log messages") flagset.BoolVar(&logging.skipHeaders, "skip_headers", logging.skipHeaders, "If true, avoid header prefixes in the log messages") - flagset.BoolVar(&logging.oneOutput, "one_output", logging.oneOutput, "If true, only write logs to their native severity level (vs also writing to each lower severity level)") - flagset.BoolVar(&logging.skipLogHeaders, "skip_log_headers", logging.skipLogHeaders, "If true, avoid headers when opening log files") - flagset.Var(&logging.stderrThreshold, "stderrthreshold", "logs at or above this threshold go to stderr") + flagset.BoolVar(&logging.oneOutput, "one_output", logging.oneOutput, "If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)") + flagset.BoolVar(&logging.skipLogHeaders, "skip_log_headers", logging.skipLogHeaders, "If true, avoid headers when opening log files (no effect when -logtostderr=true)") + flagset.Var(&logging.stderrThreshold, "stderrthreshold", "logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=false)") flagset.Var(&logging.vmodule, "vmodule", "comma-separated list of pattern=N settings for file-filtered logging") flagset.Var(&logging.traceLocation, "log_backtrace_at", "when logging hits line file:N, emit a stack trace") } @@ -426,8 +443,20 @@ func Flush() { logging.lockAndFlushAll() } -// loggingT collects all the global state of the logging setup. -type loggingT struct { +// settings collects global settings. +type settings struct { + // contextualLoggingEnabled controls whether contextual logging is + // active. Disabling it may have some small performance benefit. + contextualLoggingEnabled bool + + // logger is the global Logger chosen by users of klog, nil if + // none is available. + logger *Logger + + // loggerOptions contains the options that were supplied for + // globalLogger. + loggerOptions loggerOptions + // Boolean flags. Not handled atomically because the flag.Value interface // does not let us avoid the =true, and that shorthand is necessary for // compatibility. TODO: does this matter enough to fix? Seems unlikely. @@ -437,26 +466,14 @@ type loggingT struct { // Level flag. Handled atomically. stderrThreshold severityValue // The -stderrthreshold flag. - // bufferCache maintains the free list. It uses its own mutex - // so buffers can be grabbed and printed to without holding the main lock, - // for better parallelization. - bufferCache buffer.Buffers + // Access to all of the following fields must be protected via a mutex. - // mu protects the remaining elements of this structure and is - // used to synchronize logging. - mu sync.Mutex // file holds writer for each of the log types. file [severity.NumSeverity]flushSyncWriter - // flushD holds a flushDaemon that frequently flushes log file buffers. - flushD *flushDaemon // flushInterval is the interval for periodic flushing. If zero, // the global default will be used. flushInterval time.Duration - // pcs is used in V to avoid an allocation when computing the caller's PC. - pcs [1]uintptr - // vmap is a cache of the V Level for each V() call site, identified by PC. - // It is wiped whenever the vmodule flag changes state. - vmap map[uintptr]Level + // filterLength stores the length of the vmodule filter chain. If greater // than zero, it means vmodule is enabled. It may be read safely // using sync.LoadInt32, but is only modified under mu. @@ -496,7 +513,48 @@ type loggingT struct { filter LogFilter } -var logging loggingT +// deepCopy creates a copy that doesn't share anything with the original +// instance. +func (s settings) deepCopy() settings { + // vmodule is a slice and would be shared, so we have copy it. + filter := make([]modulePat, len(s.vmodule.filter)) + for i := range s.vmodule.filter { + filter[i] = s.vmodule.filter[i] + } + s.vmodule.filter = filter + + return s +} + +// loggingT collects all the global state of the logging setup. +type loggingT struct { + settings + + // bufferCache maintains the free list. It uses its own mutex + // so buffers can be grabbed and printed to without holding the main lock, + // for better parallelization. + bufferCache buffer.Buffers + + // flushD holds a flushDaemon that frequently flushes log file buffers. + // Uses its own mutex. + flushD *flushDaemon + + // mu protects the remaining elements of this structure and the fields + // in settingsT which need a mutex lock. + mu sync.Mutex + + // pcs is used in V to avoid an allocation when computing the caller's PC. + pcs [1]uintptr + // vmap is a cache of the V Level for each V() call site, identified by PC. + // It is wiped whenever the vmodule flag changes state. + vmap map[uintptr]Level +} + +var logging = loggingT{ + settings: settings{ + contextualLoggingEnabled: true, + }, +} // setVState sets a consistent state for V logging. // l.mu is held. @@ -520,6 +578,55 @@ func (l *loggingT) setVState(verbosity Level, filter []modulePat, setFilter bool var timeNow = time.Now // Stubbed out for testing. +// CaptureState gathers information about all current klog settings. +// The result can be used to restore those settings. +func CaptureState() State { + logging.mu.Lock() + defer logging.mu.Unlock() + return &state{ + settings: logging.settings.deepCopy(), + flushDRunning: logging.flushD.isRunning(), + maxSize: MaxSize, + } +} + +// State stores a snapshot of klog settings. It gets created with CaptureState +// and can be used to restore the entire state. Modifying individual settings +// is supported via the command line flags. +type State interface { + // Restore restore the entire state. It may get called more than once. + Restore() +} + +type state struct { + settings + + flushDRunning bool + maxSize uint64 +} + +func (s *state) Restore() { + // This needs to be done before mutex locking. + if s.flushDRunning && !logging.flushD.isRunning() { + // This is not quite accurate: StartFlushDaemon might + // have been called with some different interval. + interval := s.flushInterval + if interval == 0 { + interval = flushInterval + } + logging.flushD.run(interval) + } else if !s.flushDRunning && logging.flushD.isRunning() { + logging.flushD.stop() + } + + logging.mu.Lock() + defer logging.mu.Unlock() + + logging.settings = s.settings + logging.setVState(s.verbosity, s.vmodule.filter, true) + MaxSize = s.maxSize +} + /* header formats a log header as defined by the C++ implementation. It returns a buffer containing the formatted header and the user's file and line number. @@ -688,7 +795,7 @@ func (l *loggingT) printS(err error, s severity.Severity, depth int, msg string, serialize.KVListFormat(&b.Buffer, "err", err) } serialize.KVListFormat(&b.Buffer, keysAndValues...) - l.printDepth(s, globalLogger, nil, depth+1, &b.Buffer) + l.printDepth(s, logging.logger, nil, depth+1, &b.Buffer) // Make the buffer available for reuse. l.bufferCache.PutBuffer(b) } @@ -757,7 +864,7 @@ func (l *loggingT) output(s severity.Severity, log *logr.Logger, buf *buffer.Buf if l.traceLocation.isSet() { if l.traceLocation.match(file, line) { - buf.Write(stacks(false)) + buf.Write(dbg.Stacks(false)) } } data := buf.Bytes() @@ -765,7 +872,7 @@ func (l *loggingT) output(s severity.Severity, log *logr.Logger, buf *buffer.Buf // TODO: set 'severity' and caller information as structured log info // keysAndValues := []interface{}{"severity", severityName[s], "file", file, "line", line} if s == severity.ErrorLog { - globalLogger.WithCallDepth(depth+3).Error(nil, string(data)) + logging.logger.WithCallDepth(depth+3).Error(nil, string(data)) } else { log.WithCallDepth(depth + 3).Info(string(data)) } @@ -822,12 +929,15 @@ func (l *loggingT) output(s severity.Severity, log *logr.Logger, buf *buffer.Buf OsExit(1) } // Dump all goroutine stacks before exiting. - trace := stacks(true) - // Write the stack trace for all goroutines to the stderr. - if l.toStderr || l.alsoToStderr || s >= l.stderrThreshold.get() || alsoToStderr { - os.Stderr.Write(trace) + // First, make sure we see the trace for the current goroutine on standard error. + // If -logtostderr has been specified, the loop below will do that anyway + // as the first stack in the full dump. + if !l.toStderr { + os.Stderr.Write(dbg.Stacks(false)) } + // Write the stack trace for all goroutines to the files. + trace := dbg.Stacks(true) logExitFunc = func(error) {} // If we get a write error, we'll still exit below. for log := severity.FatalLog; log >= severity.InfoLog; log-- { if f := l.file[log]; f != nil { // Can be nil if -logtostderr is set. @@ -847,25 +957,6 @@ func (l *loggingT) output(s severity.Severity, log *logr.Logger, buf *buffer.Buf } } -// stacks is a wrapper for runtime.Stack that attempts to recover the data for all goroutines. -func stacks(all bool) []byte { - // We don't know how big the traces are, so grow a few times if they don't fit. Start large, though. - n := 10000 - if all { - n = 100000 - } - var trace []byte - for i := 0; i < 5; i++ { - trace = make([]byte, n) - nbytes := runtime.Stack(trace, all) - if nbytes < len(trace) { - return trace[:nbytes] - } - n *= 2 - } - return trace -} - // logExitFunc provides a simple mechanism to override the default behavior // of exiting on error. Used in testing and to guarantee we reach a required exit // for fatal logs. Instead, exit could be a function rather than a method but that @@ -1077,9 +1168,9 @@ func (f *flushDaemon) isRunning() bool { return f.stopC != nil } -// StopFlushDaemon stops the flush daemon, if running. +// StopFlushDaemon stops the flush daemon, if running, and flushes once. // This prevents klog from leaking goroutines on shutdown. After stopping -// the daemon, you can still manually flush buffers by calling Flush(). +// the daemon, you can still manually flush buffers again by calling Flush(). func StopFlushDaemon() { logging.flushD.stop() } @@ -1109,8 +1200,8 @@ func (l *loggingT) flushAll() { file.Sync() // ignore error } } - if globalLoggerOptions.flush != nil { - globalLoggerOptions.flush() + if logging.loggerOptions.flush != nil { + logging.loggerOptions.flush() } } @@ -1158,7 +1249,7 @@ func (lb logBridge) Write(b []byte) (n int, err error) { } // printWithFileLine with alsoToStderr=true, so standard log messages // always appear on standard error. - logging.printWithFileLine(severity.Severity(lb), globalLogger, logging.filter, file, line, true, text) + logging.printWithFileLine(severity.Severity(lb), logging.logger, logging.filter, file, line, true, text) return len(b), nil } @@ -1196,10 +1287,10 @@ type Verbose struct { } func newVerbose(level Level, b bool) Verbose { - if globalLogger == nil { + if logging.logger == nil { return Verbose{b, nil} } - v := globalLogger.V(int(level)) + v := logging.logger.V(int(level)) return Verbose{b, &v} } @@ -1318,7 +1409,7 @@ func (v Verbose) InfoS(msg string, keysAndValues ...interface{}) { // InfoSDepth acts as InfoS but uses depth to determine which call frame to log. // InfoSDepth(0, "msg") is the same as InfoS("msg"). func InfoSDepth(depth int, msg string, keysAndValues ...interface{}) { - logging.infoS(globalLogger, logging.filter, depth, msg, keysAndValues...) + logging.infoS(logging.logger, logging.filter, depth, msg, keysAndValues...) } // InfoSDepth is equivalent to the global InfoSDepth function, guarded by the value of v. @@ -1347,37 +1438,37 @@ func (v Verbose) ErrorS(err error, msg string, keysAndValues ...interface{}) { // Info logs to the INFO log. // Arguments are handled in the manner of fmt.Print; a newline is appended if missing. func Info(args ...interface{}) { - logging.print(severity.InfoLog, globalLogger, logging.filter, args...) + logging.print(severity.InfoLog, logging.logger, logging.filter, args...) } // InfoDepth acts as Info but uses depth to determine which call frame to log. // InfoDepth(0, "msg") is the same as Info("msg"). func InfoDepth(depth int, args ...interface{}) { - logging.printDepth(severity.InfoLog, globalLogger, logging.filter, depth, args...) + logging.printDepth(severity.InfoLog, logging.logger, logging.filter, depth, args...) } // Infoln logs to the INFO log. // Arguments are handled in the manner of fmt.Println; a newline is always appended. func Infoln(args ...interface{}) { - logging.println(severity.InfoLog, globalLogger, logging.filter, args...) + logging.println(severity.InfoLog, logging.logger, logging.filter, args...) } // InfolnDepth acts as Infoln but uses depth to determine which call frame to log. // InfolnDepth(0, "msg") is the same as Infoln("msg"). func InfolnDepth(depth int, args ...interface{}) { - logging.printlnDepth(severity.InfoLog, globalLogger, logging.filter, depth, args...) + logging.printlnDepth(severity.InfoLog, logging.logger, logging.filter, depth, args...) } // Infof logs to the INFO log. // Arguments are handled in the manner of fmt.Printf; a newline is appended if missing. func Infof(format string, args ...interface{}) { - logging.printf(severity.InfoLog, globalLogger, logging.filter, format, args...) + logging.printf(severity.InfoLog, logging.logger, logging.filter, format, args...) } // InfofDepth acts as Infof but uses depth to determine which call frame to log. // InfofDepth(0, "msg", args...) is the same as Infof("msg", args...). func InfofDepth(depth int, format string, args ...interface{}) { - logging.printfDepth(severity.InfoLog, globalLogger, logging.filter, depth, format, args...) + logging.printfDepth(severity.InfoLog, logging.logger, logging.filter, depth, format, args...) } // InfoS structured logs to the INFO log. @@ -1389,79 +1480,79 @@ func InfofDepth(depth int, format string, args ...interface{}) { // output: // >> I1025 00:15:15.525108 1 controller_utils.go:116] "Pod status updated" pod="kubedns" status="ready" func InfoS(msg string, keysAndValues ...interface{}) { - logging.infoS(globalLogger, logging.filter, 0, msg, keysAndValues...) + logging.infoS(logging.logger, logging.filter, 0, msg, keysAndValues...) } // Warning logs to the WARNING and INFO logs. // Arguments are handled in the manner of fmt.Print; a newline is appended if missing. func Warning(args ...interface{}) { - logging.print(severity.WarningLog, globalLogger, logging.filter, args...) + logging.print(severity.WarningLog, logging.logger, logging.filter, args...) } // WarningDepth acts as Warning but uses depth to determine which call frame to log. // WarningDepth(0, "msg") is the same as Warning("msg"). func WarningDepth(depth int, args ...interface{}) { - logging.printDepth(severity.WarningLog, globalLogger, logging.filter, depth, args...) + logging.printDepth(severity.WarningLog, logging.logger, logging.filter, depth, args...) } // Warningln logs to the WARNING and INFO logs. // Arguments are handled in the manner of fmt.Println; a newline is always appended. func Warningln(args ...interface{}) { - logging.println(severity.WarningLog, globalLogger, logging.filter, args...) + logging.println(severity.WarningLog, logging.logger, logging.filter, args...) } // WarninglnDepth acts as Warningln but uses depth to determine which call frame to log. // WarninglnDepth(0, "msg") is the same as Warningln("msg"). func WarninglnDepth(depth int, args ...interface{}) { - logging.printlnDepth(severity.WarningLog, globalLogger, logging.filter, depth, args...) + logging.printlnDepth(severity.WarningLog, logging.logger, logging.filter, depth, args...) } // Warningf logs to the WARNING and INFO logs. // Arguments are handled in the manner of fmt.Printf; a newline is appended if missing. func Warningf(format string, args ...interface{}) { - logging.printf(severity.WarningLog, globalLogger, logging.filter, format, args...) + logging.printf(severity.WarningLog, logging.logger, logging.filter, format, args...) } // WarningfDepth acts as Warningf but uses depth to determine which call frame to log. // WarningfDepth(0, "msg", args...) is the same as Warningf("msg", args...). func WarningfDepth(depth int, format string, args ...interface{}) { - logging.printfDepth(severity.WarningLog, globalLogger, logging.filter, depth, format, args...) + logging.printfDepth(severity.WarningLog, logging.logger, logging.filter, depth, format, args...) } // Error logs to the ERROR, WARNING, and INFO logs. // Arguments are handled in the manner of fmt.Print; a newline is appended if missing. func Error(args ...interface{}) { - logging.print(severity.ErrorLog, globalLogger, logging.filter, args...) + logging.print(severity.ErrorLog, logging.logger, logging.filter, args...) } // ErrorDepth acts as Error but uses depth to determine which call frame to log. // ErrorDepth(0, "msg") is the same as Error("msg"). func ErrorDepth(depth int, args ...interface{}) { - logging.printDepth(severity.ErrorLog, globalLogger, logging.filter, depth, args...) + logging.printDepth(severity.ErrorLog, logging.logger, logging.filter, depth, args...) } // Errorln logs to the ERROR, WARNING, and INFO logs. // Arguments are handled in the manner of fmt.Println; a newline is always appended. func Errorln(args ...interface{}) { - logging.println(severity.ErrorLog, globalLogger, logging.filter, args...) + logging.println(severity.ErrorLog, logging.logger, logging.filter, args...) } // ErrorlnDepth acts as Errorln but uses depth to determine which call frame to log. // ErrorlnDepth(0, "msg") is the same as Errorln("msg"). func ErrorlnDepth(depth int, args ...interface{}) { - logging.printlnDepth(severity.ErrorLog, globalLogger, logging.filter, depth, args...) + logging.printlnDepth(severity.ErrorLog, logging.logger, logging.filter, depth, args...) } // Errorf logs to the ERROR, WARNING, and INFO logs. // Arguments are handled in the manner of fmt.Printf; a newline is appended if missing. func Errorf(format string, args ...interface{}) { - logging.printf(severity.ErrorLog, globalLogger, logging.filter, format, args...) + logging.printf(severity.ErrorLog, logging.logger, logging.filter, format, args...) } // ErrorfDepth acts as Errorf but uses depth to determine which call frame to log. // ErrorfDepth(0, "msg", args...) is the same as Errorf("msg", args...). func ErrorfDepth(depth int, format string, args ...interface{}) { - logging.printfDepth(severity.ErrorLog, globalLogger, logging.filter, depth, format, args...) + logging.printfDepth(severity.ErrorLog, logging.logger, logging.filter, depth, format, args...) } // ErrorS structured logs to the ERROR, WARNING, and INFO logs. @@ -1474,52 +1565,63 @@ func ErrorfDepth(depth int, format string, args ...interface{}) { // output: // >> E1025 00:15:15.525108 1 controller_utils.go:114] "Failed to update pod status" err="timeout" func ErrorS(err error, msg string, keysAndValues ...interface{}) { - logging.errorS(err, globalLogger, logging.filter, 0, msg, keysAndValues...) + logging.errorS(err, logging.logger, logging.filter, 0, msg, keysAndValues...) } // ErrorSDepth acts as ErrorS but uses depth to determine which call frame to log. // ErrorSDepth(0, "msg") is the same as ErrorS("msg"). func ErrorSDepth(depth int, err error, msg string, keysAndValues ...interface{}) { - logging.errorS(err, globalLogger, logging.filter, depth, msg, keysAndValues...) + logging.errorS(err, logging.logger, logging.filter, depth, msg, keysAndValues...) } // Fatal logs to the FATAL, ERROR, WARNING, and INFO logs, -// including a stack trace of all running goroutines, then calls OsExit(255). +// prints stack trace(s), then calls OsExit(255). +// +// Stderr only receives a dump of the current goroutine's stack trace. Log files, +// if there are any, receive a dump of the stack traces in all goroutines. +// +// Callers who want more control over handling of fatal events may instead use a +// combination of different functions: +// - some info or error logging function, optionally with a stack trace +// value generated by github.com/go-logr/lib/dbg.Backtrace +// - Flush to flush pending log data +// - panic, os.Exit or returning to the caller with an error +// // Arguments are handled in the manner of fmt.Print; a newline is appended if missing. func Fatal(args ...interface{}) { - logging.print(severity.FatalLog, globalLogger, logging.filter, args...) + logging.print(severity.FatalLog, logging.logger, logging.filter, args...) } // FatalDepth acts as Fatal but uses depth to determine which call frame to log. // FatalDepth(0, "msg") is the same as Fatal("msg"). func FatalDepth(depth int, args ...interface{}) { - logging.printDepth(severity.FatalLog, globalLogger, logging.filter, depth, args...) + logging.printDepth(severity.FatalLog, logging.logger, logging.filter, depth, args...) } // Fatalln logs to the FATAL, ERROR, WARNING, and INFO logs, // including a stack trace of all running goroutines, then calls OsExit(255). // Arguments are handled in the manner of fmt.Println; a newline is always appended. func Fatalln(args ...interface{}) { - logging.println(severity.FatalLog, globalLogger, logging.filter, args...) + logging.println(severity.FatalLog, logging.logger, logging.filter, args...) } // FatallnDepth acts as Fatalln but uses depth to determine which call frame to log. // FatallnDepth(0, "msg") is the same as Fatalln("msg"). func FatallnDepth(depth int, args ...interface{}) { - logging.printlnDepth(severity.FatalLog, globalLogger, logging.filter, depth, args...) + logging.printlnDepth(severity.FatalLog, logging.logger, logging.filter, depth, args...) } // Fatalf logs to the FATAL, ERROR, WARNING, and INFO logs, // including a stack trace of all running goroutines, then calls OsExit(255). // Arguments are handled in the manner of fmt.Printf; a newline is appended if missing. func Fatalf(format string, args ...interface{}) { - logging.printf(severity.FatalLog, globalLogger, logging.filter, format, args...) + logging.printf(severity.FatalLog, logging.logger, logging.filter, format, args...) } // FatalfDepth acts as Fatalf but uses depth to determine which call frame to log. // FatalfDepth(0, "msg", args...) is the same as Fatalf("msg", args...). func FatalfDepth(depth int, format string, args ...interface{}) { - logging.printfDepth(severity.FatalLog, globalLogger, logging.filter, depth, format, args...) + logging.printfDepth(severity.FatalLog, logging.logger, logging.filter, depth, format, args...) } // fatalNoStacks is non-zero if we are to exit without dumping goroutine stacks. @@ -1530,41 +1632,41 @@ var fatalNoStacks uint32 // Arguments are handled in the manner of fmt.Print; a newline is appended if missing. func Exit(args ...interface{}) { atomic.StoreUint32(&fatalNoStacks, 1) - logging.print(severity.FatalLog, globalLogger, logging.filter, args...) + logging.print(severity.FatalLog, logging.logger, logging.filter, args...) } // ExitDepth acts as Exit but uses depth to determine which call frame to log. // ExitDepth(0, "msg") is the same as Exit("msg"). func ExitDepth(depth int, args ...interface{}) { atomic.StoreUint32(&fatalNoStacks, 1) - logging.printDepth(severity.FatalLog, globalLogger, logging.filter, depth, args...) + logging.printDepth(severity.FatalLog, logging.logger, logging.filter, depth, args...) } // Exitln logs to the FATAL, ERROR, WARNING, and INFO logs, then calls OsExit(1). func Exitln(args ...interface{}) { atomic.StoreUint32(&fatalNoStacks, 1) - logging.println(severity.FatalLog, globalLogger, logging.filter, args...) + logging.println(severity.FatalLog, logging.logger, logging.filter, args...) } // ExitlnDepth acts as Exitln but uses depth to determine which call frame to log. // ExitlnDepth(0, "msg") is the same as Exitln("msg"). func ExitlnDepth(depth int, args ...interface{}) { atomic.StoreUint32(&fatalNoStacks, 1) - logging.printlnDepth(severity.FatalLog, globalLogger, logging.filter, depth, args...) + logging.printlnDepth(severity.FatalLog, logging.logger, logging.filter, depth, args...) } // Exitf logs to the FATAL, ERROR, WARNING, and INFO logs, then calls OsExit(1). // Arguments are handled in the manner of fmt.Printf; a newline is appended if missing. func Exitf(format string, args ...interface{}) { atomic.StoreUint32(&fatalNoStacks, 1) - logging.printf(severity.FatalLog, globalLogger, logging.filter, format, args...) + logging.printf(severity.FatalLog, logging.logger, logging.filter, format, args...) } // ExitfDepth acts as Exitf but uses depth to determine which call frame to log. // ExitfDepth(0, "msg", args...) is the same as Exitf("msg", args...). func ExitfDepth(depth int, format string, args ...interface{}) { atomic.StoreUint32(&fatalNoStacks, 1) - logging.printfDepth(severity.FatalLog, globalLogger, logging.filter, depth, format, args...) + logging.printfDepth(severity.FatalLog, logging.logger, logging.filter, depth, format, args...) } // LogFilter is a collection of functions that can filter all logging calls, diff --git a/vendor/k8s.io/klog/v2/klogr.go b/vendor/k8s.io/klog/v2/klogr.go index 351d7a740..027a4014a 100644 --- a/vendor/k8s.io/klog/v2/klogr.go +++ b/vendor/k8s.io/klog/v2/klogr.go @@ -43,11 +43,11 @@ func (l *klogger) Init(info logr.RuntimeInfo) { } func (l klogger) Info(level int, msg string, kvList ...interface{}) { - trimmed := serialize.TrimDuplicates(l.values, kvList) + merged := serialize.MergeKVs(l.values, kvList) if l.prefix != "" { msg = l.prefix + ": " + msg } - V(Level(level)).InfoSDepth(l.callDepth+1, msg, append(trimmed[0], trimmed[1]...)...) + V(Level(level)).InfoSDepth(l.callDepth+1, msg, merged...) } func (l klogger) Enabled(level int) bool { @@ -55,11 +55,11 @@ func (l klogger) Enabled(level int) bool { } func (l klogger) Error(err error, msg string, kvList ...interface{}) { - trimmed := serialize.TrimDuplicates(l.values, kvList) + merged := serialize.MergeKVs(l.values, kvList) if l.prefix != "" { msg = l.prefix + ": " + msg } - ErrorSDepth(l.callDepth+1, err, msg, append(trimmed[0], trimmed[1]...)...) + ErrorSDepth(l.callDepth+1, err, msg, merged...) } // WithName returns a new logr.Logger with the specified name appended. klogr diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go index 6077ca72d..f8c0a2241 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.pb.go @@ -438,144 +438,150 @@ func init() { } var fileDescriptor_3a450b99b211cb39 = []byte{ - // 2187 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x5f, 0x6f, 0x1b, 0xc7, - 0x11, 0x37, 0x25, 0x52, 0x22, 0x87, 0x12, 0x25, 0xad, 0x2c, 0xe7, 0xa4, 0xaa, 0xa4, 0xc2, 0x16, - 0x85, 0x83, 0xda, 0x54, 0xec, 0xb8, 0x80, 0x93, 0xa0, 0x4e, 0x75, 0xb4, 0x64, 0x2b, 0x95, 0x25, - 0x62, 0xa9, 0xa4, 0x7f, 0xd0, 0x3f, 0x59, 0x1d, 0x57, 0xd4, 0x59, 0xc7, 0x5b, 0xf6, 0x76, 0x29, + // 2273 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x6f, 0x1b, 0xc7, + 0x11, 0x37, 0x25, 0x52, 0x22, 0x87, 0x12, 0x25, 0xad, 0x2c, 0xe7, 0xa4, 0xc8, 0xa4, 0xcc, 0x16, + 0x85, 0x82, 0xda, 0x54, 0xec, 0xb8, 0x80, 0x93, 0xa0, 0x4e, 0x75, 0xb4, 0x64, 0x2b, 0x95, 0x25, + 0x62, 0xa9, 0xa4, 0x4d, 0xd1, 0x3f, 0x39, 0x1d, 0x57, 0xd4, 0x59, 0xc7, 0x5b, 0xf6, 0x76, 0x29, 0x9b, 0x29, 0x8a, 0xe6, 0xb1, 0x28, 0x50, 0xa0, 0x9f, 0xa0, 0xdf, 0xa0, 0x0f, 0x05, 0xfa, 0x11, - 0xfa, 0x60, 0xb4, 0x2f, 0x79, 0xcc, 0x13, 0x5b, 0xb3, 0xdf, 0xc2, 0x45, 0x81, 0x62, 0xf7, 0xf6, - 0xfe, 0x90, 0x3c, 0x5a, 0x12, 0x6d, 0xa7, 0x0f, 0x02, 0xb4, 0xf3, 0xe7, 0x37, 0xb3, 0xb3, 0xbb, - 0x33, 0x73, 0x43, 0x78, 0xf7, 0xb4, 0xc5, 0x1a, 0x1d, 0x87, 0xf2, 0xca, 0xd3, 0xee, 0xe7, 0x9b, - 0xec, 0xf8, 0x98, 0x9f, 0x30, 0x26, 0x6e, 0x92, 0xb6, 0xbd, 0x29, 0xff, 0xce, 0x6e, 0x6d, 0x36, - 0xa9, 0x4b, 0x3d, 0x22, 0x68, 0xa3, 0xd2, 0xf6, 0x98, 0x60, 0x68, 0x23, 0xae, 0x51, 0x09, 0x34, - 0x7e, 0x49, 0xda, 0x76, 0x45, 0xfe, 0x9d, 0xdd, 0x5a, 0xbb, 0xd9, 0xb4, 0xc5, 0x49, 0xe7, 0xa8, - 0x62, 0xb1, 0xd6, 0x66, 0x93, 0x35, 0xd9, 0xa6, 0x52, 0x3c, 0xea, 0x1c, 0xab, 0x95, 0x5a, 0xa8, - 0xff, 0x7c, 0xc0, 0xb5, 0xf2, 0xe9, 0x5d, 0x5e, 0xb1, 0x99, 0xb2, 0x67, 0x31, 0x8f, 0x26, 0x18, - 0x5d, 0xbb, 0x13, 0xc9, 0xb4, 0x88, 0x75, 0x62, 0xbb, 0xd4, 0xeb, 0x6e, 0xb6, 0x4f, 0x9b, 0x92, - 0xc0, 0x37, 0x5b, 0x54, 0x90, 0x04, 0xad, 0xf2, 0x7f, 0x33, 0x60, 0x54, 0x99, 0x2b, 0x88, 0x94, - 0xc7, 0x1d, 0x57, 0xd8, 0x2d, 0x5a, 0xa7, 0x42, 0xd8, 0x6e, 0x93, 0xa3, 0x9f, 0x40, 0xce, 0xa3, - 0x9c, 0x75, 0x3c, 0x8b, 0x72, 0x23, 0xb5, 0x91, 0xba, 0x9e, 0xbf, 0x7d, 0xbd, 0xe2, 0x9b, 0x51, - 0x1b, 0x91, 0xae, 0x54, 0xce, 0x6e, 0x55, 0xb0, 0x16, 0xc2, 0xf4, 0x57, 0x1d, 0xdb, 0xa3, 0x2d, - 0xea, 0x0a, 0x6e, 0x2e, 0x3d, 0xeb, 0x95, 0xae, 0xf4, 0x7b, 0xa5, 0x5c, 0xc0, 0xe5, 0x38, 0x42, - 0x43, 0x18, 0xe6, 0x1d, 0xfb, 0x8c, 0xba, 0x94, 0xf3, 0x9a, 0xc7, 0x8e, 0xa8, 0x31, 0xa5, 0xe0, - 0x57, 0x93, 0xe0, 0x95, 0x80, 0xb9, 0xd4, 0xef, 0x95, 0xe6, 0xf7, 0xe2, 0x3a, 0x78, 0x10, 0x02, - 0x7d, 0x02, 0x05, 0x8f, 0x92, 0x86, 0x1d, 0x81, 0x4e, 0x9f, 0x07, 0x8a, 0xfa, 0xbd, 0x52, 0x01, - 0x0f, 0x28, 0xe1, 0x21, 0x10, 0xf4, 0x31, 0xe4, 0x1c, 0xfb, 0x98, 0x5a, 0x5d, 0xcb, 0xa1, 0x46, - 0x5a, 0x21, 0x7e, 0x33, 0x09, 0x71, 0x2f, 0x10, 0x32, 0xe7, 0xe5, 0xb6, 0xc3, 0x25, 0x8e, 0xd4, - 0xd1, 0x11, 0x2c, 0x70, 0x6a, 0x75, 0x3c, 0x5b, 0x74, 0x65, 0xd4, 0xe9, 0x53, 0x61, 0x64, 0x14, - 0xe2, 0xb7, 0x92, 0x10, 0xeb, 0x83, 0xa2, 0xe6, 0x72, 0xbf, 0x57, 0x5a, 0x18, 0x22, 0xe2, 0x61, - 0x40, 0xb4, 0x07, 0x69, 0xd7, 0xb6, 0xa8, 0x31, 0xa3, 0x80, 0x2b, 0x95, 0xf3, 0x2e, 0x63, 0x65, - 0xdf, 0xb6, 0xc2, 0x33, 0x37, 0xb3, 0xfd, 0x5e, 0x29, 0x2d, 0x29, 0x58, 0xa1, 0xa0, 0x43, 0x98, - 0xb1, 0x99, 0xc2, 0x9b, 0x55, 0x78, 0xef, 0x9e, 0x8f, 0xb7, 0x7b, 0x30, 0x80, 0x08, 0xfd, 0x5e, - 0x69, 0xc6, 0xa7, 0x61, 0x8d, 0x85, 0xf6, 0x60, 0x96, 0xba, 0x67, 0x3b, 0x1e, 0x6b, 0x19, 0xd9, - 0x8d, 0xe9, 0xeb, 0xf9, 0xdb, 0x6f, 0x27, 0xed, 0x7f, 0xdb, 0x17, 0xa9, 0xab, 0x3b, 0x63, 0x2e, - 0xe8, 0x0b, 0x35, 0xab, 0xc9, 0x38, 0x80, 0x40, 0xef, 0xc3, 0x34, 0x75, 0xcf, 0x8c, 0x9c, 0x42, - 0x5a, 0x1b, 0x83, 0xf4, 0x29, 0xf1, 0xcc, 0xbc, 0x86, 0x98, 0xde, 0x76, 0xcf, 0xb0, 0xd4, 0x29, - 0xff, 0x02, 0x0a, 0x83, 0xee, 0xa2, 0x12, 0x64, 0x2c, 0x87, 0x70, 0xff, 0xc2, 0x67, 0xcc, 0x5c, - 0xbf, 0x57, 0xca, 0x54, 0x25, 0x01, 0xfb, 0x74, 0xf4, 0x5d, 0xc8, 0xa9, 0x7f, 0xee, 0x13, 0x41, - 0xd4, 0xb5, 0xcd, 0xf8, 0x07, 0x5e, 0x0d, 0x88, 0x38, 0xe2, 0x97, 0xef, 0xc1, 0xdc, 0x00, 0x7a, - 0x05, 0x80, 0x34, 0x1e, 0x77, 0xb8, 0x90, 0x8f, 0x44, 0x9b, 0x28, 0xf4, 0x7b, 0x25, 0xd8, 0x0a, - 0xa9, 0x38, 0x26, 0x51, 0xfe, 0xe7, 0x14, 0xc0, 0xc1, 0xd1, 0x63, 0x6a, 0x89, 0x47, 0x54, 0x10, - 0xf4, 0x19, 0xcc, 0x38, 0xe4, 0x88, 0x3a, 0xd2, 0x3b, 0xb9, 0xd9, 0xbb, 0xe7, 0x9f, 0x46, 0xa4, - 0x5d, 0xd9, 0x53, 0xaa, 0xdb, 0xae, 0xf0, 0xba, 0x66, 0x41, 0x87, 0x62, 0xc6, 0x27, 0x62, 0x8d, - 0x8b, 0x04, 0xe4, 0x89, 0xeb, 0x32, 0x41, 0x84, 0xcd, 0x5c, 0x6e, 0x4c, 0x29, 0x33, 0xdf, 0xbf, - 0x94, 0x99, 0xad, 0x48, 0xdf, 0xb7, 0xb5, 0xac, 0x6d, 0xe5, 0x63, 0x1c, 0x1c, 0x37, 0xb3, 0xf6, - 0x3e, 0xe4, 0x63, 0xce, 0xa1, 0x45, 0x98, 0x3e, 0xa5, 0x5d, 0x15, 0x9e, 0x1c, 0x96, 0xff, 0xa2, - 0xab, 0x90, 0x39, 0x23, 0x4e, 0xc7, 0xcf, 0x13, 0x39, 0xec, 0x2f, 0x3e, 0x98, 0xba, 0x9b, 0x5a, - 0xbb, 0x07, 0x8b, 0xc3, 0x06, 0x2f, 0xa3, 0x5f, 0x7e, 0x91, 0x86, 0xa5, 0x1a, 0xf1, 0x84, 0x4d, - 0x9c, 0x58, 0xa0, 0x37, 0x20, 0xed, 0x92, 0x16, 0xf5, 0x21, 0xcc, 0x39, 0xbd, 0x81, 0xf4, 0x3e, - 0x69, 0xc9, 0x87, 0x41, 0x5a, 0x14, 0xdd, 0x85, 0xb9, 0x20, 0x99, 0x4a, 0xaa, 0x0f, 0x6c, 0x5e, - 0xd5, 0x92, 0x73, 0x0f, 0x62, 0x3c, 0x3c, 0x20, 0x89, 0x36, 0x21, 0x27, 0x11, 0x78, 0x9b, 0x58, - 0x7e, 0x8a, 0xca, 0x45, 0xc9, 0x72, 0x3f, 0x60, 0xe0, 0x48, 0x06, 0x35, 0xc3, 0x53, 0x4f, 0xab, - 0xe3, 0xf8, 0xe8, 0xfc, 0xe3, 0x18, 0xd9, 0xd1, 0x85, 0x0e, 0xff, 0xd7, 0x83, 0x87, 0x9f, 0x51, - 0xd6, 0xee, 0x4f, 0x62, 0xed, 0xf2, 0x77, 0x00, 0x3d, 0x81, 0x05, 0xf6, 0x44, 0x56, 0x21, 0x7a, - 0x4c, 0x3d, 0xea, 0xca, 0x9a, 0x33, 0xa3, 0x1c, 0xb8, 0x13, 0x7b, 0xd1, 0x61, 0x69, 0xab, 0xb4, - 0x4f, 0x9b, 0x92, 0xc0, 0x2b, 0xb2, 0xb4, 0xa9, 0x1b, 0x38, 0xa0, 0x6c, 0xbe, 0xa5, 0x0d, 0x2e, - 0x0c, 0xd2, 0x39, 0x1e, 0xb6, 0xf2, 0xff, 0xbc, 0x7c, 0x7f, 0x9e, 0x82, 0x95, 0x1a, 0xf5, 0xb8, - 0xcd, 0x05, 0x75, 0xc5, 0xa7, 0xcc, 0xe9, 0xb4, 0x68, 0xd5, 0x21, 0x76, 0x0b, 0x3d, 0x86, 0xac, - 0xdc, 0x58, 0x43, 0x26, 0x19, 0xbf, 0xf4, 0xbe, 0x37, 0xc1, 0x39, 0x98, 0xab, 0x3a, 0x0a, 0xa3, - 0x57, 0x1c, 0x87, 0xf8, 0xe8, 0x00, 0xd2, 0xbc, 0x4d, 0x2d, 0x5d, 0x83, 0x6f, 0x26, 0x96, 0xcb, - 0x24, 0x27, 0xeb, 0x6d, 0x6a, 0x45, 0x6f, 0x43, 0xae, 0xb0, 0x02, 0x42, 0x3f, 0x82, 0x19, 0x2e, - 0x88, 0xe8, 0x70, 0x5d, 0x81, 0x37, 0x2f, 0x0e, 0xa9, 0xd4, 0xa2, 0x0b, 0xea, 0xaf, 0xb1, 0x86, - 0x2b, 0xff, 0xa5, 0x00, 0xa8, 0xc6, 0x1a, 0xc3, 0x8d, 0xca, 0xef, 0x52, 0x50, 0x68, 0xb3, 0x46, - 0xec, 0x28, 0x74, 0x7e, 0x7c, 0x78, 0x81, 0x98, 0x8d, 0xc0, 0x49, 0xd2, 0xc8, 0xfd, 0xbd, 0xa6, - 0x3d, 0x2a, 0x0c, 0x32, 0xf1, 0x90, 0x5d, 0xf4, 0x45, 0x0a, 0xe6, 0x5c, 0xd6, 0xa0, 0x75, 0xea, - 0x50, 0x4b, 0x30, 0x4f, 0x67, 0xd0, 0x9d, 0x89, 0x1c, 0xd9, 0x8f, 0x01, 0xf9, 0x6e, 0x84, 0xf9, - 0x25, 0xce, 0xc2, 0x03, 0x16, 0xd1, 0xc7, 0x80, 0x38, 0xf5, 0xce, 0x6c, 0x8b, 0x6e, 0x59, 0x16, - 0xeb, 0xb8, 0x42, 0xe5, 0x27, 0x3f, 0xd1, 0xac, 0x69, 0x7d, 0x54, 0x1f, 0x91, 0xc0, 0x09, 0x5a, - 0xe8, 0xaf, 0x29, 0x58, 0x1d, 0x24, 0xc7, 0x83, 0xec, 0xa7, 0xa3, 0xfa, 0x44, 0x7b, 0xab, 0x8f, - 0x43, 0xf5, 0x37, 0xfa, 0xb6, 0x76, 0x74, 0x75, 0xac, 0x1c, 0x1e, 0xef, 0x18, 0x6a, 0xc0, 0x3a, - 0xe9, 0x08, 0xd6, 0x92, 0xf4, 0x41, 0x80, 0x43, 0x76, 0x4a, 0x5d, 0xd5, 0x74, 0x65, 0xcd, 0x8d, - 0x7e, 0xaf, 0xb4, 0xbe, 0xf5, 0x12, 0x39, 0xfc, 0x52, 0x14, 0x74, 0x03, 0xb2, 0x32, 0xf0, 0x2a, - 0xbc, 0x33, 0x2a, 0xbc, 0x8b, 0xda, 0xeb, 0xec, 0xbe, 0xa6, 0xe3, 0x50, 0x02, 0xd1, 0xd1, 0xde, - 0xcf, 0x6f, 0xa9, 0xbe, 0x93, 0xf8, 0x3a, 0x58, 0x63, 0xb2, 0xf6, 0xcf, 0x85, 0x45, 0xbb, 0x45, - 0x9a, 0xb4, 0xd6, 0x71, 0x9c, 0x3a, 0xb5, 0x3c, 0x2a, 0xb8, 0xee, 0xb1, 0x12, 0x7b, 0xf7, 0x3d, - 0x66, 0x05, 0x59, 0x21, 0xca, 0x9d, 0x86, 0xde, 0xc6, 0xe2, 0xee, 0x10, 0x12, 0x1e, 0xc1, 0x46, - 0x3b, 0x90, 0x25, 0xc7, 0xc7, 0xb6, 0x6b, 0x8b, 0xae, 0x91, 0x53, 0xfb, 0x59, 0x4f, 0xb2, 0xb3, - 0xa5, 0x65, 0xcc, 0x39, 0x19, 0x9e, 0x60, 0x85, 0x43, 0x5d, 0xf4, 0x21, 0xcc, 0x73, 0xeb, 0x84, - 0xca, 0x7b, 0xe4, 0xa9, 0x88, 0x82, 0x8a, 0xe8, 0x8a, 0x76, 0x65, 0xbe, 0x1e, 0x67, 0xe2, 0x41, - 0x59, 0xf4, 0x09, 0xe4, 0x05, 0x73, 0x64, 0x89, 0x55, 0xf7, 0x32, 0xaf, 0xf6, 0x5b, 0x4c, 0xf2, - 0xe3, 0x30, 0x14, 0x8b, 0x4a, 0x52, 0x44, 0xe3, 0x38, 0x8e, 0x83, 0x1e, 0xc0, 0x52, 0xdb, 0xb3, - 0x99, 0x0a, 0xaf, 0x6c, 0xe9, 0x94, 0x5f, 0x73, 0xca, 0xaf, 0x28, 0xb1, 0x0e, 0x0b, 0xe0, 0x51, - 0x1d, 0x74, 0x1d, 0xb2, 0x01, 0xd1, 0x98, 0x57, 0x4d, 0x9f, 0x0a, 0x43, 0xa0, 0x8b, 0x43, 0x2e, - 0x6a, 0xc4, 0x3e, 0x62, 0x1e, 0x10, 0x41, 0xb9, 0x51, 0x50, 0x9b, 0xf9, 0xf6, 0x98, 0x4b, 0x82, - 0xe3, 0xc2, 0x51, 0x96, 0x1a, 0x20, 0x73, 0x3c, 0x84, 0x89, 0x7e, 0x00, 0x8b, 0x9e, 0xff, 0x1e, - 0xa3, 0x7d, 0x2d, 0xf8, 0x0d, 0x8c, 0x3c, 0x76, 0x3c, 0xc4, 0xc3, 0x23, 0xd2, 0x68, 0x07, 0x10, - 0x75, 0xc9, 0x91, 0x43, 0xf5, 0xc3, 0xd8, 0xb3, 0xdd, 0x53, 0x6e, 0x2c, 0xaa, 0x77, 0x75, 0x4d, - 0x26, 0x98, 0xed, 0x11, 0x2e, 0x4e, 0xd0, 0x40, 0x7f, 0x48, 0xc1, 0xaa, 0x60, 0x6d, 0xe6, 0xb0, - 0x66, 0xb7, 0xde, 0x96, 0x6e, 0x56, 0x99, 0xcb, 0x85, 0x47, 0x6c, 0x57, 0x70, 0x63, 0x49, 0xed, - 0xfd, 0x46, 0xf2, 0x41, 0x26, 0x2b, 0x45, 0x99, 0x63, 0x9c, 0x04, 0xc7, 0xe3, 0x2d, 0xae, 0x6d, - 0xc1, 0x72, 0x42, 0xfa, 0xbf, 0x54, 0x53, 0xf0, 0x11, 0x2c, 0x8d, 0x24, 0xee, 0x4b, 0x01, 0xec, - 0x41, 0xf1, 0xe5, 0xd9, 0xf1, 0x52, 0x3d, 0xc6, 0xdf, 0x17, 0x60, 0x56, 0x66, 0x13, 0x59, 0x98, - 0x93, 0x4b, 0x43, 0x6a, 0xa2, 0xd2, 0xd0, 0x49, 0x2c, 0x74, 0x1f, 0x5e, 0xa8, 0x18, 0x48, 0x67, - 0x26, 0xac, 0x6e, 0xf1, 0x7c, 0x33, 0xfd, 0x3a, 0xf3, 0x4d, 0x7a, 0xf2, 0x7c, 0x93, 0x79, 0x4d, - 0xf9, 0x26, 0x29, 0x77, 0xcf, 0xbc, 0xc1, 0xdc, 0x9d, 0x98, 0xdf, 0x66, 0x5f, 0x31, 0xbf, 0x65, - 0x5f, 0x9a, 0xdf, 0xbe, 0x07, 0xf9, 0x13, 0xc6, 0xc5, 0x3e, 0x15, 0x4f, 0x98, 0x77, 0xaa, 0x2a, - 0x46, 0x36, 0x8a, 0xcc, 0xc3, 0x88, 0x85, 0xe3, 0x72, 0xe8, 0x1d, 0x98, 0x95, 0xcb, 0xda, 0xee, - 0x7d, 0x55, 0x17, 0xb2, 0xd1, 0x34, 0xe0, 0xa1, 0x4f, 0xc6, 0x01, 0x3f, 0x10, 0xdd, 0xad, 0x55, - 0x8d, 0xfc, 0xa8, 0xe8, 0x6e, 0xad, 0x8a, 0x03, 0x3e, 0x3a, 0x80, 0x15, 0x7e, 0x42, 0x3c, 0x5a, - 0xf3, 0x98, 0x45, 0xfd, 0xad, 0xf8, 0x5f, 0x65, 0x73, 0x4a, 0x71, 0xb5, 0xdf, 0x2b, 0xad, 0xd4, - 0x93, 0x04, 0x70, 0xb2, 0x5e, 0x52, 0x8d, 0x9f, 0x7f, 0x03, 0x35, 0xfe, 0x00, 0x72, 0x0d, 0x97, - 0xd7, 0x98, 0x63, 0x5b, 0x5d, 0xa3, 0xa0, 0xce, 0xeb, 0x56, 0xf0, 0x05, 0x79, 0x7f, 0xbf, 0xee, - 0x33, 0x5e, 0xf4, 0x4a, 0xeb, 0xa3, 0x73, 0xc3, 0x4a, 0xc8, 0xc7, 0x11, 0x06, 0x7a, 0xa4, 0x00, - 0xab, 0xcc, 0x3d, 0xb6, 0x9b, 0xaa, 0x10, 0xe4, 0x6f, 0x6f, 0x8c, 0xf1, 0xf8, 0xfe, 0x7e, 0xdd, - 0x97, 0xf3, 0xa7, 0x1e, 0xe1, 0x12, 0x47, 0x08, 0xe8, 0xe7, 0x50, 0x90, 0x8f, 0x2c, 0x1c, 0x2c, - 0xca, 0xc2, 0x30, 0x3d, 0x6e, 0x6e, 0x16, 0x4a, 0x45, 0xd5, 0x6b, 0x77, 0x40, 0x19, 0x0f, 0x81, - 0xa1, 0x75, 0x48, 0x13, 0xaf, 0xe9, 0x57, 0x87, 0x9c, 0x3f, 0xb1, 0xda, 0xf2, 0x9a, 0x1c, 0x2b, - 0x6a, 0x30, 0x0d, 0x42, 0x97, 0x9f, 0x06, 0x0d, 0x0e, 0x3c, 0x97, 0xdf, 0xec, 0xc0, 0xf3, 0xea, - 0x9b, 0x18, 0x78, 0xae, 0xbc, 0xf6, 0x81, 0xe7, 0xb5, 0x57, 0x1b, 0x78, 0xfe, 0x06, 0x0c, 0x2b, - 0x38, 0xb8, 0xa1, 0x6b, 0x6d, 0xbc, 0x75, 0xf1, 0xc9, 0xe7, 0x7a, 0xbf, 0x57, 0x8a, 0xe6, 0xd4, - 0xc3, 0xef, 0x63, 0xac, 0x89, 0x73, 0xba, 0x0b, 0xe3, 0x6b, 0xef, 0x2e, 0x5e, 0xb5, 0x35, 0x28, - 0xff, 0x69, 0x0a, 0x16, 0x6a, 0xac, 0x71, 0x48, 0x5b, 0x6d, 0x87, 0x08, 0xaa, 0x8a, 0xfa, 0xcf, - 0x46, 0x46, 0x05, 0x37, 0x2e, 0x33, 0xaf, 0x33, 0x91, 0xde, 0x12, 0x24, 0x0e, 0x07, 0x3e, 0x03, - 0x90, 0xe1, 0xf5, 0x98, 0xe3, 0x50, 0x4f, 0x8f, 0x08, 0x26, 0xc4, 0xaf, 0x86, 0x38, 0x38, 0x86, - 0x89, 0x7e, 0xa8, 0xc7, 0x0f, 0x7e, 0x35, 0x7f, 0xe7, 0xc2, 0x0d, 0x44, 0xd2, 0xe8, 0xa1, 0xfc, - 0x8f, 0x14, 0x2c, 0x0c, 0x8f, 0x07, 0x0e, 0x60, 0xba, 0xcd, 0x1a, 0x3a, 0x36, 0x77, 0x26, 0xf9, - 0x5a, 0x35, 0x67, 0x65, 0x9e, 0x90, 0x74, 0x89, 0x84, 0x9a, 0x90, 0x0b, 0xaf, 0x9c, 0x0e, 0xc9, - 0x07, 0xe7, 0xc3, 0x8e, 0xfb, 0x9d, 0x45, 0x8f, 0x8f, 0x43, 0x6e, 0x84, 0x5d, 0xfe, 0x2d, 0xe4, - 0x75, 0x37, 0x56, 0x63, 0x9e, 0xb8, 0xc0, 0x54, 0x72, 0x03, 0xd2, 0x6d, 0xe6, 0x09, 0x3d, 0x97, - 0x0e, 0x25, 0xa4, 0x36, 0x56, 0x9c, 0xe0, 0xa3, 0x55, 0x52, 0x54, 0xc4, 0x33, 0x83, 0x1f, 0xad, - 0x4a, 0x32, 0x94, 0x28, 0xff, 0x27, 0x13, 0x7a, 0xa0, 0xee, 0x1a, 0x86, 0x8c, 0x44, 0x09, 0xe6, - 0x2b, 0x37, 0xcf, 0xdf, 0x75, 0xcc, 0x7f, 0x73, 0x5e, 0x5b, 0xca, 0xc8, 0x15, 0xc7, 0x3e, 0x14, - 0xda, 0x84, 0x9c, 0xe5, 0x74, 0xb8, 0xa0, 0xde, 0x6e, 0x4d, 0x8f, 0x51, 0xc3, 0x5c, 0x5a, 0x0d, - 0x18, 0x38, 0x92, 0x41, 0x26, 0xa4, 0x45, 0xb7, 0x1d, 0x8c, 0x34, 0x2a, 0xc1, 0x26, 0x0f, 0xbb, - 0x6d, 0xfa, 0xa2, 0x57, 0x2a, 0x26, 0x14, 0x3d, 0xed, 0x84, 0x94, 0xc0, 0x4a, 0x17, 0xdd, 0x82, - 0x3c, 0x7d, 0x2a, 0xa8, 0xe7, 0x12, 0x67, 0xb7, 0xe6, 0x4f, 0x32, 0x72, 0xe6, 0x82, 0xec, 0x41, - 0xb6, 0x23, 0x32, 0x8e, 0xcb, 0xa0, 0x7b, 0x50, 0x70, 0x18, 0x69, 0x98, 0xc4, 0x21, 0xae, 0xa5, - 0x9c, 0xcd, 0x28, 0x07, 0xc2, 0xb2, 0xb5, 0x37, 0xc0, 0xc5, 0x43, 0xd2, 0xe8, 0xc7, 0x60, 0xc4, - 0x29, 0xfe, 0xcf, 0x1a, 0x98, 0xb8, 0x4d, 0x3d, 0xe9, 0xcc, 0xf9, 0x69, 0x6e, 0x6f, 0x8c, 0x0c, - 0x1e, 0xab, 0x8d, 0x7e, 0x9f, 0x82, 0x95, 0xc0, 0xd3, 0x43, 0x4f, 0xb6, 0xb8, 0x96, 0x6e, 0x0e, - 0xfc, 0x66, 0xee, 0x50, 0x7b, 0xb8, 0xb2, 0x9d, 0x24, 0xf4, 0xa2, 0x57, 0x7a, 0x6f, 0x7c, 0xcc, - 0x12, 0x55, 0x54, 0x20, 0x93, 0x4d, 0xa2, 0x47, 0xb0, 0x7c, 0x42, 0x89, 0x23, 0x4e, 0xaa, 0x27, - 0xd4, 0x3a, 0x0d, 0xee, 0x94, 0x6e, 0x0b, 0xbf, 0xa1, 0x3d, 0x59, 0x7e, 0x38, 0x2a, 0x82, 0x93, - 0xf4, 0xd0, 0xe7, 0xb0, 0xc2, 0x29, 0xe7, 0x36, 0x73, 0x83, 0x26, 0x5e, 0xb7, 0x29, 0xb9, 0x20, - 0x5d, 0x24, 0x95, 0x8f, 0x04, 0x05, 0xdd, 0xce, 0x25, 0xb1, 0x70, 0xb2, 0x89, 0xf2, 0xdf, 0x52, - 0xb0, 0x1c, 0x5c, 0x9d, 0xaf, 0x2f, 0xe3, 0x8e, 0x8c, 0x63, 0x2f, 0xf8, 0xc4, 0xc6, 0xe5, 0x44, - 0x73, 0xe7, 0xd9, 0xf3, 0xe2, 0x95, 0x2f, 0x9f, 0x17, 0xaf, 0x7c, 0xf5, 0xbc, 0x78, 0xe5, 0x8b, - 0x7e, 0x31, 0xf5, 0xac, 0x5f, 0x4c, 0x7d, 0xd9, 0x2f, 0xa6, 0xbe, 0xea, 0x17, 0x53, 0xff, 0xea, - 0x17, 0x53, 0x7f, 0xfc, 0x77, 0xf1, 0xca, 0x4f, 0x37, 0xce, 0xfb, 0x9d, 0xfb, 0x7f, 0x01, 0x00, - 0x00, 0xff, 0xff, 0xea, 0x47, 0x71, 0x7a, 0x0a, 0x1f, 0x00, 0x00, + 0xfa, 0x60, 0xa0, 0x2f, 0x79, 0x29, 0x90, 0x27, 0xb6, 0x66, 0xbf, 0x85, 0x8b, 0x02, 0xc5, 0xee, + 0xed, 0xfd, 0x23, 0x8f, 0xfa, 0x43, 0xdb, 0x6d, 0x1e, 0x04, 0xe8, 0xe6, 0xcf, 0x6f, 0x66, 0x67, + 0xe7, 0x66, 0xe6, 0x86, 0xf0, 0xee, 0x49, 0x8b, 0x36, 0x3a, 0x36, 0x61, 0x95, 0x67, 0xdd, 0x2f, + 0x36, 0xe8, 0xd1, 0x11, 0x3b, 0xa6, 0x94, 0xdf, 0x32, 0xda, 0xd6, 0x86, 0xf8, 0x3b, 0xbd, 0xbd, + 0xd1, 0x24, 0x0e, 0x71, 0x0d, 0x4e, 0x1a, 0x95, 0xb6, 0x4b, 0x39, 0x45, 0x6b, 0x51, 0x8d, 0x8a, + 0xaf, 0xf1, 0x0b, 0xa3, 0x6d, 0x55, 0xc4, 0xdf, 0xe9, 0xed, 0x95, 0x5b, 0x4d, 0x8b, 0x1f, 0x77, + 0x0e, 0x2b, 0x26, 0x6d, 0x6d, 0x34, 0x69, 0x93, 0x6e, 0x48, 0xc5, 0xc3, 0xce, 0x91, 0x7c, 0x92, + 0x0f, 0xf2, 0x3f, 0x0f, 0x70, 0xa5, 0x7c, 0x72, 0x8f, 0x55, 0x2c, 0x2a, 0xed, 0x99, 0xd4, 0x25, + 0x09, 0x46, 0x57, 0xee, 0x86, 0x32, 0x2d, 0xc3, 0x3c, 0xb6, 0x1c, 0xe2, 0x76, 0x37, 0xda, 0x27, + 0x4d, 0x41, 0x60, 0x1b, 0x2d, 0xc2, 0x8d, 0x04, 0xad, 0xf2, 0x7f, 0x32, 0xa0, 0x55, 0xa9, 0xc3, + 0x0d, 0x21, 0x8f, 0x3b, 0x0e, 0xb7, 0x5a, 0xa4, 0x4e, 0x38, 0xb7, 0x9c, 0x26, 0x43, 0x9f, 0x41, + 0xce, 0x25, 0x8c, 0x76, 0x5c, 0x93, 0x30, 0x2d, 0xb5, 0x96, 0x5a, 0xcf, 0xdf, 0x59, 0xaf, 0x78, + 0x66, 0xe4, 0x41, 0x84, 0x2b, 0x95, 0xd3, 0xdb, 0x15, 0xac, 0x84, 0x30, 0xf9, 0x65, 0xc7, 0x72, + 0x49, 0x8b, 0x38, 0x9c, 0xe9, 0x0b, 0xcf, 0x7b, 0xa5, 0x2b, 0xfd, 0x5e, 0x29, 0xe7, 0x73, 0x19, + 0x0e, 0xd1, 0x10, 0x86, 0x59, 0xdb, 0x3a, 0x25, 0x0e, 0x61, 0xac, 0xe6, 0xd2, 0x43, 0xa2, 0x4d, + 0x48, 0xf8, 0xe5, 0x24, 0x78, 0x29, 0xa0, 0x2f, 0xf4, 0x7b, 0xa5, 0xd9, 0xdd, 0xa8, 0x0e, 0x8e, + 0x43, 0xa0, 0x4f, 0xa0, 0xe0, 0x12, 0xa3, 0x61, 0x85, 0xa0, 0x93, 0xe7, 0x81, 0xa2, 0x7e, 0xaf, + 0x54, 0xc0, 0x31, 0x25, 0x3c, 0x00, 0x82, 0x3e, 0x86, 0x9c, 0x6d, 0x1d, 0x11, 0xb3, 0x6b, 0xda, + 0x44, 0x4b, 0x4b, 0xc4, 0xeb, 0x49, 0x88, 0xbb, 0xbe, 0x90, 0x3e, 0x2b, 0x8e, 0x1d, 0x3c, 0xe2, + 0x50, 0x1d, 0x1d, 0xc2, 0x1c, 0x23, 0x66, 0xc7, 0xb5, 0x78, 0x57, 0x44, 0x9d, 0x3c, 0xe3, 0x5a, + 0x46, 0x22, 0x7e, 0x2b, 0x09, 0xb1, 0x1e, 0x17, 0xd5, 0x17, 0xfb, 0xbd, 0xd2, 0xdc, 0x00, 0x11, + 0x0f, 0x02, 0xa2, 0x5d, 0x48, 0x3b, 0x96, 0x49, 0xb4, 0x29, 0x09, 0x5c, 0xa9, 0x9c, 0x97, 0x8c, + 0x95, 0x3d, 0xcb, 0x0c, 0xee, 0x5c, 0xcf, 0xf6, 0x7b, 0xa5, 0xb4, 0xa0, 0x60, 0x89, 0x82, 0x0e, + 0x60, 0xca, 0xa2, 0x12, 0x6f, 0x5a, 0xe2, 0xbd, 0x7b, 0x3e, 0xde, 0xce, 0x7e, 0x0c, 0x11, 0xfa, + 0xbd, 0xd2, 0x94, 0x47, 0xc3, 0x0a, 0x0b, 0xed, 0xc2, 0x34, 0x71, 0x4e, 0xb7, 0x5d, 0xda, 0xd2, + 0xb2, 0x6b, 0x93, 0xeb, 0xf9, 0x3b, 0x37, 0x92, 0xce, 0xbf, 0xe5, 0x89, 0xd4, 0x65, 0xce, 0xe8, + 0x73, 0x2a, 0xa1, 0xa6, 0x15, 0x19, 0xfb, 0x10, 0xe8, 0x7d, 0x98, 0x24, 0xce, 0xa9, 0x96, 0x93, + 0x48, 0x2b, 0x23, 0x90, 0x3e, 0x35, 0x5c, 0x3d, 0xaf, 0x20, 0x26, 0xb7, 0x9c, 0x53, 0x2c, 0x74, + 0xca, 0x3f, 0x87, 0x42, 0xdc, 0x5d, 0x54, 0x82, 0x8c, 0x69, 0x1b, 0xcc, 0x4b, 0xf8, 0x8c, 0x9e, + 0xeb, 0xf7, 0x4a, 0x99, 0xaa, 0x20, 0x60, 0x8f, 0x8e, 0xbe, 0x0b, 0x39, 0xf9, 0xcf, 0x03, 0x83, + 0x1b, 0x32, 0x6d, 0x33, 0xde, 0x85, 0x57, 0x7d, 0x22, 0x0e, 0xf9, 0xe5, 0xfb, 0x30, 0x13, 0x43, + 0xaf, 0x00, 0x18, 0x8d, 0x27, 0x1d, 0xc6, 0xc5, 0x4b, 0xa2, 0x4c, 0x14, 0xfa, 0xbd, 0x12, 0x6c, + 0x06, 0x54, 0x1c, 0x91, 0x28, 0xff, 0x63, 0x02, 0x60, 0xff, 0xf0, 0x09, 0x31, 0xf9, 0x63, 0xc2, + 0x0d, 0xf4, 0x39, 0x4c, 0xd9, 0xc6, 0x21, 0xb1, 0x85, 0x77, 0xe2, 0xb0, 0xf7, 0xce, 0xbf, 0x8d, + 0x50, 0xbb, 0xb2, 0x2b, 0x55, 0xb7, 0x1c, 0xee, 0x76, 0xf5, 0x82, 0x0a, 0xc5, 0x94, 0x47, 0xc4, + 0x0a, 0x17, 0x71, 0xc8, 0x1b, 0x8e, 0x43, 0xb9, 0xc1, 0x2d, 0xea, 0x30, 0x6d, 0x42, 0x9a, 0xf9, + 0xfe, 0xa5, 0xcc, 0x6c, 0x86, 0xfa, 0x9e, 0xad, 0x45, 0x65, 0x2b, 0x1f, 0xe1, 0xe0, 0xa8, 0x99, + 0x95, 0xf7, 0x21, 0x1f, 0x71, 0x0e, 0xcd, 0xc3, 0xe4, 0x09, 0xe9, 0xca, 0xf0, 0xe4, 0xb0, 0xf8, + 0x17, 0x5d, 0x85, 0xcc, 0xa9, 0x61, 0x77, 0xbc, 0x3a, 0x91, 0xc3, 0xde, 0xc3, 0x07, 0x13, 0xf7, + 0x52, 0x2b, 0xf7, 0x61, 0x7e, 0xd0, 0xe0, 0x65, 0xf4, 0xcb, 0x2f, 0xd3, 0xb0, 0x50, 0x33, 0x5c, + 0x6e, 0x19, 0x76, 0x24, 0xd0, 0x6b, 0x90, 0x76, 0x8c, 0x16, 0xf1, 0x20, 0xf4, 0x19, 0x75, 0x80, + 0xf4, 0x9e, 0xd1, 0x12, 0x2f, 0x86, 0xd1, 0x22, 0xe8, 0x1e, 0xcc, 0xf8, 0xc5, 0x54, 0x50, 0x3d, + 0x60, 0xfd, 0xaa, 0x92, 0x9c, 0x79, 0x18, 0xe1, 0xe1, 0x98, 0x24, 0xda, 0x80, 0x9c, 0x40, 0x60, + 0x6d, 0xc3, 0xf4, 0x4a, 0x54, 0x2e, 0x2c, 0x96, 0x7b, 0x3e, 0x03, 0x87, 0x32, 0xa8, 0x19, 0xdc, + 0x7a, 0x5a, 0x5e, 0xc7, 0x47, 0xe7, 0x5f, 0xc7, 0xd0, 0x89, 0x2e, 0x74, 0xf9, 0xbf, 0x8a, 0x5f, + 0x7e, 0x46, 0x5a, 0x7b, 0x30, 0x8e, 0xb5, 0xcb, 0xe7, 0x00, 0x7a, 0x0a, 0x73, 0xf4, 0xa9, 0xe8, + 0x42, 0xe4, 0x88, 0xb8, 0xc4, 0x11, 0x3d, 0x67, 0x4a, 0x3a, 0x70, 0x37, 0xf2, 0x46, 0x07, 0xad, + 0xad, 0xd2, 0x3e, 0x69, 0x0a, 0x02, 0xab, 0x88, 0xd6, 0x26, 0x33, 0x30, 0xa6, 0xac, 0xbf, 0xa5, + 0x0c, 0xce, 0xc5, 0xe9, 0x0c, 0x0f, 0x5a, 0xf9, 0x7f, 0x26, 0xdf, 0x9f, 0x26, 0x60, 0xa9, 0x46, + 0x5c, 0x66, 0x31, 0x4e, 0x1c, 0xfe, 0x29, 0xb5, 0x3b, 0x2d, 0x52, 0xb5, 0x0d, 0xab, 0x85, 0x9e, + 0x40, 0x56, 0x1c, 0xac, 0x21, 0x8a, 0x8c, 0xd7, 0x7a, 0xdf, 0x1b, 0xe3, 0x1e, 0xf4, 0x65, 0x15, + 0x85, 0xe1, 0x14, 0xc7, 0x01, 0x3e, 0xda, 0x87, 0x34, 0x6b, 0x13, 0x53, 0xf5, 0xe0, 0x5b, 0x89, + 0xed, 0x32, 0xc9, 0xc9, 0x7a, 0x9b, 0x98, 0xe1, 0xbb, 0x21, 0x9e, 0xb0, 0x04, 0x42, 0x3f, 0x82, + 0x29, 0xc6, 0x0d, 0xde, 0x61, 0xaa, 0x03, 0x6f, 0x5c, 0x1c, 0x52, 0xaa, 0x85, 0x09, 0xea, 0x3d, + 0x63, 0x05, 0x57, 0xfe, 0x73, 0x01, 0x50, 0x8d, 0x36, 0x06, 0x07, 0x95, 0xdf, 0xa6, 0xa0, 0xd0, + 0xa6, 0x8d, 0xc8, 0x55, 0xa8, 0xfa, 0xf8, 0xe8, 0x02, 0x31, 0x1b, 0x82, 0x13, 0xa4, 0xa1, 0xfc, + 0xbd, 0xa6, 0x3c, 0x2a, 0xc4, 0x99, 0x78, 0xc0, 0x2e, 0xfa, 0x32, 0x05, 0x33, 0x0e, 0x6d, 0x90, + 0x3a, 0xb1, 0x89, 0xc9, 0xa9, 0xab, 0x2a, 0xe8, 0xf6, 0x58, 0x8e, 0xec, 0x45, 0x80, 0x3c, 0x37, + 0x82, 0xfa, 0x12, 0x65, 0xe1, 0x98, 0x45, 0xf4, 0x31, 0x20, 0x46, 0xdc, 0x53, 0xcb, 0x24, 0x9b, + 0xa6, 0x49, 0x3b, 0x0e, 0x97, 0xf5, 0xc9, 0x2b, 0x34, 0x2b, 0x4a, 0x1f, 0xd5, 0x87, 0x24, 0x70, + 0x82, 0x16, 0xfa, 0x4b, 0x0a, 0x96, 0xe3, 0xe4, 0x68, 0x90, 0xbd, 0x72, 0x54, 0x1f, 0xeb, 0x6c, + 0xf5, 0x51, 0xa8, 0xde, 0x41, 0x6f, 0x28, 0x47, 0x97, 0x47, 0xca, 0xe1, 0xd1, 0x8e, 0xa1, 0x06, + 0xac, 0x1a, 0x1d, 0x4e, 0x5b, 0x82, 0x1e, 0x07, 0x38, 0xa0, 0x27, 0xc4, 0x91, 0x43, 0x57, 0x56, + 0x5f, 0xeb, 0xf7, 0x4a, 0xab, 0x9b, 0x67, 0xc8, 0xe1, 0x33, 0x51, 0xd0, 0x4d, 0xc8, 0x8a, 0xc0, + 0xcb, 0xf0, 0x4e, 0xc9, 0xf0, 0xce, 0x2b, 0xaf, 0xb3, 0x7b, 0x8a, 0x8e, 0x03, 0x09, 0x44, 0x86, + 0x67, 0x3f, 0x6f, 0xa4, 0xfa, 0x4e, 0xe2, 0xdb, 0x41, 0x1b, 0xe3, 0x8d, 0x7f, 0x0e, 0xcc, 0x5b, + 0x2d, 0xa3, 0x49, 0x6a, 0x1d, 0xdb, 0xae, 0x13, 0xd3, 0x25, 0x9c, 0xa9, 0x19, 0x2b, 0x71, 0x76, + 0xdf, 0xa5, 0xa6, 0x5f, 0x15, 0xc2, 0xda, 0xa9, 0xa9, 0x63, 0xcc, 0xef, 0x0c, 0x20, 0xe1, 0x21, + 0x6c, 0xb4, 0x0d, 0x59, 0xe3, 0xe8, 0xc8, 0x72, 0x2c, 0xde, 0xd5, 0x72, 0xf2, 0x3c, 0xab, 0x49, + 0x76, 0x36, 0x95, 0x8c, 0x3e, 0x23, 0xc2, 0xe3, 0x3f, 0xe1, 0x40, 0x17, 0x7d, 0x08, 0xb3, 0xcc, + 0x3c, 0x26, 0x22, 0x8f, 0x5c, 0x19, 0x51, 0x90, 0x11, 0x5d, 0x52, 0xae, 0xcc, 0xd6, 0xa3, 0x4c, + 0x1c, 0x97, 0x45, 0x9f, 0x40, 0x9e, 0x53, 0x5b, 0xb4, 0x58, 0x99, 0x97, 0x79, 0x79, 0xde, 0x62, + 0x92, 0x1f, 0x07, 0x81, 0x58, 0xd8, 0x92, 0x42, 0x1a, 0xc3, 0x51, 0x1c, 0xf4, 0x10, 0x16, 0xda, + 0xae, 0x45, 0x65, 0x78, 0xc5, 0x48, 0x27, 0xfd, 0x9a, 0x91, 0x7e, 0x85, 0x85, 0x75, 0x50, 0x00, + 0x0f, 0xeb, 0xa0, 0x75, 0xc8, 0xfa, 0x44, 0x6d, 0x56, 0x0e, 0x7d, 0x32, 0x0c, 0xbe, 0x2e, 0x0e, + 0xb8, 0xa8, 0x11, 0xf9, 0x88, 0x79, 0x68, 0x70, 0xc2, 0xb4, 0x82, 0x3c, 0xcc, 0xb7, 0x47, 0x24, + 0x09, 0x8e, 0x0a, 0x87, 0x55, 0x2a, 0x46, 0x66, 0x78, 0x00, 0x13, 0xfd, 0x00, 0xe6, 0x5d, 0xef, + 0x7d, 0x0c, 0xcf, 0x35, 0xe7, 0x0d, 0x30, 0xe2, 0xda, 0xf1, 0x00, 0x0f, 0x0f, 0x49, 0xa3, 0x6d, + 0x40, 0xc4, 0x31, 0x0e, 0x6d, 0xa2, 0x5e, 0x8c, 0x5d, 0xcb, 0x39, 0x61, 0xda, 0xbc, 0x7c, 0xaf, + 0xae, 0x89, 0x02, 0xb3, 0x35, 0xc4, 0xc5, 0x09, 0x1a, 0xe8, 0xf7, 0x29, 0x58, 0xe6, 0xb4, 0x4d, + 0x6d, 0xda, 0xec, 0xd6, 0xdb, 0xc2, 0xcd, 0x2a, 0x75, 0x18, 0x77, 0x0d, 0xcb, 0xe1, 0x4c, 0x5b, + 0x90, 0x67, 0xbf, 0x99, 0x7c, 0x91, 0xc9, 0x4a, 0x61, 0xe5, 0x18, 0x25, 0xc1, 0xf0, 0x68, 0x8b, + 0x2b, 0x9b, 0xb0, 0x98, 0x50, 0xfe, 0x2f, 0x35, 0x14, 0x7c, 0x04, 0x0b, 0x43, 0x85, 0xfb, 0x52, + 0x00, 0xbb, 0x50, 0x3c, 0xbb, 0x3a, 0x5e, 0x6a, 0xc6, 0xf8, 0xfb, 0x02, 0x4c, 0x8b, 0x6a, 0x22, + 0x1a, 0x73, 0x72, 0x6b, 0x48, 0x8d, 0xd5, 0x1a, 0x3a, 0x89, 0x8d, 0xee, 0xc3, 0x0b, 0x35, 0x03, + 0xe1, 0xcc, 0x98, 0xdd, 0x2d, 0x5a, 0x6f, 0x26, 0x5f, 0x67, 0xbd, 0x49, 0x8f, 0x5f, 0x6f, 0x32, + 0xaf, 0xa9, 0xde, 0x24, 0xd5, 0xee, 0xa9, 0x37, 0x58, 0xbb, 0x13, 0xeb, 0xdb, 0xf4, 0x2b, 0xd6, + 0xb7, 0xec, 0x99, 0xf5, 0xed, 0x7b, 0x90, 0x3f, 0xa6, 0x8c, 0xef, 0x11, 0xfe, 0x94, 0xba, 0x27, + 0xb2, 0x63, 0x64, 0xc3, 0xc8, 0x3c, 0x0a, 0x59, 0x38, 0x2a, 0x87, 0xde, 0x81, 0x69, 0xf1, 0x58, + 0xdb, 0x79, 0x20, 0xfb, 0x42, 0x36, 0xdc, 0x06, 0x3c, 0xf2, 0xc8, 0xd8, 0xe7, 0xfb, 0xa2, 0x3b, + 0xb5, 0xaa, 0x96, 0x1f, 0x16, 0xdd, 0xa9, 0x55, 0xb1, 0xcf, 0x47, 0xfb, 0xb0, 0xc4, 0x8e, 0x0d, + 0x97, 0xd4, 0x5c, 0x6a, 0x12, 0xef, 0x28, 0xde, 0x57, 0xd9, 0x8c, 0x54, 0x5c, 0xee, 0xf7, 0x4a, + 0x4b, 0xf5, 0x24, 0x01, 0x9c, 0xac, 0x97, 0xd4, 0xe3, 0x67, 0xdf, 0x40, 0x8f, 0x6f, 0xc2, 0x75, + 0x4e, 0xdc, 0x96, 0xe5, 0xc8, 0xbc, 0x79, 0xe8, 0x1a, 0x26, 0xa9, 0x11, 0xd7, 0x92, 0x70, 0xd4, + 0x69, 0x88, 0x9e, 0x91, 0x5a, 0x9f, 0xd4, 0x6f, 0xf4, 0x7b, 0xa5, 0xeb, 0x07, 0x67, 0x09, 0xe2, + 0xb3, 0x71, 0xd0, 0x3e, 0xe4, 0x1a, 0x0e, 0xab, 0x51, 0xdb, 0x32, 0xbb, 0xaa, 0x41, 0xdc, 0xf6, + 0x3f, 0x55, 0x1f, 0xec, 0xd5, 0x3d, 0xc6, 0xcb, 0x5e, 0x69, 0x75, 0x78, 0x41, 0x59, 0x09, 0xf8, + 0x38, 0xc4, 0x40, 0x8f, 0x25, 0x60, 0x95, 0x3a, 0x47, 0x56, 0x53, 0x76, 0x8b, 0xfc, 0x9d, 0xb5, + 0x11, 0xa1, 0x79, 0xb0, 0x57, 0xf7, 0xe4, 0xbc, 0xf5, 0x4a, 0xf0, 0x88, 0x43, 0x84, 0x6f, 0x5a, + 0xf7, 0x40, 0x5b, 0x30, 0x7d, 0x2a, 0x3f, 0x66, 0x98, 0x86, 0x46, 0x6f, 0xa3, 0xbc, 0xef, 0x9d, + 0x30, 0x2f, 0xbd, 0x67, 0x86, 0x7d, 0x5d, 0xf4, 0x33, 0x28, 0x88, 0x22, 0x15, 0x2c, 0x66, 0x99, + 0xb6, 0x28, 0xd1, 0x12, 0xf7, 0x8e, 0x81, 0x54, 0xd8, 0xfd, 0x77, 0x62, 0xca, 0x78, 0x00, 0x0c, + 0xad, 0x42, 0xda, 0x70, 0x9b, 0x4c, 0xbb, 0xba, 0x36, 0xb9, 0x9e, 0xf3, 0x36, 0x7e, 0x9b, 0x6e, + 0x93, 0x61, 0x49, 0xf5, 0xb7, 0x69, 0x4b, 0x97, 0xdf, 0xa6, 0xc5, 0x17, 0xc6, 0xd7, 0xde, 0xec, + 0xc2, 0xf8, 0xad, 0x37, 0xb1, 0x30, 0xd6, 0x5e, 0xfb, 0xc2, 0x78, 0xf9, 0xd5, 0x16, 0xc6, 0xbf, + 0x06, 0xcd, 0xf4, 0x2f, 0x6e, 0xa0, 0x2c, 0x68, 0x2b, 0x17, 0xdf, 0x1c, 0xaf, 0xf6, 0x7b, 0xa5, + 0x70, 0xcf, 0x3f, 0x58, 0x5f, 0x46, 0x9a, 0x40, 0x9f, 0xc1, 0x8c, 0x97, 0x93, 0x8f, 0x45, 0xdb, + 0x67, 0xda, 0xdb, 0x32, 0x29, 0x4a, 0xa3, 0x93, 0x5a, 0xca, 0x85, 0x7d, 0x3c, 0x42, 0x64, 0x38, + 0x06, 0xf5, 0xca, 0x53, 0x52, 0xf9, 0x8f, 0x13, 0x30, 0x57, 0xa3, 0x8d, 0x03, 0xd2, 0x6a, 0xdb, + 0x06, 0x27, 0x72, 0xbe, 0xf9, 0xe9, 0xd0, 0xd6, 0xe4, 0xe6, 0x65, 0x56, 0x97, 0x3a, 0x52, 0x8e, + 0x43, 0xe2, 0x9e, 0xe4, 0x73, 0x00, 0x11, 0x29, 0x97, 0xda, 0x36, 0x71, 0xd5, 0xb6, 0x64, 0x4c, + 0xfc, 0x6a, 0x80, 0x83, 0x23, 0x98, 0xe8, 0x87, 0x6a, 0x13, 0xe3, 0x0d, 0x36, 0xef, 0x5c, 0x78, + 0x96, 0x4a, 0xda, 0xc2, 0x94, 0xff, 0x96, 0x82, 0xb9, 0xc1, 0x4d, 0xc9, 0x3e, 0x4c, 0xb6, 0x69, + 0x43, 0xc5, 0xe6, 0xee, 0x38, 0x1f, 0xee, 0xfa, 0xb4, 0x78, 0xe5, 0x05, 0x5d, 0x20, 0xa1, 0x26, + 0xe4, 0x82, 0xec, 0x51, 0x21, 0xf9, 0xe0, 0x7c, 0xd8, 0x51, 0x3f, 0x39, 0xa9, 0x4d, 0x7a, 0xc0, + 0x0d, 0xb1, 0xcb, 0xbf, 0x81, 0xbc, 0x1a, 0x4c, 0x6b, 0xd4, 0xe5, 0x17, 0x58, 0xd0, 0xae, 0x41, + 0xba, 0x4d, 0x5d, 0xae, 0x56, 0xf4, 0x81, 0x84, 0xd0, 0xc6, 0x92, 0xe3, 0x7f, 0xbf, 0x0b, 0x8a, + 0x8c, 0x78, 0x26, 0xfe, 0xfd, 0x2e, 0x25, 0x03, 0x89, 0xf2, 0xbf, 0x33, 0x81, 0x07, 0x32, 0xd7, + 0x30, 0x64, 0x04, 0x8a, 0xbf, 0x6a, 0xba, 0x75, 0xfe, 0xa9, 0x23, 0xfe, 0xeb, 0xb3, 0xca, 0x52, + 0x46, 0x3c, 0x31, 0xec, 0x41, 0xa1, 0x0d, 0xc8, 0x99, 0x76, 0x87, 0x71, 0xe2, 0xee, 0xd4, 0xd4, + 0x46, 0x39, 0x28, 0x8b, 0x55, 0x9f, 0x81, 0x43, 0x19, 0xa4, 0x43, 0x9a, 0x77, 0xdb, 0xfe, 0x76, + 0xa7, 0xe2, 0x1f, 0xf2, 0xa0, 0xdb, 0x26, 0x2f, 0x7b, 0xa5, 0x62, 0x42, 0x5b, 0x56, 0x4e, 0x08, + 0x09, 0x2c, 0x75, 0xd1, 0x6d, 0xc8, 0x93, 0x67, 0x9c, 0xb8, 0x8e, 0x61, 0xef, 0xd4, 0xbc, 0xa5, + 0x4e, 0x4e, 0x9f, 0x13, 0xe3, 0xd8, 0x56, 0x48, 0xc6, 0x51, 0x19, 0x74, 0x1f, 0x0a, 0x36, 0x35, + 0x1a, 0xba, 0x61, 0x1b, 0x8e, 0x29, 0x9d, 0xcd, 0x48, 0x07, 0x82, 0x0e, 0xb4, 0x1b, 0xe3, 0xe2, + 0x01, 0x69, 0xf4, 0x63, 0xd0, 0xa2, 0x14, 0xef, 0x17, 0x1e, 0x6c, 0x38, 0x4d, 0xb5, 0xf4, 0xcd, + 0x79, 0x15, 0x6b, 0x77, 0x84, 0x0c, 0x1e, 0xa9, 0x8d, 0x7e, 0x97, 0x82, 0x25, 0xdf, 0xd3, 0x03, + 0x57, 0x4c, 0xfb, 0xa6, 0x1a, 0x5f, 0xbc, 0xb9, 0xf6, 0x40, 0x79, 0xb8, 0xb4, 0x95, 0x24, 0xf4, + 0xb2, 0x57, 0x7a, 0x6f, 0x74, 0xcc, 0x12, 0x55, 0x64, 0x20, 0x93, 0x4d, 0xa2, 0xc7, 0xb0, 0x78, + 0x4c, 0x0c, 0x9b, 0x1f, 0x57, 0x8f, 0x89, 0x79, 0xe2, 0xe7, 0x94, 0x9a, 0x90, 0xdf, 0x56, 0x9e, + 0x2c, 0x3e, 0x1a, 0x16, 0xc1, 0x49, 0x7a, 0xe8, 0x0b, 0x58, 0x62, 0x84, 0x31, 0x8b, 0x3a, 0xfe, + 0xf7, 0x8c, 0x1a, 0xa4, 0x72, 0x7e, 0xb9, 0x48, 0xea, 0x04, 0x09, 0x0a, 0x6a, 0xb2, 0x4d, 0x62, + 0xe1, 0x64, 0x13, 0xe5, 0xbf, 0xa6, 0x60, 0xd1, 0x4f, 0x9d, 0xff, 0x5d, 0xc5, 0x1d, 0xda, 0x4c, + 0x5f, 0xf0, 0x15, 0x1b, 0x55, 0x13, 0xf5, 0xed, 0xe7, 0x2f, 0x8a, 0x57, 0xbe, 0x7a, 0x51, 0xbc, + 0xf2, 0xf5, 0x8b, 0xe2, 0x95, 0x2f, 0xfb, 0xc5, 0xd4, 0xf3, 0x7e, 0x31, 0xf5, 0x55, 0xbf, 0x98, + 0xfa, 0xba, 0x5f, 0x4c, 0xfd, 0xb3, 0x5f, 0x4c, 0xfd, 0xe1, 0x5f, 0xc5, 0x2b, 0x3f, 0x59, 0x3b, + 0xef, 0x27, 0xff, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x02, 0xfb, 0xed, 0x48, 0x15, 0x20, 0x00, + 0x00, } func (m *ContainerRuntimeSettings) Marshal() (dAtA []byte, err error) { @@ -1247,10 +1253,10 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.TopologySpreadConstraints) > 0 { - for iNdEx := len(m.TopologySpreadConstraints) - 1; iNdEx >= 0; iNdEx-- { + if len(m.VolumeMounts) > 0 { + for iNdEx := len(m.VolumeMounts) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.TopologySpreadConstraints[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.VolumeMounts[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -1260,7 +1266,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xc2 + dAtA[i] = 0xda } } if m.ContainerSecurityContext != nil { @@ -1275,7 +1281,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xba + dAtA[i] = 0xd2 } if m.Lifecycle != nil { { @@ -1289,7 +1295,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xb2 + dAtA[i] = 0xca } if m.ReadinessProbe != nil { { @@ -1303,7 +1309,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xaa + dAtA[i] = 0xc2 } if m.LivenessProbe != nil { { @@ -1317,7 +1323,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xa2 + dAtA[i] = 0xba } { size, err := m.Resources.MarshalToSizedBuffer(dAtA[:i]) @@ -1330,7 +1336,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x9a + dAtA[i] = 0xb2 if len(m.Env) > 0 { for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { { @@ -1344,7 +1350,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x92 + dAtA[i] = 0xaa } } if len(m.Args) > 0 { @@ -1355,7 +1361,7 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x8a + dAtA[i] = 0xa2 } } if len(m.InitContainers) > 0 { @@ -1371,7 +1377,39 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0x82 + dAtA[i] = 0x9a + } + } + if len(m.Volumes) > 0 { + for iNdEx := len(m.Volumes) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Volumes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + } + if len(m.TopologySpreadConstraints) > 0 { + for iNdEx := len(m.TopologySpreadConstraints) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.TopologySpreadConstraints[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a } } if m.DNSConfig != nil { @@ -1384,13 +1422,20 @@ func (m *PodSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintGenerated(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x7a + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 } i -= len(m.DNSPolicy) copy(dAtA[i:], m.DNSPolicy) i = encodeVarintGenerated(dAtA, i, uint64(len(m.DNSPolicy))) i-- - dAtA[i] = 0x72 + dAtA[i] = 0x7a + if m.TerminationGracePeriodSeconds != nil { + i = encodeVarintGenerated(dAtA, i, uint64(*m.TerminationGracePeriodSeconds)) + i-- + dAtA[i] = 0x70 + } if m.SecurityContext != nil { { size, err := m.SecurityContext.MarshalToSizedBuffer(dAtA[:i]) @@ -2088,11 +2133,26 @@ func (m *PodSpec) Size() (n int) { l = m.SecurityContext.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.TerminationGracePeriodSeconds != nil { + n += 1 + sovGenerated(uint64(*m.TerminationGracePeriodSeconds)) + } l = len(m.DNSPolicy) n += 1 + l + sovGenerated(uint64(l)) if m.DNSConfig != nil { l = m.DNSConfig.Size() - n += 1 + l + sovGenerated(uint64(l)) + n += 2 + l + sovGenerated(uint64(l)) + } + if len(m.TopologySpreadConstraints) > 0 { + for _, e := range m.TopologySpreadConstraints { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } + } + if len(m.Volumes) > 0 { + for _, e := range m.Volumes { + l = e.Size() + n += 2 + l + sovGenerated(uint64(l)) + } } if len(m.InitContainers) > 0 { for _, e := range m.InitContainers { @@ -2130,8 +2190,8 @@ func (m *PodSpec) Size() (n int) { l = m.ContainerSecurityContext.Size() n += 2 + l + sovGenerated(uint64(l)) } - if len(m.TopologySpreadConstraints) > 0 { - for _, e := range m.TopologySpreadConstraints { + if len(m.VolumeMounts) > 0 { + for _, e := range m.VolumeMounts { l = e.Size() n += 2 + l + sovGenerated(uint64(l)) } @@ -2465,6 +2525,16 @@ func (this *PodSpec) String() string { repeatedStringForImagePullSecrets += fmt.Sprintf("%v", f) + "," } repeatedStringForImagePullSecrets += "}" + repeatedStringForTopologySpreadConstraints := "[]TopologySpreadConstraint{" + for _, f := range this.TopologySpreadConstraints { + repeatedStringForTopologySpreadConstraints += fmt.Sprintf("%v", f) + "," + } + repeatedStringForTopologySpreadConstraints += "}" + repeatedStringForVolumes := "[]Volume{" + for _, f := range this.Volumes { + repeatedStringForVolumes += fmt.Sprintf("%v", f) + "," + } + repeatedStringForVolumes += "}" repeatedStringForInitContainers := "[]Container{" for _, f := range this.InitContainers { repeatedStringForInitContainers += fmt.Sprintf("%v", f) + "," @@ -2475,11 +2545,11 @@ func (this *PodSpec) String() string { repeatedStringForEnv += fmt.Sprintf("%v", f) + "," } repeatedStringForEnv += "}" - repeatedStringForTopologySpreadConstraints := "[]TopologySpreadConstraint{" - for _, f := range this.TopologySpreadConstraints { - repeatedStringForTopologySpreadConstraints += fmt.Sprintf("%v", f) + "," + repeatedStringForVolumeMounts := "[]VolumeMount{" + for _, f := range this.VolumeMounts { + repeatedStringForVolumeMounts += fmt.Sprintf("%v", f) + "," } - repeatedStringForTopologySpreadConstraints += "}" + repeatedStringForVolumeMounts += "}" keysForNodeSelector := make([]string, 0, len(this.NodeSelector)) for k := range this.NodeSelector { keysForNodeSelector = append(keysForNodeSelector, k) @@ -2504,8 +2574,11 @@ func (this *PodSpec) String() string { `HostIPC:` + fmt.Sprintf("%v", this.HostIPC) + `,`, `ShareProcessNamespace:` + valueToStringGenerated(this.ShareProcessNamespace) + `,`, `SecurityContext:` + strings.Replace(fmt.Sprintf("%v", this.SecurityContext), "PodSecurityContext", "v1.PodSecurityContext", 1) + `,`, + `TerminationGracePeriodSeconds:` + valueToStringGenerated(this.TerminationGracePeriodSeconds) + `,`, `DNSPolicy:` + fmt.Sprintf("%v", this.DNSPolicy) + `,`, `DNSConfig:` + strings.Replace(fmt.Sprintf("%v", this.DNSConfig), "PodDNSConfig", "v1.PodDNSConfig", 1) + `,`, + `TopologySpreadConstraints:` + repeatedStringForTopologySpreadConstraints + `,`, + `Volumes:` + repeatedStringForVolumes + `,`, `InitContainers:` + repeatedStringForInitContainers + `,`, `Args:` + fmt.Sprintf("%v", this.Args) + `,`, `Env:` + repeatedStringForEnv + `,`, @@ -2514,7 +2587,7 @@ func (this *PodSpec) String() string { `ReadinessProbe:` + strings.Replace(fmt.Sprintf("%v", this.ReadinessProbe), "Probe", "v1.Probe", 1) + `,`, `Lifecycle:` + strings.Replace(fmt.Sprintf("%v", this.Lifecycle), "Lifecycle", "v1.Lifecycle", 1) + `,`, `ContainerSecurityContext:` + strings.Replace(fmt.Sprintf("%v", this.ContainerSecurityContext), "SecurityContext", "v1.SecurityContext", 1) + `,`, - `TopologySpreadConstraints:` + repeatedStringForTopologySpreadConstraints + `,`, + `VolumeMounts:` + repeatedStringForVolumeMounts + `,`, `}`, }, "") return s @@ -5366,6 +5439,26 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TerminationGracePeriodSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TerminationGracePeriodSeconds = &v + case 15: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field DNSPolicy", wireType) } @@ -5397,7 +5490,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } m.DNSPolicy = k8s_io_api_core_v1.DNSPolicy(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 15: + case 16: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field DNSConfig", wireType) } @@ -5433,7 +5526,75 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 16: + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TopologySpreadConstraints", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TopologySpreadConstraints = append(m.TopologySpreadConstraints, v1.TopologySpreadConstraint{}) + if err := m.TopologySpreadConstraints[len(m.TopologySpreadConstraints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Volumes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Volumes = append(m.Volumes, v1.Volume{}) + if err := m.Volumes[len(m.Volumes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 19: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field InitContainers", wireType) } @@ -5467,7 +5628,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 17: + case 20: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Args", wireType) } @@ -5499,7 +5660,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { } m.Args = append(m.Args, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 18: + case 21: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Env", wireType) } @@ -5533,7 +5694,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 19: + case 22: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Resources", wireType) } @@ -5566,7 +5727,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 20: + case 23: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field LivenessProbe", wireType) } @@ -5602,7 +5763,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 21: + case 24: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ReadinessProbe", wireType) } @@ -5638,7 +5799,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 22: + case 25: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Lifecycle", wireType) } @@ -5674,7 +5835,7 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 23: + case 26: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ContainerSecurityContext", wireType) } @@ -5710,9 +5871,9 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 24: + case 27: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TopologySpreadConstraints", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VolumeMounts", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5739,8 +5900,8 @@ func (m *PodSpec) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.TopologySpreadConstraints = append(m.TopologySpreadConstraints, v1.TopologySpreadConstraint{}) - if err := m.TopologySpreadConstraints[len(m.TopologySpreadConstraints)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.VolumeMounts = append(m.VolumeMounts, v1.VolumeMount{}) + if err := m.VolumeMounts[len(m.VolumeMounts)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto index 4e45a3094..437a41540 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/generated.proto @@ -389,6 +389,17 @@ message PodSpec { // +optional optional k8s.io.api.core.v1.PodSecurityContext securityContext = 13; + // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. + // Value must be non-negative integer. The value zero indicates stop immediately via + // the kill signal (no opportunity to shut down). + // If this value is nil, the default grace period will be used instead. + // The grace period is the duration in seconds after the processes running in the pod are sent + // a termination signal and the time when the processes are forcibly halted with a kill signal. + // Set this value longer than the expected cleanup time for your process. + // Defaults to 30 seconds. + // +optional + optional int64 terminationGracePeriodSeconds = 14; + // Set DNS policy for the pod. // Defaults to "ClusterFirst". // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. @@ -396,13 +407,31 @@ message PodSpec { // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. // +optional - optional string dnsPolicy = 14; + optional string dnsPolicy = 15; // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. // +optional - optional k8s.io.api.core.v1.PodDNSConfig dnsConfig = 15; + optional k8s.io.api.core.v1.PodDNSConfig dnsConfig = 16; + + // TopologySpreadConstraints describes how a group of pods ought to spread across topology + // domains. Scheduler will schedule pods in a way which abides by the constraints. + // All topologySpreadConstraints are ANDed. + // +optional + // +patchMergeKey=topologyKey + // +patchStrategy=merge + // +listType=map + // +listMapKey=topologyKey + // +listMapKey=whenUnsatisfiable + repeated k8s.io.api.core.v1.TopologySpreadConstraint topologySpreadConstraints = 17; + + // List of volumes that can be mounted by containers belonging to the pod. + // More info: https://kubernetes.io/docs/concepts/storage/volumes + // +optional + // +patchMergeKey=name + // +patchStrategy=merge,retainKeys + repeated k8s.io.api.core.v1.Volume volumes = 18; // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any @@ -419,7 +448,7 @@ message PodSpec { // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // +patchMergeKey=name // +patchStrategy=merge - repeated k8s.io.api.core.v1.Container initContainers = 16; + repeated k8s.io.api.core.v1.Container initContainers = 19; // Arguments to the entrypoint. // The docker image's CMD is used if this is not provided. @@ -430,16 +459,16 @@ message PodSpec { // Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // +optional - repeated string args = 17; + repeated string args = 20; // List of environment variables to set in the container. // Cannot be updated. // +optional - repeated k8s.io.api.core.v1.EnvVar env = 18; + repeated k8s.io.api.core.v1.EnvVar env = 21; // Compute Resources required by the sidecar container. // +optional - optional k8s.io.api.core.v1.ResourceRequirements resources = 19; + optional k8s.io.api.core.v1.ResourceRequirements resources = 22; // Periodic probe of container liveness. // Container will be restarted if the probe fails. @@ -448,7 +477,7 @@ message PodSpec { // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - optional k8s.io.api.core.v1.Probe livenessProbe = 20; + optional k8s.io.api.core.v1.Probe livenessProbe = 23; // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. @@ -457,29 +486,25 @@ message PodSpec { // To ignore defaulting, set the value to empty ReadynessProbe "{}". // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - optional k8s.io.api.core.v1.Probe readinessProbe = 21; + optional k8s.io.api.core.v1.Probe readinessProbe = 24; // Actions that the management system should take in response to container lifecycle events. // Cannot be updated. // +optional - optional k8s.io.api.core.v1.Lifecycle lifecycle = 22; + optional k8s.io.api.core.v1.Lifecycle lifecycle = 25; // Security options the pod should run with. // More info: https://kubernetes.io/docs/concepts/policy/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // +optional - optional k8s.io.api.core.v1.SecurityContext containerSecurityContext = 23; + optional k8s.io.api.core.v1.SecurityContext containerSecurityContext = 26; - // TopologySpreadConstraints describes how a group of pods ought to spread across topology - // domains. Scheduler will schedule pods in a way which abides by the constraints. - // All topologySpreadConstraints are ANDed. + // Pod volumes to mount into the container's filesystem. + // Cannot be updated. // +optional - // +patchMergeKey=topologyKey + // +patchMergeKey=mountPath // +patchStrategy=merge - // +listType=map - // +listMapKey=topologyKey - // +listMapKey=whenUnsatisfiable - repeated k8s.io.api.core.v1.TopologySpreadConstraint topologySpreadConstraints = 24; + repeated k8s.io.api.core.v1.VolumeMount volumeMounts = 27; } // PodTemplateSpec describes the data a pod should have when created from a template diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go b/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go index 02d7bbc13..ae9976ddc 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/openapi_generated.go @@ -679,6 +679,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", @@ -692,6 +699,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -772,26 +824,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -801,7 +848,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/types.go b/vendor/kmodules.xyz/offshoot-api/api/v1/types.go index f21576f6d..516ada4f5 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/types.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/types.go @@ -136,6 +136,17 @@ type PodSpec struct { // +optional SecurityContext *core.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,13,opt,name=securityContext"` + // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. + // Value must be non-negative integer. The value zero indicates stop immediately via + // the kill signal (no opportunity to shut down). + // If this value is nil, the default grace period will be used instead. + // The grace period is the duration in seconds after the processes running in the pod are sent + // a termination signal and the time when the processes are forcibly halted with a kill signal. + // Set this value longer than the expected cleanup time for your process. + // Defaults to 30 seconds. + // +optional + TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,14,opt,name=terminationGracePeriodSeconds"` + // Set DNS policy for the pod. // Defaults to "ClusterFirst". // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. @@ -143,13 +154,31 @@ type PodSpec struct { // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. // +optional - DNSPolicy core.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,14,opt,name=dnsPolicy,casttype=k8s.io/api/core/v1.DNSPolicy"` + DNSPolicy core.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,15,opt,name=dnsPolicy,casttype=k8s.io/api/core/v1.DNSPolicy"` // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. // +optional - DNSConfig *core.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,15,opt,name=dnsConfig"` + DNSConfig *core.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,16,opt,name=dnsConfig"` + + // TopologySpreadConstraints describes how a group of pods ought to spread across topology + // domains. Scheduler will schedule pods in a way which abides by the constraints. + // All topologySpreadConstraints are ANDed. + // +optional + // +patchMergeKey=topologyKey + // +patchStrategy=merge + // +listType=map + // +listMapKey=topologyKey + // +listMapKey=whenUnsatisfiable + TopologySpreadConstraints []core.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty" patchStrategy:"merge" patchMergeKey:"topologyKey" protobuf:"bytes,17,rep,name=topologySpreadConstraints"` + + // List of volumes that can be mounted by containers belonging to the pod. + // More info: https://kubernetes.io/docs/concepts/storage/volumes + // +optional + // +patchMergeKey=name + // +patchStrategy=merge,retainKeys + Volumes []core.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,18,rep,name=volumes"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any @@ -166,7 +195,7 @@ type PodSpec struct { // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // +patchMergeKey=name // +patchStrategy=merge - InitContainers []core.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,16,rep,name=initContainers"` + InitContainers []core.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,19,rep,name=initContainers"` //////////////////////////////////////////////////////// // Application (database) Container Specific Settings // @@ -181,16 +210,16 @@ type PodSpec struct { // Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // +optional - Args []string `json:"args,omitempty" protobuf:"bytes,17,rep,name=args"` + Args []string `json:"args,omitempty" protobuf:"bytes,20,rep,name=args"` // List of environment variables to set in the container. // Cannot be updated. // +optional - Env []core.EnvVar `json:"env,omitempty" protobuf:"bytes,18,rep,name=env"` + Env []core.EnvVar `json:"env,omitempty" protobuf:"bytes,21,rep,name=env"` // Compute Resources required by the sidecar container. // +optional - Resources core.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,19,opt,name=resources"` + Resources core.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,22,opt,name=resources"` // Periodic probe of container liveness. // Container will be restarted if the probe fails. @@ -199,7 +228,7 @@ type PodSpec struct { // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - LivenessProbe *core.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,20,opt,name=livenessProbe"` + LivenessProbe *core.Probe `json:"livenessProbe,omitempty" protobuf:"bytes,23,opt,name=livenessProbe"` // Periodic probe of container service readiness. // Container will be removed from service endpoints if the probe fails. @@ -208,29 +237,25 @@ type PodSpec struct { // To ignore defaulting, set the value to empty ReadynessProbe "{}". // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional - ReadinessProbe *core.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,21,opt,name=readinessProbe"` + ReadinessProbe *core.Probe `json:"readinessProbe,omitempty" protobuf:"bytes,24,opt,name=readinessProbe"` // Actions that the management system should take in response to container lifecycle events. // Cannot be updated. // +optional - Lifecycle *core.Lifecycle `json:"lifecycle,omitempty" protobuf:"bytes,22,opt,name=lifecycle"` + Lifecycle *core.Lifecycle `json:"lifecycle,omitempty" protobuf:"bytes,25,opt,name=lifecycle"` // Security options the pod should run with. // More info: https://kubernetes.io/docs/concepts/policy/security-context/ // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ // +optional - ContainerSecurityContext *core.SecurityContext `json:"containerSecurityContext,omitempty" protobuf:"bytes,23,opt,name=containerSecurityContext"` + ContainerSecurityContext *core.SecurityContext `json:"containerSecurityContext,omitempty" protobuf:"bytes,26,opt,name=containerSecurityContext"` - // TopologySpreadConstraints describes how a group of pods ought to spread across topology - // domains. Scheduler will schedule pods in a way which abides by the constraints. - // All topologySpreadConstraints are ANDed. + // Pod volumes to mount into the container's filesystem. + // Cannot be updated. // +optional - // +patchMergeKey=topologyKey + // +patchMergeKey=mountPath // +patchStrategy=merge - // +listType=map - // +listMapKey=topologyKey - // +listMapKey=whenUnsatisfiable - TopologySpreadConstraints []core.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty" patchStrategy:"merge" patchMergeKey:"topologyKey" protobuf:"bytes,24,rep,name=topologySpreadConstraints"` + VolumeMounts []core.VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,27,rep,name=volumeMounts"` } // ServiceTemplateSpec describes the data a service should have when created from a template diff --git a/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go b/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go index 69c566713..ab4d240e0 100644 --- a/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go +++ b/vendor/kmodules.xyz/offshoot-api/api/v1/zz_generated.deepcopy.go @@ -354,11 +354,30 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) { *out = new(corev1.PodSecurityContext) (*in).DeepCopyInto(*out) } + if in.TerminationGracePeriodSeconds != nil { + in, out := &in.TerminationGracePeriodSeconds, &out.TerminationGracePeriodSeconds + *out = new(int64) + **out = **in + } if in.DNSConfig != nil { in, out := &in.DNSConfig, &out.DNSConfig *out = new(corev1.PodDNSConfig) (*in).DeepCopyInto(*out) } + if in.TopologySpreadConstraints != nil { + in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints + *out = make([]corev1.TopologySpreadConstraint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Volumes != nil { + in, out := &in.Volumes, &out.Volumes + *out = make([]corev1.Volume, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.InitContainers != nil { in, out := &in.InitContainers, &out.InitContainers *out = make([]corev1.Container, len(*in)) @@ -399,9 +418,9 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) { *out = new(corev1.SecurityContext) (*in).DeepCopyInto(*out) } - if in.TopologySpreadConstraints != nil { - in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints - *out = make([]corev1.TopologySpreadConstraint, len(*in)) + if in.VolumeMounts != nil { + in, out := &in.VolumeMounts, &out.VolumeMounts + *out = make([]corev1.VolumeMount, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/constants.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/constants.go new file mode 100644 index 000000000..e9f151af0 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/constants.go @@ -0,0 +1,71 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import "time" + +// Compute Autoscaler +const ( + // Ignore change priority that is smaller than 10%. + DefaultResourceDiffPercentage = 10 + + // Pods that live for at least that long can be evicted even if their + // request is within the [MinRecommended...MaxRecommended] range. + DefaultPodLifeTimeThreshold = time.Hour * 12 + + DefaultInMemoryStorageUsageThresholdPercentage = 70 + DefaultInMemoryStorageScalingFactorPercentage = 50 +) + +// Storage Autoscaler +const ( + DefaultStorageUsageThreshold = 80 + DefaultStorageScalingThreshold = 50 +) + +const ( + // AutoscalerTriggerOn means the autoscaler is enabled. + AutoscalerTriggerOn AutoscalerTrigger = "On" + // AutoscalerTriggerOff means the autoscaler is disabled. + AutoscalerTriggerOff AutoscalerTrigger = "Off" +) + +const ( + // ContainerControlledValuesRequestsAndLimits means resource request and limits + // are scaled automatically. The limit is scaled proportionally to the request. + ContainerControlledValuesRequestsAndLimits ContainerControlledValues = "RequestsAndLimits" + // ContainerControlledValuesRequestsOnly means only requested resource is autoscaled. + ContainerControlledValuesRequestsOnly ContainerControlledValues = "RequestsOnly" +) + +// List of possible condition types for an autoscaler +const ( + Failure = "Failure" + CreateOpsRequest = "CreateOpsRequest" +) + +const ( + // AutoscalerPhaseInProgress is used when autoscaler is waiting for the initialization + // if referred db is not found, It will also be in InProgress + AutoscalerPhaseInProgress AutoscalerPhase = "InProgress" + // AutoscalerPhaseCurrent is used as long as autoscaler is running properly + AutoscalerPhaseCurrent AutoscalerPhase = "Current" + // AutoscalerPhaseTerminating is used when an autoscaler object is being terminated + AutoscalerPhaseTerminating AutoscalerPhase = "Terminating" + // AutoscalerPhaseFailed is used when some unexpected error occurred + AutoscalerPhaseFailed AutoscalerPhase = "Failed" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_helpers.go index 02d57552d..9240d81b0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ ElasticsearchAutoscaler) CustomResourceDefinition() *apiextensions.Custo var _ apis.ResourceInfo = &ElasticsearchAutoscaler{} func (e ElasticsearchAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralElasticsearchAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralElasticsearchAutoscaler, autoscaling.GroupName) } func (e ElasticsearchAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (e ElasticsearchAutoscaler) ResourcePlural() string { func (e ElasticsearchAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &ElasticsearchAutoscaler{} + +func (e *ElasticsearchAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *ElasticsearchAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_types.go index 1c7846081..a666d7916 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_types.go @@ -19,7 +19,6 @@ package v1alpha1 import ( core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -54,7 +53,7 @@ type ElasticsearchAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status ElasticsearchAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // ElasticsearchAutoscalerSpec is the specification of the behavior of the autoscaler. @@ -88,33 +87,6 @@ type ElasticsearchStorageTopologyAutoscalerSpec struct { Ingest *StorageAutoscalerSpec `json:"ingest,omitempty"` } -// ElasticsearchAutoscalerStatus describes the runtime state of the autoscaler. -type ElasticsearchAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration int64 `json:"observedGeneration,omitempty"` - - // Conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - // +optional - // +patchMergeKey=type - // +patchStrategy=merge - Conditions []kmapi.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` -} - -// ElasticsearchAutoscalerConditionType are the valid conditions of -// a ElasticsearchAutoscaler. -type ElasticsearchAutoscalerConditionType string - -var ( - // ConfigDeprecated indicates that this VPA configuration is deprecated - // and will stop being supported soon. - ElasticsearchAutoscalerConfigDeprecated ElasticsearchAutoscalerConditionType = "ConfigDeprecated" - // ConfigUnsupported indicates that this VPA configuration is unsupported - // and recommendations will not be provided for it. - ElasticsearchAutoscalerConfigUnsupported ElasticsearchAutoscalerConditionType = "ConfigUnsupported" -) - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // ElasticsearchAutoscalerList is a list of ElasticsearchAutoscaler objects. type ElasticsearchAutoscalerList struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_webhook.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_webhook.go new file mode 100644 index 000000000..e5f38a626 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/elasticsearch_webhook.go @@ -0,0 +1,122 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import ( + "errors" + + dbapi "kubedb.dev/apimachinery/apis/kubedb/v1alpha2" + + "k8s.io/apimachinery/pkg/runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + logf "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/webhook" +) + +// log is for logging in this package. +var esLog = logf.Log.WithName("elasticsearch-autoscaler") + +func (in *ElasticsearchAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error { + return builder.WebhookManagedBy(mgr). + For(in). + Complete() +} + +// +kubebuilder:webhook:path=/mutate-autoscaling-kubedb-com-v1alpha1-elasticsearchautoscaler,mutating=true,failurePolicy=fail,sideEffects=None,groups=autoscaling.kubedb.com,resources=elasticsearchautoscaler,verbs=create;update,versions=v1alpha1,name=melasticsearchautoscaler.kb.io,admissionReviewVersions={v1,v1beta1} + +var _ webhook.Defaulter = &ElasticsearchAutoscaler{} + +// Default implements webhook.Defaulter so a webhook will be registered for the type +func (in *ElasticsearchAutoscaler) Default() { + esLog.Info("defaulting", "name", in.Name) + in.setDefaults() +} + +func (in *ElasticsearchAutoscaler) setDefaults() { + if in.Spec.Storage != nil { + setDefaultStorageValues(in.Spec.Storage.Node) + if in.Spec.Storage.Topology != nil { + setDefaultStorageValues(in.Spec.Storage.Topology.Master) + setDefaultStorageValues(in.Spec.Storage.Topology.Data) + setDefaultStorageValues(in.Spec.Storage.Topology.Ingest) + } + } + if in.Spec.Compute != nil { + setDefaultComputeValues(in.Spec.Compute.Node) + if in.Spec.Compute.Topology != nil { + setDefaultComputeValues(in.Spec.Compute.Topology.Master) + setDefaultComputeValues(in.Spec.Compute.Topology.Data) + setDefaultComputeValues(in.Spec.Compute.Topology.Ingest) + } + } +} + +// +kubebuilder:webhook:path=/validate-schema-kubedb-com-v1alpha1-elasticsearchautoscaler,mutating=false,failurePolicy=fail,sideEffects=None,groups=schema.kubedb.com,resources=elasticsearchautoscalers,verbs=create;update;delete,versions=v1alpha1,name=velasticsearchautoscaler.kb.io,admissionReviewVersions={v1,v1beta1} + +var _ webhook.Validator = &ElasticsearchAutoscaler{} + +// ValidateCreate implements webhook.Validator so a webhook will be registered for the type +func (in *ElasticsearchAutoscaler) ValidateCreate() error { + esLog.Info("validate create", "name", in.Name) + return in.validate() +} + +// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type +func (in *ElasticsearchAutoscaler) ValidateUpdate(old runtime.Object) error { + return in.validate() +} + +func (_ ElasticsearchAutoscaler) ValidateDelete() error { + return nil +} + +func (in *ElasticsearchAutoscaler) validate() error { + if in.Spec.DatabaseRef == nil { + return errors.New("databaseRef can't be empty") + } + return nil +} + +func (in *ElasticsearchAutoscaler) ValidateFields(es *dbapi.Elasticsearch) error { + if in.Spec.Compute != nil { + cm := in.Spec.Compute + if es.Spec.Topology != nil { + if cm.Node != nil { + return errors.New("Spec.Compute.Node is invalid for elastic-search topology") + } + } else { + if cm.Topology != nil { + return errors.New("Spec.Compute.Topology is invalid for basic elastic search structure") + } + } + } + + if in.Spec.Storage != nil { + st := in.Spec.Storage + if es.Spec.Topology != nil { + if st.Node != nil { + return errors.New("Spec.Storage.Node is invalid for elastic-search topology") + } + } else { + if st.Topology != nil { + return errors.New("Spec.Storage.Topology is invalid for basic elastic search structure") + } + } + } + return nil +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_helpers.go index 545b53c59..a3e560bba 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ EtcdAutoscaler) CustomResourceDefinition() *apiextensions.CustomResource var _ apis.ResourceInfo = &EtcdAutoscaler{} func (e EtcdAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralEtcdAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralEtcdAutoscaler, autoscaling.GroupName) } func (e EtcdAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (e EtcdAutoscaler) ResourcePlural() string { func (e EtcdAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &EtcdAutoscaler{} + +func (e *EtcdAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *EtcdAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_types.go index b67a60dab..6756e4205 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/etcd_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type EtcdAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status EtcdAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // EtcdAutoscalerSpec describes the desired functionality of the EtcdAutoscaler. @@ -146,34 +145,6 @@ type EtcdScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// EtcdAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type EtcdAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the EtcdAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // EtcdAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_helpers.go index 1031d207a..9d7a28c74 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ MariaDBAutoscaler) CustomResourceDefinition() *apiextensions.CustomResou var _ apis.ResourceInfo = &MariaDBAutoscaler{} func (m MariaDBAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralMariaDBAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralMariaDBAutoscaler, autoscaling.GroupName) } func (m MariaDBAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (m MariaDBAutoscaler) ResourcePlural() string { func (m MariaDBAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &MariaDBAutoscaler{} + +func (e *MariaDBAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *MariaDBAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_types.go index 611f267de..3f06edba9 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_types.go @@ -19,11 +19,10 @@ package v1alpha1 import ( core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( - ResourceCodeMariaDBAutoscaler = "mdautoscaler" + ResourceCodeMariaDBAutoscaler = "mdscaler" ResourceKindMariaDBAutoscaler = "MariaDBAutoscaler" ResourceSingularMariaDBAutoscaler = "mariadbautoscaler" ResourcePluralMariaDBAutoscaler = "mariadbautoscalers" @@ -38,7 +37,7 @@ const ( // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +kubebuilder:object:root=true -// +kubebuilder:resource:path=mariadbautoscalers,singular=mariadbautoscaler,shortName=mdautoscaler,categories={datastore,kubedb,appscode} +// +kubebuilder:resource:path=mariadbautoscalers,singular=mariadbautoscaler,shortName=mdscaler,categories={datastore,kubedb,appscode} // +kubebuilder:subresource:status type MariaDBAutoscaler struct { metav1.TypeMeta `json:",inline"` @@ -52,7 +51,7 @@ type MariaDBAutoscaler struct { // Current information about the autoscaler. // +optional - Status MariaDBAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // MariaDBAutoscalerSpec is the specification of the behavior of the autoscaler. @@ -72,33 +71,6 @@ type MariaDBStorageAutoscalerSpec struct { MariaDB *StorageAutoscalerSpec `json:"mariadb,omitempty"` } -// MariaDBAutoscalerStatus describes the runtime state of the autoscaler. -type MariaDBAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration int64 `json:"observedGeneration,omitempty"` - - // Conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - // +optional - // +patchMergeKey=type - // +patchStrategy=merge - Conditions []kmapi.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` -} - -// MariaDBAutoscalerConditionType are the valid conditions of -// a MariaDBAutoscaler. -type MariaDBAutoscalerConditionType string - -var ( - // ConfigDeprecated indicates that this VPA configuration is deprecated - // and will stop being supported soon. - MariaDBAutoscalerConfigDeprecated MariaDBAutoscalerConditionType = "ConfigDeprecated" - // ConfigUnsupported indicates that this VPA configuration is unsupported - // and recommendations will not be provided for it. - MariaDBAutoscalerConfigUnsupported MariaDBAutoscalerConditionType = "ConfigUnsupported" -) - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // MariaDBAutoscalerList is a list of MariaDBAutoscaler objects. type MariaDBAutoscalerList struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_webhook.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_webhook.go new file mode 100644 index 000000000..41822b908 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mariadb_webhook.go @@ -0,0 +1,81 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import ( + "errors" + + "k8s.io/apimachinery/pkg/runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + logf "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/webhook" +) + +// log is for logging in this package. +var mariaLog = logf.Log.WithName("mariadb-autoscaler") + +func (in *MariaDBAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error { + return builder.WebhookManagedBy(mgr). + For(in). + Complete() +} + +// +kubebuilder:webhook:path=/mutate-autoscaling-kubedb-com-v1alpha1-mariadbautoscaler,mutating=true,failurePolicy=fail,sideEffects=None,groups=autoscaling.kubedb.com,resources=mariadbautoscaler,verbs=create;update,versions=v1alpha1,name=mmariadbautoscaler.kb.io,admissionReviewVersions={v1,v1beta1} + +var _ webhook.Defaulter = &MariaDBAutoscaler{} + +// Default implements webhook.Defaulter so a webhook will be registered for the type +func (in *MariaDBAutoscaler) Default() { + mariaLog.Info("defaulting", "name", in.Name) + in.setDefaults() +} + +func (in *MariaDBAutoscaler) setDefaults() { + if in.Spec.Storage != nil { + setDefaultStorageValues(in.Spec.Storage.MariaDB) + } + if in.Spec.Compute != nil { + setDefaultComputeValues(in.Spec.Compute.MariaDB) + } +} + +// +kubebuilder:webhook:path=/validate-schema-kubedb-com-v1alpha1-mariadbautoscaler,mutating=false,failurePolicy=fail,sideEffects=None,groups=schema.kubedb.com,resources=mariadbautoscalers,verbs=create;update;delete,versions=v1alpha1,name=vmariadbautoscaler.kb.io,admissionReviewVersions={v1,v1beta1} + +var _ webhook.Validator = &MariaDBAutoscaler{} + +// ValidateCreate implements webhook.Validator so a webhook will be registered for the type +func (in *MariaDBAutoscaler) ValidateCreate() error { + mongoLog.Info("validate create", "name", in.Name) + return in.validate() +} + +// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type +func (in *MariaDBAutoscaler) ValidateUpdate(old runtime.Object) error { + return in.validate() +} + +func (_ MariaDBAutoscaler) ValidateDelete() error { + return nil +} + +func (in *MariaDBAutoscaler) validate() error { + if in.Spec.DatabaseRef == nil { + return errors.New("databaseRef can't be empty") + } + return nil +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_helpers.go index 753db24d0..6ffc15a3e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ MemcachedAutoscaler) CustomResourceDefinition() *apiextensions.CustomRes var _ apis.ResourceInfo = &MemcachedAutoscaler{} func (m MemcachedAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralMemcachedAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralMemcachedAutoscaler, autoscaling.GroupName) } func (m MemcachedAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (m MemcachedAutoscaler) ResourcePlural() string { func (m MemcachedAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &MariaDBAutoscaler{} + +func (e *MemcachedAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *MemcachedAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_types.go index 6ab271c34..b72d61a4d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/memcached_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type MemcachedAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status MemcachedAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // MemcachedAutoscalerSpec describes the desired functionality of the MemcachedAutoscaler. @@ -146,34 +145,6 @@ type MemcachedScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// MemcachedAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type MemcachedAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the MemcachedAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // MemcachedAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_helpers.go index d26647fba..b0a15ef2d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ MongoDBAutoscaler) CustomResourceDefinition() *apiextensions.CustomResou var _ apis.ResourceInfo = &MongoDBAutoscaler{} func (m MongoDBAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralMongoDBAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralMongoDBAutoscaler, autoscaling.GroupName) } func (m MongoDBAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (m MongoDBAutoscaler) ResourcePlural() string { func (m MongoDBAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &MongoDBAutoscaler{} + +func (e *MongoDBAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *MongoDBAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_types.go index 8b1195eb6..b306479e2 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_types.go @@ -17,13 +17,14 @@ limitations under the License. package v1alpha1 import ( + opsapi "kubedb.dev/apimachinery/apis/ops/v1alpha1" + core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( - ResourceCodeMongoDBAutoscaler = "mgautoscaler" + ResourceCodeMongoDBAutoscaler = "mgscaler" ResourceKindMongoDBAutoscaler = "MongoDBAutoscaler" ResourceSingularMongoDBAutoscaler = "mongodbautoscaler" ResourcePluralMongoDBAutoscaler = "mongodbautoscalers" @@ -38,7 +39,7 @@ const ( // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // +kubebuilder:object:root=true -// +kubebuilder:resource:path=mongodbautoscalers,singular=mongodbautoscaler,shortName=mgautoscaler,categories={datastore,kubedb,appscode} +// +kubebuilder:resource:path=mongodbautoscalers,singular=mongodbautoscaler,shortName=mgscaler,categories={datastore,kubedb,appscode} // +kubebuilder:subresource:status type MongoDBAutoscaler struct { metav1.TypeMeta `json:",inline"` @@ -52,13 +53,16 @@ type MongoDBAutoscaler struct { // Current information about the autoscaler. // +optional - Status MongoDBAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // MongoDBAutoscalerSpec is the specification of the behavior of the autoscaler. type MongoDBAutoscalerSpec struct { DatabaseRef *core.LocalObjectReference `json:"databaseRef"` + // This field will be used to control the behaviour of ops-manager + OpsRequestOptions *MongoDBOpsRequestOptions `json:"opsRequestOptions,omitempty"` + Compute *MongoDBComputeAutoscalerSpec `json:"compute,omitempty"` Storage *MongoDBStorageAutoscalerSpec `json:"storage,omitempty"` } @@ -79,32 +83,17 @@ type MongoDBStorageAutoscalerSpec struct { Shard *StorageAutoscalerSpec `json:"shard,omitempty"` } -// MongoDBAutoscalerStatus describes the runtime state of the autoscaler. -type MongoDBAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration int64 `json:"observedGeneration,omitempty"` +type MongoDBOpsRequestOptions struct { + // Specifies the Readiness Criteria + ReadinessCriteria *opsapi.MongoDBReplicaReadinessCriteria `json:"readinessCriteria,omitempty"` - // Conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - // +optional - // +patchMergeKey=type - // +patchStrategy=merge - Conditions []kmapi.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` -} + // Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure. + Timeout *metav1.Duration `json:"timeout,omitempty"` -// MongoDBAutoscalerConditionType are the valid conditions of -// a MongoDBAutoscaler. -type MongoDBAutoscalerConditionType string - -var ( - // ConfigDeprecated indicates that this VPA configuration is deprecated - // and will stop being supported soon. - MongoDBAutoscalerConfigDeprecated MongoDBAutoscalerConditionType = "ConfigDeprecated" - // ConfigUnsupported indicates that this VPA configuration is unsupported - // and recommendations will not be provided for it. - MongoDBAutoscalerConfigUnsupported MongoDBAutoscalerConditionType = "ConfigUnsupported" -) + // ApplyOption is to control the execution of OpsRequest depending on the database state. + // +kubebuilder:default:="IfReady" + Apply opsapi.ApplyOption `json:"apply,omitempty"` +} // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // MongoDBAutoscalerList is a list of MongoDBAutoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_webhook.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_webhook.go new file mode 100644 index 000000000..27fb73657 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mongodb_webhook.go @@ -0,0 +1,189 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import ( + "errors" + + dbapi "kubedb.dev/apimachinery/apis/kubedb/v1alpha2" + opsapi "kubedb.dev/apimachinery/apis/ops/v1alpha1" + + "k8s.io/apimachinery/pkg/runtime" + "sigs.k8s.io/controller-runtime/pkg/builder" + logf "sigs.k8s.io/controller-runtime/pkg/log" + "sigs.k8s.io/controller-runtime/pkg/manager" + "sigs.k8s.io/controller-runtime/pkg/webhook" +) + +// log is for logging in this package. +var mongoLog = logf.Log.WithName("mongodb-autoscaler") + +func (in *MongoDBAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error { + return builder.WebhookManagedBy(mgr). + For(in). + Complete() +} + +// +kubebuilder:webhook:path=/mutate-autoscaling-kubedb-com-v1alpha1-mongodbautoscaler,mutating=true,failurePolicy=fail,sideEffects=None,groups=autoscaling.kubedb.com,resources=mongodbautoscaler,verbs=create;update,versions=v1alpha1,name=mmongodbautoscaler.kb.io,admissionReviewVersions={v1,v1beta1} + +var _ webhook.Defaulter = &MongoDBAutoscaler{} + +// Default implements webhook.Defaulter so a webhook will be registered for the type +func (in *MongoDBAutoscaler) Default() { + mongoLog.Info("defaulting", "name", in.Name) + in.setDefaults() +} + +func (in *MongoDBAutoscaler) setDefaults() { + in.setOpsReqOptsDefaults() + + if in.Spec.Storage != nil { + setDefaultStorageValues(in.Spec.Storage.Standalone) + setDefaultStorageValues(in.Spec.Storage.ReplicaSet) + setDefaultStorageValues(in.Spec.Storage.Shard) + setDefaultStorageValues(in.Spec.Storage.ConfigServer) + } + + if in.Spec.Compute != nil { + setDefaultComputeValues(in.Spec.Compute.Standalone) + setDefaultComputeValues(in.Spec.Compute.ReplicaSet) + setDefaultComputeValues(in.Spec.Compute.Shard) + setDefaultComputeValues(in.Spec.Compute.ConfigServer) + setDefaultComputeValues(in.Spec.Compute.Mongos) + } +} + +func (in *MongoDBAutoscaler) setOpsReqOptsDefaults() { + if in.Spec.OpsRequestOptions == nil { + in.Spec.OpsRequestOptions = &MongoDBOpsRequestOptions{} + } + // Timeout is defaulted to 600s in ops-manager retries.go (to retry 120 times with 5sec pause between each) + // OplogMaxLagSeconds & ObjectsCountDiffPercentage are defaults to 0 + if in.Spec.OpsRequestOptions.Apply == "" { + in.Spec.OpsRequestOptions.Apply = opsapi.ApplyOptionIfReady + } +} + +func (in *MongoDBAutoscaler) SetDefaults(db *dbapi.MongoDB) { + if in.Spec.Compute != nil { + setInMemoryDefaults(in.Spec.Compute.Standalone, db.Spec.StorageEngine) + setInMemoryDefaults(in.Spec.Compute.ReplicaSet, db.Spec.StorageEngine) + setInMemoryDefaults(in.Spec.Compute.Shard, db.Spec.StorageEngine) + setInMemoryDefaults(in.Spec.Compute.ConfigServer, db.Spec.StorageEngine) + setInMemoryDefaults(in.Spec.Compute.Mongos, db.Spec.StorageEngine) + } +} + +// +kubebuilder:webhook:path=/validate-schema-kubedb-com-v1alpha1-mongodbautoscaler,mutating=false,failurePolicy=fail,sideEffects=None,groups=schema.kubedb.com,resources=mongodbautoscalers,verbs=create;update;delete,versions=v1alpha1,name=vmongodbautoscaler.kb.io,admissionReviewVersions={v1,v1beta1} + +var _ webhook.Validator = &MongoDBAutoscaler{} + +// ValidateCreate implements webhook.Validator so a webhook will be registered for the type +func (in *MongoDBAutoscaler) ValidateCreate() error { + mongoLog.Info("validate create", "name", in.Name) + return in.validate() +} + +// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type +func (in *MongoDBAutoscaler) ValidateUpdate(old runtime.Object) error { + mongoLog.Info("validate create", "name", in.Name) + return in.validate() +} + +func (_ MongoDBAutoscaler) ValidateDelete() error { + return nil +} + +func (in *MongoDBAutoscaler) validate() error { + if in.Spec.DatabaseRef == nil { + return errors.New("databaseRef can't be empty") + } + return nil +} + +func (in *MongoDBAutoscaler) ValidateFields(mg *dbapi.MongoDB) error { + if in.Spec.Compute != nil { + cm := in.Spec.Compute + if mg.Spec.ShardTopology != nil { + if cm.ReplicaSet != nil { + return errors.New("Spec.Compute.ReplicaSet is invalid for sharded mongoDB") + } + if cm.Standalone != nil { + return errors.New("Spec.Compute.Standalone is invalid for sharded mongoDB") + } + } else if mg.Spec.ReplicaSet != nil { + if cm.Standalone != nil { + return errors.New("Spec.Compute.Standalone is invalid for replicaSet mongoDB") + } + if cm.Shard != nil { + return errors.New("Spec.Compute.Shard is invalid for replicaSet mongoDB") + } + if cm.ConfigServer != nil { + return errors.New("Spec.Compute.ConfigServer is invalid for replicaSet mongoDB") + } + if cm.Mongos != nil { + return errors.New("Spec.Compute.Mongos is invalid for replicaSet mongoDB") + } + } else { + if cm.ReplicaSet != nil { + return errors.New("Spec.Compute.Replicaset is invalid for Standalone mongoDB") + } + if cm.Shard != nil { + return errors.New("Spec.Compute.Shard is invalid for Standalone mongoDB") + } + if cm.ConfigServer != nil { + return errors.New("Spec.Compute.ConfigServer is invalid for Standalone mongoDB") + } + if cm.Mongos != nil { + return errors.New("Spec.Compute.Mongos is invalid for Standalone mongoDB") + } + } + } + + if in.Spec.Storage != nil { + st := in.Spec.Storage + if mg.Spec.ShardTopology != nil { + if st.ReplicaSet != nil { + return errors.New("Spec.Storage.ReplicaSet is invalid for sharded mongoDB") + } + if st.Standalone != nil { + return errors.New("Spec.Storage.Standalone is invalid for sharded mongoDB") + } + } else if mg.Spec.ReplicaSet != nil { + if st.Standalone != nil { + return errors.New("Spec.Storage.Standalone is invalid for replicaSet mongoDB") + } + if st.Shard != nil { + return errors.New("Spec.Storage.Shard is invalid for replicaSet mongoDB") + } + if st.ConfigServer != nil { + return errors.New("Spec.Storage.ConfigServer is invalid for replicaSet mongoDB") + } + } else { + if st.ReplicaSet != nil { + return errors.New("Spec.Storage.Replicaset is invalid for Standalone mongoDB") + } + if st.Shard != nil { + return errors.New("Spec.Storage.Shard is invalid for Standalone mongoDB") + } + if st.ConfigServer != nil { + return errors.New("Spec.Storage.ConfigServer is invalid for Standalone mongoDB") + } + } + } + return nil +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_helpers.go index 40a95b9f0..c86dec984 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ MySQLAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourc var _ apis.ResourceInfo = &MySQLAutoscaler{} func (m MySQLAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralMySQLAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralMySQLAutoscaler, autoscaling.GroupName) } func (m MySQLAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (m MySQLAutoscaler) ResourcePlural() string { func (m MySQLAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &MySQLAutoscaler{} + +func (e *MySQLAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *MySQLAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_types.go index 780eca16c..e1e1d5f8b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/mysql_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type MySQLAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status MySQLAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // MySQLAutoscalerSpec describes the desired functionality of the MySQLAutoscaler. @@ -146,34 +145,6 @@ type MySQLScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// MySQLAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type MySQLAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the MySQLAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // MySQLAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/openapi_generated.go index 9b117a002..ab26514cc 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -419,11 +418,16 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/offshoot-api/api/v1.ServicePort": schema_kmodulesxyz_offshoot_api_api_v1_ServicePort(ref), "kmodules.xyz/offshoot-api/api/v1.ServiceSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ServiceTemplateSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceTemplateSpec(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_AutoscalerStatus(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.BucketWeight": schema_apimachinery_apis_autoscaling_v1alpha1_BucketWeight(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.Checkpoint": schema_apimachinery_apis_autoscaling_v1alpha1_Checkpoint(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.CheckpointReference": schema_apimachinery_apis_autoscaling_v1alpha1_CheckpointReference(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ComputeAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ComputeAutoscalerSpec(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ComputeInMemoryStorageSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ComputeInMemoryStorageSpec(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ContainerResourcePolicy": schema_apimachinery_apis_autoscaling_v1alpha1_ContainerResourcePolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchComputeAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchComputeAutoscalerSpec(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchComputeTopologyAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchComputeTopologyAutoscalerSpec(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchStorageAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchStorageAutoscalerSpec(ref), @@ -432,71 +436,70 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_EtcdScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_EtcdScalingRules(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.HistogramCheckpoint": schema_apimachinery_apis_autoscaling_v1alpha1_HistogramCheckpoint(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBComputeAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBComputeAutoscalerSpec(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBStorageAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBStorageAutoscalerSpec(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedScalingRules(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBComputeAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBComputeAutoscalerSpec(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBOpsRequestOptions": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBOpsRequestOptions(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBStorageAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBStorageAutoscalerSpec(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_MySQLScalingRules(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBScalingRules(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerScalingRules(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PodResourcePolicy": schema_apimachinery_apis_autoscaling_v1alpha1_PodResourcePolicy(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PodUpdatePolicy": schema_apimachinery_apis_autoscaling_v1alpha1_PodUpdatePolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_PostgresScalingRules(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingRules(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RecommendedContainerResources": schema_apimachinery_apis_autoscaling_v1alpha1_RecommendedContainerResources(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RecommendedPodResources": schema_apimachinery_apis_autoscaling_v1alpha1_RecommendedPodResources(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscaler": schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscaler(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerBehavior": schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscalerBehavior(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerList": schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscalerList(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscalerSpec(ref), - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerStatus": schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscalerStatus(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisScalingPolicy": schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingPolicy(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisScalingRules": schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingRules(ref), "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.StorageAutoscalerSpec": schema_apimachinery_apis_autoscaling_v1alpha1_StorageAutoscalerSpec(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VPAStatus": schema_apimachinery_apis_autoscaling_v1alpha1_VPAStatus(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VerticalPodAutopilotCondition": schema_apimachinery_apis_autoscaling_v1alpha1_VerticalPodAutopilotCondition(ref), + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VerticalPodAutopilotRecommenderSelector": schema_apimachinery_apis_autoscaling_v1alpha1_VerticalPodAutopilotRecommenderSelector(ref), } } @@ -17693,8 +17696,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20312,6 +20314,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20325,6 +20334,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20405,26 +20459,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20434,7 +20483,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -20669,274 +20718,486 @@ func schema_kmodulesxyz_offshoot_api_api_v1_ServiceTemplateSpec(ref common.Refer } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ComputeAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_AutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, + Description: "AutoscalerStatus describes the runtime state of the autoscaler.", + Type: []string{"object"}, Properties: map[string]spec.Schema{ - "trigger": { + "phase": { SchemaProps: spec.SchemaProps{ - Description: "Whether compute autoscaler is enabled. The default is Off\".", + Description: "Specifies the current phase of the autoscaler", Type: []string{"string"}, Format: "", }, }, - "minAllowed": { + "observedGeneration": { SchemaProps: spec.SchemaProps{ - Description: "Specifies the minimal amount of resources that will be recommended. The default is no minimum.", - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, + Description: "observedGeneration is the most recent generation observed by this autoscaler.", + Type: []string{"integer"}, + Format: "int64", + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "Conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), }, }, }, }, }, - "maxAllowed": { + "vpas": { SchemaProps: spec.SchemaProps{ - Description: "Specifies the maximum amount of resources that will be recommended. The default is no maximum.", - Type: []string{"object"}, - AdditionalProperties: &spec.SchemaOrBool{ - Allows: true, + Description: "This field is equivalent to this one: https://github.com/kubernetes/autoscaler/blob/273e35b88cb50c5aac383c5eceb88fb337cb31b6/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L218-L230", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VPAStatus"), }, }, }, }, }, - "controlledResources": { - VendorExtensible: spec.VendorExtensible{ - Extensions: spec.Extensions{ - "x-kubernetes-patch-strategy": "merge", - }, - }, + "checkpoints": { SchemaProps: spec.SchemaProps{ - Description: "Specifies the type of recommendations that will be computed (and possibly applied) by VPA. If not specified, the default of [ResourceCPU, ResourceMemory] will be used.", + Description: "Checkpoints hold all the Checkpoint those are associated with this Autoscaler object. Equivalent to : https://github.com/kubernetes/autoscaler/blob/273e35b88cb50c5aac383c5eceb88fb337cb31b6/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L354-L378", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.Checkpoint"), }, }, }, }, }, - "containerControlledValues": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies which resource values should be controlled. The default is \"RequestsAndLimits\".", - Type: []string{"string"}, - Format: "", - }, - }, - "resourceDiffPercentage": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the minimum resource difference in percentage The default is 10%.", - Type: []string{"integer"}, - Format: "int32", - }, - }, - "podLifeTimeThreshold": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the minimum pod life time The default is 12h.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), - }, - }, - "inMemoryScalingThreshold": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the percentage of the Memory that will be passed as inMemorySizeGB The default is 70%.", - Type: []string{"integer"}, - Format: "int32", - }, - }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/api/resource.Quantity", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + "kmodules.xyz/client-go/api/v1.Condition", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.Checkpoint", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VPAStatus"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscaler(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_BucketWeight(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ - "kind": { - SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", - }, - }, - "apiVersion": { - SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", - Type: []string{"string"}, - Format: "", - }, - }, - "metadata": { - SchemaProps: spec.SchemaProps{ - Description: "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { + "index": { SchemaProps: spec.SchemaProps{ - Description: "spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.", - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerSpec"), + Default: 0, + Type: []string{"integer"}, + Format: "int32", }, }, - "status": { + "weight": { SchemaProps: spec.SchemaProps{ - Description: "status is the current information about the autoscaler.", - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerStatus"), + Default: 0, + Type: []string{"integer"}, + Format: "int64", }, }, }, + Required: []string{"index", "weight"}, }, }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerStatus"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerList(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_Checkpoint(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "ElasticsearchAutoscalerList is a list of ElasticsearchAutoscaler objects.", + Description: "Checkpoint contains data of the checkpoint.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "kind": { + "ref": { SchemaProps: spec.SchemaProps{ - Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", - Type: []string{"string"}, - Format: "", + Description: "Metedata of the checkpoint It is used for the identification", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.CheckpointReference"), }, }, - "apiVersion": { + "lastUpdateTime": { SchemaProps: spec.SchemaProps{ - Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Description: "The time when the status was last refreshed.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "version": { + SchemaProps: spec.SchemaProps{ + Description: "Version of the format of the stored data.", Type: []string{"string"}, Format: "", }, }, - "metadata": { + "cpuHistogram": { SchemaProps: spec.SchemaProps{ - Description: "metadata is the standard list metadata.", + Description: "Checkpoint of histogram for consumption of CPU.", Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.HistogramCheckpoint"), }, }, - "items": { + "memoryHistogram": { SchemaProps: spec.SchemaProps{ - Description: "items is the list of elasticsearch database autoscaler objects.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscaler"), - }, - }, - }, + Description: "Checkpoint of histogram for consumption of memory.", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.HistogramCheckpoint"), + }, + }, + "firstSampleStart": { + SchemaProps: spec.SchemaProps{ + Description: "Timestamp of the fist sample from the histograms.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "lastSampleStart": { + SchemaProps: spec.SchemaProps{ + Description: "Timestamp of the last sample from the histograms.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "totalSamplesCount": { + SchemaProps: spec.SchemaProps{ + Description: "Total number of samples in the histograms.", + Type: []string{"integer"}, + Format: "int32", }, }, }, - Required: []string{"items"}, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscaler"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.CheckpointReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.HistogramCheckpoint"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_CheckpointReference(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "ElasticsearchAutoscalerSpec is the specification of the behavior of the autoscaler.", + Description: "CheckpointReference is the metedata of the checkpoint.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "databaseRef": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), - }, - }, - "compute": { + "vpaObjectName": { SchemaProps: spec.SchemaProps{ - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchComputeAutoscalerSpec"), + Description: "Name of the VPA object that stored VerticalPodAutopilotCheckpoint object.", + Type: []string{"string"}, + Format: "", }, }, - "storage": { + "containerName": { SchemaProps: spec.SchemaProps{ - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchStorageAutoscalerSpec"), + Description: "Name of the checkpointed container.", + Type: []string{"string"}, + Format: "", }, }, }, - Required: []string{"databaseRef"}, }, }, - Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchComputeAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchStorageAutoscalerSpec"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_ComputeAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "ElasticsearchAutoscalerStatus describes the runtime state of the autoscaler.", - Type: []string{"object"}, + Type: []string{"object"}, Properties: map[string]spec.Schema{ - "observedGeneration": { + "trigger": { SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", + Description: "Whether compute autoscaler is enabled. The default is Off\".", + Type: []string{"string"}, + Format: "", }, }, - "conditions": { - VendorExtensible: spec.VendorExtensible{ + "minAllowed": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the minimal amount of resources that will be recommended. The default is no minimum.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, + }, + }, + "maxAllowed": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the maximum amount of resources that will be recommended. The default is no maximum.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, + }, + }, + "controlledResources": { + VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-patch-merge-key": "type", - "x-kubernetes-patch-strategy": "merge", + "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "Conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", + Description: "Specifies the type of recommendations that will be computed (and possibly applied) by VPA. If not specified, the default of [ResourceCPU, ResourceMemory] will be used.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "containerControlledValues": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies which resource values should be controlled. The default is \"RequestsAndLimits\".", + Type: []string{"string"}, + Format: "", + }, + }, + "resourceDiffPercentage": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the minimum resource difference in percentage. The default is 10%. If the difference between current & recommended resource is less than ResourceDiffPercentage, Autoscaler Operator will ignore the updating.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "podLifeTimeThreshold": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the minimum pod life time. The default is 12h. If the resource Request is inside the recommended range & there is no quickOOM (out-of-memory), we can still update the pod, if that pod's lifeTime is greater than this threshold.", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + }, + }, + "inMemoryStorage": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the dbStorage scaling when db data is stored in Memory", + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ComputeInMemoryStorageSpec"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/api/resource.Quantity", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ComputeInMemoryStorageSpec"}, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_ComputeInMemoryStorageSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "usageThresholdPercentage": { + SchemaProps: spec.SchemaProps{ + Description: "For InMemory storageType, if db uses more than UsageThresholdPercentage of the total memory() , memoryStorage should be increased by ScalingThreshold percent Default is 70%", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "scalingFactorPercentage": { + SchemaProps: spec.SchemaProps{ + Description: "For InMemory storageType, if db uses more than UsageThresholdPercentage of the total memory() memoryStorage should be increased by ScalingFactor percent Default is 50%", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_ContainerResourcePolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ContainerResourcePolicy controls how autopilot computes the recommended resources for a specific container.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "containerName": { + SchemaProps: spec.SchemaProps{ + Description: "Name of the container or DefaultContainerResourcePolicy, in which case the policy is used by the containers that don't have their own policy specified.", + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Description: "Whether autopilot is enabled for the container. The default is \"Auto\".", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscaler(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Description: "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Description: "spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Description: "status is the current information about the autoscaler.", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscalerSpec"}, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ElasticsearchAutoscalerList is a list of ElasticsearchAutoscaler objects.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Description: "metadata is the standard list metadata.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "items is the list of elasticsearch database autoscaler objects.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscaler"), }, }, }, }, }, }, + Required: []string{"items"}, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchAutoscaler"}, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_ElasticsearchAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ElasticsearchAutoscalerSpec is the specification of the behavior of the autoscaler.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "databaseRef": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "compute": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchComputeAutoscalerSpec"), + }, + }, + "storage": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchStorageAutoscalerSpec"), + }, + }, + }, + Required: []string{"databaseRef"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchComputeAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ElasticsearchStorageAutoscalerSpec"}, } } @@ -21090,14 +21351,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscaler(ref common.Ref SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.EtcdAutoscalerSpec"}, } } @@ -21237,79 +21498,6 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscalerSpec(ref common } } -func schema_apimachinery_apis_autoscaling_v1alpha1_EtcdAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "EtcdAutoscalerStatus describes the current status of a horizontal pod autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "lastScaleTime": { - SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the EtcdAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), - }, - }, - "currentReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "desiredReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "currentMetrics": { - SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), - }, - }, - }, - }, - }, - "conditions": { - SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, - }, - }, - }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - func schema_apimachinery_apis_autoscaling_v1alpha1_EtcdScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21391,6 +21579,49 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_EtcdScalingRules(ref common.R } } +func schema_apimachinery_apis_autoscaling_v1alpha1_HistogramCheckpoint(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "HistogramCheckpoint contains data needed to reconstruct the histogram.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "referenceTimestamp": { + SchemaProps: spec.SchemaProps{ + Description: "Reference timestamp for samples collected within this histogram.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "bucketWeights": { + SchemaProps: spec.SchemaProps{ + Description: "Map from bucket index to bucket weight.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.BucketWeight"), + }, + }, + }, + }, + }, + "totalWeight": { + SchemaProps: spec.SchemaProps{ + Description: "Sum of samples to be used as denominator for weights from BucketWeights.", + Type: []string{"number"}, + Format: "double", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.BucketWeight"}, + } +} + func schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscaler(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21429,7 +21660,7 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscaler(ref common. SchemaProps: spec.SchemaProps{ Description: "Current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, @@ -21437,7 +21668,7 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscaler(ref common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MariaDBAutoscalerSpec"}, } } @@ -21523,48 +21754,6 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscalerSpec(ref com } } -func schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "MariaDBAutoscalerStatus describes the runtime state of the autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "conditions": { - VendorExtensible: spec.VendorExtensible{ - Extensions: spec.Extensions{ - "x-kubernetes-patch-merge-key": "type", - "x-kubernetes-patch-strategy": "merge", - }, - }, - SchemaProps: spec.SchemaProps{ - Description: "Conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, - }, - }, - }, - }, - }, - Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - func schema_apimachinery_apis_autoscaling_v1alpha1_MariaDBComputeAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21647,14 +21836,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscaler(ref commo SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MemcachedAutoscalerSpec"}, } } @@ -21794,79 +21983,6 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscalerSpec(ref c } } -func schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "MemcachedAutoscalerStatus describes the current status of a horizontal pod autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "lastScaleTime": { - SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the MemcachedAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), - }, - }, - "currentReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "desiredReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "currentMetrics": { - SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), - }, - }, - }, - }, - }, - "conditions": { - SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, - }, - }, - }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - func schema_apimachinery_apis_autoscaling_v1alpha1_MemcachedScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21986,7 +22102,7 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscaler(ref common. SchemaProps: spec.SchemaProps{ Description: "Current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, @@ -21994,7 +22110,7 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscaler(ref common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscalerSpec"}, } } @@ -22045,80 +22161,44 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerList(ref com }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscaler"}, - } -} - -func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "MongoDBAutoscalerSpec is the specification of the behavior of the autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "databaseRef": { - SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), - }, - }, - "compute": { - SchemaProps: spec.SchemaProps{ - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBComputeAutoscalerSpec"), - }, - }, - "storage": { - SchemaProps: spec.SchemaProps{ - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBStorageAutoscalerSpec"), - }, - }, - }, - Required: []string{"databaseRef"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBComputeAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBStorageAutoscalerSpec"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBAutoscaler"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "MongoDBAutoscalerStatus describes the runtime state of the autoscaler.", + Description: "MongoDBAutoscalerSpec is the specification of the behavior of the autoscaler.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "observedGeneration": { + "databaseRef": { SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, - "conditions": { - VendorExtensible: spec.VendorExtensible{ - Extensions: spec.Extensions{ - "x-kubernetes-patch-merge-key": "type", - "x-kubernetes-patch-strategy": "merge", - }, + "opsRequestOptions": { + SchemaProps: spec.SchemaProps{ + Description: "This field will be used to control the behaviour of ops-manager", + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBOpsRequestOptions"), }, + }, + "compute": { SchemaProps: spec.SchemaProps{ - Description: "Conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBComputeAutoscalerSpec"), + }, + }, + "storage": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBStorageAutoscalerSpec"), }, }, }, + Required: []string{"databaseRef"}, }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.Condition"}, + "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBComputeAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBOpsRequestOptions", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MongoDBStorageAutoscalerSpec"}, } } @@ -22167,6 +22247,39 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBComputeAutoscalerSpec( } } +func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBOpsRequestOptions(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "readinessCriteria": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the Readiness Criteria", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MongoDBReplicaReadinessCriteria"), + }, + }, + "timeout": { + SchemaProps: spec.SchemaProps{ + Description: "Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + }, + }, + "apply": { + SchemaProps: spec.SchemaProps{ + Description: "ApplyOption is to control the execution of OpsRequest depending on the database state.", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MongoDBReplicaReadinessCriteria"}, + } +} + func schema_apimachinery_apis_autoscaling_v1alpha1_MongoDBStorageAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22239,14 +22352,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscaler(ref common.Re SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.MySQLAutoscalerSpec"}, } } @@ -22386,79 +22499,6 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscalerSpec(ref commo } } -func schema_apimachinery_apis_autoscaling_v1alpha1_MySQLAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "MySQLAutoscalerStatus describes the current status of a horizontal pod autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "lastScaleTime": { - SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the MySQLAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), - }, - }, - "currentReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "desiredReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "currentMetrics": { - SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), - }, - }, - }, - }, - }, - "conditions": { - SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, - }, - }, - }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - func schema_apimachinery_apis_autoscaling_v1alpha1_MySQLScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22578,14 +22618,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscaler(ref c SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PerconaXtraDBAutoscalerSpec"}, } } @@ -22725,79 +22765,6 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscalerSpec(r } } -func schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "PerconaXtraDBAutoscalerStatus describes the current status of a horizontal pod autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "lastScaleTime": { - SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the PerconaXtraDBAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), - }, - }, - "currentReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "desiredReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "currentMetrics": { - SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), - }, - }, - }, - }, - }, - "conditions": { - SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, - }, - }, - }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - func schema_apimachinery_apis_autoscaling_v1alpha1_PerconaXtraDBScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22917,14 +22884,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscaler(ref commo SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerSpec"}, } } @@ -22992,148 +22959,75 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerList(ref c SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscaler"), - }, - }, - }, - }, - }, - }, - Required: []string{"items"}, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscaler"}, - } -} - -func schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "PgBouncerAutoscalerSpec describes the desired functionality of the PgBouncerAutoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "scaleTargetRef": { - SchemaProps: spec.SchemaProps{ - Description: "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.", - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), - }, - }, - "minReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled and at least one Object or External metric is configured. Scaling is active as long as at least one metric value is available.", - Type: []string{"integer"}, - Format: "int32", - }, - }, - "maxReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "metrics": { - SchemaProps: spec.SchemaProps{ - Description: "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond. If not set, the default metric will be set to 80% average CPU utilization.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricSpec"), - }, - }, - }, - }, - }, - "behavior": { - SchemaProps: spec.SchemaProps{ - Description: "behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). If not set, the default PgBouncerScalingRules for scale up and scale down are used.", - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerBehavior"), + }, + }, + }, }, }, }, - Required: []string{"scaleTargetRef", "maxReplicas"}, + Required: []string{"items"}, }, }, Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricSpec", "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerBehavior"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscaler"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "PgBouncerAutoscalerStatus describes the current status of a horizontal pod autoscaler.", + Description: "PgBouncerAutoscalerSpec describes the desired functionality of the PgBouncerAutoscaler.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "lastScaleTime": { + "scaleTargetRef": { SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the PgBouncerAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Description: "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, - "currentReplicas": { + "minReplicas": { SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", - Default: 0, + Description: "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the alpha feature gate HPAScaleToZero is enabled and at least one Object or External metric is configured. Scaling is active as long as at least one metric value is available.", Type: []string{"integer"}, Format: "int32", }, }, - "desiredReplicas": { + "maxReplicas": { SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", + Description: "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.", Default: 0, Type: []string{"integer"}, Format: "int32", }, }, - "currentMetrics": { + "metrics": { SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", + Description: "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond. If not set, the default metric will be set to 80% average CPU utilization.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), + Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricSpec"), }, }, }, }, }, - "conditions": { + "behavior": { SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, + Description: "behavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively). If not set, the default PgBouncerScalingRules for scale up and scale down are used.", + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerBehavior"), }, }, }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, + Required: []string{"scaleTargetRef", "maxReplicas"}, }, }, Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, + "k8s.io/api/autoscaling/v2beta2.MetricSpec", "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PgBouncerAutoscalerBehavior"}, } } @@ -23218,6 +23112,68 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PgBouncerScalingRules(ref com } } +func schema_apimachinery_apis_autoscaling_v1alpha1_PodResourcePolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "PodResourcePolicy controls how autopilot computes the recommended resources for containers belonging to the pod. There can be at most one entry for every named container and optionally a single wildcard entry with `containerName` = '*', which handles all containers that don't have individual policies.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "containerPolicies": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "containerName", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "Per-container resource policies.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ContainerResourcePolicy"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ContainerResourcePolicy"}, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_PodUpdatePolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "PodUpdatePolicy describes the rules on how changes are applied to the pods.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "updateMode": { + SchemaProps: spec.SchemaProps{ + Description: "Controls when autopilot applies changes to the pod resources. The default is 'Auto'.", + Type: []string{"string"}, + Format: "", + }, + }, + "minReplicas": { + SchemaProps: spec.SchemaProps{ + Description: "Minimal number of replicas which need to be alive for Updater to attempt pod eviction (pending other checks like PDB). Only positive values are allowed. Overrides global '--min-replicas' flag.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscaler(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -23256,14 +23212,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscaler(ref common SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.PostgresAutoscalerSpec"}, } } @@ -23403,79 +23359,6 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscalerSpec(ref co } } -func schema_apimachinery_apis_autoscaling_v1alpha1_PostgresAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "PostgresAutoscalerStatus describes the current status of a horizontal pod autoscaler.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "observedGeneration": { - SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", - }, - }, - "lastScaleTime": { - SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the PostgresAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), - }, - }, - "currentReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "desiredReplicas": { - SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, - Type: []string{"integer"}, - Format: "int32", - }, - }, - "currentMetrics": { - SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), - }, - }, - }, - }, - }, - "conditions": { - SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), - }, - }, - }, - }, - }, - }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - func schema_apimachinery_apis_autoscaling_v1alpha1_PostgresScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -23595,14 +23478,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscaler(ref common SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLAutoscalerSpec"}, } } @@ -23742,147 +23625,186 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscalerSpec(ref co } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "ProxySQLAutoscalerStatus describes the current status of a horizontal pod autoscaler.", + Description: "ProxySQLScalingPolicy is a single policy which must hold true for a specified past interval.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "observedGeneration": { + "type": { SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", + Description: "Type is used to specify the scaling policy.", + Default: "", + Type: []string{"string"}, + Format: "", }, }, - "lastScaleTime": { + "value": { SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the ProxySQLAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Description: "Value contains the amount of change which is permitted by the policy. It must be greater than zero", + Default: 0, + Type: []string{"integer"}, + Format: "int32", }, }, - "currentReplicas": { + "periodSeconds": { SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", + Description: "PeriodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).", Default: 0, Type: []string{"integer"}, Format: "int32", }, }, - "desiredReplicas": { + }, + Required: []string{"type", "value", "periodSeconds"}, + }, + }, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingRules(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ProxySQLScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "stabilizationWindowSeconds": { SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, + Description: "StabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long).", Type: []string{"integer"}, Format: "int32", }, }, - "currentMetrics": { + "selectPolicy": { SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", + Description: "selectPolicy is used to specify which policy should be used. If not set, the default value MaxPolicySelect is used.", + Type: []string{"string"}, + Format: "", + }, + }, + "policies": { + SchemaProps: spec.SchemaProps{ + Description: "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the ProxySQLScalingRules will be discarded as invalid", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLScalingPolicy"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLScalingPolicy"}, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_RecommendedContainerResources(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "RecommendedContainerResources is the recommendation of resources computed by autopilot for a specific container. Respects the container resource policy if present in the spec. In particular the recommendation is not produced for containers with `ContainerScalingMode` set to 'Off'.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "containerName": { + SchemaProps: spec.SchemaProps{ + Description: "Name of the container.", + Type: []string{"string"}, + Format: "", + }, + }, + "target": { + SchemaProps: spec.SchemaProps{ + Description: "Recommended amount of resources. Observes ContainerResourcePolicy.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), }, }, }, }, }, - "conditions": { + "lowerBound": { SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ + Description: "Minimum recommended amount of resources. Observes ContainerResourcePolicy. This amount is not guaranteed to be sufficient for the application to operate in a stable way, however running with less resources is likely to have significant impact on performance/availability.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), }, }, }, }, }, - }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, - } -} - -func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "ProxySQLScalingPolicy is a single policy which must hold true for a specified past interval.", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "type": { - SchemaProps: spec.SchemaProps{ - Description: "Type is used to specify the scaling policy.", - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - "value": { + "upperBound": { SchemaProps: spec.SchemaProps{ - Description: "Value contains the amount of change which is permitted by the policy. It must be greater than zero", - Default: 0, - Type: []string{"integer"}, - Format: "int32", + Description: "Maximum recommended amount of resources. Observes ContainerResourcePolicy. Any resources allocated beyond this value are likely wasted. This value may be larger than the maximum amount of application is actually capable of consuming.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, }, }, - "periodSeconds": { + "uncappedTarget": { SchemaProps: spec.SchemaProps{ - Description: "PeriodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).", - Default: 0, - Type: []string{"integer"}, - Format: "int32", + Description: "The most recent recommended resources target computed by the autopilot for the controlled pods, based only on actual resource usage, not taking into account the ContainerResourcePolicy. May differ from the Recommendation if the actual resource usage causes the target to violate the ContainerResourcePolicy (lower than MinAllowed or higher that MaxAllowed). Used only as status indication, will not affect actual resource assignment.", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, }, }, }, - Required: []string{"type", "value", "periodSeconds"}, + Required: []string{"target"}, }, }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingRules(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_RecommendedPodResources(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "ProxySQLScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.", + Description: "RecommendedPodResources is the recommendation of resources computed by autopilot. It contains a recommendation for each container in the pod (except for those with `ContainerScalingMode` set to 'Off').", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "stabilizationWindowSeconds": { - SchemaProps: spec.SchemaProps{ - Description: "StabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long).", - Type: []string{"integer"}, - Format: "int32", - }, - }, - "selectPolicy": { - SchemaProps: spec.SchemaProps{ - Description: "selectPolicy is used to specify which policy should be used. If not set, the default value MaxPolicySelect is used.", - Type: []string{"string"}, - Format: "", - }, - }, - "policies": { + "containerRecommendations": { SchemaProps: spec.SchemaProps{ - Description: "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the ProxySQLScalingRules will be discarded as invalid", + Description: "Resources recommended by the autopilot for each container.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLScalingPolicy"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RecommendedContainerResources"), }, }, }, @@ -23892,7 +23814,7 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_ProxySQLScalingRules(ref comm }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.ProxySQLScalingPolicy"}, + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RecommendedContainerResources"}, } } @@ -23934,14 +23856,14 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscaler(ref common.Re SchemaProps: spec.SchemaProps{ Description: "status is the current information about the autoscaler.", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerStatus"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus"), }, }, }, }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerSpec", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.AutoscalerStatus", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisAutoscalerSpec"}, } } @@ -24081,147 +24003,162 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscalerSpec(ref commo } } -func schema_apimachinery_apis_autoscaling_v1alpha1_RedisAutoscalerStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "RedisAutoscalerStatus describes the current status of a horizontal pod autoscaler.", + Description: "RedisScalingPolicy is a single policy which must hold true for a specified past interval.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "observedGeneration": { + "type": { SchemaProps: spec.SchemaProps{ - Description: "observedGeneration is the most recent generation observed by this autoscaler.", - Type: []string{"integer"}, - Format: "int64", + Description: "Type is used to specify the scaling policy.", + Default: "", + Type: []string{"string"}, + Format: "", }, }, - "lastScaleTime": { + "value": { SchemaProps: spec.SchemaProps{ - Description: "lastScaleTime is the last time the RedisAutoscaler scaled the number of pods, used by the autoscaler to control how often the number of pods is changed.", - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + Description: "Value contains the amount of change which is permitted by the policy. It must be greater than zero", + Default: 0, + Type: []string{"integer"}, + Format: "int32", }, }, - "currentReplicas": { + "periodSeconds": { SchemaProps: spec.SchemaProps{ - Description: "currentReplicas is current number of replicas of pods managed by this autoscaler, as last seen by the autoscaler.", + Description: "PeriodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).", Default: 0, Type: []string{"integer"}, Format: "int32", }, }, - "desiredReplicas": { + }, + Required: []string{"type", "value", "periodSeconds"}, + }, + }, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingRules(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "RedisScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "stabilizationWindowSeconds": { SchemaProps: spec.SchemaProps{ - Description: "desiredReplicas is the desired number of replicas of pods managed by this autoscaler, as last calculated by the autoscaler.", - Default: 0, + Description: "StabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long).", Type: []string{"integer"}, Format: "int32", }, }, - "currentMetrics": { + "selectPolicy": { SchemaProps: spec.SchemaProps{ - Description: "currentMetrics is the last read state of the metrics used by this autoscaler.", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/autoscaling/v2beta2.MetricStatus"), - }, - }, - }, + Description: "selectPolicy is used to specify which policy should be used. If not set, the default value MaxPolicySelect is used.", + Type: []string{"string"}, + Format: "", }, }, - "conditions": { + "policies": { SchemaProps: spec.SchemaProps{ - Description: "conditions is the set of conditions required for this autoscaler to scale its target, and indicates whether or not those conditions are met.", + Description: "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the RedisScalingRules will be discarded as invalid", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kmodules.xyz/client-go/api/v1.Condition"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisScalingPolicy"), }, }, }, }, }, }, - Required: []string{"currentReplicas", "desiredReplicas", "conditions"}, }, }, Dependencies: []string{ - "k8s.io/api/autoscaling/v2beta2.MetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.Time", "kmodules.xyz/client-go/api/v1.Condition"}, + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisScalingPolicy"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_StorageAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "RedisScalingPolicy is a single policy which must hold true for a specified past interval.", - Type: []string{"object"}, + Type: []string{"object"}, Properties: map[string]spec.Schema{ - "type": { + "trigger": { SchemaProps: spec.SchemaProps{ - Description: "Type is used to specify the scaling policy.", - Default: "", + Description: "Whether storage autoscaler is enabled. The default is Off\".", Type: []string{"string"}, Format: "", }, }, - "value": { + "usageThreshold": { SchemaProps: spec.SchemaProps{ - Description: "Value contains the amount of change which is permitted by the policy. It must be greater than zero", - Default: 0, + Description: "If PVC usage percentage is less than the UsageThreshold, we don't need to scale it. The Default is 80%", Type: []string{"integer"}, Format: "int32", }, }, - "periodSeconds": { + "scalingThreshold": { SchemaProps: spec.SchemaProps{ - Description: "PeriodSeconds specifies the window of time for which the policy should hold true. PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).", - Default: 0, + Description: "If PVC usage percentage >= UsageThreshold, we need to scale that by ScalingThreshold percentage. The Default is 50%", Type: []string{"integer"}, Format: "int32", }, }, + "expansionMode": { + SchemaProps: spec.SchemaProps{ + Description: "ExpansionMode can be `Online` or `Offline` Default VolumeExpansionMode is `Online`", + Type: []string{"string"}, + Format: "", + }, + }, }, - Required: []string{"type", "value", "periodSeconds"}, }, }, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingRules(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_VPAStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "RedisScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.", + Description: "VPAStatus describes the runtime state of the autopilot.", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "stabilizationWindowSeconds": { + "vpaName": { SchemaProps: spec.SchemaProps{ - Description: "StabilizationWindowSeconds is the number of seconds for which past recommendations should be considered while scaling up or scaling down. StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour). If not set, use the default values: - For scale up: 0 (i.e. no stabilization is done). - For scale down: 300 (i.e. the stabilization window is 300 seconds long).", - Type: []string{"integer"}, - Format: "int32", + Description: "The name of the VerticalPodAutoscaler. This field will help us to get the corresponding vpa.", + Type: []string{"string"}, + Format: "", }, }, - "selectPolicy": { + "recommendation": { SchemaProps: spec.SchemaProps{ - Description: "selectPolicy is used to specify which policy should be used. If not set, the default value MaxPolicySelect is used.", - Type: []string{"string"}, - Format: "", + Description: "The most recently computed amount of resources recommended by the autopilot for the controlled pods.", + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RecommendedPodResources"), }, }, - "policies": { + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "type", + "x-kubernetes-patch-strategy": "merge", + }, + }, SchemaProps: spec.SchemaProps{ - Description: "policies is a list of potential scaling polices which can be used during scaling. At least one policy must be specified, otherwise the RedisScalingRules will be discarded as invalid", + Description: "Conditions is the set of conditions required for this autopilot to scale its target, and indicates whether or not those conditions are met.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisScalingPolicy"), + Ref: ref("kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VerticalPodAutopilotCondition"), }, }, }, @@ -24231,42 +24168,80 @@ func schema_apimachinery_apis_autoscaling_v1alpha1_RedisScalingRules(ref common. }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RedisScalingPolicy"}, + "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.RecommendedPodResources", "kubedb.dev/apimachinery/apis/autoscaling/v1alpha1.VerticalPodAutopilotCondition"}, } } -func schema_apimachinery_apis_autoscaling_v1alpha1_StorageAutoscalerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_autoscaling_v1alpha1_VerticalPodAutopilotCondition(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, + Description: "VerticalPodAutopilotCondition describes the state of a VerticalPodAutopilot at a certain point.", + Type: []string{"object"}, Properties: map[string]spec.Schema{ - "trigger": { + "type": { SchemaProps: spec.SchemaProps{ - Description: "Whether compute autoscaler is enabled. The default is Off\".", + Description: "type describes the current condition", + Default: "", Type: []string{"string"}, Format: "", }, }, - "usageThreshold": { + "status": { SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", + Description: "status is the status of the condition (True, False, Unknown)", + Default: "", + Type: []string{"string"}, + Format: "", }, }, - "scalingThreshold": { + "lastTransitionTime": { SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", + Description: "lastTransitionTime is the last time the condition transitioned from one status to another", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), }, }, - "expansionMode": { + "reason": { SchemaProps: spec.SchemaProps{ - Type: []string{"string"}, - Format: "", + Description: "reason is the reason for the condition's last transition.", + Type: []string{"string"}, + Format: "", + }, + }, + "message": { + SchemaProps: spec.SchemaProps{ + Description: "message is a human-readable explanation containing details about the transition", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"type", "status"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + } +} + +func schema_apimachinery_apis_autoscaling_v1alpha1_VerticalPodAutopilotRecommenderSelector(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "VerticalPodAutopilotRecommenderSelector points to a specific Vertical Pod autopilot recommender. In the future it might pass parameters to the recommender.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "Name of the recommender responsible for generating recommendation for this object.", + Default: "", + Type: []string{"string"}, + Format: "", }, }, }, + Required: []string{"name"}, }, }, } diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_helpers.go index 1727c84eb..31d231904 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ PerconaXtraDBAutoscaler) CustomResourceDefinition() *apiextensions.Custo var _ apis.ResourceInfo = &PerconaXtraDBAutoscaler{} func (p PerconaXtraDBAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralPerconaXtraDBAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralPerconaXtraDBAutoscaler, autoscaling.GroupName) } func (p PerconaXtraDBAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (p PerconaXtraDBAutoscaler) ResourcePlural() string { func (p PerconaXtraDBAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &PerconaXtraDBAutoscaler{} + +func (e *PerconaXtraDBAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *PerconaXtraDBAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_types.go index 48e03101f..cd9082b22 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/perconaxtradb_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type PerconaXtraDBAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status PerconaXtraDBAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // PerconaXtraDBAutoscalerSpec describes the desired functionality of the PerconaXtraDBAutoscaler. @@ -146,34 +145,6 @@ type PerconaXtraDBScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// PerconaXtraDBAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type PerconaXtraDBAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the PerconaXtraDBAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // PerconaXtraDBAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_helpers.go index 2c8d389a9..ae548e82b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ PgBouncerAutoscaler) CustomResourceDefinition() *apiextensions.CustomRes var _ apis.ResourceInfo = &PgBouncerAutoscaler{} func (p PgBouncerAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralPgBouncerAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralPgBouncerAutoscaler, autoscaling.GroupName) } func (p PgBouncerAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (p PgBouncerAutoscaler) ResourcePlural() string { func (p PgBouncerAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &PgBouncerAutoscaler{} + +func (e *PgBouncerAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *PgBouncerAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_types.go index 17fd92594..9bcd49b4d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/pgbouncer_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type PgBouncerAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status PgBouncerAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // PgBouncerAutoscalerSpec describes the desired functionality of the PgBouncerAutoscaler. @@ -146,34 +145,6 @@ type PgBouncerScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// PgBouncerAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type PgBouncerAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the PgBouncerAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // PgBouncerAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_helpers.go index 9c0ec8393..6290c9023 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ PostgresAutoscaler) CustomResourceDefinition() *apiextensions.CustomReso var _ apis.ResourceInfo = &PostgresAutoscaler{} func (p PostgresAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralPostgresAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralPostgresAutoscaler, autoscaling.GroupName) } func (p PostgresAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (p PostgresAutoscaler) ResourcePlural() string { func (p PostgresAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &PostgresAutoscaler{} + +func (e *PostgresAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *PostgresAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_types.go index 592550959..2cbfb2293 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/postgres_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type PostgresAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status PostgresAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // PostgresAutoscalerSpec describes the desired functionality of the PostgresAutoscaler. @@ -146,34 +145,6 @@ type PostgresScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// PostgresAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type PostgresAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the PostgresAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // PostgresAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_helpers.go index 13e20ad09..c02aaf378 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ ProxySQLAutoscaler) CustomResourceDefinition() *apiextensions.CustomReso var _ apis.ResourceInfo = &ProxySQLAutoscaler{} func (p ProxySQLAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralProxySQLAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralProxySQLAutoscaler, autoscaling.GroupName) } func (p ProxySQLAutoscaler) ResourceShortCode() string { @@ -51,3 +51,13 @@ func (p ProxySQLAutoscaler) ResourceSingular() string { func (p ProxySQLAutoscaler) ResourcePlural() string { return ResourcePluralProxySQLAutoscaler } + +var _ StatusAccessor = &ProxySQLAutoscaler{} + +func (e *ProxySQLAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *ProxySQLAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_types.go index 548c6e35e..534cbfa33 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/proxysql_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type ProxySQLAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status ProxySQLAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // ProxySQLAutoscalerSpec describes the desired functionality of the ProxySQLAutoscaler. @@ -146,34 +145,6 @@ type ProxySQLScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// ProxySQLAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type ProxySQLAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the ProxySQLAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // ProxySQLAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_helpers.go index aea1a16e9..6c4920e47 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_helpers.go @@ -20,7 +20,7 @@ import ( "fmt" "kubedb.dev/apimachinery/apis" - "kubedb.dev/apimachinery/apis/catalog" + "kubedb.dev/apimachinery/apis/autoscaling" "kubedb.dev/apimachinery/crds" "kmodules.xyz/client-go/apiextensions" @@ -33,7 +33,7 @@ func (_ RedisAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourc var _ apis.ResourceInfo = &RedisAutoscaler{} func (r RedisAutoscaler) ResourceFQN() string { - return fmt.Sprintf("%s.%s", ResourcePluralRedisAutoscaler, catalog.GroupName) + return fmt.Sprintf("%s.%s", ResourcePluralRedisAutoscaler, autoscaling.GroupName) } func (r RedisAutoscaler) ResourceShortCode() string { @@ -55,3 +55,13 @@ func (r RedisAutoscaler) ResourcePlural() string { func (r RedisAutoscaler) ValidateSpecs() error { return nil } + +var _ StatusAccessor = &RedisAutoscaler{} + +func (e *RedisAutoscaler) GetStatus() AutoscalerStatus { + return e.Status +} + +func (e *RedisAutoscaler) SetStatus(s AutoscalerStatus) { + e.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_types.go index 4a9dd75d5..42a2b66b5 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/redis_types.go @@ -20,7 +20,6 @@ import ( "k8s.io/api/autoscaling/v2beta2" core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kmapi "kmodules.xyz/client-go/api/v1" ) const ( @@ -55,7 +54,7 @@ type RedisAutoscaler struct { // status is the current information about the autoscaler. // +optional - Status RedisAutoscalerStatus `json:"status,omitempty"` + Status AutoscalerStatus `json:"status,omitempty"` } // RedisAutoscalerSpec describes the desired functionality of the RedisAutoscaler. @@ -146,34 +145,6 @@ type RedisScalingPolicy struct { PeriodSeconds int32 `json:"periodSeconds"` } -// RedisAutoscalerStatus describes the current status of a horizontal pod autoscaler. -type RedisAutoscalerStatus struct { - // observedGeneration is the most recent generation observed by this autoscaler. - // +optional - ObservedGeneration *int64 `json:"observedGeneration,omitempty"` - - // lastScaleTime is the last time the RedisAutoscaler scaled the number of pods, - // used by the autoscaler to control how often the number of pods is changed. - // +optional - LastScaleTime *metav1.Time `json:"lastScaleTime,omitempty"` - - // currentReplicas is current number of replicas of pods managed by this autoscaler, - // as last seen by the autoscaler. - CurrentReplicas int32 `json:"currentReplicas"` - - // desiredReplicas is the desired number of replicas of pods managed by this autoscaler, - // as last calculated by the autoscaler. - DesiredReplicas int32 `json:"desiredReplicas"` - - // currentMetrics is the last read state of the metrics used by this autoscaler. - // +optional - CurrentMetrics []v2beta2.MetricStatus `json:"currentMetrics"` - - // conditions is the set of conditions required for this autoscaler to scale its target, - // and indicates whether or not those conditions are met. - Conditions []kmapi.Condition `json:"conditions"` -} - // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // RedisAutoscalerList is a list of horizontal pod autoscaler objects. diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/type.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/type.go index 17857230d..4b811e226 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/type.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/type.go @@ -21,35 +21,16 @@ import ( core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" -) - -// List of possible condition types for a autoscaler -const ( - Failure = "Failure" - CreateOpsRequest = "CreateOpsRequest" + kmapi "kmodules.xyz/client-go/api/v1" ) // ContainerControlledValues controls which resource value should be autoscaled. +// +kubebuilder:validation:Enum=RequestsAndLimits;RequestsOnly type ContainerControlledValues string -const ( - // ContainerControlledValuesRequestsAndLimits means resource request and limits - // are scaled automatically. The limit is scaled proportionally to the request. - ContainerControlledValuesRequestsAndLimits ContainerControlledValues = "RequestsAndLimits" - // ContainerControlledValuesRequestsOnly means only requested resource is autoscaled. - ContainerControlledValuesRequestsOnly ContainerControlledValues = "RequestsOnly" -) - // AutoscalerTrigger controls if autoscaler is enabled. type AutoscalerTrigger string -const ( - // AutoscalerTriggerOn means the autoscaler is enabled. - AutoscalerTriggerOn AutoscalerTrigger = "On" - // AutoscalerTriggerOff means the autoscaler is disabled. - AutoscalerTriggerOff AutoscalerTrigger = "Off" -) - type ComputeAutoscalerSpec struct { // Whether compute autoscaler is enabled. The default is Off". Trigger AutoscalerTrigger `json:"trigger,omitempty"` @@ -74,26 +55,86 @@ type ComputeAutoscalerSpec struct { // +optional ContainerControlledValues *ContainerControlledValues `json:"containerControlledValues,omitempty"` - // Specifies the minimum resource difference in percentage - // The default is 10%. + // Specifies the minimum resource difference in percentage. The default is 10%. + // If the difference between current & recommended resource is less than ResourceDiffPercentage, + // Autoscaler Operator will ignore the updating. // +optional ResourceDiffPercentage int32 `json:"resourceDiffPercentage,omitempty"` - // Specifies the minimum pod life time - // The default is 12h. + // Specifies the minimum pod life time. The default is 12h. + // If the resource Request is inside the recommended range & there is no quickOOM (out-of-memory), + // we can still update the pod, if that pod's lifeTime is greater than this threshold. // +optional PodLifeTimeThreshold metav1.Duration `json:"podLifeTimeThreshold,omitempty"` - // Specifies the percentage of the Memory that will be passed as inMemorySizeGB - // The default is 70%. + // Specifies the dbStorage scaling when db data is stored in Memory + InMemoryStorage *ComputeInMemoryStorageSpec `json:"inMemoryStorage,omitempty"` +} + +type ComputeInMemoryStorageSpec struct { + // For InMemory storageType, if db uses more than UsageThresholdPercentage of the total memory() , + // memoryStorage should be increased by ScalingThreshold percent + // Default is 70% // +optional - InMemoryScalingThreshold int32 `json:"inMemoryScalingThreshold,omitempty"` + UsageThresholdPercentage int32 `json:"usageThresholdPercentage,omitempty"` + + // For InMemory storageType, if db uses more than UsageThresholdPercentage + // of the total memory() memoryStorage should be increased by ScalingFactor percent + // Default is 50% + // +optional + ScalingFactorPercentage int32 `json:"scalingFactorPercentage,omitempty"` } type StorageAutoscalerSpec struct { - // Whether compute autoscaler is enabled. The default is Off". - Trigger AutoscalerTrigger `json:"trigger,omitempty"` - UsageThreshold int32 `json:"usageThreshold,omitempty"` - ScalingThreshold int32 `json:"scalingThreshold,omitempty"` - ExpansionMode *opsapi.VolumeExpansionMode `json:"expansionMode,omitempty"` + // Whether storage autoscaler is enabled. The default is Off". + Trigger AutoscalerTrigger `json:"trigger,omitempty"` + + // If PVC usage percentage is less than the UsageThreshold, + // we don't need to scale it. The Default is 80% + UsageThreshold int32 `json:"usageThreshold,omitempty"` + + // If PVC usage percentage >= UsageThreshold, + // we need to scale that by ScalingThreshold percentage. The Default is 50% + ScalingThreshold int32 `json:"scalingThreshold,omitempty"` + + // ExpansionMode can be `Online` or `Offline` + // Default VolumeExpansionMode is `Online` + ExpansionMode *opsapi.VolumeExpansionMode `json:"expansionMode,omitempty"` +} + +// AutoscalerStatus describes the runtime state of the autoscaler. +type AutoscalerStatus struct { + // Specifies the current phase of the autoscaler + // +optional + Phase AutoscalerPhase `json:"phase,omitempty"` + + // observedGeneration is the most recent generation observed by this autoscaler. + // +optional + ObservedGeneration int64 `json:"observedGeneration,omitempty"` + + // Conditions is the set of conditions required for this autoscaler to scale its target, + // and indicates whether or not those conditions are met. + // +optional + // +patchMergeKey=type + // +patchStrategy=merge + Conditions []kmapi.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + + // This field is equivalent to this one: + // https://github.com/kubernetes/autoscaler/blob/273e35b88cb50c5aac383c5eceb88fb337cb31b6/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L218-L230 + // +optional + VPAs []VPAStatus `json:"vpas,omitempty"` + + // Checkpoints hold all the Checkpoint those are associated + // with this Autoscaler object. Equivalent to : + // https://github.com/kubernetes/autoscaler/blob/273e35b88cb50c5aac383c5eceb88fb337cb31b6/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L354-L378 + // +optional + Checkpoints []Checkpoint `json:"checkpoints,omitempty"` +} + +// +kubebuilder:validation:Enum=InProgress;Current;Terminating;Failed +type AutoscalerPhase string + +type StatusAccessor interface { + GetStatus() AutoscalerStatus + SetStatus(_ AutoscalerStatus) } diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/vpa_checkpoints.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/vpa_checkpoints.go new file mode 100644 index 000000000..d7fc2cafa --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/vpa_checkpoints.go @@ -0,0 +1,77 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// CheckpointReference is the metedata of the checkpoint. +type CheckpointReference struct { + // Name of the VPA object that stored VerticalPodAutopilotCheckpoint object. + VPAObjectName string `json:"vpaObjectName,omitempty"` + + // Name of the checkpointed container. + ContainerName string `json:"containerName,omitempty"` +} + +// Checkpoint contains data of the checkpoint. +type Checkpoint struct { + // Metedata of the checkpoint + // It is used for the identification + Ref CheckpointReference `json:"ref,omitempty"` + // The time when the status was last refreshed. + // +nullable + LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` + + // Version of the format of the stored data. + Version string `json:"version,omitempty"` + + // Checkpoint of histogram for consumption of CPU. + CPUHistogram HistogramCheckpoint `json:"cpuHistogram,omitempty"` + + // Checkpoint of histogram for consumption of memory. + MemoryHistogram HistogramCheckpoint `json:"memoryHistogram,omitempty"` + + // Timestamp of the fist sample from the histograms. + // +nullable + FirstSampleStart metav1.Time `json:"firstSampleStart,omitempty"` + + // Timestamp of the last sample from the histograms. + // +nullable + LastSampleStart metav1.Time `json:"lastSampleStart,omitempty"` + + // Total number of samples in the histograms. + TotalSamplesCount int `json:"totalSamplesCount,omitempty"` +} + +type BucketWeight struct { + Index int `json:"index"` + Weight uint32 `json:"weight"` +} + +// HistogramCheckpoint contains data needed to reconstruct the histogram. +type HistogramCheckpoint struct { + // Reference timestamp for samples collected within this histogram. + // +nullable + ReferenceTimestamp metav1.Time `json:"referenceTimestamp,omitempty"` + + // Map from bucket index to bucket weight. + // +kubebuilder:validation:XPreserveUnknownFields + BucketWeights []BucketWeight `json:"bucketWeights,omitempty"` + + // Sum of samples to be used as denominator for weights from BucketWeights. + TotalWeight float64 `json:"totalWeight,omitempty"` +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/vpa_types.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/vpa_types.go new file mode 100644 index 000000000..6fc4358e8 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/vpa_types.go @@ -0,0 +1,208 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import ( + v1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// VerticalPodAutopilotRecommenderSelector points to a specific Vertical Pod autopilot recommender. +// In the future it might pass parameters to the recommender. +type VerticalPodAutopilotRecommenderSelector struct { + // Name of the recommender responsible for generating recommendation for this object. + Name string `json:"name"` +} + +// PodUpdatePolicy describes the rules on how changes are applied to the pods. +type PodUpdatePolicy struct { + // Controls when autopilot applies changes to the pod resources. + // The default is 'Auto'. + // +optional + UpdateMode *UpdateMode `json:"updateMode,omitempty"` + + // Minimal number of replicas which need to be alive for Updater to attempt + // pod eviction (pending other checks like PDB). Only positive values are + // allowed. Overrides global '--min-replicas' flag. + // +optional + MinReplicas *int32 `json:"minReplicas,omitempty"` +} + +// UpdateMode controls when autopilot applies changes to the pod resoures. +// +kubebuilder:validation:Enum=Off;Initial;Recreate;Auto +type UpdateMode string + +const ( + // UpdateModeOff means that autopilot never changes Pod resources. + // The recommender still sets the recommended resources in the + // VerticalPodAutopilot object. This can be used for a "dry run". + UpdateModeOff UpdateMode = "Off" + // UpdateModeInitial means that autopilot only assigns resources on pod + // creation and does not change them during the lifetime of the pod. + UpdateModeInitial UpdateMode = "Initial" + // UpdateModeRecreate means that autopilot assigns resources on pod + // creation and additionally can update them during the lifetime of the + // pod by deleting and recreating the pod. + UpdateModeRecreate UpdateMode = "Recreate" + // UpdateModeAuto means that autopilot assigns resources on pod creation + // and additionally can update them during the lifetime of the pod, + // using any available update method. Currently this is equivalent to + // Recreate, which is the only available update method. + UpdateModeAuto UpdateMode = "Auto" +) + +// PodResourcePolicy controls how autopilot computes the recommended resources +// for containers belonging to the pod. There can be at most one entry for every +// named container and optionally a single wildcard entry with `containerName` = '*', +// which handles all containers that don't have individual policies. +type PodResourcePolicy struct { + // Per-container resource policies. + // +optional + // +patchMergeKey=containerName + // +patchStrategy=merge + ContainerPolicies []ContainerResourcePolicy `json:"containerPolicies,omitempty" patchStrategy:"merge" patchMergeKey:"containerName"` +} + +// ContainerResourcePolicy controls how autopilot computes the recommended +// resources for a specific container. +type ContainerResourcePolicy struct { + // Name of the container or DefaultContainerResourcePolicy, in which + // case the policy is used by the containers that don't have their own + // policy specified. + ContainerName string `json:"containerName,omitempty"` + // Whether autopilot is enabled for the container. The default is "Auto". + // +optional + Mode *ContainerScalingMode `json:"mode,omitempty"` +} + +const ( + // DefaultContainerResourcePolicy can be passed as + // ContainerResourcePolicy.ContainerName to specify the default policy. + DefaultContainerResourcePolicy = "*" +) + +// ContainerScalingMode controls whether autopilot is enabled for a specific +// container. +// +kubebuilder:validation:Enum=Auto;Off +type ContainerScalingMode string + +const ( + // ContainerScalingModeAuto means autopilot is enabled for a container. + ContainerScalingModeAuto ContainerScalingMode = "Auto" + // ContainerScalingModeOff means autopilot is disabled for a container. + ContainerScalingModeOff ContainerScalingMode = "Off" +) + +// VPAStatus describes the runtime state of the autopilot. +type VPAStatus struct { + // The name of the VerticalPodAutoscaler. + // This field will help us to get the corresponding vpa. + VPAName string `json:"vpaName,omitempty"` + + // The most recently computed amount of resources recommended by the + // autopilot for the controlled pods. + // +optional + Recommendation *RecommendedPodResources `json:"recommendation,omitempty"` + + // Conditions is the set of conditions required for this autopilot to scale its target, + // and indicates whether or not those conditions are met. + // +optional + // +patchMergeKey=type + // +patchStrategy=merge + Conditions []VerticalPodAutopilotCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` +} + +// RecommendedPodResources is the recommendation of resources computed by +// autopilot. It contains a recommendation for each container in the pod +// (except for those with `ContainerScalingMode` set to 'Off'). +type RecommendedPodResources struct { + // Resources recommended by the autopilot for each container. + // +optional + ContainerRecommendations []RecommendedContainerResources `json:"containerRecommendations,omitempty"` +} + +// RecommendedContainerResources is the recommendation of resources computed by +// autopilot for a specific container. Respects the container resource policy +// if present in the spec. In particular the recommendation is not produced for +// containers with `ContainerScalingMode` set to 'Off'. +type RecommendedContainerResources struct { + // Name of the container. + ContainerName string `json:"containerName,omitempty" ` + // Recommended amount of resources. Observes ContainerResourcePolicy. + Target v1.ResourceList `json:"target" ` + // Minimum recommended amount of resources. Observes ContainerResourcePolicy. + // This amount is not guaranteed to be sufficient for the application to operate in a stable way, however + // running with less resources is likely to have significant impact on performance/availability. + // +optional + LowerBound v1.ResourceList `json:"lowerBound,omitempty"` + // Maximum recommended amount of resources. Observes ContainerResourcePolicy. + // Any resources allocated beyond this value are likely wasted. This value may be larger than the maximum + // amount of application is actually capable of consuming. + // +optional + UpperBound v1.ResourceList `json:"upperBound,omitempty"` + // The most recent recommended resources target computed by the autopilot + // for the controlled pods, based only on actual resource usage, not taking + // into account the ContainerResourcePolicy. + // May differ from the Recommendation if the actual resource usage causes + // the target to violate the ContainerResourcePolicy (lower than MinAllowed + // or higher that MaxAllowed). + // Used only as status indication, will not affect actual resource assignment. + // +optional + UncappedTarget v1.ResourceList `json:"uncappedTarget,omitempty"` +} + +// VerticalPodAutopilotConditionType are the valid conditions of +// a VerticalPodAutopilot. +type VerticalPodAutopilotConditionType string + +var ( + // RecommendationProvided indicates whether the VPA recommender was able to calculate a recommendation. + RecommendationProvided VerticalPodAutopilotConditionType = "RecommendationProvided" + // LowConfidence indicates whether the VPA recommender has low confidence in the recommendation for + // some of containers. + LowConfidence VerticalPodAutopilotConditionType = "LowConfidence" + // NoPodsMatched indicates that label selector used with VPA object didn't match any pods. + NoPodsMatched VerticalPodAutopilotConditionType = "NoPodsMatched" + // FetchingHistory indicates that VPA recommender is in the process of loading additional history samples. + FetchingHistory VerticalPodAutopilotConditionType = "FetchingHistory" + // ConfigDeprecated indicates that this VPA configuration is deprecated + // and will stop being supported soon. + ConfigDeprecated VerticalPodAutopilotConditionType = "ConfigDeprecated" + // ConfigUnsupported indicates that this VPA configuration is unsupported + // and recommendations will not be provided for it. + ConfigUnsupported VerticalPodAutopilotConditionType = "ConfigUnsupported" +) + +// VerticalPodAutopilotCondition describes the state of +// a VerticalPodAutopilot at a certain point. +type VerticalPodAutopilotCondition struct { + // type describes the current condition + Type VerticalPodAutopilotConditionType `json:"type" ` + // status is the status of the condition (True, False, Unknown) + Status v1.ConditionStatus `json:"status"` + // lastTransitionTime is the last time the condition transitioned from + // one status to another + // +optional + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` + // reason is the reason for the condition's last transition. + // +optional + Reason string `json:"reason,omitempty"` + // message is a human-readable explanation containing details about + // the transition + // +optional + Message string `json:"message,omitempty"` +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/webhook_helpers.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/webhook_helpers.go new file mode 100644 index 000000000..4d1f6cc68 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/webhook_helpers.go @@ -0,0 +1,82 @@ +/* +Copyright AppsCode Inc. and Contributors + +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 v1alpha1 + +import ( + dbapi "kubedb.dev/apimachinery/apis/kubedb/v1alpha2" + opsapi "kubedb.dev/apimachinery/apis/ops/v1alpha1" + + core "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +func setDefaultStorageValues(storageSpec *StorageAutoscalerSpec) { + if storageSpec == nil { + return + } + if storageSpec.Trigger == "" { + storageSpec.Trigger = AutoscalerTriggerOff + } + if storageSpec.ExpansionMode == nil { + mode := opsapi.VolumeExpansionModeOnline + storageSpec.ExpansionMode = &mode + } + if storageSpec.ScalingThreshold == 0 { + storageSpec.ScalingThreshold = DefaultStorageScalingThreshold + } + if storageSpec.UsageThreshold == 0 { + storageSpec.UsageThreshold = DefaultStorageUsageThreshold + } +} + +func setDefaultComputeValues(computeSpec *ComputeAutoscalerSpec) { + if computeSpec == nil { + return + } + if computeSpec.Trigger == "" { + computeSpec.Trigger = AutoscalerTriggerOff + } + if computeSpec.ControlledResources == nil { + computeSpec.ControlledResources = []core.ResourceName{core.ResourceCPU, core.ResourceMemory} + } + if computeSpec.ContainerControlledValues == nil { + reqAndLim := ContainerControlledValuesRequestsAndLimits + computeSpec.ContainerControlledValues = &reqAndLim + } + if computeSpec.ResourceDiffPercentage == 0 { + computeSpec.ResourceDiffPercentage = DefaultResourceDiffPercentage + } + if computeSpec.PodLifeTimeThreshold.Duration == 0 { + computeSpec.PodLifeTimeThreshold = metav1.Duration{Duration: DefaultPodLifeTimeThreshold} + } +} + +func setInMemoryDefaults(computeSpec *ComputeAutoscalerSpec, storageEngine dbapi.StorageEngine) { + if computeSpec == nil || storageEngine != dbapi.StorageEngineInMemory { + return + } + if computeSpec.InMemoryStorage == nil { + // assigning a dummy pointer to set the defaults + computeSpec.InMemoryStorage = &ComputeInMemoryStorageSpec{} + } + if computeSpec.InMemoryStorage.UsageThresholdPercentage == 0 { + computeSpec.InMemoryStorage.UsageThresholdPercentage = DefaultInMemoryStorageUsageThresholdPercentage + } + if computeSpec.InMemoryStorage.ScalingFactorPercentage == 0 { + computeSpec.InMemoryStorage.ScalingFactorPercentage = DefaultInMemoryStorageScalingFactorPercentage + } +} diff --git a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/zz_generated.deepcopy.go index 75511bccf..92f32095b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/zz_generated.deepcopy.go @@ -25,31 +25,123 @@ import ( opsv1alpha1 "kubedb.dev/apimachinery/apis/ops/v1alpha1" v2beta2 "k8s.io/api/autoscaling/v2beta2" - v1 "k8s.io/api/core/v1" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" - apiv1 "kmodules.xyz/client-go/api/v1" + v1 "kmodules.xyz/client-go/api/v1" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoscalerStatus) DeepCopyInto(out *AutoscalerStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.VPAs != nil { + in, out := &in.VPAs, &out.VPAs + *out = make([]VPAStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Checkpoints != nil { + in, out := &in.Checkpoints, &out.Checkpoints + *out = make([]Checkpoint, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalerStatus. +func (in *AutoscalerStatus) DeepCopy() *AutoscalerStatus { + if in == nil { + return nil + } + out := new(AutoscalerStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *BucketWeight) DeepCopyInto(out *BucketWeight) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BucketWeight. +func (in *BucketWeight) DeepCopy() *BucketWeight { + if in == nil { + return nil + } + out := new(BucketWeight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Checkpoint) DeepCopyInto(out *Checkpoint) { + *out = *in + out.Ref = in.Ref + in.LastUpdateTime.DeepCopyInto(&out.LastUpdateTime) + in.CPUHistogram.DeepCopyInto(&out.CPUHistogram) + in.MemoryHistogram.DeepCopyInto(&out.MemoryHistogram) + in.FirstSampleStart.DeepCopyInto(&out.FirstSampleStart) + in.LastSampleStart.DeepCopyInto(&out.LastSampleStart) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Checkpoint. +func (in *Checkpoint) DeepCopy() *Checkpoint { + if in == nil { + return nil + } + out := new(Checkpoint) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CheckpointReference) DeepCopyInto(out *CheckpointReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CheckpointReference. +func (in *CheckpointReference) DeepCopy() *CheckpointReference { + if in == nil { + return nil + } + out := new(CheckpointReference) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ComputeAutoscalerSpec) DeepCopyInto(out *ComputeAutoscalerSpec) { *out = *in if in.MinAllowed != nil { in, out := &in.MinAllowed, &out.MinAllowed - *out = make(v1.ResourceList, len(*in)) + *out = make(corev1.ResourceList, len(*in)) for key, val := range *in { (*out)[key] = val.DeepCopy() } } if in.MaxAllowed != nil { in, out := &in.MaxAllowed, &out.MaxAllowed - *out = make(v1.ResourceList, len(*in)) + *out = make(corev1.ResourceList, len(*in)) for key, val := range *in { (*out)[key] = val.DeepCopy() } } if in.ControlledResources != nil { in, out := &in.ControlledResources, &out.ControlledResources - *out = make([]v1.ResourceName, len(*in)) + *out = make([]corev1.ResourceName, len(*in)) copy(*out, *in) } if in.ContainerControlledValues != nil { @@ -58,6 +150,11 @@ func (in *ComputeAutoscalerSpec) DeepCopyInto(out *ComputeAutoscalerSpec) { **out = **in } out.PodLifeTimeThreshold = in.PodLifeTimeThreshold + if in.InMemoryStorage != nil { + in, out := &in.InMemoryStorage, &out.InMemoryStorage + *out = new(ComputeInMemoryStorageSpec) + **out = **in + } return } @@ -71,6 +168,43 @@ func (in *ComputeAutoscalerSpec) DeepCopy() *ComputeAutoscalerSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ComputeInMemoryStorageSpec) DeepCopyInto(out *ComputeInMemoryStorageSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeInMemoryStorageSpec. +func (in *ComputeInMemoryStorageSpec) DeepCopy() *ComputeInMemoryStorageSpec { + if in == nil { + return nil + } + out := new(ComputeInMemoryStorageSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerResourcePolicy) DeepCopyInto(out *ContainerResourcePolicy) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(ContainerScalingMode) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerResourcePolicy. +func (in *ContainerResourcePolicy) DeepCopy() *ContainerResourcePolicy { + if in == nil { + return nil + } + out := new(ContainerResourcePolicy) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ElasticsearchAutoscaler) DeepCopyInto(out *ElasticsearchAutoscaler) { *out = *in @@ -137,7 +271,7 @@ func (in *ElasticsearchAutoscalerSpec) DeepCopyInto(out *ElasticsearchAutoscaler *out = *in if in.DatabaseRef != nil { in, out := &in.DatabaseRef, &out.DatabaseRef - *out = new(v1.LocalObjectReference) + *out = new(corev1.LocalObjectReference) **out = **in } if in.Compute != nil { @@ -163,29 +297,6 @@ func (in *ElasticsearchAutoscalerSpec) DeepCopy() *ElasticsearchAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ElasticsearchAutoscalerStatus) DeepCopyInto(out *ElasticsearchAutoscalerStatus) { - *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticsearchAutoscalerStatus. -func (in *ElasticsearchAutoscalerStatus) DeepCopy() *ElasticsearchAutoscalerStatus { - if in == nil { - return nil - } - out := new(ElasticsearchAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ElasticsearchComputeAutoscalerSpec) DeepCopyInto(out *ElasticsearchComputeAutoscalerSpec) { *out = *in @@ -421,45 +532,6 @@ func (in *EtcdAutoscalerSpec) DeepCopy() *EtcdAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *EtcdAutoscalerStatus) DeepCopyInto(out *EtcdAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdAutoscalerStatus. -func (in *EtcdAutoscalerStatus) DeepCopy() *EtcdAutoscalerStatus { - if in == nil { - return nil - } - out := new(EtcdAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *EtcdScalingPolicy) DeepCopyInto(out *EtcdScalingPolicy) { *out = *in @@ -507,6 +579,28 @@ func (in *EtcdScalingRules) DeepCopy() *EtcdScalingRules { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HistogramCheckpoint) DeepCopyInto(out *HistogramCheckpoint) { + *out = *in + in.ReferenceTimestamp.DeepCopyInto(&out.ReferenceTimestamp) + if in.BucketWeights != nil { + in, out := &in.BucketWeights, &out.BucketWeights + *out = make([]BucketWeight, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HistogramCheckpoint. +func (in *HistogramCheckpoint) DeepCopy() *HistogramCheckpoint { + if in == nil { + return nil + } + out := new(HistogramCheckpoint) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MariaDBAutoscaler) DeepCopyInto(out *MariaDBAutoscaler) { *out = *in @@ -573,7 +667,7 @@ func (in *MariaDBAutoscalerSpec) DeepCopyInto(out *MariaDBAutoscalerSpec) { *out = *in if in.DatabaseRef != nil { in, out := &in.DatabaseRef, &out.DatabaseRef - *out = new(v1.LocalObjectReference) + *out = new(corev1.LocalObjectReference) **out = **in } if in.Compute != nil { @@ -599,29 +693,6 @@ func (in *MariaDBAutoscalerSpec) DeepCopy() *MariaDBAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MariaDBAutoscalerStatus) DeepCopyInto(out *MariaDBAutoscalerStatus) { - *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MariaDBAutoscalerStatus. -func (in *MariaDBAutoscalerStatus) DeepCopy() *MariaDBAutoscalerStatus { - if in == nil { - return nil - } - out := new(MariaDBAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MariaDBComputeAutoscalerSpec) DeepCopyInto(out *MariaDBComputeAutoscalerSpec) { *out = *in @@ -785,45 +856,6 @@ func (in *MemcachedAutoscalerSpec) DeepCopy() *MemcachedAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MemcachedAutoscalerStatus) DeepCopyInto(out *MemcachedAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemcachedAutoscalerStatus. -func (in *MemcachedAutoscalerStatus) DeepCopy() *MemcachedAutoscalerStatus { - if in == nil { - return nil - } - out := new(MemcachedAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MemcachedScalingPolicy) DeepCopyInto(out *MemcachedScalingPolicy) { *out = *in @@ -937,9 +969,14 @@ func (in *MongoDBAutoscalerSpec) DeepCopyInto(out *MongoDBAutoscalerSpec) { *out = *in if in.DatabaseRef != nil { in, out := &in.DatabaseRef, &out.DatabaseRef - *out = new(v1.LocalObjectReference) + *out = new(corev1.LocalObjectReference) **out = **in } + if in.OpsRequestOptions != nil { + in, out := &in.OpsRequestOptions, &out.OpsRequestOptions + *out = new(MongoDBOpsRequestOptions) + (*in).DeepCopyInto(*out) + } if in.Compute != nil { in, out := &in.Compute, &out.Compute *out = new(MongoDBComputeAutoscalerSpec) @@ -963,29 +1000,6 @@ func (in *MongoDBAutoscalerSpec) DeepCopy() *MongoDBAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MongoDBAutoscalerStatus) DeepCopyInto(out *MongoDBAutoscalerStatus) { - *out = *in - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBAutoscalerStatus. -func (in *MongoDBAutoscalerStatus) DeepCopy() *MongoDBAutoscalerStatus { - if in == nil { - return nil - } - out := new(MongoDBAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MongoDBComputeAutoscalerSpec) DeepCopyInto(out *MongoDBComputeAutoscalerSpec) { *out = *in @@ -1027,6 +1041,32 @@ func (in *MongoDBComputeAutoscalerSpec) DeepCopy() *MongoDBComputeAutoscalerSpec return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MongoDBOpsRequestOptions) DeepCopyInto(out *MongoDBOpsRequestOptions) { + *out = *in + if in.ReadinessCriteria != nil { + in, out := &in.ReadinessCriteria, &out.ReadinessCriteria + *out = new(opsv1alpha1.MongoDBReplicaReadinessCriteria) + **out = **in + } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(metav1.Duration) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MongoDBOpsRequestOptions. +func (in *MongoDBOpsRequestOptions) DeepCopy() *MongoDBOpsRequestOptions { + if in == nil { + return nil + } + out := new(MongoDBOpsRequestOptions) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MongoDBStorageAutoscalerSpec) DeepCopyInto(out *MongoDBStorageAutoscalerSpec) { *out = *in @@ -1184,45 +1224,6 @@ func (in *MySQLAutoscalerSpec) DeepCopy() *MySQLAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *MySQLAutoscalerStatus) DeepCopyInto(out *MySQLAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLAutoscalerStatus. -func (in *MySQLAutoscalerStatus) DeepCopy() *MySQLAutoscalerStatus { - if in == nil { - return nil - } - out := new(MySQLAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MySQLScalingPolicy) DeepCopyInto(out *MySQLScalingPolicy) { *out = *in @@ -1391,45 +1392,6 @@ func (in *PerconaXtraDBAutoscalerSpec) DeepCopy() *PerconaXtraDBAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PerconaXtraDBAutoscalerStatus) DeepCopyInto(out *PerconaXtraDBAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaXtraDBAutoscalerStatus. -func (in *PerconaXtraDBAutoscalerStatus) DeepCopy() *PerconaXtraDBAutoscalerStatus { - if in == nil { - return nil - } - out := new(PerconaXtraDBAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PerconaXtraDBScalingPolicy) DeepCopyInto(out *PerconaXtraDBScalingPolicy) { *out = *in @@ -1598,45 +1560,6 @@ func (in *PgBouncerAutoscalerSpec) DeepCopy() *PgBouncerAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PgBouncerAutoscalerStatus) DeepCopyInto(out *PgBouncerAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgBouncerAutoscalerStatus. -func (in *PgBouncerAutoscalerStatus) DeepCopy() *PgBouncerAutoscalerStatus { - if in == nil { - return nil - } - out := new(PgBouncerAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PgBouncerScalingPolicy) DeepCopyInto(out *PgBouncerScalingPolicy) { *out = *in @@ -1684,6 +1607,55 @@ func (in *PgBouncerScalingRules) DeepCopy() *PgBouncerScalingRules { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodResourcePolicy) DeepCopyInto(out *PodResourcePolicy) { + *out = *in + if in.ContainerPolicies != nil { + in, out := &in.ContainerPolicies, &out.ContainerPolicies + *out = make([]ContainerResourcePolicy, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodResourcePolicy. +func (in *PodResourcePolicy) DeepCopy() *PodResourcePolicy { + if in == nil { + return nil + } + out := new(PodResourcePolicy) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodUpdatePolicy) DeepCopyInto(out *PodUpdatePolicy) { + *out = *in + if in.UpdateMode != nil { + in, out := &in.UpdateMode, &out.UpdateMode + *out = new(UpdateMode) + **out = **in + } + if in.MinReplicas != nil { + in, out := &in.MinReplicas, &out.MinReplicas + *out = new(int32) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodUpdatePolicy. +func (in *PodUpdatePolicy) DeepCopy() *PodUpdatePolicy { + if in == nil { + return nil + } + out := new(PodUpdatePolicy) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PostgresAutoscaler) DeepCopyInto(out *PostgresAutoscaler) { *out = *in @@ -1805,45 +1777,6 @@ func (in *PostgresAutoscalerSpec) DeepCopy() *PostgresAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PostgresAutoscalerStatus) DeepCopyInto(out *PostgresAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresAutoscalerStatus. -func (in *PostgresAutoscalerStatus) DeepCopy() *PostgresAutoscalerStatus { - if in == nil { - return nil - } - out := new(PostgresAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PostgresScalingPolicy) DeepCopyInto(out *PostgresScalingPolicy) { *out = *in @@ -2012,45 +1945,6 @@ func (in *ProxySQLAutoscalerSpec) DeepCopy() *ProxySQLAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *ProxySQLAutoscalerStatus) DeepCopyInto(out *ProxySQLAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLAutoscalerStatus. -func (in *ProxySQLAutoscalerStatus) DeepCopy() *ProxySQLAutoscalerStatus { - if in == nil { - return nil - } - out := new(ProxySQLAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProxySQLScalingPolicy) DeepCopyInto(out *ProxySQLScalingPolicy) { *out = *in @@ -2098,6 +1992,73 @@ func (in *ProxySQLScalingRules) DeepCopy() *ProxySQLScalingRules { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecommendedContainerResources) DeepCopyInto(out *RecommendedContainerResources) { + *out = *in + if in.Target != nil { + in, out := &in.Target, &out.Target + *out = make(corev1.ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.LowerBound != nil { + in, out := &in.LowerBound, &out.LowerBound + *out = make(corev1.ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.UpperBound != nil { + in, out := &in.UpperBound, &out.UpperBound + *out = make(corev1.ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + if in.UncappedTarget != nil { + in, out := &in.UncappedTarget, &out.UncappedTarget + *out = make(corev1.ResourceList, len(*in)) + for key, val := range *in { + (*out)[key] = val.DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendedContainerResources. +func (in *RecommendedContainerResources) DeepCopy() *RecommendedContainerResources { + if in == nil { + return nil + } + out := new(RecommendedContainerResources) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *RecommendedPodResources) DeepCopyInto(out *RecommendedPodResources) { + *out = *in + if in.ContainerRecommendations != nil { + in, out := &in.ContainerRecommendations, &out.ContainerRecommendations + *out = make([]RecommendedContainerResources, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecommendedPodResources. +func (in *RecommendedPodResources) DeepCopy() *RecommendedPodResources { + if in == nil { + return nil + } + out := new(RecommendedPodResources) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RedisAutoscaler) DeepCopyInto(out *RedisAutoscaler) { *out = *in @@ -2219,45 +2180,6 @@ func (in *RedisAutoscalerSpec) DeepCopy() *RedisAutoscalerSpec { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *RedisAutoscalerStatus) DeepCopyInto(out *RedisAutoscalerStatus) { - *out = *in - if in.ObservedGeneration != nil { - in, out := &in.ObservedGeneration, &out.ObservedGeneration - *out = new(int64) - **out = **in - } - if in.LastScaleTime != nil { - in, out := &in.LastScaleTime, &out.LastScaleTime - *out = (*in).DeepCopy() - } - if in.CurrentMetrics != nil { - in, out := &in.CurrentMetrics, &out.CurrentMetrics - *out = make([]v2beta2.MetricStatus, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - if in.Conditions != nil { - in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1.Condition, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisAutoscalerStatus. -func (in *RedisAutoscalerStatus) DeepCopy() *RedisAutoscalerStatus { - if in == nil { - return nil - } - out := new(RedisAutoscalerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RedisScalingPolicy) DeepCopyInto(out *RedisScalingPolicy) { *out = *in @@ -2325,3 +2247,64 @@ func (in *StorageAutoscalerSpec) DeepCopy() *StorageAutoscalerSpec { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VPAStatus) DeepCopyInto(out *VPAStatus) { + *out = *in + if in.Recommendation != nil { + in, out := &in.Recommendation, &out.Recommendation + *out = new(RecommendedPodResources) + (*in).DeepCopyInto(*out) + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]VerticalPodAutopilotCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPAStatus. +func (in *VPAStatus) DeepCopy() *VPAStatus { + if in == nil { + return nil + } + out := new(VPAStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VerticalPodAutopilotCondition) DeepCopyInto(out *VerticalPodAutopilotCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerticalPodAutopilotCondition. +func (in *VerticalPodAutopilotCondition) DeepCopy() *VerticalPodAutopilotCondition { + if in == nil { + return nil + } + out := new(VerticalPodAutopilotCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VerticalPodAutopilotRecommenderSelector) DeepCopyInto(out *VerticalPodAutopilotRecommenderSelector) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerticalPodAutopilotRecommenderSelector. +func (in *VerticalPodAutopilotRecommenderSelector) DeepCopy() *VerticalPodAutopilotRecommenderSelector { + if in == nil { + return nil + } + out := new(VerticalPodAutopilotRecommenderSelector) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/elasticsearch_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/elasticsearch_version_types.go index ba6eb9870..3b2b5e9b7 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/elasticsearch_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/elasticsearch_version_types.go @@ -80,6 +80,8 @@ type ElasticsearchVersionSpec struct { // SecurityContext is for the additional security information for the Elasticsearch container // +optional SecurityContext ElasticsearchSecurityContext `json:"securityContext"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // ElasticsearchVersionDatabase is the Elasticsearch Database image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_helpers.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_helpers.go index 2edd4cb4e..e975e64d4 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_helpers.go @@ -56,12 +56,14 @@ func (m MariaDBVersion) ValidateSpecs() error { if m.Spec.Version == "" || m.Spec.DB.Image == "" || m.Spec.Exporter.Image == "" || - m.Spec.InitContainer.Image == "" { + m.Spec.InitContainer.Image == "" || + m.Spec.Coordinator.Image == "" { return fmt.Errorf(`atleast one of the following specs is not set for mariadbversion "%v": spec.version, spec.db.image, spec.exporter.image, -spec.initContainer.image.`, m.Name) +spec.initContainer.image, +spec.coordinator.image.`, m.Name) } return nil } diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_types.go index 2a5d3d1e4..3c473811f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mariadb_version_types.go @@ -69,6 +69,8 @@ type MariaDBVersionSpec struct { // Stash defines backup and restore task definitions. // +optional Stash appcat.StashAddonSpec `json:"stash,omitempty"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // MariaDBVersionDatabase is the mariadb image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mongodb_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mongodb_version_types.go index 2ee01be7e..3d8ec022e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mongodb_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mongodb_version_types.go @@ -71,6 +71,8 @@ type MongoDBVersionSpec struct { // Stash defines backup and restore task definitions. // +optional Stash appcat.StashAddonSpec `json:"stash,omitempty"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // MongoDBVersionDatabase is the MongoDB Database image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_helpers.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_helpers.go index e230f9d01..6c89bd62d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_helpers.go @@ -56,12 +56,14 @@ func (m MySQLVersion) ValidateSpecs() error { if m.Spec.Version == "" || m.Spec.DB.Image == "" || m.Spec.Exporter.Image == "" || - m.Spec.InitContainer.Image == "" { + m.Spec.InitContainer.Image == "" || + m.Spec.Coordinator.Image == "" { return fmt.Errorf(`atleast one of the following specs is not set for mysqlVersion "%v": spec.version, spec.db.image, spec.exporter.image, -spec.initContainer.image.`, m.Name) +spec.initContainer.image, +spec.coordinator.image.`, m.Name) } return nil } diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_types.go index 283936582..ae6534efc 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/mysql_version_types.go @@ -73,7 +73,7 @@ type MySQLVersionSpec struct { // PSP names PodSecurityPolicies MySQLVersionPodSecurityPolicy `json:"podSecurityPolicies"` // upgrade constraints - UpgradeConstraints MySQLUpgradeConstraints `json:"upgradeConstraints"` + UpgradeConstraints MySQLUpgradeConstraints `json:"upgradeConstraints,omitempty"` // Stash defines backup and restore task definitions. // +optional Stash appcat.StashAddonSpec `json:"stash,omitempty"` @@ -121,20 +121,20 @@ type MySQLVersionPodSecurityPolicy struct { } type MySQLUpgradeConstraints struct { - // List of all accepted versions for uprade request - Allowlist Allowlist `json:"allowlist,omitempty"` - // List of all rejected versions for uprade request - Denylist Denylist `json:"denylist,omitempty"` + // List of all accepted versions for upgrade request + Allowlist MySQLVersionAllowlist `json:"allowlist,omitempty"` + // List of all rejected versions for upgrade request + Denylist MySQLVersionDenylist `json:"denylist,omitempty"` } -type Allowlist struct { +type MySQLVersionAllowlist struct { // List of all accepted versions for upgrade request of a Standalone server. empty indicates all accepted Standalone []string `json:"standalone,omitempty"` // List of all accepted versions for upgrade request of a GroupReplication cluster. empty indicates all accepted GroupReplication []string `json:"groupReplication,omitempty"` } -type Denylist struct { +type MySQLVersionDenylist struct { // List of all rejected versions for upgrade request of a Standalone server Standalone []string `json:"standalone,omitempty"` // List of all rejected versions for upgrade request of a GroupReplication cluster diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/openapi_generated.go index ba6838516..4812ce84e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -419,8 +418,6 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/offshoot-api/api/v1.ServicePort": schema_kmodulesxyz_offshoot_api_api_v1_ServicePort(ref), "kmodules.xyz/offshoot-api/api/v1.ServiceSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ServiceTemplateSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceTemplateSpec(ref), - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.Allowlist": schema_apimachinery_apis_catalog_v1alpha1_Allowlist(ref), - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.Denylist": schema_apimachinery_apis_catalog_v1alpha1_Denylist(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchDashboardVersionDatabase": schema_apimachinery_apis_catalog_v1alpha1_ElasticsearchDashboardVersionDatabase(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchSecurityContext": schema_apimachinery_apis_catalog_v1alpha1_ElasticsearchSecurityContext(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersion": schema_apimachinery_apis_catalog_v1alpha1_ElasticsearchVersion(ref), @@ -459,8 +456,10 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionSpec": schema_apimachinery_apis_catalog_v1alpha1_MongoDBVersionSpec(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLUpgradeConstraints": schema_apimachinery_apis_catalog_v1alpha1_MySQLUpgradeConstraints(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersion": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersion(ref), + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionAllowlist": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionAllowlist(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionCoordinator": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionCoordinator(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionDatabase": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionDatabase(ref), + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionDenylist": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionDenylist(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionExporter": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionExporter(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionInitContainer": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionInitContainer(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionList": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionList(ref), @@ -469,6 +468,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionRouterInitContainer": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionRouterInitContainer(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionSpec": schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionSpec(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersion": schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersion(ref), + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionCoordinator": schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionCoordinator(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionDatabase": schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionDatabase(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionExporter": schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionExporter(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionInitContainer": schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionInitContainer(ref), @@ -505,6 +505,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionPodSecurityPolicy": schema_apimachinery_apis_catalog_v1alpha1_RedisVersionPodSecurityPolicy(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionSpec": schema_apimachinery_apis_catalog_v1alpha1_RedisVersionSpec(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ReplicationModeDetector": schema_apimachinery_apis_catalog_v1alpha1_ReplicationModeDetector(ref), + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints": schema_apimachinery_apis_catalog_v1alpha1_UpgradeConstraints(ref), } } @@ -17701,8 +17702,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20320,6 +20320,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20333,6 +20340,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20413,26 +20465,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20442,7 +20489,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -20677,90 +20724,6 @@ func schema_kmodulesxyz_offshoot_api_api_v1_ServiceTemplateSpec(ref common.Refer } } -func schema_apimachinery_apis_catalog_v1alpha1_Allowlist(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "standalone": { - SchemaProps: spec.SchemaProps{ - Description: "List of all accepted versions for upgrade request of a Standalone server. empty indicates all accepted", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "groupReplication": { - SchemaProps: spec.SchemaProps{ - Description: "List of all accepted versions for upgrade request of a GroupReplication cluster. empty indicates all accepted", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - }, - }, - }, - } -} - -func schema_apimachinery_apis_catalog_v1alpha1_Denylist(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "standalone": { - SchemaProps: spec.SchemaProps{ - Description: "List of all rejected versions for upgrade request of a Standalone server", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - "groupReplication": { - SchemaProps: spec.SchemaProps{ - Description: "List of all rejected versions for upgrade request of a GroupReplication cluster", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - }, - }, - }, - } -} - func schema_apimachinery_apis_catalog_v1alpha1_ElasticsearchDashboardVersionDatabase(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21103,12 +21066,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_ElasticsearchVersionSpec(ref comm Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchSecurityContext"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "authPlugin", "db", "exporter", "initContainer", "podSecurityPolicies"}, }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchDashboardVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchSecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionDashboardInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionPodSecurityPolicy"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchDashboardVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchSecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionDashboardInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ElasticsearchVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -21553,12 +21523,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_MariaDBVersionSpec(ref common.Ref Ref: ref("kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "db", "exporter", "initContainer", "podSecurityPolicies"}, }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionPodSecurityPolicy"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MariaDBVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -22010,12 +21987,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_MongoDBVersionSpec(ref common.Ref Ref: ref("kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "db", "exporter", "initContainer", "podSecurityPolicies", "replicationModeDetector"}, }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ReplicationModeDetector"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MongoDBVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ReplicationModeDetector", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -22027,23 +22011,23 @@ func schema_apimachinery_apis_catalog_v1alpha1_MySQLUpgradeConstraints(ref commo Properties: map[string]spec.Schema{ "allowlist": { SchemaProps: spec.SchemaProps{ - Description: "List of all accepted versions for uprade request", + Description: "List of all accepted versions for upgrade request", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.Allowlist"), + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionAllowlist"), }, }, "denylist": { SchemaProps: spec.SchemaProps{ - Description: "List of all rejected versions for uprade request", + Description: "List of all rejected versions for upgrade request", Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.Denylist"), + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionDenylist"), }, }, }, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.Allowlist", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.Denylist"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionAllowlist", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.MySQLVersionDenylist"}, } } @@ -22087,6 +22071,48 @@ func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersion(ref common.Reference } } +func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionAllowlist(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "standalone": { + SchemaProps: spec.SchemaProps{ + Description: "List of all accepted versions for upgrade request of a Standalone server. empty indicates all accepted", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "groupReplication": { + SchemaProps: spec.SchemaProps{ + Description: "List of all accepted versions for upgrade request of a GroupReplication cluster. empty indicates all accepted", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionCoordinator(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22129,6 +22155,48 @@ func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionDatabase(ref common.R } } +func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionDenylist(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "standalone": { + SchemaProps: spec.SchemaProps{ + Description: "List of all rejected versions for upgrade request of a Standalone server", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "groupReplication": { + SchemaProps: spec.SchemaProps{ + Description: "List of all rejected versions for upgrade request of a GroupReplication cluster", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionExporter(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22382,7 +22450,7 @@ func schema_apimachinery_apis_catalog_v1alpha1_MySQLVersionSpec(ref common.Refer }, }, }, - Required: []string{"version", "db", "exporter", "initContainer", "podSecurityPolicies", "upgradeConstraints"}, + Required: []string{"version", "db", "exporter", "initContainer", "podSecurityPolicies"}, }, }, Dependencies: []string{ @@ -22430,6 +22498,27 @@ func schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersion(ref common.R } } +func schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionCoordinator(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "PerconaXtraDBVersionCoordinator is the PerconaXtraDB Coordinator image", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "image": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"image"}, + }, + }, + } +} + func schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionDatabase(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22592,6 +22681,13 @@ func schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionSpec(ref comm Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionExporter"), }, }, + "coordinator": { + SchemaProps: spec.SchemaProps{ + Description: "Coordinator Image", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionCoordinator"), + }, + }, "deprecated": { SchemaProps: spec.SchemaProps{ Description: "Deprecated versions usable but regarded as obsolete and best avoided, typically due to having been superseded.", @@ -22620,12 +22716,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_PerconaXtraDBVersionSpec(ref comm Ref: ref("kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "db", "exporter", "initContainer", "podSecurityPolicies"}, }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionPodSecurityPolicy"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PerconaXtraDBVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -22824,12 +22927,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_PgBouncerVersionSpec(ref common.R Format: "", }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "pgBouncer", "exporter"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PgBouncerVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PgBouncerVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PgBouncerVersionInitContainer"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PgBouncerVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PgBouncerVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PgBouncerVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -22935,6 +23045,12 @@ func schema_apimachinery_apis_catalog_v1alpha1_PostgresVersionDatabase(ref commo Format: "", }, }, + "baseOS": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"image"}, }, @@ -23132,12 +23248,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_PostgresVersionSpec(ref common.Re Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresSecurityContext"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "db", "exporter", "podSecurityPolicies"}, }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresSecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionPodSecurityPolicy"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresSecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.PostgresVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -23336,12 +23459,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_ProxySQLVersionSpec(ref common.Re Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionPodSecurityPolicy"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "proxysql", "exporter", "podSecurityPolicies"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionProxysql"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ProxySQLVersionProxysql", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -23603,12 +23733,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_RedisVersionSpec(ref common.Refer Ref: ref("kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec"), }, }, + "upgradeConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "upgrade constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"), + }, + }, }, Required: []string{"version", "db", "exporter", "podSecurityPolicies"}, }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionPodSecurityPolicy"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionCoordinator", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RedisVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpgradeConstraints"}, } } @@ -23632,3 +23769,46 @@ func schema_apimachinery_apis_catalog_v1alpha1_ReplicationModeDetector(ref commo }, } } + +func schema_apimachinery_apis_catalog_v1alpha1_UpgradeConstraints(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UpgradeConstraints specifies the constraints that need to be considered during version upgrade", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "allowlist": { + SchemaProps: spec.SchemaProps{ + Description: "List of all accepted versions for upgrade request. An empty list indicates all versions are accepted except the denylist.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "denylist": { + SchemaProps: spec.SchemaProps{ + Description: "List of all rejected versions for upgrade request. An empty list indicates no version is rejected.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + } +} diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_helpers.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_helpers.go index 7115ed84c..dded48a01 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_helpers.go @@ -56,12 +56,14 @@ func (p PerconaXtraDBVersion) ValidateSpecs() error { if p.Spec.Version == "" || p.Spec.DB.Image == "" || p.Spec.Exporter.Image == "" || - p.Spec.InitContainer.Image == "" { + p.Spec.InitContainer.Image == "" || + p.Spec.Coordinator.Image == "" { return fmt.Errorf(`atleast one of the following specs is not set for perconaxtradbversion "%v": spec.version, spec.db.image, spec.exporter.image, -spec.initContainer.image.`, p.Name) +spec.initContainer.image, +spec.coordinator.image.`, p.Name) } return nil } diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_types.go index 2783a5b3b..7f5dd7b77 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/perconaxtradb_version_types.go @@ -56,6 +56,8 @@ type PerconaXtraDBVersionSpec struct { DB PerconaXtraDBVersionDatabase `json:"db"` // Exporter Image Exporter PerconaXtraDBVersionExporter `json:"exporter"` + // Coordinator Image + Coordinator PerconaXtraDBVersionCoordinator `json:"coordinator,omitempty"` // Deprecated versions usable but regarded as obsolete and best avoided, typically due to having been superseded. // +optional Deprecated bool `json:"deprecated,omitempty"` @@ -67,6 +69,8 @@ type PerconaXtraDBVersionSpec struct { // Stash defines backup and restore task definitions. // +optional Stash appcat.StashAddonSpec `json:"stash,omitempty"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // PerconaXtraDBVersionDatabase is the perconaxtradb image @@ -84,6 +88,11 @@ type PerconaXtraDBVersionInitContainer struct { Image string `json:"image"` } +// PerconaXtraDBVersionCoordinator is the PerconaXtraDB Coordinator image +type PerconaXtraDBVersionCoordinator struct { + Image string `json:"image"` +} + // PerconaXtraDBVersionPodSecurityPolicy is the PerconaXtraDB pod security policies type PerconaXtraDBVersionPodSecurityPolicy struct { DatabasePolicyName string `json:"databasePolicyName"` diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/pgbouncer_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/pgbouncer_version_types.go index 274802203..95890bdf7 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/pgbouncer_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/pgbouncer_version_types.go @@ -60,6 +60,8 @@ type PgBouncerVersionSpec struct { // Deprecated versions usable but regarded as obsolete and best avoided, typically due to having been superseded. // +optional Deprecated bool `json:"deprecated,omitempty"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // PgBouncerVersionInitContainer is the PgBouncer init container image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/postgres_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/postgres_version_types.go index 5db1487f9..8a3756d9a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/postgres_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/postgres_version_types.go @@ -74,6 +74,8 @@ type PostgresVersionSpec struct { // SecurityContext is for the additional config for postgres DB container // +optional SecurityContext PostgresSecurityContext `json:"securityContext"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // PostgresVersionInitContainer is the Postgres init container image @@ -83,7 +85,8 @@ type PostgresVersionInitContainer struct { // PostgresVersionDatabase is the Postgres Database image type PostgresVersionDatabase struct { - Image string `json:"image"` + Image string `json:"image"` + BaseOS string `json:"baseOS,omitempty"` } // PostgresVersionCoordinator is the Postgres leader elector image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/proxysql_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/proxysql_version_types.go index 49f511f0e..e523d2b08 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/proxysql_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/proxysql_version_types.go @@ -57,6 +57,8 @@ type ProxySQLVersionSpec struct { Deprecated bool `json:"deprecated,omitempty"` // PSP names PodSecurityPolicies ProxySQLVersionPodSecurityPolicy `json:"podSecurityPolicies"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // ProxySQLVersionProxysql is the proxysql image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/redis_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/redis_version_types.go index 5b06893e5..044e3172d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/redis_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/redis_version_types.go @@ -68,6 +68,8 @@ type RedisVersionSpec struct { // Stash defines backup and restore task definitions. // +optional Stash appcat.StashAddonSpec `json:"stash,omitempty"` + // upgrade constraints + UpgradeConstraints UpgradeConstraints `json:"upgradeConstraints,omitempty"` } // RedisVersionInitContainer is the Redis init container image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/types.go index b6442365e..8d68d8521 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/types.go @@ -20,3 +20,13 @@ package v1alpha1 type ReplicationModeDetector struct { Image string `json:"image"` } + +// UpgradeConstraints specifies the constraints that need to be considered during version upgrade +type UpgradeConstraints struct { + // List of all accepted versions for upgrade request. + // An empty list indicates all versions are accepted except the denylist. + Allowlist []string `json:"allowlist,omitempty"` + // List of all rejected versions for upgrade request. + // An empty list indicates no version is rejected. + Denylist []string `json:"denylist,omitempty"` +} diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/zz_generated.deepcopy.go index d0a3d4a55..61343fbb2 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/zz_generated.deepcopy.go @@ -25,58 +25,6 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Allowlist) DeepCopyInto(out *Allowlist) { - *out = *in - if in.Standalone != nil { - in, out := &in.Standalone, &out.Standalone - *out = make([]string, len(*in)) - copy(*out, *in) - } - if in.GroupReplication != nil { - in, out := &in.GroupReplication, &out.GroupReplication - *out = make([]string, len(*in)) - copy(*out, *in) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Allowlist. -func (in *Allowlist) DeepCopy() *Allowlist { - if in == nil { - return nil - } - out := new(Allowlist) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *Denylist) DeepCopyInto(out *Denylist) { - *out = *in - if in.Standalone != nil { - in, out := &in.Standalone, &out.Standalone - *out = make([]string, len(*in)) - copy(*out, *in) - } - if in.GroupReplication != nil { - in, out := &in.GroupReplication, &out.GroupReplication - *out = make([]string, len(*in)) - copy(*out, *in) - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Denylist. -func (in *Denylist) DeepCopy() *Denylist { - if in == nil { - return nil - } - out := new(Denylist) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ElasticsearchDashboardVersionDatabase) DeepCopyInto(out *ElasticsearchDashboardVersionDatabase) { *out = *in @@ -265,6 +213,7 @@ func (in *ElasticsearchVersionSpec) DeepCopyInto(out *ElasticsearchVersionSpec) out.PodSecurityPolicies = in.PodSecurityPolicies in.Stash.DeepCopyInto(&out.Stash) in.SecurityContext.DeepCopyInto(&out.SecurityContext) + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -538,6 +487,7 @@ func (in *MariaDBVersionSpec) DeepCopyInto(out *MariaDBVersionSpec) { out.InitContainer = in.InitContainer out.PodSecurityPolicies = in.PodSecurityPolicies in.Stash.DeepCopyInto(&out.Stash) + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -811,6 +761,7 @@ func (in *MongoDBVersionSpec) DeepCopyInto(out *MongoDBVersionSpec) { out.PodSecurityPolicies = in.PodSecurityPolicies out.ReplicationModeDetector = in.ReplicationModeDetector in.Stash.DeepCopyInto(&out.Stash) + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -869,6 +820,32 @@ func (in *MySQLVersion) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLVersionAllowlist) DeepCopyInto(out *MySQLVersionAllowlist) { + *out = *in + if in.Standalone != nil { + in, out := &in.Standalone, &out.Standalone + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupReplication != nil { + in, out := &in.GroupReplication, &out.GroupReplication + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLVersionAllowlist. +func (in *MySQLVersionAllowlist) DeepCopy() *MySQLVersionAllowlist { + if in == nil { + return nil + } + out := new(MySQLVersionAllowlist) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MySQLVersionCoordinator) DeepCopyInto(out *MySQLVersionCoordinator) { *out = *in @@ -901,6 +878,32 @@ func (in *MySQLVersionDatabase) DeepCopy() *MySQLVersionDatabase { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLVersionDenylist) DeepCopyInto(out *MySQLVersionDenylist) { + *out = *in + if in.Standalone != nil { + in, out := &in.Standalone, &out.Standalone + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.GroupReplication != nil { + in, out := &in.GroupReplication, &out.GroupReplication + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLVersionDenylist. +func (in *MySQLVersionDenylist) DeepCopy() *MySQLVersionDenylist { + if in == nil { + return nil + } + out := new(MySQLVersionDenylist) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MySQLVersionExporter) DeepCopyInto(out *MySQLVersionExporter) { *out = *in @@ -1067,6 +1070,22 @@ func (in *PerconaXtraDBVersion) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PerconaXtraDBVersionCoordinator) DeepCopyInto(out *PerconaXtraDBVersionCoordinator) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PerconaXtraDBVersionCoordinator. +func (in *PerconaXtraDBVersionCoordinator) DeepCopy() *PerconaXtraDBVersionCoordinator { + if in == nil { + return nil + } + out := new(PerconaXtraDBVersionCoordinator) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PerconaXtraDBVersionDatabase) DeepCopyInto(out *PerconaXtraDBVersionDatabase) { *out = *in @@ -1169,9 +1188,11 @@ func (in *PerconaXtraDBVersionSpec) DeepCopyInto(out *PerconaXtraDBVersionSpec) *out = *in out.DB = in.DB out.Exporter = in.Exporter + out.Coordinator = in.Coordinator out.InitContainer = in.InitContainer out.PodSecurityPolicies = in.PodSecurityPolicies in.Stash.DeepCopyInto(&out.Stash) + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -1190,7 +1211,7 @@ func (in *PgBouncerVersion) DeepCopyInto(out *PgBouncerVersion) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec + in.Spec.DeepCopyInto(&out.Spec) return } @@ -1299,6 +1320,7 @@ func (in *PgBouncerVersionSpec) DeepCopyInto(out *PgBouncerVersionSpec) { out.InitContainer = in.InitContainer out.PgBouncer = in.PgBouncer out.Exporter = in.Exporter + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -1483,6 +1505,7 @@ func (in *PostgresVersionSpec) DeepCopyInto(out *PostgresVersionSpec) { out.PodSecurityPolicies = in.PodSecurityPolicies in.Stash.DeepCopyInto(&out.Stash) in.SecurityContext.DeepCopyInto(&out.SecurityContext) + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -1501,7 +1524,7 @@ func (in *ProxySQLVersion) DeepCopyInto(out *ProxySQLVersion) { *out = *in out.TypeMeta = in.TypeMeta in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec + in.Spec.DeepCopyInto(&out.Spec) return } @@ -1610,6 +1633,7 @@ func (in *ProxySQLVersionSpec) DeepCopyInto(out *ProxySQLVersionSpec) { out.Proxysql = in.Proxysql out.Exporter = in.Exporter out.PodSecurityPolicies = in.PodSecurityPolicies + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -1772,6 +1796,7 @@ func (in *RedisVersionSpec) DeepCopyInto(out *RedisVersionSpec) { out.Coordinator = in.Coordinator out.PodSecurityPolicies = in.PodSecurityPolicies in.Stash.DeepCopyInto(&out.Stash) + in.UpgradeConstraints.DeepCopyInto(&out.UpgradeConstraints) return } @@ -1800,3 +1825,29 @@ func (in *ReplicationModeDetector) DeepCopy() *ReplicationModeDetector { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpgradeConstraints) DeepCopyInto(out *UpgradeConstraints) { + *out = *in + if in.Allowlist != nil { + in, out := &in.Allowlist, &out.Allowlist + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Denylist != nil { + in, out := &in.Denylist, &out.Denylist + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeConstraints. +func (in *UpgradeConstraints) DeepCopy() *UpgradeConstraints { + if in == nil { + return nil + } + out := new(UpgradeConstraints) + in.DeepCopyInto(out) + return out +} diff --git a/vendor/kubedb.dev/apimachinery/apis/config/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/config/v1alpha1/openapi_generated.go index 061cd9e7f..db1d5f64e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/config/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/config/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -17618,8 +17617,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20237,6 +20235,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20250,6 +20255,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20330,26 +20380,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20359,7 +20404,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/vendor/kubedb.dev/apimachinery/apis/dashboard/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/dashboard/v1alpha1/openapi_generated.go index c8d4da888..0b0127fae 100644 --- a/vendor/kubedb.dev/apimachinery/apis/dashboard/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/dashboard/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -17619,8 +17618,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20238,6 +20236,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20251,6 +20256,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20331,26 +20381,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20360,7 +20405,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha1/openapi_generated.go index d33d57847..4cc4d1c24 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -17677,8 +17676,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20296,6 +20294,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20309,6 +20314,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20389,26 +20439,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20418,7 +20463,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go index cc87b4345..32db01ed0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/constants.go @@ -54,6 +54,8 @@ const ( DBTLSVolume = "tls-volume" DBExporterTLSVolume = "exporter-tls-volume" + CACert = "ca.crt" + // =========================== Database key Constants ============================ PostgresKey = ResourceSingularPostgres + "." + kubedb.GroupName ElasticsearchKey = ResourceSingularElasticsearch + "." + kubedb.GroupName @@ -81,6 +83,7 @@ const ( ElasticsearchCustomConfigDir = "/elasticsearch/custom-config" ElasticsearchDataDir = "/usr/share/elasticsearch/data" ElasticsearchOpenSearchDataDir = "/usr/share/opensearch/data" + ElasticsearchTempDir = "/tmp" ElasticsearchOpendistroSecurityConfigDir = "/usr/share/elasticsearch/plugins/opendistro_security/securityconfig" ElasticsearchOpenSearchSecurityConfigDir = "/usr/share/opensearch/plugins/opensearch-security/securityconfig" ElasticsearchSearchGuardSecurityConfigDir = "/usr/share/elasticsearch/plugins/search-guard-%v/sgconfig" @@ -101,6 +104,13 @@ const ( ElasticsearchOpendistroInternalUserFileName = "internal_users.yml" ElasticsearchJavaOptsEnv = "ES_JAVA_OPTS" ElasticsearchOpenSearchJavaOptsEnv = "OPENSEARCH_JAVA_OPTS" + ElasticsearchVolumeConfig = "esconfig" + ElasticsearchVolumeTempConfig = "temp-config" + ElasticsearchVolumeSecurityConfig = "security-config" + ElasticsearchVolumeSecureSettings = "secure-settings" + ElasticsearchVolumeCustomConfig = "custom-config" + ElasticsearchVolumeData = "data" + ElasticsearchVolumeTemp = "temp" // Ref: // - https://www.elastic.co/guide/en/elasticsearch/reference/7.6/heap-size.html#heap-size @@ -184,8 +194,13 @@ const ( MySQLDatabasePort = 3306 MySQLRouterReadWritePort = 6446 MySQLRouterReadOnlyPort = 6447 - MySQLGroupComPort = 33060 - MySQLMaxGroupMembers = 9 + + MySQLCoordinatorClientPort = 2379 + MySQLCoordinatorPort = 2380 + MySQLCoordinatorStatus = "Coordinator/Status" + + MySQLGroupComPort = 33060 + MySQLMaxGroupMembers = 9 // The recommended MySQL server version for group replication (GR) MySQLGRRecommendedVersion = "8.0.23" MySQLDefaultGroupSize = 3 @@ -199,8 +214,12 @@ const ( MySQLTLSConfigFalse = "false" MySQLTLSConfigPreferred = "preferred" - MySQLRouterContainerName = "mysql-router" - MySQLCoordinatorContainerName = "mysql-coordinator" + MySQLContainerName = "mysql" + MySQLRouterContainerName = "mysql-router" + MySQLRouterInitContainerName = "mysql-router-init" + MySQLCoordinatorContainerName = "mysql-coordinator" + MySQLInitContainerName = "mysql-init" + MySQLRouterInitScriptDirectoryName = "init-scripts" MySQLRouterInitScriptDirectoryPath = "/scripts" MySQLRouterConfigDirectoryName = "router-config-secret" @@ -213,36 +232,90 @@ const ( MySQLComponentDB = "database" MySQLComponentRouter = "router" + // mysql volume and volume Mounts + + MySQLVolumeNameTemp = "tmp" + MySQLVolumeMountPathTemp = "/tmp" + + MySQLVolumeNameData = "data" + MySQLVolumeMountPathData = "/var/lib/mysql" + + MySQLVolumeNameInitialScript = "initial-script" + MySQLVolumeMountPathInitialScript = "/docker-entrypoint-initdb.d" + + MySQLVolumeNameInitScript = "init-scripts" + MySQLVolumeMountPathInitScript = "/scripts" + + MySQLVolumeNameCustomConfig = "custom-config" + MySQLVolumeMountPathCustomConfig = "/etc/mysql/conf.d" + + MySQLVolumeNameTLS = "tls-volume" + MySQLVolumeMountPathTLS = "/etc/mysql/certs" + + MySQLVolumeNameExporterTLS = "exporter-tls-volume" + MySQLVolumeMountPathExporterTLS = "/etc/mysql/certs" + + MySQLVolumeNameSourceCA = "source-ca" + MySQLVolumeMountPathSourceCA = "/etc/mysql/server/certs" + // =========================== PerconaXtraDB Constants ============================ - PerconaXtraDBClusterRecommendedVersion = "5.7" - PerconaXtraDBMaxClusterNameLength = 32 - PerconaXtraDBStandaloneReplicas = 1 - PerconaXtraDBDefaultClusterSize = 3 - PerconaXtraDBDataMountPath = "/var/lib/mysql" - PerconaXtraDBDataLostFoundPath = PerconaXtraDBDataMountPath + "lost+found" - PerconaXtraDBInitDBMountPath = "/docker-entrypoint-initdb.d" - PerconaXtraDBCustomConfigMountPath = "/etc/percona-server.conf.d/" - PerconaXtraDBClusterCustomConfigMountPath = "/etc/percona-xtradb-cluster.conf.d/" + PerconaXtraDBClusterRecommendedVersion = "5.7" + PerconaXtraDBMaxClusterNameLength = 32 + PerconaXtraDBStandaloneReplicas = 1 + PerconaXtraDBDefaultClusterSize = 3 + PerconaXtraDBDataMountPath = "/var/lib/mysql" + PerconaXtraDBDataLostFoundPath = PerconaXtraDBDataMountPath + "/lost+found" + PerconaXtraDBInitDBVolumeName = "initial-script" + PerconaXtraDBInitDBMountPath = "/docker-entrypoint-initdb.d" + PerconaXtraDBCustomConfigMountPath = "/etc/percona-server.conf.d/" + PerconaXtraDBClusterCustomConfigMountPath = "/etc/mysql/custom.conf.d/" + PerconaXtraDBCustomConfigVolumeName = "custom-config" + PerconaXtraDBTLSConfigCustom = "custom" + PerconaXtraDBInitContainerName = "px-init" + PerconaXtraDBCoordinatorContainerName = "px-coordinator" + PerconaXtraDBRunScriptVolumeName = "run-script" + PerconaXtraDBRunScriptVolumeMountPath = "/run-script" + PerconaXtraDBInitScriptVolumeName = "init-scripts" + PerconaXtraDBInitScriptVolumeMountPath = "/scripts" + PerconaXtraDBContainerName = ResourceSingularPerconaXtraDB + PerconaXtraDBCertMountPath = "/etc/mysql/certs" + PerconaXtraDBExporterConfigFileName = "exporter.cnf" + PerconaXtraDBGaleraClusterPrimaryComponent = "Primary" + PerconaXtraDBServerTLSVolumeName = "tls-server-config" + PerconaXtraDBClientTLSVolumeName = "tls-client-config" + PerconaXtraDBExporterTLSVolumeName = "tls-metrics-exporter-config" + PerconaXtraDBMetricsExporterTLSVolumeName = "metrics-exporter-config" + PerconaXtraDBMetricsExporterConfigPath = "/etc/mysql/config/exporter" + PerconaXtraDBDataVolumeName = "data" // =========================== MariaDB Constants ============================ - MariaDBMaxClusterNameLength = 32 - MariaDBStandaloneReplicas = 1 - MariaDBDefaultClusterSize = 3 - MariaDBDataMountPath = "/var/lib/mysql" - MariaDBDataLostFoundPath = MariaDBDataMountPath + "lost+found" - MariaDBInitDBVolumeName = "initial-script" - MariaDBInitDBMountPath = "/docker-entrypoint-initdb.d" - MariaDBCustomConfigMountPath = "/etc/mysql/conf.d/" - MariaDBClusterCustomConfigMountPath = "/etc/mysql/custom.conf.d/" - MariaDBCustomConfigVolumeName = "custom-config" - MariaDBTLSConfigCustom = "custom" - MariaDBInitContainerName = "mariadb-init" - MariaDBCoordinatorContainerName = "md-coordinator" - MariaDBRunScriptVolumeName = "run-script" - MariaDBRunScriptVolumeMountPath = "/run-script" - MariaDBInitScriptVolumeName = "init-scripts" - MariaDBInitScriptVolumeMountPath = "/scripts" - MariaDBContainerName = ResourceSingularMariaDB + MariaDBMaxClusterNameLength = 32 + MariaDBStandaloneReplicas = 1 + MariaDBDefaultClusterSize = 3 + MariaDBDataMountPath = "/var/lib/mysql" + MariaDBDataLostFoundPath = MariaDBDataMountPath + "/lost+found" + MariaDBInitDBVolumeName = "initial-script" + MariaDBInitDBMountPath = "/docker-entrypoint-initdb.d" + MariaDBCustomConfigMountPath = "/etc/mysql/conf.d/" + MariaDBClusterCustomConfigMountPath = "/etc/mysql/custom.conf.d/" + MariaDBCustomConfigVolumeName = "custom-config" + MariaDBTLSConfigCustom = "custom" + MariaDBInitContainerName = "mariadb-init" + MariaDBCoordinatorContainerName = "md-coordinator" + MariaDBRunScriptVolumeName = "run-script" + MariaDBRunScriptVolumeMountPath = "/run-script" + MariaDBInitScriptVolumeName = "init-scripts" + MariaDBInitScriptVolumeMountPath = "/scripts" + MariaDBContainerName = ResourceSingularMariaDB + MariaDBCertMountPath = "/etc/mysql/certs" + MariaDBExporterConfigFileName = "exporter.cnf" + MariaDBGaleraClusterPrimaryComponent = "Primary" + MariaDBServerTLSVolumeName = "tls-server-config" + MariaDBClientTLSVolumeName = "tls-client-config" + MariaDBExporterTLSVolumeName = "tls-metrics-exporter-config" + MariaDBMetricsExporterTLSVolumeName = "metrics-exporter-config" + MariaDBMetricsExporterConfigPath = "/etc/mysql/config/exporter" + MariaDBDataVolumeName = "data" // =========================== PostgreSQL Constants ============================ PostgresDatabasePortName = "db" @@ -263,8 +336,22 @@ const ( RaftMetricsExporterPort = 23790 RaftMetricsExporterPortName = "raft-metrics" - PostgresRunScriptMountPath = "/run_scripts" - PostgresRunScriptVolumeName = "scripts" + PostgresInitVolumeName = "initial-script" + PostgresInitDir = "/var/initdb" + PostgresSharedMemoryVolumeName = "shared-memory" + PostgresSharedMemoryDir = "/dev/shm" + PostgresDataVolumeName = "data" + PostgresDataDir = "/var/pv" + PostgresCustomConfigVolumeName = "custom-config" + PostgresCustomConfigDir = "/etc/config" + PostgresRunScriptsVolumeName = "run-scripts" + PostgresRunScriptsDir = "/run_scripts" + PostgresRoleScriptsVolumeName = "role-scripts" + PostgresRoleScriptsDir = "/role_scripts" + PostgresSharedScriptsVolumeName = "scripts" + PostgresSharedScriptsDir = "/scripts" + PostgresSharedTlsVolumeName = "certs" + PostgresSharedTlsVolumeMountPath = "/tls/certs" PostgresKeyFileSecretSuffix = "key" PostgresPEMSecretSuffix = "pem" @@ -279,6 +366,8 @@ const ( // this is useful when we have set a node as primary and you don't want other node rather then this node to become primary. PostgresPgCoordinatorStatusResumeNonTransferable = "NonTransferableResume" + SharedBuffersGbAsByte = 1024 * 1024 * 1024 + SharedBuffersMbAsByte = 1024 * 1024 // =========================== ProxySQL Constants ============================ LabelProxySQLName = ProxySQLKey + "/name" LabelProxySQLLoadBalance = ProxySQLKey + "/load-balance" @@ -300,17 +389,26 @@ const ( // =========================== Redis Constants ============================ RedisConfigKey = "redis.conf" // RedisConfigKey is going to create for the customize redis configuration // DefaultConfigKey is going to create for the default redis configuration + RedisContainerName = ResourceSingularRedis DefaultConfigKey = "default.conf" RedisShardKey = RedisKey + "/shard" RedisDatabasePortName = "db" RedisPrimaryServicePortName = "primary" RedisDatabasePort = 6379 + RedisSentinelPort = 26379 RedisGossipPortName = "gossip" RedisGossipPort = 16379 RedisSentinelPortName = "sentinel" - RedisScriptVolumeName = "script-vol" - RedisScriptVolumePath = "/scripts" - RedisSentinelPort = 26379 + + RedisScriptVolumeName = "script-vol" + RedisScriptVolumePath = "/scripts" + RedisDataVolumeName = "data" + RedisDataVolumePath = "/data" + RedisTLSVolumeName = "tls-volume" + RedisExporterTLSVolumeName = "exporter-tls-volume" + RedisTLSVolumePath = "/certs" + RedisConfigVolumeName = "redis-config" + RedisConfigVolumePath = "/usr/local/etc/redis/" RedisKeyFileSecretSuffix = "key" RedisPEMSecretSuffix = "pem" @@ -360,9 +458,14 @@ const ( DatabaseHealthCheckPaused = "HealthCheckPaused" // used for Databases whose internal user credentials are synced InternalUsersSynced = "InternalUsersSynced" + // user for databases that have read access + DatabaseReadAccess = "DatabaseReadAccess" + // user for databases that have write access + DatabaseWriteAccess = "DatabaseWriteAccess" // Condition reasons DataRestoreStartedByExternalInitializer = "DataRestoreStartedByExternalInitializer" + DataRestoreInterrupted = "DataRestoreInterrupted" DatabaseSuccessfullyRestored = "SuccessfullyDataRestored" FailedToRestoreData = "FailedToRestoreData" AllReplicasAreReady = "AllReplicasReady" @@ -374,6 +477,10 @@ const ( DatabaseProvisioningStartedSuccessfully = "DatabaseProvisioningStartedSuccessfully" DatabaseSuccessfullyProvisioned = "DatabaseSuccessfullyProvisioned" DatabaseHaltedSuccessfully = "DatabaseHaltedSuccessfully" + DatabaseReadAccessCheckSucceeded = "DatabaseReadAccessCheckSucceeded" + DatabaseWriteAccessCheckSucceeded = "DatabaseWriteAccessCheckSucceeded" + DatabaseReadAccessCheckFailed = "DatabaseReadAccessCheckFailed" + DatabaseWriteAccessCheckFailed = "DatabaseReadAccessCheckFailed" InternalUsersCredentialSyncFailed = "InternalUsersCredentialsSyncFailed" InternalUsersCredentialsSyncedSuccessfully = "InternalUsersCredentialsSyncedSuccessfully" ) @@ -403,4 +510,16 @@ var ( core.ResourceMemory: resource.MustParse("256Mi"), }, } + + // DefaultResourcesElasticSearch must be used for elasticsearch + // to avoid OOMKILLED while deploying ES V8 + DefaultResourcesElasticSearch = core.ResourceRequirements{ + Requests: core.ResourceList{ + core.ResourceCPU: resource.MustParse(".500"), + core.ResourceMemory: resource.MustParse("1.5Gi"), + }, + Limits: core.ResourceList{ + core.ResourceMemory: resource.MustParse("1.5Gi"), + }, + } ) 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 1ea0e2c13..e2a49957f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_helpers.go @@ -392,7 +392,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.Ingest.Suffix == "" { e.Spec.Topology.Ingest.Suffix = string(ElasticsearchNodeRoleTypeIngest) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.Ingest.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.Ingest.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.Ingest.Replicas == nil { e.Spec.Topology.Ingest.Replicas = pointer.Int32P(1) } @@ -402,7 +402,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.Master.Suffix == "" { e.Spec.Topology.Master.Suffix = string(ElasticsearchNodeRoleTypeMaster) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.Master.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.Master.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.Master.Replicas == nil { e.Spec.Topology.Master.Replicas = pointer.Int32P(1) } @@ -414,7 +414,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.Data.Suffix == "" { e.Spec.Topology.Data.Suffix = string(ElasticsearchNodeRoleTypeData) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.Data.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.Data.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.Data.Replicas == nil { e.Spec.Topology.Data.Replicas = pointer.Int32P(1) } @@ -426,7 +426,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.DataHot.Suffix == "" { e.Spec.Topology.DataHot.Suffix = string(ElasticsearchNodeRoleTypeDataHot) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.DataHot.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.DataHot.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.DataHot.Replicas == nil { e.Spec.Topology.DataHot.Replicas = pointer.Int32P(1) } @@ -438,7 +438,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.DataWarm.Suffix == "" { e.Spec.Topology.DataWarm.Suffix = string(ElasticsearchNodeRoleTypeDataWarm) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.DataWarm.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.DataWarm.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.DataWarm.Replicas == nil { e.Spec.Topology.DataWarm.Replicas = pointer.Int32P(1) } @@ -450,7 +450,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.DataCold.Suffix == "" { e.Spec.Topology.DataCold.Suffix = string(ElasticsearchNodeRoleTypeDataCold) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.DataCold.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.DataCold.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.DataCold.Replicas == nil { e.Spec.Topology.DataCold.Replicas = pointer.Int32P(1) } @@ -462,7 +462,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.DataFrozen.Suffix == "" { e.Spec.Topology.DataFrozen.Suffix = string(ElasticsearchNodeRoleTypeDataFrozen) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.DataFrozen.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.DataFrozen.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.DataFrozen.Replicas == nil { e.Spec.Topology.DataFrozen.Replicas = pointer.Int32P(1) } @@ -474,7 +474,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.DataContent.Suffix == "" { e.Spec.Topology.DataContent.Suffix = string(ElasticsearchNodeRoleTypeDataContent) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.DataContent.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.DataContent.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.DataContent.Replicas == nil { e.Spec.Topology.DataContent.Replicas = pointer.Int32P(1) } @@ -486,7 +486,7 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.ML.Suffix == "" { e.Spec.Topology.ML.Suffix = string(ElasticsearchNodeRoleTypeML) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.ML.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.ML.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.ML.Replicas == nil { e.Spec.Topology.ML.Replicas = pointer.Int32P(1) } @@ -498,14 +498,14 @@ func (e *Elasticsearch) SetDefaults(esVersion *catalog.ElasticsearchVersion, top if e.Spec.Topology.Transform.Suffix == "" { e.Spec.Topology.Transform.Suffix = string(ElasticsearchNodeRoleTypeTransform) } - apis.SetDefaultResourceLimits(&e.Spec.Topology.Transform.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.Topology.Transform.Resources, DefaultResourcesElasticSearch) if e.Spec.Topology.Transform.Replicas == nil { e.Spec.Topology.Transform.Replicas = pointer.Int32P(1) } } } else { - apis.SetDefaultResourceLimits(&e.Spec.PodTemplate.Spec.Resources, DefaultResources) + apis.SetDefaultResourceLimits(&e.Spec.PodTemplate.Spec.Resources, DefaultResourcesElasticSearch) if e.Spec.Replicas == nil { e.Spec.Replicas = pointer.Int32P(1) } @@ -828,6 +828,18 @@ func (e *Elasticsearch) SetTLSDefaults(esVersion *catalog.ElasticsearchVersion) e.Spec.TLS = tlsConfig } +func (e *Elasticsearch) SetHealthCheckerDefaults() { + if e.Spec.HealthCheck.PeriodSeconds == nil { + e.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if e.Spec.HealthCheck.TimeoutSeconds == nil { + e.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if e.Spec.HealthCheck.FailureThreshold == nil { + e.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (e *Elasticsearch) GetMatchExpressions() []metav1.LabelSelectorRequirement { if e.Spec.Topology == nil { return nil 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 4af243090..743eb2c2a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/elasticsearch_types.go @@ -52,6 +52,10 @@ type Elasticsearch struct { } type ElasticsearchSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Elasticsearch to be deployed. Version string `json:"version"` @@ -166,6 +170,9 @@ type ElasticsearchSpec struct { // +optional // +kubebuilder:default:=50 HeapSizePercentage *int32 `json:"heapSizePercentage,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck"` } type ElasticsearchClusterTopology struct { @@ -369,6 +376,7 @@ type ElasticsearchList struct { type ElasticsearchNodeRoleType string const ( + ElasticsearchNodeRoleTypeCombined ElasticsearchNodeRoleType = "combined" ElasticsearchNodeRoleTypeMaster ElasticsearchNodeRoleType = "master" ElasticsearchNodeRoleTypeData ElasticsearchNodeRoleType = "data" ElasticsearchNodeRoleTypeDataContent ElasticsearchNodeRoleType = "data-content" 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 2c3b6c36e..b41ba492d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_helpers.go @@ -18,6 +18,7 @@ package v1alpha2 import ( "fmt" + "path/filepath" "kubedb.dev/apimachinery/apis" "kubedb.dev/apimachinery/apis/kubedb" @@ -200,6 +201,7 @@ func (m *MariaDB) SetDefaults(topology *core_util.Topology) { m.Spec.Monitor.SetDefaults() m.setDefaultAffinity(&m.Spec.PodTemplate, m.OffshootSelectors(), topology) m.SetTLSDefaults() + m.SetHealthCheckerDefaults() apis.SetDefaultResourceLimits(&m.Spec.PodTemplate.Spec.Resources, DefaultResources) } @@ -243,13 +245,25 @@ func (m *MariaDB) setDefaultAffinity(podTemplate *ofst.PodTemplateSpec, labels m } } +func (m *MariaDB) SetHealthCheckerDefaults() { + if m.Spec.HealthCheck.PeriodSeconds == nil { + m.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.TimeoutSeconds == nil { + m.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.FailureThreshold == nil { + m.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (m *MariaDB) SetTLSDefaults() { if m.Spec.TLS == nil || m.Spec.TLS.IssuerRef == nil { return } m.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(m.Spec.TLS.Certificates, string(MariaDBServerCert), m.CertificateName(MariaDBServerCert)) m.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(m.Spec.TLS.Certificates, string(MariaDBClientCert), m.CertificateName(MariaDBClientCert)) - m.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(m.Spec.TLS.Certificates, string(MariaDBMetricsExporterCert), m.CertificateName(MariaDBMetricsExporterCert)) + m.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(m.Spec.TLS.Certificates, string(MariaDBExporterCert), m.CertificateName(MariaDBExporterCert)) } func (m *MariaDBSpec) GetPersistentSecrets() []string { @@ -294,3 +308,11 @@ func (m *MariaDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, s func (m *MariaDB) InlineConfigSecretName() string { return meta_util.NameWithSuffix(m.Name, "inline") } + +func (m *MariaDB) CertMountPath(alias MariaDBCertificateAlias) string { + return filepath.Join(PerconaXtraDBCertMountPath, string(alias)) +} + +func (m *MariaDB) CertFilePath(certAlias MariaDBCertificateAlias, certFileName string) string { + return filepath.Join(m.CertMountPath(certAlias), certFileName) +} 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 b36f8deb0..12b30d1f0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mariadb_types.go @@ -51,6 +51,10 @@ type MariaDB struct { } type MariaDBSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of MariaDB to be deployed. Version string `json:"version"` @@ -113,15 +117,18 @@ type MariaDBSpec struct { // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck"` } // +kubebuilder:validation:Enum=server;archiver;metrics-exporter type MariaDBCertificateAlias string const ( - MariaDBServerCert MariaDBCertificateAlias = "server" - MariaDBClientCert MariaDBCertificateAlias = "client" - MariaDBMetricsExporterCert MariaDBCertificateAlias = "metrics-exporter" + MariaDBServerCert MariaDBCertificateAlias = "server" + MariaDBClientCert MariaDBCertificateAlias = "client" + MariaDBExporterCert MariaDBCertificateAlias = "metrics-exporter" ) type MariaDBStatus struct { 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 e58810c2d..1cd9ec1c4 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_helpers.go @@ -408,6 +408,33 @@ func (m MongoDB) MongosHosts() []string { return hosts } +func (m *MongoDB) GetURL(stsName string) string { + if m.Spec.ShardTopology != nil { + if strings.HasSuffix(stsName, NodeTypeConfig) { + return strings.Join(m.ConfigSvrHosts(), ",") + } + if strings.HasSuffix(stsName, NodeTypeMongos) { + return strings.Join(m.MongosHosts(), ",") + } + shardStr := func() string { + idx := strings.LastIndex(stsName, NodeTypeShard) + return stsName[idx+len(NodeTypeShard):] + }() + shardNum := func() int32 { + num := int32(0) + for i := 0; i < len(shardStr); i++ { + num = num*10 + int32(shardStr[i]-'0') + } + return num + }() + // if stsName="shard12", shardStr will be "12", & shardNum will be 12 + if strings.HasSuffix(stsName, NodeTypeShard+shardStr) { + return strings.Join(m.ShardHosts(shardNum), ",") + } + } + return strings.Join(m.Hosts(), ",") +} + type mongoDBApp struct { *MongoDB } @@ -581,9 +608,22 @@ func (m *MongoDB) SetDefaults(mgVersion *v1alpha1.MongoDBVersion, topology *core } m.SetTLSDefaults() + m.SetHealthCheckerDefaults() m.Spec.Monitor.SetDefaults() } +func (m *MongoDB) SetHealthCheckerDefaults() { + if m.Spec.HealthCheck.PeriodSeconds == nil { + m.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.TimeoutSeconds == nil { + m.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.FailureThreshold == nil { + m.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (m *MongoDB) SetTLSDefaults() { if m.Spec.TLS == nil || m.Spec.TLS.IssuerRef == nil { return 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 58d9cb905..c1f17a65e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mongodb_types.go @@ -51,6 +51,10 @@ type MongoDB struct { } type MongoDBSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of MongoDB to be deployed. Version string `json:"version"` @@ -139,6 +143,9 @@ type MongoDBSpec struct { // +optional // +nullable Arbiter *MongoArbiterNode `json:"arbiter"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck"` } // +kubebuilder:validation:Enum=server;client;metrics-exporter 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 e76664888..7c817d629 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_helpers.go @@ -272,6 +272,7 @@ func (m *MySQL) SetDefaults(topology *core_util.Topology) { m.Spec.Monitor.SetDefaults() m.setDefaultAffinity(&m.Spec.PodTemplate, m.OffshootSelectors(), topology) m.SetTLSDefaults() + m.SetHealthCheckerDefaults() apis.SetDefaultResourceLimits(&m.Spec.PodTemplate.Spec.Resources, DefaultResources) } @@ -324,6 +325,18 @@ func (m *MySQL) SetTLSDefaults() { m.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(m.Spec.TLS.Certificates, string(MySQLMetricsExporterCert), m.CertificateName(MySQLMetricsExporterCert)) } +func (m *MySQL) SetHealthCheckerDefaults() { + if m.Spec.HealthCheck.PeriodSeconds == nil { + m.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.TimeoutSeconds == nil { + m.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.FailureThreshold == nil { + m.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (m *MySQLSpec) GetPersistentSecrets() []string { if m == nil { return nil @@ -341,18 +354,16 @@ func (m *MySQL) CertificateName(alias MySQLCertificateAlias) string { return meta_util.NameWithSuffix(m.Name, fmt.Sprintf("%s-cert", string(alias))) } -// MustCertSecretName returns the secret name for a certificate alias -func (m *MySQL) MustCertSecretName(alias MySQLCertificateAlias) string { - if m == nil { - panic("missing MySQL database") - } else if m.Spec.TLS == nil { - panic(fmt.Errorf("MySQL %s/%s is missing tls spec", m.Namespace, m.Name)) - } - name, ok := kmapi.GetCertificateSecretName(m.Spec.TLS.Certificates, string(alias)) - if !ok { - panic(fmt.Errorf("MySQL %s/%s is missing secret name for %s certificate", m.Namespace, m.Name, alias)) +// GetCertSecretName returns the secret name for a certificate alias if any +// otherwise returns default certificate secret name for the given alias. +func (m *MySQL) GetCertSecretName(alias MySQLCertificateAlias) string { + if m.Spec.TLS != nil { + name, ok := kmapi.GetCertificateSecretName(m.Spec.TLS.Certificates, string(alias)) + if ok { + return name + } } - return name + return m.CertificateName(alias) } func (m *MySQL) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error) { 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 108bf5321..38fd75d09 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mysql_types.go @@ -69,6 +69,10 @@ type MySQL struct { } type MySQLSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of MySQL to be deployed. Version string `json:"version"` @@ -136,8 +140,8 @@ type MySQLSpec struct { // +optional Coordinator CoordinatorSpec `json:"coordinator,omitempty"` - // AllowedSchemas defines the types of database schemas that MAY refer to - // a database instance and the trusted namespaces where those schema resources MAY be + // AllowedSchemas defines the types of database schemas that may refer to + // a database instance and the trusted namespaces where those schema resources may be // present. // // +kubebuilder:default={namespaces:{from: Same}} @@ -152,6 +156,10 @@ type MySQLSpec struct { // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedReadReplicas *AllowedConsumers `json:"allowedReadReplicas,omitempty"` + + // HealthCheckSpec defines attributes of the health check + //+optional + HealthCheck HealthCheckSpec `json:"healthCheck"` } // +kubebuilder:validation:Enum=server;client;metrics-exporter 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 389865158..09c148a4a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha2 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -420,6 +419,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/offshoot-api/api/v1.ServiceSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceSpec(ref), "kmodules.xyz/offshoot-api/api/v1.ServiceTemplateSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceTemplateSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers": schema_apimachinery_apis_kubedb_v1alpha2_AllowedConsumers(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec": schema_apimachinery_apis_kubedb_v1alpha2_AutoOpsSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ConnectionPoolConfig": schema_apimachinery_apis_kubedb_v1alpha2_ConnectionPoolConfig(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ConsumerNamespaces": schema_apimachinery_apis_kubedb_v1alpha2_ConsumerNamespaces(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec": schema_apimachinery_apis_kubedb_v1alpha2_CoordinatorSpec(ref), @@ -436,6 +436,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.EtcdList": schema_apimachinery_apis_kubedb_v1alpha2_EtcdList(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.EtcdSpec": schema_apimachinery_apis_kubedb_v1alpha2_EtcdSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.EtcdStatus": schema_apimachinery_apis_kubedb_v1alpha2_EtcdStatus(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec": schema_apimachinery_apis_kubedb_v1alpha2_HealthCheckSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec": schema_apimachinery_apis_kubedb_v1alpha2_InitSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.KernelSettings": schema_apimachinery_apis_kubedb_v1alpha2_KernelSettings(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MariaDB": schema_apimachinery_apis_kubedb_v1alpha2_MariaDB(ref), @@ -467,6 +468,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLSpec": schema_apimachinery_apis_kubedb_v1alpha2_MySQLSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLStatus": schema_apimachinery_apis_kubedb_v1alpha2_MySQLStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLTopology": schema_apimachinery_apis_kubedb_v1alpha2_MySQLTopology(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLUser": schema_apimachinery_apis_kubedb_v1alpha2_MySQLUser(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec": schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceTemplateSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PerconaXtraDB": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDB(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PerconaXtraDBList": schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBList(ref), @@ -483,6 +485,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgresStatus": schema_apimachinery_apis_kubedb_v1alpha2_PostgresStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQL": schema_apimachinery_apis_kubedb_v1alpha2_ProxySQL(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLBackendSpec": schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLBackendSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLConfiguration": schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLConfiguration(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLList": schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLList(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLSpec": schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLStatus": schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLStatus(ref), @@ -499,6 +502,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisStatus": schema_apimachinery_apis_kubedb_v1alpha2_RedisStatus(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ScriptSourceSpec": schema_apimachinery_apis_kubedb_v1alpha2_ScriptSourceSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SemiSyncSpec": schema_apimachinery_apis_kubedb_v1alpha2_SemiSyncSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SystemUserSecretsSpec": schema_apimachinery_apis_kubedb_v1alpha2_SystemUserSecretsSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.TLSPolicy": schema_apimachinery_apis_kubedb_v1alpha2_TLSPolicy(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.elasticsearchApp": schema_apimachinery_apis_kubedb_v1alpha2_elasticsearchApp(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.elasticsearchStatsService": schema_apimachinery_apis_kubedb_v1alpha2_elasticsearchStatsService(ref), @@ -17720,8 +17724,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20339,6 +20342,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20352,6 +20362,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20432,26 +20487,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20461,7 +20511,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -20723,6 +20773,26 @@ func schema_apimachinery_apis_kubedb_v1alpha2_AllowedConsumers(ref common.Refere } } +func schema_apimachinery_apis_kubedb_v1alpha2_AutoOpsSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "AutoOpsSpec defines the specifications of automatic ops-request recommendation generation", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "disabled": { + SchemaProps: spec.SchemaProps{ + Description: "Disabled specifies whether the ops-request recommendation generation will be disabled or not.", + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_ConnectionPoolConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -21253,6 +21323,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ElasticsearchSpec(ref common.Refer SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of Elasticsearch to be deployed.", @@ -21421,12 +21498,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ElasticsearchSpec(ref common.Refer Format: "int32", }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "k8s.io/apimachinery/pkg/util/intstr.IntOrString", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ElasticsearchClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ElasticsearchRoleMapSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ElasticsearchUserSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.KernelSettings", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "k8s.io/apimachinery/pkg/util/intstr.IntOrString", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ElasticsearchClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ElasticsearchRoleMapSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ElasticsearchUserSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.KernelSettings", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, } } @@ -21857,6 +21940,47 @@ func schema_apimachinery_apis_kubedb_v1alpha2_EtcdStatus(ref common.ReferenceCal } } +func schema_apimachinery_apis_kubedb_v1alpha2_HealthCheckSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "HealthCheckSpec defines attributes of the health check", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "periodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "How often (in seconds) to perform the health check. Default to 10 seconds. Minimum value is 1.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "timeoutSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Number of seconds after which the probe times out. Defaults to 10 second. Minimum value is 1. It should be less than the periodSeconds.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "failureThreshold": { + SchemaProps: spec.SchemaProps{ + Description: "Minimum consecutive failures for the health check to be considered failed after having succeeded. Defaults to 1. Minimum value is 1.", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "disableWriteCheck": { + SchemaProps: spec.SchemaProps{ + Description: "Whether to disable write check on database. Defaults to false.", + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_InitSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -22025,6 +22149,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MariaDBSpec(ref common.ReferenceCa SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of MariaDB to be deployed.", @@ -22138,12 +22269,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MariaDBSpec(ref common.ReferenceCa Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers"), }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, } } @@ -22828,6 +22965,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MongoDBSpec(ref common.ReferenceCa SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of MongoDB to be deployed.", @@ -22984,12 +23128,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MongoDBSpec(ref common.ReferenceCa Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoArbiterNode"), }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.EmptyDirVolumeSource", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoArbiterNode", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoDBReplicaSet", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoDBShardingTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.EmptyDirVolumeSource", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoArbiterNode", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoDBReplicaSet", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MongoDBShardingTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, } } @@ -23235,6 +23385,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MySQLSpec(ref common.ReferenceCall SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of MySQL to be deployed.", @@ -23358,7 +23515,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MySQLSpec(ref common.ReferenceCall }, "allowedSchemas": { SchemaProps: spec.SchemaProps{ - Description: "AllowedSchemas defines the types of database schemas that MAY refer to a database instance and the trusted namespaces where those schema resources MAY be present.", + Description: "AllowedSchemas defines the types of database schemas that may refer to a database instance and the trusted namespaces where those schema resources may be present.", Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers"), }, }, @@ -23368,12 +23525,19 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MySQLSpec(ref common.ReferenceCall Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers"), }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Description: "HealthCheckSpec defines attributes of the health check", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, } } @@ -23463,6 +23627,98 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MySQLTopology(ref common.Reference } } +func schema_apimachinery_apis_kubedb_v1alpha2_MySQLUser(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "username": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "active": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "use_ssl": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "default_hostgroup": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "default_schema": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "schema_locked": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "transaction_persistent": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "fast_forward": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "backend": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "frontend": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "max_connections": { + SchemaProps: spec.SchemaProps{ + Type: []string{"integer"}, + Format: "int32", + }, + }, + "attributes": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "comment": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"username"}, + }, + }, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_NamedServiceTemplateSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -23600,6 +23856,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBSpec(ref common.Refer SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of PerconaXtraDB to be deployed.", @@ -23610,7 +23873,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBSpec(ref common.Refer }, "replicas": { SchemaProps: spec.SchemaProps{ - Description: "Number of instances to deploy for PerconaXtraDB. Replicas: 1\t\t-->\t\tDeploy standalone PerconaXtraDB Replicas: > 1\t-->\t\tDeploy PerconaXtraDB cluster with specified number of masters", + Description: "Replicas defines the number of instances to deploy for PerconaXtraDB.", Type: []string{"integer"}, Format: "int32", }, @@ -23630,7 +23893,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBSpec(ref common.Refer }, "authSecret": { SchemaProps: spec.SchemaProps{ - Description: "Database authentication secret", + Description: "AuthSecret specifies database authentication secret", Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, @@ -23673,9 +23936,16 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBSpec(ref common.Refer }, }, }, + "requireSSL": { + SchemaProps: spec.SchemaProps{ + Description: "Indicates that the database server need to be encrypted connections(ssl)", + Type: []string{"boolean"}, + Format: "", + }, + }, "tls": { SchemaProps: spec.SchemaProps{ - Description: "TLS contains tls configurations for client and server.", + Description: "TLS contains tls configurations", Ref: ref("kmodules.xyz/client-go/api/v1.TLSConfig"), }, }, @@ -23693,12 +23963,37 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PerconaXtraDBSpec(ref common.Refer 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"), + }, + }, + "allowedSchemas": { + SchemaProps: spec.SchemaProps{ + Description: "AllowedSchemas defines the types of database schemas that MAY refer to a database instance and the trusted namespaces where those schema resources MAY be present.", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers"), + }, + }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, + "systemUserSecrets": { + SchemaProps: spec.SchemaProps{ + Description: "SystemUserSecrets contains the system user credentials", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SystemUserSecretsSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SystemUserSecretsSpec"}, } } @@ -23844,6 +24139,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgBouncerSpec(ref common.Reference SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of PgBouncer to be deployed.", @@ -23932,12 +24234,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgBouncerSpec(ref common.Reference Format: "", }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ConnectionPoolConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Databases", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ConnectionPoolConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Databases", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, } } @@ -24149,6 +24457,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PostgresSpec(ref common.ReferenceC SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of Postgres to be deployed.", @@ -24296,12 +24611,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PostgresSpec(ref common.ReferenceC Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers"), }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgreLeaderElectionConfig"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PostgreLeaderElectionConfig"}, } } @@ -24420,6 +24741,55 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLBackendSpec(ref common.Ref } } +func schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLConfiguration(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "mysqlUsers": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLUser"), + }, + }, + }, + }, + }, + "mysqlQueryRules": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + }, + }, + }, + "mysqlVariables": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + "adminVariables": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/runtime.RawExtension", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLUser"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLList(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -24474,32 +24844,39 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLSpec(ref common.ReferenceC SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ - "version": { + "autoOps": { SchemaProps: spec.SchemaProps{ - Description: "Version of ProxySQL to be deployed.", - Default: "", - Type: []string{"string"}, + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, + "syncUsers": { + SchemaProps: spec.SchemaProps{ + Description: "SyncUsers is a boolean type and when enabled, operator fetches all users created in the backend server to the ProxySQL server . Password changes are also synced in proxysql when it is enabled.", + Type: []string{"boolean"}, Format: "", }, }, - "replicas": { + "initConfig": { SchemaProps: spec.SchemaProps{ - Description: "Number of instances to deploy for ProxySQL. Currently we support only replicas = 1.", - Type: []string{"integer"}, - Format: "int32", + Description: "InitConfiguration contains information with which the proxysql will bootstrap (only 4 tables are configurable)", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLConfiguration"), }, }, - "storageType": { + "version": { SchemaProps: spec.SchemaProps{ - Description: "StorageType can be durable (default) or ephemeral", + Description: "Version of ProxySQL to be deployed.", + Default: "", Type: []string{"string"}, Format: "", }, }, - "storage": { + "replicas": { SchemaProps: spec.SchemaProps{ - Description: "Storage spec to specify how storage shall be used.", - Ref: ref("k8s.io/api/core/v1.PersistentVolumeClaimSpec"), + Description: "Number of instances to deploy for ProxySQL. Currently we support only replicas = 1.", + Type: []string{"integer"}, + Format: "int32", }, }, "mode": { @@ -24567,12 +24944,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ProxySQLSpec(ref common.ReferenceC Format: "", }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLBackendSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLBackendSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ProxySQLConfiguration"}, } } @@ -24904,6 +25287,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RedisSentinelSpec(ref common.Refer SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of Postgres to be deployed.", @@ -24992,12 +25382,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RedisSentinelSpec(ref common.Refer Format: "", }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec"}, } } @@ -25049,6 +25445,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RedisSpec(ref common.ReferenceCall SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "autoOps": { + SchemaProps: spec.SchemaProps{ + Description: "AutoOps contains configuration of automatic ops-request-recommendation generation", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec"), + }, + }, "version": { SchemaProps: spec.SchemaProps{ Description: "Version of Redis to be deployed.", @@ -25180,12 +25583,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RedisSpec(ref common.ReferenceCall Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers"), }, }, + "healthCheck": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec"), + }, + }, }, Required: []string{"version"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisClusterSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisSentinelRef"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v1.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.CoordinatorSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.HealthCheckSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisClusterSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.RedisSentinelRef"}, } } @@ -25459,6 +25868,32 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SemiSyncSpec(ref common.ReferenceC } } +func schema_apimachinery_apis_kubedb_v1alpha2_SystemUserSecretsSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "replicationUserSecret": { + SchemaProps: spec.SchemaProps{ + Description: "ReplicationUserSecret contains replication system user credentials", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "monitorUserSecret": { + SchemaProps: spec.SchemaProps{ + Description: "MonitorUserSecret contains monitor system user credentials", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_TLSPolicy(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ 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 78d0cf5a5..406cabfa4 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_helpers.go @@ -18,6 +18,7 @@ package v1alpha2 import ( "fmt" + "path/filepath" "kubedb.dev/apimachinery/apis" "kubedb.dev/apimachinery/apis/kubedb" @@ -25,12 +26,16 @@ import ( "gomodules.xyz/pointer" core "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" appslister "k8s.io/client-go/listers/apps/v1" + kmapi "kmodules.xyz/client-go/api/v1" "kmodules.xyz/client-go/apiextensions" + core_util "kmodules.xyz/client-go/core/v1" meta_util "kmodules.xyz/client-go/meta" appcat "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1" mona "kmodules.xyz/monitoring-agent-api/api/v1" + ofst "kmodules.xyz/offshoot-api/api/v1" ) func (_ PerconaXtraDB) CustomResourceDefinition() *apiextensions.CustomResourceDefinition { @@ -97,10 +102,6 @@ func (p PerconaXtraDB) ServiceName() string { return p.OffshootName() } -func (p PerconaXtraDB) IsCluster() bool { - return pointer.Int32(p.Spec.Replicas) > 1 -} - func (p PerconaXtraDB) GoverningServiceName() string { return meta_util.NameWithSuffix(p.ServiceName(), "pods") } @@ -169,13 +170,17 @@ func (p PerconaXtraDB) StatsServiceLabels() map[string]string { return p.ServiceLabels(StatsServiceAlias, map[string]string{LabelRole: RoleStats}) } -func (p *PerconaXtraDB) SetDefaults() { +func (p PerconaXtraDB) PrimaryServiceDNS() string { + return fmt.Sprintf("%s.%s.svc", p.ServiceName(), p.Namespace) +} + +func (p *PerconaXtraDB) SetDefaults(topology *core_util.Topology) { if p == nil { return } if p.Spec.Replicas == nil { - p.Spec.Replicas = pointer.Int32P(1) + p.Spec.Replicas = pointer.Int32P(3) } if p.Spec.StorageType == "" { @@ -185,53 +190,78 @@ func (p *PerconaXtraDB) SetDefaults() { p.Spec.TerminationPolicy = TerminationPolicyDelete } - p.Spec.setDefaultProbes() + if p.Spec.PodTemplate.Spec.ServiceAccountName == "" { + p.Spec.PodTemplate.Spec.ServiceAccountName = p.OffshootName() + } + p.Spec.Monitor.SetDefaults() + p.setDefaultAffinity(&p.Spec.PodTemplate, p.OffshootSelectors(), topology) + p.SetTLSDefaults() apis.SetDefaultResourceLimits(&p.Spec.PodTemplate.Spec.Resources, DefaultResources) } -// setDefaultProbes sets defaults only when probe fields are nil. -// In operator, check if the value of probe fields is "{}". -// For "{}", ignore readinessprobe or livenessprobe in statefulset. -// Ref: https://github.com/mattlord/Docker-InnoDB-Cluster/blob/master/healthcheck.sh#L10 -func (p *PerconaXtraDBSpec) setDefaultProbes() { - if p == nil { +// setDefaultAffinity +func (p *PerconaXtraDB) setDefaultAffinity(podTemplate *ofst.PodTemplateSpec, labels map[string]string, topology *core_util.Topology) { + if podTemplate == nil { + return + } else if podTemplate.Spec.Affinity != nil { + // Update topologyKey fields according to Kubernetes version + topology.ConvertAffinity(podTemplate.Spec.Affinity) return } - var readynessProbeCmd []string - if pointer.Int32(p.Replicas) > 1 { - readynessProbeCmd = []string{ - "/cluster-check.sh", - } - } else { - readynessProbeCmd = []string{ - "bash", - "-c", - `export MYSQL_PWD="${MYSQL_ROOT_PASSWORD}" -ping_resp=$(mysqladmin -uroot ping) -if [[ "$ping_resp" != "mysqld is alive" ]]; then - echo "[ERROR] server is not ready. PING_RESPONSE: $ping_resp" - exit 1 -fi -`, - } - } - - readinessProbe := &core.Probe{ - ProbeHandler: core.ProbeHandler{ - Exec: &core.ExecAction{ - Command: readynessProbeCmd, + podTemplate.Spec.Affinity = &core.Affinity{ + PodAntiAffinity: &core.PodAntiAffinity{ + PreferredDuringSchedulingIgnoredDuringExecution: []core.WeightedPodAffinityTerm{ + // Prefer to not schedule multiple pods on the same node + { + Weight: 100, + PodAffinityTerm: core.PodAffinityTerm{ + Namespaces: []string{p.Namespace}, + LabelSelector: &metav1.LabelSelector{ + MatchLabels: labels, + }, + TopologyKey: core.LabelHostname, + }, + }, + // Prefer to not schedule multiple pods on the node with same zone + { + Weight: 50, + PodAffinityTerm: core.PodAffinityTerm{ + Namespaces: []string{p.Namespace}, + LabelSelector: &metav1.LabelSelector{ + MatchLabels: labels, + }, + TopologyKey: topology.LabelZone, + }, + }, }, }, - InitialDelaySeconds: 30, - PeriodSeconds: 10, } - if p.PodTemplate.Spec.ReadinessProbe == nil { - p.PodTemplate.Spec.ReadinessProbe = readinessProbe +} + +func (p *PerconaXtraDB) SetHealthCheckerDefaults() { + if p.Spec.HealthCheck.PeriodSeconds == nil { + p.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if p.Spec.HealthCheck.TimeoutSeconds == nil { + p.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if p.Spec.HealthCheck.FailureThreshold == nil { + p.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + +func (p *PerconaXtraDB) SetTLSDefaults() { + if p.Spec.TLS == nil || p.Spec.TLS.IssuerRef == nil { + return } + p.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(p.Spec.TLS.Certificates, string(PerconaXtraDBServerCert), p.CertificateName(PerconaXtraDBServerCert)) + p.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(p.Spec.TLS.Certificates, string(PerconaXtraDBClientCert), p.CertificateName(PerconaXtraDBClientCert)) + p.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(p.Spec.TLS.Certificates, string(PerconaXtraDBExporterCert), p.CertificateName(PerconaXtraDBExporterCert)) } +// CertificateName returns the default certificate name and/or certificate secret name for a certificate alias func (p *PerconaXtraDBSpec) GetPersistentSecrets() []string { if p == nil { return nil @@ -244,8 +274,45 @@ func (p *PerconaXtraDBSpec) GetPersistentSecrets() []string { return secrets } +// CertificateName returns the default certificate name and/or certificate secret name for a certificate alias +func (p *PerconaXtraDB) CertificateName(alias PerconaXtraDBCertificateAlias) string { + return meta_util.NameWithSuffix(p.Name, fmt.Sprintf("%s-cert", string(alias))) +} + +// GetCertSecretName returns the secret name for a certificate alias if any, +// otherwise returns default certificate secret name for the given alias. +func (p *PerconaXtraDB) GetCertSecretName(alias PerconaXtraDBCertificateAlias) string { + if p.Spec.TLS != nil { + name, ok := kmapi.GetCertificateSecretName(p.Spec.TLS.Certificates, string(alias)) + if ok { + return name + } + } + return p.CertificateName(alias) +} + +func (p *PerconaXtraDB) AuthSecretName() string { + return meta_util.NameWithSuffix(p.Name, "auth") +} + +func (p *PerconaXtraDB) ReplicationSecretName() string { + return meta_util.NameWithSuffix(p.Name, "replication") +} + +func (p *PerconaXtraDB) MonitorSecretName() string { + return meta_util.NameWithSuffix(p.Name, "monitor") +} + func (p *PerconaXtraDB) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, string, error) { // Desire number of statefulSets expectedItems := 1 return checkReplicas(lister.StatefulSets(p.Namespace), labels.SelectorFromSet(p.OffshootLabels()), expectedItems) } + +func (p *PerconaXtraDB) CertMountPath(alias PerconaXtraDBCertificateAlias) string { + return filepath.Join(PerconaXtraDBCertMountPath, string(alias)) +} + +func (p *PerconaXtraDB) CertFilePath(certAlias PerconaXtraDBCertificateAlias, certFileName string) string { + return filepath.Join(p.CertMountPath(certAlias), certFileName) +} 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 80609dd46..5b0f717a8 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/perconaxtradb_types.go @@ -31,7 +31,7 @@ const ( ResourcePluralPerconaXtraDB = "perconaxtradbs" ) -// PerconaXtraDB defines a percona variation of Mysql database. +// PerconaXtraDB defines a Percona XtraDB Cluster. // +genclient // +k8s:openapi-gen=true @@ -51,12 +51,14 @@ type PerconaXtraDB struct { } type PerconaXtraDBSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of PerconaXtraDB to be deployed. Version string `json:"version"` - // Number of instances to deploy for PerconaXtraDB. - // Replicas: 1 --> Deploy standalone PerconaXtraDB - // Replicas: > 1 --> Deploy PerconaXtraDB cluster with specified number of masters + // Replicas defines the number of instances to deploy for PerconaXtraDB. Replicas *int32 `json:"replicas,omitempty"` // StorageType can be durable (default) or ephemeral @@ -65,7 +67,7 @@ type PerconaXtraDBSpec struct { // Storage spec to specify how storage shall be used. Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` - // Database authentication secret + // AuthSecret specifies database authentication secret AuthSecret *core.LocalObjectReference `json:"authSecret,omitempty"` // Init is used to initialize database @@ -88,7 +90,11 @@ type PerconaXtraDBSpec struct { // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` - // TLS contains tls configurations for client and server. + // Indicates that the database server need to be encrypted connections(ssl) + // +optional + RequireSSL bool `json:"requireSSL,omitempty"` + + // TLS contains tls configurations // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` @@ -99,15 +105,34 @@ type PerconaXtraDBSpec struct { // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + + // Coordinator defines attributes of the coordinator container + // +optional + Coordinator CoordinatorSpec `json:"coordinator,omitempty"` + + // AllowedSchemas defines the types of database schemas that MAY refer to + // a database instance and the trusted namespaces where those schema resources MAY be + // present. + // + // +kubebuilder:default={namespaces:{from: Same}} + // +optional + AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck"` + + // SystemUserSecrets contains the system user credentials + // +optional + SystemUserSecrets *SystemUserSecretsSpec `json:"systemUserSecrets,omitempty"` } -// +kubebuilder:validation:Enum=server;archiver;metrics-exporter +// +kubebuilder:validation:Enum=server;client;metrics-exporter type PerconaXtraDBCertificateAlias string const ( - PerconaXtraDBServerCert PerconaXtraDBCertificateAlias = "server" - PerconaXtraDBArchiverCert PerconaXtraDBCertificateAlias = "archiver" - PerconaXtraDBMetricsExporterCert PerconaXtraDBCertificateAlias = "metrics-exporter" + PerconaXtraDBServerCert PerconaXtraDBCertificateAlias = "server" + PerconaXtraDBClientCert PerconaXtraDBCertificateAlias = "client" + PerconaXtraDBExporterCert PerconaXtraDBCertificateAlias = "metrics-exporter" ) type PerconaXtraDBStatus struct { 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 caceee564..3defb0807 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_helpers.go @@ -23,6 +23,7 @@ import ( "kubedb.dev/apimachinery/apis/kubedb" "kubedb.dev/apimachinery/crds" + "gomodules.xyz/pointer" "k8s.io/apimachinery/pkg/labels" appslister "k8s.io/client-go/listers/apps/v1" kmapi "kmodules.xyz/client-go/api/v1" @@ -239,3 +240,15 @@ func (p *PgBouncer) ReplicasAreReady(lister appslister.StatefulSetLister) (bool, expectedItems := 1 return checkReplicas(lister.StatefulSets(p.Namespace), labels.SelectorFromSet(p.OffshootLabels()), expectedItems) } + +func (p *PgBouncer) SetHealthCheckerDefaults() { + if p.Spec.HealthCheck.PeriodSeconds == nil { + p.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if p.Spec.HealthCheck.TimeoutSeconds == nil { + p.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if p.Spec.HealthCheck.FailureThreshold == nil { + p.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} 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 d6075f529..496671a54 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgbouncer_types.go @@ -52,37 +52,54 @@ type PgBouncer struct { } type PgBouncerSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of PgBouncer to be deployed. Version string `json:"version"` + // Number of instances to deploy for a PgBouncer instance. // +optional Replicas *int32 `json:"replicas,omitempty"` + // ServiceTemplates is an optional configuration for services used to expose database // +optional ServiceTemplates []NamedServiceTemplateSpec `json:"serviceTemplates,omitempty"` + // PodTemplate is an optional configuration for pods. // +optional PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` + // Databases to proxy by connection pooling. // +optional Databases []Databases `json:"databases,omitempty"` + // ConnectionPoolConfig defines Connection pool configuration. // +optional ConnectionPool *ConnectionPoolConfig `json:"connectionPool,omitempty"` + // UserListSecretRef is a secret with a list of PgBouncer user and passwords. // +optional UserListSecretRef *core.LocalObjectReference `json:"userListSecretRef,omitempty"` + // Monitor is used monitor database instance. // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` + // SSLMode for both standalone and clusters. [disable;allow;prefer;require;verify-ca;verify-full] SSLMode PgBouncerSSLMode `json:"sslMode,omitempty"` + // TLS contains tls configurations for client and server. // +optional TLS *kmapi.TLSConfig `json:"tls,omitempty"` + // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy PgBouncerTerminationPolicy `json:"terminationPolicy,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck,omitempty"` } // +kubebuilder:validation:Enum=server;archiver;metrics-exporter 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 cd61097bd..8f30377de 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_helpers.go @@ -256,6 +256,7 @@ func (p *Postgres) SetDefaults(postgresVersion *catalog.PostgresVersion, topolog p.Spec.Monitor.SetDefaults() p.SetTLSDefaults() + p.SetHealthCheckerDefaults() apis.SetDefaultResourceLimits(&p.Spec.PodTemplate.Spec.Resources, DefaultResources) p.setDefaultAffinity(&p.Spec.PodTemplate, p.OffshootSelectors(), topology) } @@ -359,6 +360,28 @@ func GetSharedBufferSizeForPostgres(resource *resource.Quantity) string { ret = minSharedBuffer } + // check If the ret value need to convert into MB + // why need this? -> PostgreSQL officially stores shared_buffers as an int32 that's why if the value is greater than 2147483648B. + // It's going to through and error that the value is going to cross the limit. + sharedBuffer := fmt.Sprintf("%sB", strconv.FormatInt(ret, 10)) + if ret > SharedBuffersGbAsByte { + // convert the ret as MB devide by SharedBuffersMbAsByte + ret /= SharedBuffersMbAsByte + sharedBuffer = fmt.Sprintf("%sMB", strconv.FormatInt(ret, 10)) + } + return sharedBuffer } + +func (m *Postgres) SetHealthCheckerDefaults() { + if m.Spec.HealthCheck.PeriodSeconds == nil { + m.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.TimeoutSeconds == nil { + m.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if m.Spec.HealthCheck.FailureThreshold == nil { + m.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} 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 598cdde4c..7e2d6f0c0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/postgres_types.go @@ -51,6 +51,10 @@ type Postgres struct { } type PostgresSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Postgres to be deployed. Version string `json:"version"` @@ -132,6 +136,9 @@ type PostgresSpec struct { // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck"` } // PostgreLeaderElectionConfig contains essential attributes of leader election. diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_helpers.go index a6f171a75..8dee46e33 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_helpers.go @@ -169,9 +169,22 @@ func (p *ProxySQL) SetDefaults() { p.Spec.Monitor.SetDefaults() p.SetTLSDefaults() + p.SetHealthCheckerDefaults() apis.SetDefaultResourceLimits(&p.Spec.PodTemplate.Spec.Resources, DefaultResources) } +func (p *ProxySQL) SetHealthCheckerDefaults() { + if p.Spec.HealthCheck.PeriodSeconds == nil { + p.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if p.Spec.HealthCheck.TimeoutSeconds == nil { + p.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if p.Spec.HealthCheck.FailureThreshold == nil { + p.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (m *ProxySQL) SetTLSDefaults() { if m.Spec.TLS == nil || m.Spec.TLS.IssuerRef == nil { return 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 6f0b9851e..e30e3c355 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/proxysql_types.go @@ -19,6 +19,7 @@ package v1alpha2 import ( core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" kmapi "kmodules.xyz/client-go/api/v1" mona "kmodules.xyz/monitoring-agent-api/api/v1" ofst "kmodules.xyz/offshoot-api/api/v1" @@ -58,7 +59,77 @@ type ProxySQL struct { Status ProxySQLStatus `json:"status,omitempty"` } +type MySQLUser struct { + Username string `json:"username"` + + // +optional + Active *int `json:"active,omitempty"` + + // +optional + UseSSL int `json:"use_ssl,omitempty"` + + // +optional + DefaultHostgroup int `json:"default_hostgroup,omitempty"` + + // +optional + DefaultSchema string `json:"default_schema,omitempty"` + + // +optional + SchemaLocked int `json:"schema_locked,omitempty"` + + // +optional + TransactionPersistent *int `json:"transaction_persistent,omitempty"` + + // +optional + FastForward int `json:"fast_forward,omitempty"` + + // +optional + Backend *int `json:"backend,omitempty"` + + // +optional + Frontend *int `json:"frontend,omitempty"` + + // +optional + MaxConnections *int32 `json:"max_connections,omitempty"` + + // +optional + Attributes string `json:"attributes,omitempty"` + + // +optional + Comment string `json:"comment,omitempty"` +} + +type ProxySQLConfiguration struct { + // +optional + MySQLUsers []MySQLUser `json:"mysqlUsers,omitempty"` + + // +optional + // +kubebuilder:pruning:PreserveUnknownFields + MySQLQueryRules []*runtime.RawExtension `json:"mysqlQueryRules,omitempty"` + + // +optional + // +kubebuilder:pruning:PreserveUnknownFields + MySQLVariables *runtime.RawExtension `json:"mysqlVariables,omitempty"` + + // +optional + // +kubebuilder:pruning:PreserveUnknownFields + AdminVariables *runtime.RawExtension `json:"adminVariables,omitempty"` +} + type ProxySQLSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + + // +optional + // SyncUsers is a boolean type and when enabled, operator fetches all users created in the backend server to the + // ProxySQL server . Password changes are also synced in proxysql when it is enabled. + SyncUsers bool `json:"syncUsers,omitempty"` + + // +optional + // InitConfiguration contains information with which the proxysql will bootstrap (only 4 tables are configurable) + InitConfiguration *ProxySQLConfiguration `json:"initConfig,omitempty"` + // Version of ProxySQL to be deployed. Version string `json:"version"` @@ -66,12 +137,6 @@ type ProxySQLSpec struct { // TODO: If replicas > 1, proxysql will be clustered Replicas *int32 `json:"replicas,omitempty"` - // StorageType can be durable (default) or ephemeral - StorageType StorageType `json:"storageType,omitempty"` - - // Storage spec to specify how storage shall be used. - Storage *core.PersistentVolumeClaimSpec `json:"storage,omitempty"` - // Mode specifies the type of MySQL/Percona-XtraDB/MariaDB cluster for which proxysql // will be configured. It must be either "Galera" or "GroupReplication" Mode *LoadBalanceMode `json:"mode,omitempty"` @@ -105,6 +170,9 @@ type ProxySQLSpec struct { // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + + //+optional + HealthCheck HealthCheckSpec `json:"healthCheck"` } // +kubebuilder:validation:Enum=server;archiver;metrics-exporter 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 b8a728be1..b823f2f93 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_helpers.go @@ -223,11 +223,23 @@ func (r *Redis) SetDefaults(topology *core_util.Topology) { r.setDefaultAffinity(&r.Spec.PodTemplate, labels, topology) r.Spec.Monitor.SetDefaults() - r.SetTLSDefaults() + r.SetHealthCheckerDefaults() apis.SetDefaultResourceLimits(&r.Spec.PodTemplate.Spec.Resources, DefaultResources) } +func (r *Redis) SetHealthCheckerDefaults() { + if r.Spec.HealthCheck.PeriodSeconds == nil { + r.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if r.Spec.HealthCheck.TimeoutSeconds == nil { + r.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if r.Spec.HealthCheck.FailureThreshold == nil { + r.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (r *Redis) SetTLSDefaults() { if r.Spec.TLS == nil || r.Spec.TLS.IssuerRef == nil { return 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 6fd36eec0..87b169d7a 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 @@ -23,6 +23,7 @@ import ( "kubedb.dev/apimachinery/apis/kubedb" "kubedb.dev/apimachinery/crds" + "gomodules.xyz/pointer" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -176,9 +177,22 @@ func (rs *RedisSentinel) SetDefaults(topology *core_util.Topology) { rs.Spec.Monitor.SetDefaults() rs.SetTLSDefaults() + rs.SetHealthCheckerDefaults() apis.SetDefaultResourceLimits(&rs.Spec.PodTemplate.Spec.Resources, DefaultResources) } +func (rs *RedisSentinel) SetHealthCheckerDefaults() { + if rs.Spec.HealthCheck.PeriodSeconds == nil { + rs.Spec.HealthCheck.PeriodSeconds = pointer.Int32P(10) + } + if rs.Spec.HealthCheck.TimeoutSeconds == nil { + rs.Spec.HealthCheck.TimeoutSeconds = pointer.Int32P(10) + } + if rs.Spec.HealthCheck.FailureThreshold == nil { + rs.Spec.HealthCheck.FailureThreshold = pointer.Int32P(1) + } +} + func (rs *RedisSentinel) SetTLSDefaults() { if rs.Spec.TLS == nil || rs.Spec.TLS.IssuerRef == nil { return @@ -188,14 +202,14 @@ func (rs *RedisSentinel) SetTLSDefaults() { rs.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(rs.Spec.TLS.Certificates, string(RedisMetricsExporterCert), rs.CertificateName(RedisMetricsExporterCert)) } -func (r *RedisSentinel) GetPersistentSecrets() []string { - if r == nil { +func (rs *RedisSentinel) GetPersistentSecrets() []string { + if rs == nil { return nil } var secrets []string - if r.Spec.AuthSecret != nil { - secrets = append(secrets, r.Spec.AuthSecret.Name) + if rs.Spec.AuthSecret != nil { + secrets = append(secrets, rs.Spec.AuthSecret.Name) } return secrets } 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 84193a612..b66aed5ff 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 @@ -44,6 +44,10 @@ type RedisSentinel struct { } type RedisSentinelSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Postgres to be deployed. Version string `json:"version"` @@ -86,6 +90,9 @@ type RedisSentinelSpec struct { // TerminationPolicy controls the delete operation for database // +optional TerminationPolicy TerminationPolicy `json:"terminationPolicy,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck,omitempty"` } type RedisSentinelStatus struct { 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 3a7e3d43e..c779b1ab3 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go @@ -60,6 +60,10 @@ type Redis struct { } type RedisSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Redis to be deployed. Version string `json:"version"` @@ -131,6 +135,9 @@ type RedisSpec struct { // +kubebuilder:default={namespaces:{from: Same}} // +optional AllowedSchemas *AllowedConsumers `json:"allowedSchemas,omitempty"` + + // +optional + HealthCheck HealthCheckSpec `json:"healthCheck,omitempty"` } // +kubebuilder:validation:Enum=server;client;metrics-exporter diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go index f2e00337c..6939593fb 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/types.go @@ -139,3 +139,45 @@ type CoordinatorSpec struct { // +optional SecurityContext *core.SecurityContext `json:"securityContext,omitempty"` } + +// HealthCheckSpec defines attributes of the health check +type HealthCheckSpec struct { + // How often (in seconds) to perform the health check. + // Default to 10 seconds. Minimum value is 1. + // +optional + // +kubebuilder:default:=10 + PeriodSeconds *int32 `json:"periodSeconds,omitempty"` + // Number of seconds after which the probe times out. + // Defaults to 10 second. Minimum value is 1. + // It should be less than the periodSeconds. + // +optional + // +kubebuilder:default:=10 + TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"` + // Minimum consecutive failures for the health check to be considered failed after having succeeded. + // Defaults to 1. Minimum value is 1. + // +optional + // +kubebuilder:default:=1 + FailureThreshold *int32 `json:"failureThreshold,omitempty"` + // Whether to disable write check on database. + // Defaults to false. + // +optional + // +kubebuilder:default:=false + DisableWriteCheck bool `json:"disableWriteCheck,omitempty"` +} + +// AutoOpsSpec defines the specifications of automatic ops-request recommendation generation +type AutoOpsSpec struct { + // Disabled specifies whether the ops-request recommendation generation will be disabled or not. + // +optional + Disabled bool `json:"disabled,omitempty"` +} + +type SystemUserSecretsSpec struct { + // ReplicationUserSecret contains replication system user credentials + // +optional + ReplicationUserSecret *core.LocalObjectReference `json:"replicationUserSecret,omitempty"` + + // MonitorUserSecret contains monitor system user credentials + // +optional + MonitorUserSecret *core.LocalObjectReference `json:"monitorUserSecret,omitempty"` +} 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 86d5a55b9..1f2f73305 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 @@ -57,6 +57,22 @@ func (in *AllowedConsumers) DeepCopy() *AllowedConsumers { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AutoOpsSpec) DeepCopyInto(out *AutoOpsSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoOpsSpec. +func (in *AutoOpsSpec) DeepCopy() *AutoOpsSpec { + if in == nil { + return nil + } + out := new(AutoOpsSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConnectionPoolConfig) DeepCopyInto(out *ConnectionPoolConfig) { *out = *in @@ -393,6 +409,7 @@ func (in *ElasticsearchRoleMapSpec) DeepCopy() *ElasticsearchRoleMapSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ElasticsearchSpec) DeepCopyInto(out *ElasticsearchSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -475,6 +492,7 @@ func (in *ElasticsearchSpec) DeepCopyInto(out *ElasticsearchSpec) { *out = new(int32) **out = **in } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -699,6 +717,37 @@ func (in *EtcdStatus) DeepCopy() *EtcdStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec) { + *out = *in + if in.PeriodSeconds != nil { + in, out := &in.PeriodSeconds, &out.PeriodSeconds + *out = new(int32) + **out = **in + } + if in.TimeoutSeconds != nil { + in, out := &in.TimeoutSeconds, &out.TimeoutSeconds + *out = new(int32) + **out = **in + } + if in.FailureThreshold != nil { + in, out := &in.FailureThreshold, &out.FailureThreshold + *out = new(int32) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec. +func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec { + if in == nil { + return nil + } + out := new(HealthCheckSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *InitSpec) DeepCopyInto(out *InitSpec) { *out = *in @@ -805,6 +854,7 @@ func (in *MariaDBList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MariaDBSpec) DeepCopyInto(out *MariaDBSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -854,6 +904,7 @@ func (in *MariaDBSpec) DeepCopyInto(out *MariaDBSpec) { *out = new(AllowedConsumers) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -1253,6 +1304,7 @@ func (in *MongoDBShardingTopology) DeepCopy() *MongoDBShardingTopology { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MongoDBSpec) DeepCopyInto(out *MongoDBSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -1331,6 +1383,7 @@ func (in *MongoDBSpec) DeepCopyInto(out *MongoDBSpec) { *out = new(MongoArbiterNode) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -1517,6 +1570,7 @@ func (in *MySQLRouterSpec) DeepCopy() *MySQLRouterSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MySQLSpec) DeepCopyInto(out *MySQLSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -1576,6 +1630,7 @@ func (in *MySQLSpec) DeepCopyInto(out *MySQLSpec) { *out = new(AllowedConsumers) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -1653,6 +1708,47 @@ func (in *MySQLTopology) DeepCopy() *MySQLTopology { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLUser) DeepCopyInto(out *MySQLUser) { + *out = *in + if in.Active != nil { + in, out := &in.Active, &out.Active + *out = new(int) + **out = **in + } + if in.TransactionPersistent != nil { + in, out := &in.TransactionPersistent, &out.TransactionPersistent + *out = new(int) + **out = **in + } + if in.Backend != nil { + in, out := &in.Backend, &out.Backend + *out = new(int) + **out = **in + } + if in.Frontend != nil { + in, out := &in.Frontend, &out.Frontend + *out = new(int) + **out = **in + } + if in.MaxConnections != nil { + in, out := &in.MaxConnections, &out.MaxConnections + *out = new(int32) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLUser. +func (in *MySQLUser) DeepCopy() *MySQLUser { + if in == nil { + return nil + } + out := new(MySQLUser) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NamedServiceTemplateSpec) DeepCopyInto(out *NamedServiceTemplateSpec) { *out = *in @@ -1734,6 +1830,7 @@ func (in *PerconaXtraDBList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PerconaXtraDBSpec) DeepCopyInto(out *PerconaXtraDBSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -1777,6 +1874,18 @@ func (in *PerconaXtraDBSpec) DeepCopyInto(out *PerconaXtraDBSpec) { *out = new(clientgoapiv1.TLSConfig) (*in).DeepCopyInto(*out) } + in.Coordinator.DeepCopyInto(&out.Coordinator) + if in.AllowedSchemas != nil { + in, out := &in.AllowedSchemas, &out.AllowedSchemas + *out = new(AllowedConsumers) + (*in).DeepCopyInto(*out) + } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) + if in.SystemUserSecrets != nil { + in, out := &in.SystemUserSecrets, &out.SystemUserSecrets + *out = new(SystemUserSecretsSpec) + (*in).DeepCopyInto(*out) + } return } @@ -1877,6 +1986,7 @@ func (in *PgBouncerList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PgBouncerSpec) DeepCopyInto(out *PgBouncerSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -1917,6 +2027,7 @@ func (in *PgBouncerSpec) DeepCopyInto(out *PgBouncerSpec) { *out = new(clientgoapiv1.TLSConfig) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -2034,6 +2145,7 @@ func (in *PostgresList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PostgresSpec) DeepCopyInto(out *PostgresSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -2098,6 +2210,7 @@ func (in *PostgresSpec) DeepCopyInto(out *PostgresSpec) { *out = new(AllowedConsumers) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -2188,6 +2301,50 @@ func (in *ProxySQLBackendSpec) DeepCopy() *ProxySQLBackendSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ProxySQLConfiguration) DeepCopyInto(out *ProxySQLConfiguration) { + *out = *in + if in.MySQLUsers != nil { + in, out := &in.MySQLUsers, &out.MySQLUsers + *out = make([]MySQLUser, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.MySQLQueryRules != nil { + in, out := &in.MySQLQueryRules, &out.MySQLQueryRules + *out = make([]*runtime.RawExtension, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } + } + } + if in.MySQLVariables != nil { + in, out := &in.MySQLVariables, &out.MySQLVariables + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } + if in.AdminVariables != nil { + in, out := &in.AdminVariables, &out.AdminVariables + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySQLConfiguration. +func (in *ProxySQLConfiguration) DeepCopy() *ProxySQLConfiguration { + if in == nil { + return nil + } + out := new(ProxySQLConfiguration) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProxySQLList) DeepCopyInto(out *ProxySQLList) { *out = *in @@ -2224,16 +2381,17 @@ func (in *ProxySQLList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProxySQLSpec) DeepCopyInto(out *ProxySQLSpec) { *out = *in + out.AutoOps = in.AutoOps + if in.InitConfiguration != nil { + in, out := &in.InitConfiguration, &out.InitConfiguration + *out = new(ProxySQLConfiguration) + (*in).DeepCopyInto(*out) + } if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) **out = **in } - if in.Storage != nil { - in, out := &in.Storage, &out.Storage - *out = new(corev1.PersistentVolumeClaimSpec) - (*in).DeepCopyInto(*out) - } if in.Mode != nil { in, out := &in.Mode, &out.Mode *out = new(LoadBalanceMode) @@ -2272,6 +2430,7 @@ func (in *ProxySQLSpec) DeepCopyInto(out *ProxySQLSpec) { *out = new(clientgoapiv1.TLSConfig) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -2496,6 +2655,7 @@ func (in *RedisSentinelRef) DeepCopy() *RedisSentinelRef { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RedisSentinelSpec) DeepCopyInto(out *RedisSentinelSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -2529,6 +2689,7 @@ func (in *RedisSentinelSpec) DeepCopyInto(out *RedisSentinelSpec) { *out = new(apiv1.AgentSpec) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -2568,6 +2729,7 @@ func (in *RedisSentinelStatus) DeepCopy() *RedisSentinelStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RedisSpec) DeepCopyInto(out *RedisSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -2627,6 +2789,7 @@ func (in *RedisSpec) DeepCopyInto(out *RedisSpec) { *out = new(AllowedConsumers) (*in).DeepCopyInto(*out) } + in.HealthCheck.DeepCopyInto(&out.HealthCheck) return } @@ -2702,6 +2865,32 @@ func (in *SemiSyncSpec) DeepCopy() *SemiSyncSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemUserSecretsSpec) DeepCopyInto(out *SystemUserSecretsSpec) { + *out = *in + if in.ReplicationUserSecret != nil { + in, out := &in.ReplicationUserSecret, &out.ReplicationUserSecret + *out = new(corev1.LocalObjectReference) + **out = **in + } + if in.MonitorUserSecret != nil { + in, out := &in.MonitorUserSecret, &out.MonitorUserSecret + *out = new(corev1.LocalObjectReference) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemUserSecretsSpec. +func (in *SystemUserSecretsSpec) DeepCopy() *SystemUserSecretsSpec { + if in == nil { + return nil + } + out := new(SystemUserSecretsSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TLSPolicy) DeepCopyInto(out *TLSPolicy) { *out = *in diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mongodb_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mongodb_ops_types.go index 1562f34d5..74c6beb4b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mongodb_ops_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mongodb_ops_types.go @@ -71,10 +71,14 @@ type MongoDBOpsRequestSpec struct { Restart *RestartSpec `json:"restart,omitempty"` // Specifies information necessary for reprovisioning database Reprovision *Reprovision `json:"reprovision,omitempty"` + // Specifies the Readiness Criteria ReadinessCriteria *MongoDBReplicaReadinessCriteria `json:"readinessCriteria,omitempty"` // Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure. Timeout *metav1.Duration `json:"timeout,omitempty"` + // ApplyOption is to control the execution of OpsRequest depending on the database state. + // +kubebuilder:default:="IfReady" + Apply ApplyOption `json:"apply,omitempty"` } // MongoDBReplicaReadinessCriteria is the criteria for checking readiness of a MongoDB pod diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mysql_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mysql_ops_types.go index cc83fe1de..161f9aa38 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mysql_ops_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mysql_ops_types.go @@ -97,6 +97,8 @@ type MySQLVerticalScalingSpec struct { // MySQLVolumeExpansionSpec is the spec for MySQL volume expansion type MySQLVolumeExpansionSpec struct { MySQL *resource.Quantity `json:"mysql,omitempty"` + // +kubebuilder:default:="Online" + Mode *VolumeExpansionMode `json:"mode,omitempty"` } type MySQLCustomConfigurationSpec struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/openapi_generated.go index 6d7238858..9ae1c8f15 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -485,9 +484,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLOpsRequestList": schema_apimachinery_apis_ops_v1alpha1_MySQLOpsRequestList(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLOpsRequestSpec": schema_apimachinery_apis_ops_v1alpha1_MySQLOpsRequestSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLOpsRequestStatus": schema_apimachinery_apis_ops_v1alpha1_MySQLOpsRequestStatus(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLQueryRules": schema_apimachinery_apis_ops_v1alpha1_MySQLQueryRules(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLReplicaReadinessCriteria": schema_apimachinery_apis_ops_v1alpha1_MySQLReplicaReadinessCriteria(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLTLSSpec": schema_apimachinery_apis_ops_v1alpha1_MySQLTLSSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLUpgradeSpec": schema_apimachinery_apis_ops_v1alpha1_MySQLUpgradeSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLUsers": schema_apimachinery_apis_ops_v1alpha1_MySQLUsers(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLVerticalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_MySQLVerticalScalingSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLVolumeExpansionSpec": schema_apimachinery_apis_ops_v1alpha1_MySQLVolumeExpansionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.PerconaXtraDBCustomConfiguration": schema_apimachinery_apis_ops_v1alpha1_PerconaXtraDBCustomConfiguration(ref), @@ -17743,8 +17744,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20362,6 +20362,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20375,6 +20382,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20455,26 +20507,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20484,7 +20531,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } @@ -22833,6 +22880,13 @@ func schema_apimachinery_apis_ops_v1alpha1_MongoDBOpsRequestSpec(ref common.Refe Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), }, }, + "apply": { + SchemaProps: spec.SchemaProps{ + Description: "ApplyOption is to control the execution of OpsRequest depending on the database state.", + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"databaseRef", "type"}, }, @@ -23334,6 +23388,40 @@ func schema_apimachinery_apis_ops_v1alpha1_MySQLOpsRequestStatus(ref common.Refe } } +func schema_apimachinery_apis_ops_v1alpha1_MySQLQueryRules(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "rules": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + }, + }, + }, + "reqType": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"rules", "reqType"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/runtime.RawExtension"}, + } +} + func schema_apimachinery_apis_ops_v1alpha1_MySQLReplicaReadinessCriteria(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -23426,6 +23514,41 @@ func schema_apimachinery_apis_ops_v1alpha1_MySQLUpgradeSpec(ref common.Reference } } +func schema_apimachinery_apis_ops_v1alpha1_MySQLUsers(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "users": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLUser"), + }, + }, + }, + }, + }, + "reqType": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"users", "reqType"}, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MySQLUser"}, + } +} + func schema_apimachinery_apis_ops_v1alpha1_MySQLVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -23467,6 +23590,12 @@ func schema_apimachinery_apis_ops_v1alpha1_MySQLVolumeExpansionSpec(ref common.R Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), }, }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, }, }, @@ -24642,8 +24771,32 @@ func schema_apimachinery_apis_ops_v1alpha1_ProxySQLCustomConfigurationSpec(ref c Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "mysqlUsers": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLUsers"), + }, + }, + "mysqlQueryRules": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLQueryRules"), + }, + }, + "adminVariables": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + "mysqlVariables": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + }, }, }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/runtime.RawExtension", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLQueryRules", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MySQLUsers"}, } } @@ -24653,6 +24806,15 @@ func schema_apimachinery_apis_ops_v1alpha1_ProxySQLHorizontalScalingSpec(ref com SchemaProps: spec.SchemaProps{ Description: "HorizontalScaling is the spec for ProxySQL horizontal scaling", Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "member": { + SchemaProps: spec.SchemaProps{ + Description: "Number of nodes/members of the group", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, }, }, } @@ -24760,7 +24922,7 @@ func schema_apimachinery_apis_ops_v1alpha1_ProxySQLOpsRequestSpec(ref common.Ref Description: "ProxySQLOpsRequestSpec is the spec for ProxySQLOpsRequest", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "databaseRef": { + "proxyRef": { SchemaProps: spec.SchemaProps{ Description: "Specifies the ProxySQL reference", Default: map[string]interface{}{}, @@ -24817,12 +24979,18 @@ func schema_apimachinery_apis_ops_v1alpha1_ProxySQLOpsRequestSpec(ref common.Ref Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"), }, }, + "timeout": { + SchemaProps: spec.SchemaProps{ + Description: "Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + }, + }, }, - Required: []string{"databaseRef", "type"}, + Required: []string{"proxyRef", "type"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLUpgradeSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLUpgradeSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ProxySQLVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, } } @@ -25159,12 +25327,18 @@ func schema_apimachinery_apis_ops_v1alpha1_RedisOpsRequestSpec(ref common.Refere Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"), }, }, + "timeout": { + SchemaProps: spec.SchemaProps{ + Description: "Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + }, + }, }, Required: []string{"databaseRef", "type"}, }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisUpgradeSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisUpgradeSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, } } @@ -25284,6 +25458,12 @@ func schema_apimachinery_apis_ops_v1alpha1_RedisVolumeExpansionSpec(ref common.R Description: "RedisVolumeExpansionSpec is the spec for Redis volume expansion", Type: []string{"object"}, Properties: map[string]spec.Schema{ + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, "redis": { SchemaProps: spec.SchemaProps{ Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/proxysql_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/proxysql_ops_types.go index 6fa2d2c87..9f5d7e722 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/proxysql_ops_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/proxysql_ops_types.go @@ -17,8 +17,11 @@ limitations under the License. package v1alpha1 import ( + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2" + core "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" kmapi "kmodules.xyz/client-go/api/v1" ) @@ -50,7 +53,7 @@ type ProxySQLOpsRequest struct { // ProxySQLOpsRequestSpec is the spec for ProxySQLOpsRequest type ProxySQLOpsRequestSpec struct { // Specifies the ProxySQL reference - DatabaseRef core.LocalObjectReference `json:"databaseRef"` + ProxyRef core.LocalObjectReference `json:"proxyRef"` // Specifies the ops request type: Upgrade, HorizontalScaling, VerticalScaling etc. Type OpsRequestType `json:"type"` // Specifies information necessary for upgrading ProxySQL @@ -67,6 +70,8 @@ type ProxySQLOpsRequestSpec struct { TLS *TLSSpec `json:"tls,omitempty"` // Specifies information necessary for restarting database Restart *RestartSpec `json:"restart,omitempty"` + // Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure. + Timeout *metav1.Duration `json:"timeout,omitempty"` } // ProxySQLReplicaReadinessCriteria is the criteria for checking readiness of a ProxySQL pod @@ -80,7 +85,10 @@ type ProxySQLUpgradeSpec struct { } // HorizontalScaling is the spec for ProxySQL horizontal scaling -type ProxySQLHorizontalScalingSpec struct{} +type ProxySQLHorizontalScalingSpec struct { + // Number of nodes/members of the group + Member *int32 `json:"member,omitempty"` +} // ProxySQLVerticalScalingSpec is the spec for ProxySQL vertical scaling type ProxySQLVerticalScalingSpec struct { @@ -90,8 +98,6 @@ type ProxySQLVerticalScalingSpec struct { // ProxySQLVolumeExpansionSpec is the spec for ProxySQL volume expansion type ProxySQLVolumeExpansionSpec struct{} -type ProxySQLCustomConfigurationSpec struct{} - type ProxySQLCustomConfiguration struct { ConfigMap *core.LocalObjectReference `json:"configMap,omitempty"` Data map[string]string `json:"data,omitempty"` @@ -116,6 +122,43 @@ type ProxySQLOpsRequestStatus struct { type ProxySQLOpsRequestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` + + //+optional // Items is a list of ProxySQLOpsRequest CRD objects Items []ProxySQLOpsRequest `json:"items,omitempty"` } + +type ProxySQLCustomConfigurationSpec struct { + //+optional + MySQLUsers *MySQLUsers `json:"mysqlUsers,omitempty"` + + //+optional + MySQLQueryRules *MySQLQueryRules `json:"mysqlQueryRules,omitempty"` + + // +optional + // +kubebuilder:pruning:PreserveUnknownFields + AdminVariables *runtime.RawExtension `json:"adminVariables,omitempty"` + + // +optional + // +kubebuilder:pruning:PreserveUnknownFields + MySQLVariables *runtime.RawExtension `json:"mysqlVariables,omitempty"` +} + +type MySQLUsers struct { + Users []v1alpha2.MySQLUser `json:"users"` + RequestType OperationType `json:"reqType"` +} + +type MySQLQueryRules struct { + // +kubebuilder:pruning:PreserveUnknownFields + Rules []*runtime.RawExtension `json:"rules"` + RequestType OperationType `json:"reqType"` +} + +type OperationType string + +const ( + ProxySQLConfigurationAdd OperationType = "add" + ProxySQLConfigurationDelete OperationType = "delete" + ProxySQLConfigurationUpdate OperationType = "update" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types.go index 2143012c0..1b9fb2107 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types.go @@ -70,6 +70,8 @@ type RedisOpsRequestSpec struct { TLS *TLSSpec `json:"tls,omitempty"` // Specifies information necessary for restarting database Restart *RestartSpec `json:"restart,omitempty"` + // Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure. + Timeout *metav1.Duration `json:"timeout,omitempty"` } // RedisReplicaReadinessCriteria is the criteria for checking readiness of a Redis pod @@ -98,7 +100,9 @@ type RedisVerticalScalingSpec struct { // RedisVolumeExpansionSpec is the spec for Redis volume expansion type RedisVolumeExpansionSpec struct { - Redis *resource.Quantity `json:"redis,omitempty"` + // +kubebuilder:default:="Online" + Mode *VolumeExpansionMode `json:"mode,omitempty"` + Redis *resource.Quantity `json:"redis,omitempty"` } type RedisCustomConfigurationSpec struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/type.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/type.go index 8fca56fba..dd4342c33 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/type.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/type.go @@ -150,11 +150,15 @@ const ( ReconfigureSecurityAdmin = "ReconfigureSecurityAdmin" // Redis Constants - PatchedSecret = "patchedSecret" - ConfigKeyRedis = "redis.conf" - RedisTLSArg = "--tls-port 6379" - DBReady = "DBReady" - RestartedPods = "RestartedPods" + PatchedSecret = "patchedSecret" + ConfigKeyRedis = "redis.conf" + RedisTLSArg = "--tls-port 6379" + DBReady = "DBReady" + RestartedPods = "RestartedPods" + ScaleUpReplicas = "ScaleUpReplicas" + ScaleDownReplicas = "ScaleDownReplicas" + UpdateRedisImage = "UpdateRedisImage" + RestartPodWithResources = "RestartedPodsWithResources" // Stash Constants PauseBackupConfiguration = "PauseBackupConfiguration" @@ -201,7 +205,7 @@ const ( TempIniFilesPath = "/tmp/kubedb-custom-ini-files" ) -// +kubebuilder:validation:Enum=Pending;Progressing;Successful;WaitingForApproval;Failed;Approved;Denied +// +kubebuilder:validation:Enum=Pending;Progressing;Successful;WaitingForApproval;Failed;Approved;Denied;Skipped type OpsRequestPhase string const ( @@ -211,10 +215,15 @@ const ( OpsRequestPhaseProgressing OpsRequestPhase = "Progressing" // used for ops requests that are executed successfully OpsRequestPhaseSuccessful OpsRequestPhase = "Successful" - // used for ops requests that are waiting for approval - OpsRequestPhaseWaitingForApproval OpsRequestPhase = "WaitingForApproval" // used for ops requests that are failed OpsRequestPhaseFailed OpsRequestPhase = "Failed" + // used for ops requests that are skipped + OpsRequestPhaseSkipped OpsRequestPhase = "Skipped" + + // Approval-related Phases + + // used for ops requests that are waiting for approval + OpsRequestPhaseWaitingForApproval OpsRequestPhase = "WaitingForApproval" // used for ops requests that are approved OpsRequestApproved OpsRequestPhase = "Approved" // used for ops requests that are denied @@ -272,3 +281,11 @@ type TLSSpec struct { // +optional Remove bool `json:"remove,omitempty"` } + +// +kubebuilder:validation:Enum=IfReady;Always +type ApplyOption string + +const ( + ApplyOptionIfReady ApplyOption = "IfReady" + ApplyOptionAlways ApplyOption = "Always" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/zz_generated.deepcopy.go index 8738fa26a..336867639 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/zz_generated.deepcopy.go @@ -22,6 +22,8 @@ limitations under the License. package v1alpha1 import ( + v1alpha2 "kubedb.dev/apimachinery/apis/kubedb/v1alpha2" + v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" @@ -2021,6 +2023,33 @@ func (in *MySQLOpsRequestStatus) DeepCopy() *MySQLOpsRequestStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLQueryRules) DeepCopyInto(out *MySQLQueryRules) { + *out = *in + if in.Rules != nil { + in, out := &in.Rules, &out.Rules + *out = make([]*runtime.RawExtension, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLQueryRules. +func (in *MySQLQueryRules) DeepCopy() *MySQLQueryRules { + if in == nil { + return nil + } + out := new(MySQLQueryRules) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MySQLReplicaReadinessCriteria) DeepCopyInto(out *MySQLReplicaReadinessCriteria) { *out = *in @@ -2080,6 +2109,29 @@ func (in *MySQLUpgradeSpec) DeepCopy() *MySQLUpgradeSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLUsers) DeepCopyInto(out *MySQLUsers) { + *out = *in + if in.Users != nil { + in, out := &in.Users, &out.Users + *out = make([]v1alpha2.MySQLUser, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLUsers. +func (in *MySQLUsers) DeepCopy() *MySQLUsers { + if in == nil { + return nil + } + out := new(MySQLUsers) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MySQLVerticalScalingSpec) DeepCopyInto(out *MySQLVerticalScalingSpec) { *out = *in @@ -2119,6 +2171,11 @@ func (in *MySQLVolumeExpansionSpec) DeepCopyInto(out *MySQLVolumeExpansionSpec) x := (*in).DeepCopy() *out = &x } + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(VolumeExpansionMode) + **out = **in + } return } @@ -3004,6 +3061,26 @@ func (in *ProxySQLCustomConfiguration) DeepCopy() *ProxySQLCustomConfiguration { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProxySQLCustomConfigurationSpec) DeepCopyInto(out *ProxySQLCustomConfigurationSpec) { *out = *in + if in.MySQLUsers != nil { + in, out := &in.MySQLUsers, &out.MySQLUsers + *out = new(MySQLUsers) + (*in).DeepCopyInto(*out) + } + if in.MySQLQueryRules != nil { + in, out := &in.MySQLQueryRules, &out.MySQLQueryRules + *out = new(MySQLQueryRules) + (*in).DeepCopyInto(*out) + } + if in.AdminVariables != nil { + in, out := &in.AdminVariables, &out.AdminVariables + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } + if in.MySQLVariables != nil { + in, out := &in.MySQLVariables, &out.MySQLVariables + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } return } @@ -3020,6 +3097,11 @@ func (in *ProxySQLCustomConfigurationSpec) DeepCopy() *ProxySQLCustomConfigurati // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProxySQLHorizontalScalingSpec) DeepCopyInto(out *ProxySQLHorizontalScalingSpec) { *out = *in + if in.Member != nil { + in, out := &in.Member, &out.Member + *out = new(int32) + **out = **in + } return } @@ -3097,7 +3179,7 @@ func (in *ProxySQLOpsRequestList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProxySQLOpsRequestSpec) DeepCopyInto(out *ProxySQLOpsRequestSpec) { *out = *in - out.DatabaseRef = in.DatabaseRef + out.ProxyRef = in.ProxyRef if in.Upgrade != nil { in, out := &in.Upgrade, &out.Upgrade *out = new(ProxySQLUpgradeSpec) @@ -3106,7 +3188,7 @@ func (in *ProxySQLOpsRequestSpec) DeepCopyInto(out *ProxySQLOpsRequestSpec) { if in.HorizontalScaling != nil { in, out := &in.HorizontalScaling, &out.HorizontalScaling *out = new(ProxySQLHorizontalScalingSpec) - **out = **in + (*in).DeepCopyInto(*out) } if in.VerticalScaling != nil { in, out := &in.VerticalScaling, &out.VerticalScaling @@ -3121,7 +3203,7 @@ func (in *ProxySQLOpsRequestSpec) DeepCopyInto(out *ProxySQLOpsRequestSpec) { if in.Configuration != nil { in, out := &in.Configuration, &out.Configuration *out = new(ProxySQLCustomConfigurationSpec) - **out = **in + (*in).DeepCopyInto(*out) } if in.TLS != nil { in, out := &in.TLS, &out.TLS @@ -3133,6 +3215,11 @@ func (in *ProxySQLOpsRequestSpec) DeepCopyInto(out *ProxySQLOpsRequestSpec) { *out = new(RestartSpec) **out = **in } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(metav1.Duration) + **out = **in + } return } @@ -3391,6 +3478,11 @@ func (in *RedisOpsRequestSpec) DeepCopyInto(out *RedisOpsRequestSpec) { *out = new(RestartSpec) **out = **in } + if in.Timeout != nil { + in, out := &in.Timeout, &out.Timeout + *out = new(metav1.Duration) + **out = **in + } return } @@ -3498,6 +3590,11 @@ func (in *RedisVerticalScalingSpec) DeepCopy() *RedisVerticalScalingSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RedisVolumeExpansionSpec) DeepCopyInto(out *RedisVolumeExpansionSpec) { *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(VolumeExpansionMode) + **out = **in + } if in.Redis != nil { in, out := &in.Redis, &out.Redis x := (*in).DeepCopy() diff --git a/vendor/kubedb.dev/apimachinery/apis/schema/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/schema/v1alpha1/openapi_generated.go index a95454243..aabf6724c 100644 --- a/vendor/kubedb.dev/apimachinery/apis/schema/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/schema/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -17641,8 +17640,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20260,6 +20258,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20273,6 +20278,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20353,26 +20403,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20382,7 +20427,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/vendor/kubedb.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go index 83ec73ca0..081704d40 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go @@ -26,7 +26,6 @@ package v1alpha1 import ( resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - runtime "k8s.io/apimachinery/pkg/runtime" intstr "k8s.io/apimachinery/pkg/util/intstr" common "k8s.io/kube-openapi/pkg/common" spec "k8s.io/kube-openapi/pkg/validation/spec" @@ -17714,8 +17713,7 @@ func schema_k8sio_apimachinery_pkg_runtime_RawExtension(ref common.ReferenceCall Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ Description: "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", - Type: runtime.RawExtension{}.OpenAPISchemaType(), - Format: runtime.RawExtension{}.OpenAPISchemaFormat(), + Type: []string{"object"}, }, }, } @@ -20333,6 +20331,13 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodSecurityContext"), }, }, + "terminationGracePeriodSeconds": { + SchemaProps: spec.SchemaProps{ + Description: "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", + Type: []string{"integer"}, + Format: "int64", + }, + }, "dnsPolicy": { SchemaProps: spec.SchemaProps{ Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.\n\nPossible enum values:\n - `\"ClusterFirst\"` indicates that the pod should use cluster DNS first unless hostNetwork is true, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"ClusterFirstWithHostNet\"` indicates that the pod should use cluster DNS first, if it is available, then fall back on the default (as determined by kubelet) DNS settings.\n - `\"Default\"` indicates that the pod should use the default (as determined by kubelet) DNS settings.\n - `\"None\"` indicates that the pod should use empty DNS settings. DNS parameters such as nameservers and search paths should be defined via DNSConfig.", @@ -20346,6 +20351,51 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.PodDNSConfig"), }, }, + "topologySpreadConstraints": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "topologyKey", + "whenUnsatisfiable", + }, + "x-kubernetes-list-type": "map", + "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-strategy": "merge", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + }, + }, + }, + }, + }, + "volumes": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-patch-merge-key": "name", + "x-kubernetes-patch-strategy": "merge,retainKeys", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.Volume"), + }, + }, + }, + }, + }, "initContainers": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ @@ -20426,26 +20476,21 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback Ref: ref("k8s.io/api/core/v1.SecurityContext"), }, }, - "topologySpreadConstraints": { + "volumeMounts": { VendorExtensible: spec.VendorExtensible{ Extensions: spec.Extensions{ - "x-kubernetes-list-map-keys": []interface{}{ - "topologyKey", - "whenUnsatisfiable", - }, - "x-kubernetes-list-type": "map", - "x-kubernetes-patch-merge-key": "topologyKey", + "x-kubernetes-patch-merge-key": "mountPath", "x-kubernetes-patch-strategy": "merge", }, }, SchemaProps: spec.SchemaProps{ - Description: "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.", + Description: "Pod volumes to mount into the container's filesystem. Cannot be updated.", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.TopologySpreadConstraint"), + Ref: ref("k8s.io/api/core/v1.VolumeMount"), }, }, }, @@ -20455,7 +20500,7 @@ func schema_kmodulesxyz_offshoot_api_api_v1_PodSpec(ref common.ReferenceCallback }, }, Dependencies: []string{ - "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint"}, + "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Container", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PodDNSConfig", "k8s.io/api/core/v1.PodSecurityContext", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.TopologySpreadConstraint", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"}, } } diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_elasticsearchautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_elasticsearchautoscalers.yaml index 4afac9021..091395485 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_elasticsearchautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_elasticsearchautoscalers.yaml @@ -39,14 +39,23 @@ spec: node: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -76,14 +85,23 @@ spec: data: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -111,14 +129,23 @@ spec: ingest: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -146,14 +173,23 @@ spec: master: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -260,6 +296,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -288,6 +400,83 @@ spec: observedGeneration: format: int64 type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: + items: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: + properties: + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array + type: object + vpaName: + type: string + type: object + type: array type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_etcdautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_etcdautoscalers.yaml index 64eddb4a3..487807964 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_etcdautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_etcdautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mariadbautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mariadbautoscalers.yaml index 12d9eeb9a..8e659869b 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mariadbautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mariadbautoscalers.yaml @@ -16,7 +16,7 @@ spec: listKind: MariaDBAutoscalerList plural: mariadbautoscalers shortNames: - - mdautoscaler + - mdscaler singular: mariadbautoscaler scope: Namespaced versions: @@ -39,14 +39,23 @@ spec: mariadb: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -101,6 +110,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -129,6 +214,83 @@ spec: observedGeneration: format: int64 type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: + items: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: + properties: + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array + type: object + vpaName: + type: string + type: object + type: array type: object required: - spec diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_memcachedautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_memcachedautoscalers.yaml index 4df82dc2d..a367a2691 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_memcachedautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_memcachedautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mongodbautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mongodbautoscalers.yaml index 0de3549d2..daf14bda5 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mongodbautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mongodbautoscalers.yaml @@ -16,7 +16,7 @@ spec: listKind: MongoDBAutoscalerList plural: mongodbautoscalers shortNames: - - mgautoscaler + - mgscaler singular: mongodbautoscaler scope: Namespaced versions: @@ -37,14 +37,23 @@ spec: configServer: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -74,14 +83,23 @@ spec: mongos: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -109,14 +127,23 @@ spec: replicaSet: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -144,14 +171,23 @@ spec: shard: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -179,14 +215,23 @@ spec: standalone: properties: containerControlledValues: + enum: + - RequestsAndLimits + - RequestsOnly type: string controlledResources: items: type: string type: array - inMemoryScalingThreshold: - format: int32 - type: integer + inMemoryStorage: + properties: + scalingFactorPercentage: + format: int32 + type: integer + usageThresholdPercentage: + format: int32 + type: integer + type: object maxAllowed: additionalProperties: anyOf: @@ -217,6 +262,29 @@ spec: name: type: string type: object + opsRequestOptions: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + readinessCriteria: + properties: + objectsCountDiffPercentage: + format: int32 + maximum: 100 + minimum: 0 + type: integer + oplogMaxLagSeconds: + format: int32 + minimum: 0 + type: integer + type: object + timeout: + type: string + type: object storage: properties: configServer: @@ -289,6 +357,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -317,6 +461,83 @@ spec: observedGeneration: format: int64 type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: + items: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: + properties: + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array + type: object + vpaName: + type: string + type: object + type: array type: object required: - spec diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mysqlautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mysqlautoscalers.yaml index 205133d47..07293da71 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mysqlautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_mysqlautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_perconaxtradbautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_perconaxtradbautoscalers.yaml index cb12d9073..27a5733d1 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_perconaxtradbautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_perconaxtradbautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_pgbouncerautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_pgbouncerautoscalers.yaml index bd522cf9b..2887577dc 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_pgbouncerautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_pgbouncerautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_postgresautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_postgresautoscalers.yaml index 7142dba52..2ea010278 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_postgresautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_postgresautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_proxysqlautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_proxysqlautoscalers.yaml index ee1f6fa50..bd7ee3557 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_proxysqlautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_proxysqlautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_redisautoscalers.yaml b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_redisautoscalers.yaml index 64d35d78e..616d901ae 100644 --- a/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_redisautoscalers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/autoscaling.kubedb.com_redisautoscalers.yaml @@ -361,6 +361,82 @@ spec: type: object status: properties: + checkpoints: + items: + properties: + cpuHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + firstSampleStart: + format: date-time + nullable: true + type: string + lastSampleStart: + format: date-time + nullable: true + type: string + lastUpdateTime: + format: date-time + nullable: true + type: string + memoryHistogram: + properties: + bucketWeights: + items: + properties: + index: + type: integer + weight: + format: int32 + type: integer + required: + - index + - weight + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + referenceTimestamp: + format: date-time + nullable: true + type: string + totalWeight: + format: double + type: number + type: object + ref: + properties: + containerName: + type: string + vpaObjectName: + type: string + type: object + totalSamplesCount: + type: integer + version: + type: string + type: object + type: array conditions: items: properties: @@ -386,261 +462,86 @@ spec: - type type: object type: array - currentMetrics: + observedGeneration: + format: int64 + type: integer + phase: + enum: + - InProgress + - Current + - Terminating + - Failed + type: string + vpas: items: properties: - containerResource: - properties: - container: - type: string - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - container - - current - - name - type: object - external: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - object: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - describedObject: - properties: - apiVersion: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - describedObject - - metric - type: object - pods: - properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - metric: - properties: - name: - type: string - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - required: - - name - type: object - required: - - current - - metric - type: object - resource: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + required: + - status + - type + type: object + type: array + recommendation: properties: - current: - properties: - averageUtilization: - format: int32 - type: integer - averageValue: - 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 - value: - 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 - name: - type: string - required: - - current - - name + containerRecommendations: + items: + properties: + containerName: + type: string + lowerBound: + 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 + target: + 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 + uncappedTarget: + 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 + upperBound: + 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 + required: + - target + type: object + type: array type: object - type: + vpaName: type: string - required: - - type type: object type: array - currentReplicas: - format: int32 - type: integer - desiredReplicas: - format: int32 - type: integer - lastScaleTime: - format: date-time - type: string - observedGeneration: - format: int64 - type: integer - required: - - conditions - - currentReplicas - - desiredReplicas type: object type: object served: true diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_elasticsearchversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_elasticsearchversions.yaml index 7c1de15f9..3dfbb1d31 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_elasticsearchversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_elasticsearchversions.yaml @@ -165,6 +165,17 @@ spec: - restoreTask type: object type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mariadbversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mariadbversions.yaml index 6d40c2a0c..0196bc64a 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mariadbversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mariadbversions.yaml @@ -129,6 +129,17 @@ spec: - restoreTask type: object type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mongodbversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mongodbversions.yaml index 22d0367af..28d05a9d8 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mongodbversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mongodbversions.yaml @@ -139,6 +139,17 @@ spec: - restoreTask type: object type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mysqlversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mysqlversions.yaml index 9257521e1..569c5547b 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mysqlversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_mysqlversions.yaml @@ -193,7 +193,6 @@ spec: - exporter - initContainer - podSecurityPolicies - - upgradeConstraints - version type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_perconaxtradbversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_perconaxtradbversions.yaml index 7106dfd8c..ab3dee52d 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_perconaxtradbversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_perconaxtradbversions.yaml @@ -45,6 +45,13 @@ spec: type: object spec: properties: + coordinator: + properties: + image: + type: string + required: + - image + type: object db: properties: image: @@ -122,6 +129,17 @@ spec: - restoreTask type: object type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_pgbouncerversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_pgbouncerversions.yaml index 854b2c9a8..492a3de69 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_pgbouncerversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_pgbouncerversions.yaml @@ -68,6 +68,17 @@ spec: required: - image type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_postgresversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_postgresversions.yaml index ef4694002..a3ea1a125 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_postgresversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_postgresversions.yaml @@ -57,6 +57,8 @@ spec: type: object db: properties: + baseOS: + type: string image: type: string required: @@ -148,6 +150,17 @@ spec: - restoreTask type: object type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_proxysqlversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_proxysqlversions.yaml index cf2ceb6e7..c8efbaa85 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_proxysqlversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_proxysqlversions.yaml @@ -66,6 +66,17 @@ spec: required: - image type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_redisversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_redisversions.yaml index 5c069e087..1b850addf 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_redisversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_redisversions.yaml @@ -129,6 +129,17 @@ spec: - restoreTask type: object type: object + upgradeConstraints: + properties: + allowlist: + items: + type: string + type: array + denylist: + items: + type: string + type: array + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/dashboard.kubedb.com_elasticsearchdashboards.yaml b/vendor/kubedb.dev/apimachinery/crds/dashboard.kubedb.com_elasticsearchdashboards.yaml index 8496f4df9..09ee13da9 100644 --- a/vendor/kubedb.dev/apimachinery/crds/dashboard.kubedb.com_elasticsearchdashboards.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/dashboard.kubedb.com_elasticsearchdashboards.yaml @@ -1542,6 +1542,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -1604,6 +1607,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_elasticsearches.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_elasticsearches.yaml index 132630b96..d864725b0 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_elasticsearches.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_elasticsearches.yaml @@ -53,6 +53,11 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -64,6 +69,24 @@ spec: type: boolean halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object heapSizePercentage: default: 50 format: int32 @@ -2483,6 +2506,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2545,6 +2571,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_etcds.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_etcds.yaml index 6a617dafd..9798047a5 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_etcds.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_etcds.yaml @@ -2407,6 +2407,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2469,6 +2472,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mariadbs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mariadbs.yaml index df9f0cbd2..bdba168d7 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mariadbs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mariadbs.yaml @@ -117,6 +117,11 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -207,6 +212,24 @@ spec: type: object halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object init: properties: initialized: @@ -2559,6 +2582,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2621,6 +2647,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml index 4f539752c..21b29a315 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml @@ -2398,6 +2398,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2460,6 +2463,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mongodbs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mongodbs.yaml index 03449da6a..a5673906d 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mongodbs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mongodbs.yaml @@ -1604,6 +1604,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -1666,2541 +1669,4001 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map - type: object - type: object - type: object - authSecret: - properties: - name: - type: string - type: object - clusterAuthMode: - enum: - - keyFile - - sendKeyFile - - sendX509 - - x509 - type: string - configSecret: - properties: - name: - type: string - type: object - coordinator: - properties: - resources: - properties: - 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 - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - 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 - ephemeralStorage: - properties: - medium: - type: string - sizeLimit: - 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 - halted: - type: boolean - init: - properties: - initialized: - type: boolean - script: - properties: - awsElasticBlockStore: - properties: - fsType: - type: string - partition: - format: int32 - type: integer - readOnly: - type: boolean - volumeID: - type: string - required: - - volumeID - type: object - azureDisk: - properties: - cachingMode: - type: string - diskName: - type: string - diskURI: - type: string - fsType: - type: string - kind: - type: string - readOnly: - type: boolean - required: - - diskName - - diskURI - type: object - azureFile: - properties: - readOnly: - type: boolean - secretName: - type: string - shareName: - type: string - required: - - secretName - - shareName - type: object - cephfs: - properties: - monitors: - items: - type: string - type: array - path: - type: string - readOnly: - type: boolean - secretFile: - type: string - secretRef: - properties: - name: - type: string - type: object - user: - type: string - required: - - monitors - type: object - cinder: - properties: - fsType: - type: string - readOnly: - type: boolean - secretRef: - properties: - name: - type: string - type: object - volumeID: - type: string - required: - - volumeID - type: object - configMap: - properties: - defaultMode: - format: int32 - type: integer - items: + volumeMounts: items: properties: - key: + mountPath: type: string - mode: - format: int32 - type: integer - path: + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: type: string required: - - key - - path + - mountPath + - name type: object type: array - name: - type: string - optional: - type: boolean - type: object - csi: - properties: - driver: - type: string - fsType: - type: string - nodePublishSecretRef: - properties: - name: - type: string - type: object - readOnly: - type: boolean - volumeAttributes: - additionalProperties: - type: string - type: object - required: - - driver - type: object - downwardAPI: - properties: - defaultMode: - format: int32 - type: integer - items: + volumes: items: properties: - fieldRef: + awsElasticBlockStore: properties: - apiVersion: + fsType: type: string - fieldPath: + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: type: string required: - - fieldPath + - volumeID type: object - mode: - format: int32 - type: integer - path: - type: string - resourceFieldRef: + azureDisk: properties: - containerName: + cachingMode: type: string - divisor: - 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 - resource: + diskName: + type: string + diskURI: + type: string + fsType: type: string + kind: + type: string + readOnly: + type: boolean required: - - resource + - diskName + - diskURI type: object - required: - - path - type: object - type: array - type: object - emptyDir: - properties: - medium: - type: string - sizeLimit: - 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 - ephemeral: - properties: - volumeClaimTemplate: - properties: - metadata: - properties: - annotations: - additionalProperties: + azureFile: + properties: + readOnly: + type: boolean + secretName: type: string - type: object - finalizers: - items: + shareName: type: string - type: array - labels: - additionalProperties: + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: type: string - type: object - name: - type: string - namespace: - type: string - type: object - spec: - properties: - accessModes: + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: type: string - type: array - dataSource: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - dataSourceRef: - properties: - apiGroup: - type: string - kind: - type: string - name: + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: type: string - required: - - kind - - name - type: object - resources: - properties: - 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 + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path type: object - type: object - selector: - properties: - matchExpressions: - items: + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: properties: - key: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: type: string - operator: + namespace: type: string - values: + type: object + spec: + properties: + accessModes: items: type: string type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - storageClassName: - type: string - volumeMode: - type: string - volumeName: - type: string + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + type: object + authSecret: + properties: + name: + type: string + type: object + autoOps: + properties: + disabled: + type: boolean + type: object + clusterAuthMode: + enum: + - keyFile + - sendKeyFile + - sendX509 + - x509 + type: string + configSecret: + properties: + name: + type: string + type: object + coordinator: + properties: + resources: + properties: + 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 + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 + ephemeralStorage: + properties: + medium: + type: string + sizeLimit: + 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 + halted: + type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object + init: + properties: + initialized: + type: boolean + script: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + scriptPath: + type: string + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + type: object + waitForInitialRestore: + type: boolean + type: object + keyFileSecret: + properties: + name: + type: string + type: object + monitor: + properties: + agent: + type: string + prometheus: + properties: + exporter: + properties: + args: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + port: + default: 56790 + format: int32 + type: integer + resources: + properties: + 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 + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 - required: - - spec type: object type: object - fc: - properties: - fsType: - type: string - lun: - format: int32 - type: integer - readOnly: - type: boolean - targetWWNs: - items: - type: string - type: array - wwids: - items: - type: string - type: array - type: object - flexVolume: + serviceMonitor: properties: - driver: - type: string - fsType: + interval: type: string - options: + labels: additionalProperties: type: string type: object - readOnly: - type: boolean - secretRef: - properties: - name: - type: string - type: object - required: - - driver - type: object - flocker: - properties: - datasetName: - type: string - datasetUUID: - type: string type: object - gcePersistentDisk: - properties: - fsType: - type: string - partition: - format: int32 - type: integer - pdName: - type: string - readOnly: - type: boolean - required: - - pdName + type: object + type: object + podTemplate: + properties: + controller: + properties: + annotations: + additionalProperties: + type: string type: object - gitRepo: - properties: - directory: - type: string - repository: - type: string - revision: - type: string - required: - - repository + labels: + additionalProperties: + type: string type: object - glusterfs: - properties: - endpoints: - type: string - path: - type: string - readOnly: - type: boolean - required: - - endpoints - - path + type: object + metadata: + properties: + annotations: + additionalProperties: + type: string type: object - hostPath: - properties: - path: - type: string - type: - type: string - required: - - path + labels: + additionalProperties: + type: string type: object - iscsi: + type: object + spec: + properties: + affinity: properties: - chapAuthDiscovery: - type: boolean - chapAuthSession: - type: boolean - fsType: - type: string - initiatorName: - type: string - iqn: - type: string - iscsiInterface: - type: string - lun: - format: int32 - type: integer - portals: - items: - type: string - type: array - readOnly: - type: boolean - secretRef: + nodeAffinity: properties: - name: - type: string - type: object - targetPortal: - type: string - required: - - iqn - - lun - - targetPortal - type: object - nfs: - properties: - path: - type: string - readOnly: - type: boolean - server: - type: string - required: - - path - - server - type: object - persistentVolumeClaim: - properties: - claimName: - type: string - readOnly: - type: boolean - required: - - claimName - type: object - photonPersistentDisk: - properties: - fsType: - type: string - pdID: - type: string - required: - - pdID - type: object - portworxVolume: - properties: - fsType: - type: string - readOnly: - type: boolean - volumeID: - type: string - required: - - volumeID - type: object - projected: - properties: - defaultMode: - format: int32 - type: integer - sources: - items: - properties: - configMap: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: properties: - items: - items: - properties: - key: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: type: string - mode: - format: int32 - type: integer - path: + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: type: string - required: - - key - - path - type: object + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string type: array - name: + topologyKey: type: string - optional: - type: boolean + required: + - topologyKey type: object - downwardAPI: + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: properties: - items: - items: - properties: - fieldRef: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: properties: - apiVersion: + key: type: string - fieldPath: + operator: type: string + values: + items: + type: string + type: array required: - - fieldPath + - key + - operator type: object - mode: - format: int32 - type: integer - path: + type: array + matchLabels: + additionalProperties: type: string - resourceFieldRef: + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: properties: - containerName: + key: type: string - divisor: - 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 - resource: + operator: type: string + values: + items: + type: string + type: array required: - - resource + - key + - operator type: object - required: - - path - type: object - type: array - type: object - secret: - properties: - items: - items: - properties: - key: - type: string - mode: - format: int32 - type: integer - path: + type: array + matchLabels: + additionalProperties: type: string - required: - - key - - path - type: object + type: object + type: object + namespaces: + items: + type: string type: array - name: - type: string - optional: - type: boolean - type: object - serviceAccountToken: - properties: - audience: - type: string - expirationSeconds: - format: int64 - type: integer - path: + topologyKey: type: string required: - - path + - topologyKey type: object - type: object - type: array - type: object - quobyte: - properties: - group: - type: string - readOnly: - type: boolean - registry: - type: string - tenant: - type: string - user: - type: string - volume: - type: string - required: - - registry - - volume - type: object - rbd: - properties: - fsType: - type: string - image: - type: string - keyring: - type: string - monitors: - items: - type: string - type: array - pool: - type: string - readOnly: - type: boolean - secretRef: - properties: - name: - type: string + type: array type: object - user: - type: string - required: - - image - - monitors type: object - scaleIO: + args: + items: + type: string + type: array + containerSecurityContext: properties: - fsType: - type: string - gateway: - type: string - protectionDomain: - type: string - readOnly: + allowPrivilegeEscalation: type: boolean - secretRef: + capabilities: properties: - name: - type: string - type: object - sslEnabled: - type: boolean - storageMode: - type: string - storagePool: - type: string - system: - type: string - volumeName: - type: string - required: - - gateway - - secretRef - - system - type: object - scriptPath: - type: string - secret: - properties: - defaultMode: - format: int32 - type: integer - items: - items: - properties: - key: + add: + items: type: string - mode: - format: int32 - type: integer - path: + type: array + drop: + items: type: string - required: - - key - - path - type: object - type: array - optional: + type: array + type: object + privileged: type: boolean - secretName: - type: string - type: object - storageos: - properties: - fsType: + procMount: type: string - readOnly: + readOnlyRootFilesystem: type: boolean - secretRef: + runAsGroup: + format: int64 + type: integer + runAsNonRoot: + type: boolean + runAsUser: + format: int64 + type: integer + seLinuxOptions: properties: - name: + level: + type: string + role: + type: string + type: + type: string + user: type: string type: object - volumeName: - type: string - volumeNamespace: - type: string - type: object - vsphereVolume: - properties: - fsType: - type: string - storagePolicyID: - type: string - storagePolicyName: - type: string - volumePath: - type: string - required: - - volumePath - type: object - type: object - waitForInitialRestore: - type: boolean - type: object - keyFileSecret: - properties: - name: - type: string - type: object - monitor: - properties: - agent: - type: string - prometheus: - properties: - exporter: + 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 + dnsConfig: properties: - args: + nameservers: items: type: string type: array - env: + options: items: properties: name: type: string value: type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - resourceFieldRef: - properties: - containerName: - type: string - divisor: - 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 - resource: - type: string - required: - - resource - type: object - secretKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - type: object - required: - - name type: object type: array - port: - default: 56790 - format: int32 - type: integer - resources: - properties: - 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 - capabilities: - properties: - add: - items: + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: type: string - type: array - drop: - items: + name: type: string - type: array - type: object - privileged: - type: boolean - procMount: + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: 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: + type: array + command: + items: + type: string + type: array + env: + items: properties: - localhostProfile: + name: type: string - type: + value: type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object required: - - type + - name type: object - windowsOptions: + type: array + envFrom: + items: properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object type: object - type: object - type: object - serviceMonitor: - properties: - interval: - type: string - labels: - additionalProperties: + type: array + image: type: string - type: object - type: object - type: object - type: object - podTemplate: - properties: - controller: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: - properties: - affinity: - properties: - nodeAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - preference: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - weight: - format: int32 - type: integer - required: - - preference - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - properties: - nodeSelectorTerms: - items: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - type: array - required: - - nodeSelectorTerms - type: object - type: object - podAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: properties: - podAffinityTerm: + exec: properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: + command: items: type: string type: array - topologyKey: - type: string - required: - - topologyKey type: object - weight: - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: - properties: - labelSelector: + httpGet: properties: - matchExpressions: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - matchLabels: - additionalProperties: + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: type: string - type: object + type: array type: object - namespaceSelector: + httpGet: properties: - matchExpressions: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - matchLabels: - additionalProperties: - type: string - type: object + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port type: object - namespaces: + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: items: type: string type: array - topologyKey: + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - topologyKey + - port type: object - type: array - type: object - podAntiAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: + httpGet: properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: - items: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - type: array - topologyKey: - type: string - required: - - topologyKey - type: object - weight: + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: format: int32 type: integer + service: + type: string required: - - podAffinityTerm - - weight + - port type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: + httpGet: properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: + value: type: string - type: object - type: object - namespaces: - items: - type: string + required: + - name + - value + type: object type: array - topologyKey: + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: type: string required: - - topologyKey + - port type: object - type: array - type: object - type: object - args: - items: - type: string - type: array - containerSecurityContext: - properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - 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 - dnsConfig: - properties: - nameservers: - items: - type: string - type: array - options: - items: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: properties: - name: - type: string - value: - type: string + 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 - type: array - searches: - items: - type: string - type: array - type: object - dnsPolicy: - type: string - env: - items: - properties: - name: - type: string - value: - type: string - valueFrom: + securityContext: properties: - configMapKeyRef: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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: - key: + level: type: string - name: + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: type: string - optional: - type: boolean required: - - key + - type type: object - fieldRef: + windowsOptions: properties: - apiVersion: + gmsaCredentialSpec: type: string - fieldPath: + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - fieldPath + - port type: object - resourceFieldRef: + httpGet: properties: - containerName: + host: type: string - divisor: + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: 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 - resource: + scheme: type: string required: - - resource + - port type: object - secretKeyRef: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: properties: - key: - type: string - name: + host: type: string - optional: - type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true required: - - key + - port type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer type: object - required: - - name - type: object - type: array - hostIPC: - type: boolean - hostNetwork: - type: boolean - hostPID: - type: boolean - imagePullSecrets: - items: - properties: - name: + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: type: string - type: object - type: array - initContainers: - items: - properties: - args: - items: - type: string - type: array - command: - items: - type: string - type: array - env: + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: items: properties: - name: + devicePath: type: string - value: + name: type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - resourceFieldRef: - properties: - containerName: - type: string - divisor: - 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 - resource: - type: string - required: - - resource - type: object - secretKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - type: object required: + - devicePath - name type: object type: array - envFrom: + volumeMounts: items: properties: - configMapRef: - properties: - name: - type: string - optional: - type: boolean - type: object - prefix: + mountPath: type: string - secretRef: - properties: - name: - type: string - optional: - type: boolean - type: object + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name type: object type: array - image: - type: string - imagePullPolicy: + workingDir: type: string - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: + required: + - name + type: object + type: array + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port + - name + - value type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - port: - format: int32 - type: integer - service: + name: + type: string + value: type: string required: - - port + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + nodeSelector: + additionalProperties: + type: string + type: object + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + value: type: string required: - - port + - name + - value type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + 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 + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer type: object + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string name: type: string - ports: - items: - properties: - containerPort: - format: int32 - type: integer - hostIP: - type: string - hostPort: - format: int32 - type: integer - name: - type: string - protocol: - default: TCP - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + fsType: + type: string + partition: format: int32 type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID type: object - resources: + azureDisk: properties: - 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 + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI type: object - securityContext: + azureFile: properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - type: object - privileged: + readOnly: type: boolean - procMount: + secretName: type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: + secretFile: + type: string + secretRef: properties: - level: - type: string - role: - type: string - type: - type: string - user: + name: type: string type: object - seccompProfile: + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: properties: - localhostProfile: - type: string - type: + name: type: string - required: - - type type: object - windowsOptions: + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: + name: type: string type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver type: object - startupProbe: + downwardAPI: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: + defaultMode: format: int32 type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + items: + items: + properties: + fieldRef: properties: - name: + apiVersion: type: string - value: + fieldPath: type: string required: - - name - - value + - fieldPath type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array type: object - stdin: - type: boolean - stdinOnce: - type: boolean - terminationMessagePath: - type: string - terminationMessagePolicy: - type: string - tty: - type: boolean - volumeDevices: - items: - properties: - devicePath: - type: string - name: - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - type: string - required: - - name - type: object - type: array - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object name: type: string - value: + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: + volumeMode: type: string - value: + volumeName: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + type: array + wwids: + items: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: + type: array + type: object + flexVolume: + properties: + driver: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: properties: name: type: string - value: - type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - nodeSelector: - additionalProperties: - type: string - type: object - priority: - format: int32 - type: integer - priorityClassName: - type: string - readinessProbe: - properties: - exec: - properties: - command: - items: + required: + - driver + type: object + flocker: + properties: + datasetName: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: properties: name: type: string - value: - type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resources: - properties: - 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 - schedulerName: - type: string - securityContext: - properties: - fsGroup: - format: int64 - type: integer - fsGroupChangePolicy: - type: string - 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 - supplementalGroups: - items: - format: int64 - type: integer - type: array - sysctls: - items: + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: properties: - name: + path: type: string - value: + readOnly: + type: boolean + server: type: string required: - - name - - value + - path + - server type: object - type: array - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - serviceAccountName: - type: string - shareProcessNamespace: - type: boolean - tolerations: - items: - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - format: int64 - type: integer - value: - type: string - type: object - type: array - topologySpreadConstraints: - items: - properties: - labelSelector: + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: properties: - matchExpressions: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: items: properties: key: type: string - operator: + mode: + format: int32 + type: integer + path: type: string - values: - items: - type: string - type: array required: - key - - operator + - path type: object type: array - matchLabels: - additionalProperties: - type: string + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath type: object - maxSkew: - format: int32 - type: integer - minDomains: - format: int32 - type: integer - topologyKey: - type: string - whenUnsatisfiable: - type: string required: - - maxSkew - - topologyKey - - whenUnsatisfiable + - name type: object type: array - x-kubernetes-list-map-keys: - - topologyKey - - whenUnsatisfiable - x-kubernetes-list-type: map type: object type: object replicaSet: @@ -4336,7 +5799,296 @@ spec: preferredDuringSchedulingIgnoredDuringExecution: items: properties: - preference: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: properties: matchExpressions: items: @@ -4354,7 +6106,14 @@ spec: - operator type: object type: array - matchFields: + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: items: properties: key: @@ -4370,1485 +6129,1909 @@ spec: - operator type: object type: array + matchLabels: + additionalProperties: + type: string + type: object type: object - weight: - format: int32 - type: integer + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + args: + items: + type: string + type: array + containerSecurityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string required: - - preference - - weight + - resource type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: properties: - nodeSelectorTerms: - items: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: properties: - matchExpressions: + command: items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object + type: string type: array - matchFields: + type: object + httpGet: + properties: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - type: object - type: array - required: - - nodeSelectorTerms - type: object - type: object - podAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: - items: - type: string - type: array - topologyKey: + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true required: - - topologyKey + - port type: object - weight: - format: int32 - type: integer - required: - - podAffinityTerm - - weight type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: + preStop: properties: - labelSelector: + exec: properties: - matchExpressions: + command: items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: type: string - type: object + type: array type: object - namespaceSelector: + httpGet: properties: - matchExpressions: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - matchLabels: - additionalProperties: - type: string - type: object + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port type: object - namespaces: + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: items: type: string type: array - topologyKey: + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - topologyKey + - port type: object - type: array - type: object - podAntiAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: + httpGet: properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: - items: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - type: array - topologyKey: - type: string - required: - - topologyKey - type: object - weight: + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: format: int32 type: integer + service: + type: string required: - - podAffinityTerm - - weight + - port type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: + httpGet: properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: + value: type: string - type: object - type: object - namespaces: - items: - type: string + required: + - name + - value + type: object type: array - topologyKey: + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: type: string required: - - topologyKey + - port type: object - type: array - type: object - type: object - args: - items: - type: string - type: array - containerSecurityContext: - properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - 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 - dnsConfig: - properties: - nameservers: - items: - type: string - type: array - options: - items: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: properties: - name: - type: string - value: - type: string + 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 - type: array - searches: - items: - type: string - type: array - type: object - dnsPolicy: - type: string - env: - items: - properties: - name: - type: string - value: - type: string - valueFrom: + securityContext: properties: - configMapKeyRef: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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: - key: + level: type: string - name: + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: type: string - optional: - type: boolean required: - - key + - type type: object - fieldRef: + windowsOptions: properties: - apiVersion: + gmsaCredentialSpec: type: string - fieldPath: + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - fieldPath + - port type: object - resourceFieldRef: + httpGet: properties: - containerName: + host: type: string - divisor: + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: 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 - resource: + scheme: type: string required: - - resource + - port type: object - secretKeyRef: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: properties: - key: - type: string - name: + host: type: string - optional: - type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true required: - - key + - port type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer type: object - required: - - name - type: object - type: array - hostIPC: - type: boolean - hostNetwork: - type: boolean - hostPID: - type: boolean - imagePullSecrets: - items: - properties: - name: + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: type: string - type: object - type: array - initContainers: - items: - properties: - args: - items: - type: string - type: array - command: - items: - type: string - type: array - env: + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: items: properties: - name: + devicePath: type: string - value: + name: type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - resourceFieldRef: - properties: - containerName: - type: string - divisor: - 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 - resource: - type: string - required: - - resource - type: object - secretKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - type: object required: + - devicePath - name type: object type: array - envFrom: + volumeMounts: items: properties: - configMapRef: - properties: - name: - type: string - optional: - type: boolean - type: object - prefix: + mountPath: type: string - secretRef: - properties: - name: - type: string - optional: - type: boolean - type: object + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name type: object type: array - image: - type: string - imagePullPolicy: + workingDir: type: string - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: + required: + - name + type: object + type: array + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port + - name + - value type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - port: - format: int32 - type: integer - service: + name: + type: string + value: type: string required: - - port + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + nodeSelector: + additionalProperties: + type: string + type: object + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + value: type: string required: - - port + - name + - value type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + 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 + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer type: object + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string name: type: string - ports: - items: - properties: - containerPort: - format: int32 - type: integer - hostIP: - type: string - hostPort: - format: int32 - type: integer - name: - type: string - protocol: - default: TCP - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + fsType: + type: string + partition: format: int32 type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID type: object - resources: + azureDisk: properties: - 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 + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI type: object - securityContext: + azureFile: properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - type: object - privileged: + readOnly: type: boolean - procMount: + secretName: type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: + secretFile: + type: string + secretRef: properties: - level: - type: string - role: - type: string - type: - type: string - user: + name: type: string type: object - seccompProfile: + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: properties: - localhostProfile: - type: string - type: + name: type: string - required: - - type type: object - windowsOptions: + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: + name: type: string type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver type: object - startupProbe: + downwardAPI: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: + defaultMode: format: int32 type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + items: + items: + properties: + fieldRef: properties: - name: + apiVersion: type: string - value: + fieldPath: type: string required: - - name - - value + - fieldPath type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array type: object - stdin: - type: boolean - stdinOnce: - type: boolean - terminationMessagePath: - type: string - terminationMessagePolicy: - type: string - tty: - type: boolean - volumeDevices: - items: - properties: - devicePath: - type: string - name: - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - type: string - required: - - name - type: object - type: array - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object name: type: string - value: + namespace: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + spec: properties: - name: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: type: string - value: + volumeMode: + type: string + volumeName: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + type: array + wwids: + items: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: + type: array + type: object + flexVolume: + properties: + driver: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: properties: name: type: string - value: + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - nodeSelector: - additionalProperties: - type: string - type: object - priority: - format: int32 - type: integer - priorityClassName: - type: string - readinessProbe: - properties: - exec: - properties: - command: - items: + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: properties: name: type: string - value: - type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resources: - properties: - 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 - schedulerName: - type: string - securityContext: - properties: - fsGroup: - format: int64 - type: integer - fsGroupChangePolicy: - type: string - 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 - supplementalGroups: - items: - format: int64 - type: integer - type: array - sysctls: - items: + user: + type: string + required: + - image + - monitors + type: object + scaleIO: properties: - name: + fsType: type: string - value: + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: type: string required: - - name - - value + - gateway + - secretRef + - system type: object - type: array - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - serviceAccountName: - type: string - shareProcessNamespace: - type: boolean - tolerations: - items: - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - format: int64 - type: integer - value: - type: string - type: object - type: array - topologySpreadConstraints: - items: - properties: - labelSelector: + secret: properties: - matchExpressions: + defaultMode: + format: int32 + type: integer + items: items: properties: key: type: string - operator: + mode: + format: int32 + type: integer + path: type: string - values: - items: - type: string - type: array required: - key - - operator + - path type: object type: array - matchLabels: - additionalProperties: - type: string + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath type: object - maxSkew: - format: int32 - type: integer - minDomains: - format: int32 - type: integer - topologyKey: - type: string - whenUnsatisfiable: - type: string required: - - maxSkew - - topologyKey - - whenUnsatisfiable + - name type: object type: array - x-kubernetes-list-map-keys: - - topologyKey - - whenUnsatisfiable - x-kubernetes-list-type: map type: object type: object prefix: @@ -6684,7 +8867,269 @@ spec: type: object type: object type: object - livenessProbe: + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + 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 + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 + startupProbe: properties: exec: properties: @@ -6762,735 +9207,1193 @@ spec: format: int32 type: integer type: object - name: + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: type: string - ports: + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: items: properties: - containerPort: - format: int32 - type: integer - hostIP: + devicePath: type: string - hostPort: - format: int32 - type: integer name: type: string - protocol: - default: TCP + required: + - devicePath + - name + type: object + type: array + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: type: string required: - - containerPort + - mountPath + - name type: object type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: + workingDir: + type: string + required: + - name + type: object + type: array + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: type: string - required: - - port - type: object - httpGet: - properties: - host: + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + value: type: string required: - - port + - name + - value type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + nodeSelector: + additionalProperties: + type: string + type: object + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: + name: + type: string + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + 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 + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + type: object + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: format: int32 type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID type: object - resources: + azureDisk: properties: - 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 + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI type: object - securityContext: + azureFile: properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - type: object - privileged: + readOnly: type: boolean - procMount: + secretName: type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: + secretFile: + type: string + secretRef: properties: - localhostProfile: - type: string - type: + name: type: string - required: - - type type: object - windowsOptions: + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: + name: type: string type: object + volumeID: + type: string + required: + - volumeID type: object - startupProbe: + configMap: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: + defaultMode: format: int32 type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: format: int32 type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array type: object - stdin: - type: boolean - stdinOnce: - type: boolean - terminationMessagePath: - type: string - terminationMessagePolicy: - type: string - tty: - type: boolean - volumeDevices: - items: - properties: - devicePath: - type: string - name: - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - type: string - required: - - name - type: object - type: array - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object name: type: string - value: + namespace: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + spec: properties: - name: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: type: string - value: + volumeMode: + type: string + volumeName: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: properties: name: type: string - value: + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - nodeSelector: - additionalProperties: - type: string - type: object - priority: - format: int32 - type: integer - priorityClassName: - type: string - readinessProbe: - properties: - exec: - properties: - command: - items: + targetPortal: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: properties: name: type: string - value: - type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resources: - properties: - 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 - schedulerName: - type: string - securityContext: - properties: - fsGroup: - format: int64 - type: integer - fsGroupChangePolicy: - type: string - 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 - supplementalGroups: - items: - format: int64 - type: integer - type: array - sysctls: - items: + user: + type: string + required: + - image + - monitors + type: object + scaleIO: properties: - name: + fsType: type: string - value: + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: type: string required: - - name - - value + - gateway + - secretRef + - system type: object - type: array - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - serviceAccountName: - type: string - shareProcessNamespace: - type: boolean - tolerations: - items: - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - format: int64 - type: integer - value: - type: string - type: object - type: array - topologySpreadConstraints: - items: - properties: - labelSelector: + secret: properties: - matchExpressions: + defaultMode: + format: int32 + type: integer + items: items: properties: key: type: string - operator: + mode: + format: int32 + type: integer + path: type: string - values: - items: - type: string - type: array required: - key - - operator + - path type: object type: array - matchLabels: - additionalProperties: - type: string + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath type: object - maxSkew: - format: int32 - type: integer - minDomains: - format: int32 - type: integer - topologyKey: - type: string - whenUnsatisfiable: - type: string required: - - maxSkew - - topologyKey - - whenUnsatisfiable + - name type: object type: array - x-kubernetes-list-map-keys: - - topologyKey - - whenUnsatisfiable - x-kubernetes-list-type: map type: object type: object prefix: @@ -7591,14 +10494,127 @@ spec: format: int32 type: integer required: - - preference + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm - weight type: object type: array requiredDuringSchedulingIgnoredDuringExecution: - properties: - nodeSelectorTerms: - items: + items: + properties: + labelSelector: properties: matchExpressions: items: @@ -7616,7 +10632,14 @@ spec: - operator type: object type: array - matchFields: + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: items: properties: key: @@ -7632,13 +10655,23 @@ spec: - operator type: object type: array + matchLabels: + additionalProperties: + type: string + type: object type: object - type: array - required: - - nodeSelectorTerms - type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array type: object - podAffinity: + podAntiAffinity: properties: preferredDuringSchedulingIgnoredDuringExecution: items: @@ -7704,1367 +10737,1957 @@ spec: format: int32 type: integer required: - - podAffinityTerm - - weight + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + args: + items: + type: string + type: array + containerSecurityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: + fieldRef: properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: - items: - type: string - type: array - topologyKey: + apiVersion: + type: string + fieldPath: type: string required: - - topologyKey + - fieldPath type: object - type: array - type: object - podAntiAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: + resourceFieldRef: properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: items: type: string type: array - topologyKey: - type: string - required: - - topologyKey type: object - weight: - format: int32 - type: integer - required: - - podAffinityTerm - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: - properties: - labelSelector: + httpGet: properties: - matchExpressions: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - matchLabels: - additionalProperties: + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: type: string - type: object + type: array type: object - namespaceSelector: + httpGet: properties: - matchExpressions: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - matchLabels: - additionalProperties: - type: string - type: object + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port type: object - namespaces: + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: items: type: string type: array - topologyKey: + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - topologyKey + - port type: object - type: array - type: object - type: object - args: - items: - type: string - type: array - containerSecurityContext: - properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - 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 - dnsConfig: - properties: - nameservers: - items: - type: string - type: array - options: - items: + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: properties: - name: - type: string - value: - type: string + 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 - type: array - searches: - items: - type: string - type: array - type: object - dnsPolicy: - type: string - env: - items: - properties: - name: - type: string - value: - type: string - valueFrom: + securityContext: properties: - configMapKeyRef: + allowPrivilegeEscalation: + type: boolean + capabilities: properties: - key: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 - name: + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: type: string - optional: - type: boolean required: - - key + - type + type: object + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array type: object - fieldRef: + failureThreshold: + format: int32 + type: integer + grpc: properties: - apiVersion: - type: string - fieldPath: + port: + format: int32 + type: integer + service: type: string required: - - fieldPath + - port type: object - resourceFieldRef: + httpGet: properties: - containerName: + host: type: string - divisor: + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: 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 - resource: + scheme: type: string required: - - resource + - port type: object - secretKeyRef: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: properties: - key: - type: string - name: + host: type: string - optional: - type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true required: - - key + - port type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer type: object - required: - - name - type: object - type: array - hostIPC: - type: boolean - hostNetwork: - type: boolean - hostPID: - type: boolean - imagePullSecrets: - items: - properties: - name: + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: type: string - type: object - type: array - initContainers: - items: - properties: - args: - items: - type: string - type: array - command: - items: - type: string - type: array - env: + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: items: properties: - name: + devicePath: type: string - value: + name: type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - resourceFieldRef: - properties: - containerName: - type: string - divisor: - 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 - resource: - type: string - required: - - resource - type: object - secretKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - type: object required: + - devicePath - name type: object type: array - envFrom: + volumeMounts: items: properties: - configMapRef: - properties: - name: - type: string - optional: - type: boolean - type: object - prefix: + mountPath: type: string - secretRef: - properties: - name: - type: string - optional: - type: boolean - type: object - type: object - type: array - image: - type: string - imagePullPolicy: - type: string - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + workingDir: + type: string + required: + - name + type: object + type: array + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + value: type: string required: - - port + - name + - value type: object - tcpSocket: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: + name: + type: string + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port + - name + - value type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - port: - format: int32 - type: integer - service: + name: + type: string + value: type: string required: - - port + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + nodeSelector: + additionalProperties: + type: string + type: object + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + value: type: string required: - - port + - name + - value type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + 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 + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer type: object + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string name: type: string - ports: - items: - properties: - containerPort: - format: int32 - type: integer - hostIP: - type: string - hostPort: - format: int32 - type: integer - name: - type: string - protocol: - default: TCP - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + fsType: + type: string + partition: format: int32 type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID type: object - resources: + azureDisk: properties: - 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 + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI type: object - securityContext: + azureFile: properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - type: object - privileged: + readOnly: type: boolean - procMount: + secretName: type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: 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: + secretFile: + type: string + secretRef: properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: + name: type: string type: object + user: + type: string + required: + - monitors type: object - startupProbe: + cinder: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: + fsType: + type: string + readOnly: + type: boolean + secretRef: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: format: int32 type: integer - tcpSocket: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: properties: - host: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: format: int32 type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array type: object - stdin: - type: boolean - stdinOnce: - type: boolean - terminationMessagePath: - type: string - terminationMessagePolicy: - type: string - tty: - type: boolean - volumeDevices: - items: - properties: - devicePath: - type: string - name: - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - type: string - required: - - name - type: object - type: array - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object name: type: string - value: + namespace: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + spec: properties: - name: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: type: string - value: + volumeMode: + type: string + volumeName: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + type: array + wwids: + items: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: + type: array + type: object + flexVolume: + properties: + driver: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: properties: name: type: string - value: + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - nodeSelector: - additionalProperties: - type: string - type: object - priority: - format: int32 - type: integer - priorityClassName: - type: string - readinessProbe: - properties: - exec: - properties: - command: - items: + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: properties: name: type: string - value: - type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resources: - properties: - 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 - schedulerName: - type: string - securityContext: - properties: - fsGroup: - format: int64 - type: integer - fsGroupChangePolicy: - type: string - 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 - supplementalGroups: - items: - format: int64 - type: integer - type: array - sysctls: - items: + user: + type: string + required: + - image + - monitors + type: object + scaleIO: properties: - name: + fsType: type: string - value: + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: type: string required: - - name - - value + - gateway + - secretRef + - system type: object - type: array - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - serviceAccountName: - type: string - shareProcessNamespace: - type: boolean - tolerations: - items: - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - format: int64 - type: integer - value: - type: string - type: object - type: array - topologySpreadConstraints: - items: - properties: - labelSelector: + secret: properties: - matchExpressions: + defaultMode: + format: int32 + type: integer + items: items: properties: key: type: string - operator: + mode: + format: int32 + type: integer + path: type: string - values: - items: - type: string - type: array required: - key - - operator + - path type: object type: array - matchLabels: - additionalProperties: - type: string + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath type: object - maxSkew: - format: int32 - type: integer - minDomains: - format: int32 - type: integer - topologyKey: - type: string - whenUnsatisfiable: - type: string required: - - maxSkew - - topologyKey - - whenUnsatisfiable + - name type: object type: array - x-kubernetes-list-map-keys: - - topologyKey - - whenUnsatisfiable - x-kubernetes-list-type: map type: object type: object prefix: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml index 31248a4fa..8d56588cf 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mysqls.yaml @@ -181,6 +181,11 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -271,6 +276,24 @@ spec: type: object halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object init: properties: initialized: @@ -2623,6 +2646,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2685,433 +2711,1280 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map - type: object - type: object - replicas: - format: int32 - type: integer - requireSSL: - type: boolean - serviceTemplates: - items: - properties: - alias: - enum: - - primary - - standby - - stats - type: string - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: - properties: - clusterIP: - type: string - externalIPs: - items: - type: string - type: array - externalTrafficPolicy: - type: string - healthCheckNodePort: - format: int32 - type: integer - loadBalancerIP: - type: string - loadBalancerSourceRanges: - items: - type: string - type: array - ports: - items: - properties: - name: - type: string - nodePort: - format: int32 - type: integer - port: - format: int32 - type: integer - required: - - port - type: object - type: array - sessionAffinityConfig: - properties: - clientIP: - properties: - timeoutSeconds: - format: int32 - type: integer - type: object - type: object - type: - type: string - type: object - required: - - alias - type: object - type: array - storage: - properties: - accessModes: - items: - type: string - type: array - dataSource: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - dataSourceRef: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - resources: - properties: - 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 - selector: - properties: - matchExpressions: + volumeMounts: items: properties: - key: + mountPath: type: string - operator: + mountPropagation: type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - storageClassName: - type: string - volumeMode: - type: string - volumeName: - type: string - type: object - storageType: - enum: - - Durable - - Ephemeral - type: string - terminationPolicy: - enum: - - Halt - - Delete - - WipeOut - - DoNotTerminate - type: string - tls: - 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: + name: type: string - kind: + readOnly: + type: boolean + subPath: type: string - name: + subPathExpr: type: string required: - - kind + - mountPath - name type: object - privateKey: - properties: - encoding: - enum: - - PKCS1 - - PKCS8 - type: string - type: object - renewBefore: - type: string - secretName: - type: string - subject: + type: array + volumes: + items: 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 - type: object - topology: - properties: - group: - properties: - mode: - default: Single-Primary - enum: - - Single-Primary - type: string - name: - type: string - type: object - innoDBCluster: - properties: - mode: - default: Single-Primary - enum: - - Single-Primary - type: string - router: - properties: - podTemplate: - properties: - controller: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: type: string - type: object - type: object - metadata: - properties: - annotations: - additionalProperties: + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path type: object - labels: - additionalProperties: + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: type: string - type: object - type: object - spec: - properties: - affinity: + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: properties: - nodeAffinity: + fieldRef: properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - preference: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - weight: - format: int32 - type: integer - required: - - preference - - weight - type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - properties: - nodeSelectorTerms: - items: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchFields: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - type: object - type: array - required: - - nodeSelectorTerms - type: object + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath type: object - podAffinity: + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: - properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + replicas: + format: int32 + type: integer + requireSSL: + type: boolean + serviceTemplates: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + clusterIP: + type: string + externalIPs: + items: + type: string + type: array + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + required: + - alias + type: object + type: array + storage: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + storageType: + enum: + - Durable + - Ephemeral + type: string + terminationPolicy: + enum: + - Halt + - Delete + - WipeOut + - DoNotTerminate + type: string + tls: + 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 + 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 + type: object + topology: + properties: + group: + properties: + mode: + default: Single-Primary + enum: + - Single-Primary + type: string + name: + type: string + type: object + innoDBCluster: + properties: + mode: + default: Single-Primary + enum: + - Single-Primary + type: string + router: + properties: + podTemplate: + properties: + controller: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + affinity: + properties: + nodeAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + preference: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + weight: + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + properties: + nodeSelectorTerms: + items: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + type: array + required: + - nodeSelectorTerms + type: object + type: object + podAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + properties: + preferredDuringSchedulingIgnoredDuringExecution: + items: + properties: + podAffinityTerm: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array required: - key - operator @@ -3149,1376 +4022,1966 @@ spec: items: type: string type: array - topologyKey: + topologyKey: + type: string + required: + - topologyKey + type: object + weight: + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaceSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + namespaces: + items: + type: string + type: array + topologyKey: + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object + args: + items: + type: string + type: array + containerSecurityContext: + properties: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 + dnsConfig: + properties: + nameservers: + items: + type: string + type: array + options: + items: + properties: + name: + type: string + value: + type: string + type: object + type: array + searches: + items: + type: string + type: array + type: object + dnsPolicy: + type: string + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + hostIPC: + type: boolean + hostNetwork: + type: boolean + hostPID: + type: boolean + imagePullSecrets: + items: + properties: + name: + type: string + type: object + type: array + initContainers: + items: + properties: + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - key + type: object + type: object + required: + - name + type: object + type: array + envFrom: + items: + properties: + configMapRef: + properties: + name: + type: string + optional: + type: boolean + type: object + prefix: + type: string + secretRef: + properties: + name: + type: string + optional: + type: boolean + type: object + type: object + type: array + image: + type: string + imagePullPolicy: + type: string + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true required: - - topologyKey + - port type: object - weight: - format: int32 - type: integer - required: - - podAffinityTerm - - weight type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: + preStop: properties: - labelSelector: + exec: properties: - matchExpressions: + command: items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: type: string - type: object + type: array type: object - namespaceSelector: + httpGet: properties: - matchExpressions: + host: + type: string + httpHeaders: items: properties: - key: + name: type: string - operator: + value: type: string - values: - items: - type: string - type: array required: - - key - - operator + - name + - value type: object type: array - matchLabels: - additionalProperties: - type: string - type: object + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port type: object - namespaces: + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: items: type: string type: array - topologyKey: + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - topologyKey + - port type: object - type: array - type: object - podAntiAffinity: - properties: - preferredDuringSchedulingIgnoredDuringExecution: - items: + httpGet: properties: - podAffinityTerm: - properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - namespaces: - items: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - type: array - topologyKey: - type: string - required: - - topologyKey - type: object - weight: + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + name: + type: string + ports: + items: + properties: + containerPort: + format: int32 + type: integer + hostIP: + type: string + hostPort: + format: int32 + type: integer + name: + type: string + protocol: + default: TCP + type: string + required: + - containerPort + type: object + type: array + x-kubernetes-list-map-keys: + - containerPort + - protocol + x-kubernetes-list-type: map + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: format: int32 type: integer + service: + type: string required: - - podAffinityTerm - - weight + - port type: object - type: array - requiredDuringSchedulingIgnoredDuringExecution: - items: + httpGet: properties: - labelSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: + host: + type: string + httpHeaders: + items: + properties: + name: type: string - type: object - type: object - namespaceSelector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: + value: type: string - type: object - type: object - namespaces: - items: - type: string + required: + - name + - value + type: object type: array - topologyKey: + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: type: string required: - - topologyKey + - port type: object - type: array - type: object - type: object - args: - items: - type: string - type: array - containerSecurityContext: - properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - 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 - dnsConfig: - properties: - nameservers: - items: - type: string - type: array - options: - items: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: properties: - name: - type: string - value: - type: string + 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 - type: array - searches: - items: - type: string - type: array - type: object - dnsPolicy: - type: string - env: - items: - properties: - name: - type: string - value: - type: string - valueFrom: + securityContext: properties: - configMapKeyRef: + allowPrivilegeEscalation: + type: boolean + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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: - key: + level: type: string - name: + role: + type: string + type: + type: string + user: + type: string + type: object + seccompProfile: + properties: + localhostProfile: + type: string + type: type: string - optional: - type: boolean required: - - key + - type type: object - fieldRef: + windowsOptions: properties: - apiVersion: + gmsaCredentialSpec: type: string - fieldPath: + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + startupProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: type: string required: - - fieldPath + - port type: object - resourceFieldRef: + httpGet: properties: - containerName: + host: type: string - divisor: + httpHeaders: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + path: + type: string + port: 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 - resource: + scheme: type: string required: - - resource + - port type: object - secretKeyRef: + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: properties: - key: - type: string - name: + host: type: string - optional: - type: boolean + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true required: - - key + - port type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer type: object - required: - - name - type: object - type: array - hostIPC: - type: boolean - hostNetwork: - type: boolean - hostPID: - type: boolean - imagePullSecrets: - items: - properties: - name: + stdin: + type: boolean + stdinOnce: + type: boolean + terminationMessagePath: type: string - type: object - type: array - initContainers: - items: - properties: - args: - items: - type: string - type: array - command: - items: - type: string - type: array - env: + terminationMessagePolicy: + type: string + tty: + type: boolean + volumeDevices: items: properties: - name: + devicePath: type: string - value: + name: type: string - valueFrom: - properties: - configMapKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - fieldRef: - properties: - apiVersion: - type: string - fieldPath: - type: string - required: - - fieldPath - type: object - resourceFieldRef: - properties: - containerName: - type: string - divisor: - 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 - resource: - type: string - required: - - resource - type: object - secretKeyRef: - properties: - key: - type: string - name: - type: string - optional: - type: boolean - required: - - key - type: object - type: object required: + - devicePath - name type: object type: array - envFrom: + volumeMounts: items: properties: - configMapRef: - properties: - name: - type: string - optional: - type: boolean - type: object - prefix: + mountPath: type: string - secretRef: - properties: - name: - type: string - optional: - type: boolean - type: object + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name type: object type: array - image: - type: string - imagePullPolicy: + workingDir: type: string - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: + required: + - name + type: object + type: array + lifecycle: + properties: + postStart: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + preStop: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + name: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + value: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true required: - - port + - name + - value type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + type: object + type: object + livenessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - port: - format: int32 - type: integer - service: + name: + type: string + value: type: string required: - - port + - name + - value type: object - httpGet: + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + nodeSelector: + additionalProperties: + type: string + type: object + priority: + format: int32 + type: integer + priorityClassName: + type: string + readinessProbe: + properties: + exec: + properties: + command: + items: + type: string + type: array + type: object + failureThreshold: + format: int32 + type: integer + grpc: + properties: + port: + format: int32 + type: integer + service: + type: string + required: + - port + type: object + httpGet: + properties: + host: + type: string + httpHeaders: + items: properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: + name: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + value: type: string required: - - port + - name + - value type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port + type: array + path: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + scheme: + type: string + required: + - port + type: object + initialDelaySeconds: + format: int32 + type: integer + periodSeconds: + format: int32 + type: integer + successThreshold: + format: int32 + type: integer + tcpSocket: + properties: + host: + type: string + port: + anyOf: + - type: integer + - type: string + x-kubernetes-int-or-string: true + required: + - port + type: object + terminationGracePeriodSeconds: + format: int64 + type: integer + timeoutSeconds: + format: int32 + type: integer + type: object + resources: + properties: + 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 + schedulerName: + type: string + securityContext: + properties: + fsGroup: + format: int64 + type: integer + fsGroupChangePolicy: + type: string + 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 + supplementalGroups: + items: + format: int64 + type: integer + type: array + sysctls: + items: + properties: + name: + type: string + value: + type: string + required: + - name + - value + type: object + type: array + windowsOptions: + properties: + gmsaCredentialSpec: + type: string + gmsaCredentialSpecName: + type: string + hostProcess: + type: boolean + runAsUserName: + type: string + type: object + type: object + serviceAccountName: + type: string + shareProcessNamespace: + type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer + tolerations: + items: + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + format: int64 + type: integer + value: + type: string + type: object + type: array + topologySpreadConstraints: + items: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer type: object + maxSkew: + format: int32 + type: integer + minDomains: + format: int32 + type: integer + topologyKey: + type: string + whenUnsatisfiable: + type: string + required: + - maxSkew + - topologyKey + - whenUnsatisfiable + type: object + type: array + x-kubernetes-list-map-keys: + - topologyKey + - whenUnsatisfiable + x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string name: type: string - ports: - items: - properties: - containerPort: - format: int32 - type: integer - hostIP: - type: string - hostPort: - format: int32 - type: integer - name: - type: string - protocol: - default: TCP - type: string - required: - - containerPort - type: object - type: array - x-kubernetes-list-map-keys: - - containerPort - - protocol - x-kubernetes-list-type: map - readinessProbe: + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: + fsType: + type: string + partition: format: int32 type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID type: object - resources: + azureDisk: properties: - 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 + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI type: object - securityContext: + azureFile: properties: - allowPrivilegeEscalation: - type: boolean - capabilities: - properties: - add: - items: - type: string - type: array - drop: - items: - type: string - type: array - type: object - privileged: + readOnly: type: boolean - procMount: + secretName: type: string - readOnlyRootFilesystem: - type: boolean - runAsGroup: - format: int64 - type: integer - runAsNonRoot: + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: type: boolean - runAsUser: - format: int64 - type: integer - seLinuxOptions: - properties: - level: - type: string - role: - type: string - type: - type: string - user: - type: string - type: object - seccompProfile: + secretFile: + type: string + secretRef: properties: - localhostProfile: - type: string - type: + name: type: string - required: - - type type: object - windowsOptions: + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: + name: type: string type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean type: object - startupProbe: + csi: properties: - exec: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: properties: - command: - items: - type: string - type: array + name: + type: string type: object - failureThreshold: + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: format: int32 type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + items: + items: + properties: + fieldRef: properties: - name: + apiVersion: type: string - value: + fieldPath: type: string required: - - name - - value + - fieldPath type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array type: object - stdin: - type: boolean - stdinOnce: - type: boolean - terminationMessagePath: - type: string - terminationMessagePolicy: - type: string - tty: - type: boolean - volumeDevices: - items: - properties: - devicePath: - type: string - name: - type: string - required: - - devicePath - - name - type: object - type: array - volumeMounts: - items: - properties: - mountPath: - type: string - mountPropagation: - type: string - name: - type: string - readOnly: - type: boolean - subPath: - type: string - subPathExpr: - type: string - required: - - mountPath - - name - type: object - type: array - workingDir: - type: string - required: - - name - type: object - type: array - lifecycle: - properties: - postStart: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object name: type: string - value: + namespace: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - preStop: - properties: - exec: - properties: - command: - items: - type: string - type: array - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + spec: properties: - name: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: type: string - value: + volumeMode: + type: string + volumeName: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: type: string - required: - - port - type: object - tcpSocket: - properties: - host: + type: array + wwids: + items: type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - type: object - type: object - livenessProbe: - properties: - exec: - properties: - command: - items: + type: array + type: object + flexVolume: + properties: + driver: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: properties: name: type: string - value: + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - nodeSelector: - additionalProperties: - type: string - type: object - priority: - format: int32 - type: integer - priorityClassName: - type: string - readinessProbe: - properties: - exec: - properties: - command: - items: + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: type: string - type: array - type: object - failureThreshold: - format: int32 - type: integer - grpc: - properties: - port: - format: int32 - type: integer - service: - type: string - required: - - port - type: object - httpGet: - properties: - host: - type: string - httpHeaders: - items: + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: properties: name: type: string - value: - type: string - required: - - name - - value type: object - type: array - path: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - scheme: - type: string - required: - - port - type: object - initialDelaySeconds: - format: int32 - type: integer - periodSeconds: - format: int32 - type: integer - successThreshold: - format: int32 - type: integer - tcpSocket: - properties: - host: - type: string - port: - anyOf: - - type: integer - - type: string - x-kubernetes-int-or-string: true - required: - - port - type: object - terminationGracePeriodSeconds: - format: int64 - type: integer - timeoutSeconds: - format: int32 - type: integer - type: object - resources: - properties: - 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 - schedulerName: - type: string - securityContext: - properties: - fsGroup: - format: int64 - type: integer - fsGroupChangePolicy: - type: string - 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 - supplementalGroups: - items: - format: int64 - type: integer - type: array - sysctls: - items: + user: + type: string + required: + - image + - monitors + type: object + scaleIO: properties: - name: + fsType: type: string - value: + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: type: string required: - - name - - value + - gateway + - secretRef + - system type: object - type: array - windowsOptions: - properties: - gmsaCredentialSpec: - type: string - gmsaCredentialSpecName: - type: string - hostProcess: - type: boolean - runAsUserName: - type: string - type: object - type: object - serviceAccountName: - type: string - shareProcessNamespace: - type: boolean - tolerations: - items: - properties: - effect: - type: string - key: - type: string - operator: - type: string - tolerationSeconds: - format: int64 - type: integer - value: - type: string - type: object - type: array - topologySpreadConstraints: - items: - properties: - labelSelector: + secret: properties: - matchExpressions: + defaultMode: + format: int32 + type: integer + items: items: properties: key: type: string - operator: + mode: + format: int32 + type: integer + path: type: string - values: - items: - type: string - type: array required: - key - - operator + - path type: object type: array - matchLabels: - additionalProperties: - type: string + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath type: object - maxSkew: - format: int32 - type: integer - minDomains: - format: int32 - type: integer - topologyKey: - type: string - whenUnsatisfiable: - type: string required: - - maxSkew - - topologyKey - - whenUnsatisfiable + - name type: object type: array - x-kubernetes-list-map-keys: - - topologyKey - - whenUnsatisfiable - x-kubernetes-list-type: map type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_perconaxtradbs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_perconaxtradbs.yaml index 0e3f1b92c..3586f417b 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_perconaxtradbs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_perconaxtradbs.yaml @@ -48,18 +48,188 @@ spec: type: object spec: properties: + allowedSchemas: + default: + namespaces: + from: Same + properties: + namespaces: + default: + from: Same + properties: + from: + default: Same + enum: + - All + - Selector + - Same + type: string + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: object + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + type: object authSecret: properties: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: type: string type: object + coordinator: + properties: + resources: + properties: + 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 + capabilities: + properties: + add: + items: + type: string + type: array + drop: + items: + type: string + type: array + 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 halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object init: properties: initialized: @@ -2412,6 +2582,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2474,153 +2647,872 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map - type: object - type: object - replicas: - format: int32 - type: integer - serviceTemplates: - items: - properties: - alias: - enum: - - primary - - standby - - stats - type: string - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: - properties: - clusterIP: - type: string - externalIPs: - items: - type: string - type: array - externalTrafficPolicy: - type: string - healthCheckNodePort: - format: int32 - type: integer - loadBalancerIP: - type: string - loadBalancerSourceRanges: - items: - type: string - type: array - ports: - items: - properties: - name: - type: string - nodePort: - format: int32 - type: integer - port: - format: int32 - type: integer - required: - - port - type: object - type: array - sessionAffinityConfig: - properties: - clientIP: - properties: - timeoutSeconds: - format: int32 - type: integer - type: object - type: object - type: - type: string - type: object - required: - - alias - type: object - type: array - storage: - properties: - accessModes: - items: - type: string - type: array - dataSource: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - dataSourceRef: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - resources: - properties: - 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 - selector: - properties: - matchExpressions: + volumeMounts: items: properties: - key: + mountPath: type: string - operator: + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: type: string - values: - items: - type: string - type: array required: - - key - - operator + - mountPath + - name type: object type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array + type: object + type: object + replicas: + format: int32 + type: integer + requireSSL: + type: boolean + serviceTemplates: + items: + properties: + alias: + enum: + - primary + - standby + - stats + type: string + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + clusterIP: + type: string + externalIPs: + items: + type: string + type: array + externalTrafficPolicy: + type: string + healthCheckNodePort: + format: int32 + type: integer + loadBalancerIP: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + ports: + items: + properties: + name: + type: string + nodePort: + format: int32 + type: integer + port: + format: int32 + type: integer + required: + - port + type: object + type: array + sessionAffinityConfig: + properties: + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object + type: object + type: + type: string + type: object + required: + - alias + type: object + type: array + storage: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object storageClassName: type: string volumeMode: @@ -2633,6 +3525,19 @@ spec: - Durable - Ephemeral type: string + systemUserSecrets: + properties: + monitorUserSecret: + properties: + name: + type: string + type: object + replicationUserSecret: + properties: + name: + type: string + type: object + type: object terminationPolicy: enum: - Halt diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgbouncers.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgbouncers.yaml index d62fe71bd..406c6a0a2 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgbouncers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgbouncers.yaml @@ -48,6 +48,11 @@ spec: type: object spec: properties: + autoOps: + properties: + disabled: + type: boolean + type: object connectionPool: properties: adminUsers: @@ -131,6 +136,24 @@ spec: - databaseRef type: object type: array + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object monitor: properties: agent: @@ -1783,6 +1806,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -1845,6 +1871,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_postgreses.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_postgreses.yaml index 073871314..88e122ece 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_postgreses.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_postgreses.yaml @@ -117,6 +117,11 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object clientAuthMode: enum: - md5 @@ -215,6 +220,24 @@ spec: type: boolean halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object init: properties: initialized: @@ -2594,6 +2617,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2656,6 +2682,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_proxysqls.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_proxysqls.yaml index 077e91a8c..7d21c1e38 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_proxysqls.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_proxysqls.yaml @@ -53,6 +53,11 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object backend: properties: ref: @@ -76,6 +81,72 @@ spec: name: type: string type: object + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object + initConfig: + properties: + adminVariables: + type: object + x-kubernetes-preserve-unknown-fields: true + mysqlQueryRules: + items: + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + mysqlUsers: + items: + properties: + active: + type: integer + attributes: + type: string + backend: + type: integer + comment: + type: string + default_hostgroup: + type: integer + default_schema: + type: string + fast_forward: + type: integer + frontend: + type: integer + max_connections: + format: int32 + type: integer + schema_locked: + type: integer + transaction_persistent: + type: integer + use_ssl: + type: integer + username: + type: string + required: + - username + type: object + type: array + mysqlVariables: + type: object + x-kubernetes-preserve-unknown-fields: true + type: object mode: enum: - Galera @@ -1733,6 +1804,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -1795,6 +1869,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: @@ -1870,90 +2661,8 @@ spec: - alias type: object type: array - storage: - properties: - accessModes: - items: - type: string - type: array - dataSource: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - dataSourceRef: - properties: - apiGroup: - type: string - kind: - type: string - name: - type: string - required: - - kind - - name - type: object - resources: - properties: - 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 - selector: - properties: - matchExpressions: - items: - properties: - key: - type: string - operator: - type: string - values: - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - type: object - type: object - storageClassName: - type: string - volumeMode: - type: string - volumeName: - type: string - type: object - storageType: - enum: - - Durable - - Ephemeral - type: string + syncUsers: + type: boolean terminationPolicy: enum: - Halt diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml index eff2caf89..15a798bb3 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml @@ -117,6 +117,11 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object cluster: properties: master: @@ -218,6 +223,24 @@ spec: type: boolean halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object init: properties: initialized: @@ -2576,6 +2599,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -2638,6 +2664,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redissentinels.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redissentinels.yaml index 1de1ae90e..4cdd9cafe 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redissentinels.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redissentinels.yaml @@ -48,10 +48,33 @@ spec: name: type: string type: object + autoOps: + properties: + disabled: + type: boolean + type: object disableAuth: type: boolean halted: type: boolean + healthCheck: + properties: + disableWriteCheck: + default: false + type: boolean + failureThreshold: + default: 1 + format: int32 + type: integer + periodSeconds: + default: 10 + format: int32 + type: integer + timeoutSeconds: + default: 10 + format: int32 + type: integer + type: object monitor: properties: agent: @@ -1704,6 +1727,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -1766,6 +1792,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object replicas: diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_elasticsearchopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_elasticsearchopsrequests.yaml index 234f60b81..09f38383a 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_elasticsearchopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_elasticsearchopsrequests.yaml @@ -614,6 +614,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_etcdopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_etcdopsrequests.yaml index 8615f400f..3b2ab6c4e 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_etcdopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_etcdopsrequests.yaml @@ -225,6 +225,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mariadbopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mariadbopsrequests.yaml index fb3b61683..84b9841fb 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mariadbopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mariadbopsrequests.yaml @@ -315,6 +315,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_memcachedopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_memcachedopsrequests.yaml index b6789673d..af114a746 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_memcachedopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_memcachedopsrequests.yaml @@ -225,6 +225,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mongodbopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mongodbopsrequests.yaml index f04bffbc1..2ec83de85 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mongodbopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mongodbopsrequests.yaml @@ -42,6 +42,12 @@ spec: type: object spec: properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string configuration: properties: arbiter: @@ -542,6 +548,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mysqlopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mysqlopsrequests.yaml index b94e5024e..58326e788 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mysqlopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mysqlopsrequests.yaml @@ -255,6 +255,12 @@ spec: type: object volumeExpansion: properties: + mode: + default: Online + enum: + - Offline + - Online + type: string mysql: anyOf: - type: integer @@ -305,6 +311,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_perconaxtradbopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_perconaxtradbopsrequests.yaml index eb1212af8..835cbf1df 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_perconaxtradbopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_perconaxtradbopsrequests.yaml @@ -225,6 +225,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_pgbounceropsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_pgbounceropsrequests.yaml index acfecfc6e..4a64b4582 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_pgbounceropsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_pgbounceropsrequests.yaml @@ -225,6 +225,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_postgresopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_postgresopsrequests.yaml index a119dccbd..62408259b 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_postgresopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_postgresopsrequests.yaml @@ -321,6 +321,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_proxysqlopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_proxysqlopsrequests.yaml index 82c1f5231..e4bbaacd9 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_proxysqlopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_proxysqlopsrequests.yaml @@ -43,16 +43,84 @@ spec: spec: properties: configuration: + properties: + adminVariables: + type: object + x-kubernetes-preserve-unknown-fields: true + mysqlQueryRules: + properties: + reqType: + type: string + rules: + items: + type: object + type: array + x-kubernetes-preserve-unknown-fields: true + required: + - reqType + - rules + type: object + mysqlUsers: + properties: + reqType: + type: string + users: + items: + properties: + active: + type: integer + attributes: + type: string + backend: + type: integer + comment: + type: string + default_hostgroup: + type: integer + default_schema: + type: string + fast_forward: + type: integer + frontend: + type: integer + max_connections: + format: int32 + type: integer + schema_locked: + type: integer + transaction_persistent: + type: integer + use_ssl: + type: integer + username: + type: string + required: + - username + type: object + type: array + required: + - reqType + - users + type: object + mysqlVariables: + type: object + x-kubernetes-preserve-unknown-fields: true type: object - databaseRef: + horizontalScaling: + properties: + member: + format: int32 + type: integer + type: object + proxyRef: properties: name: type: string type: object - horizontalScaling: - type: object restart: type: object + timeout: + type: string tls: properties: certificates: @@ -183,7 +251,7 @@ spec: volumeExpansion: type: object required: - - databaseRef + - proxyRef - type type: object status: @@ -225,6 +293,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_redisopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_redisopsrequests.yaml index 0f3c85273..a0fbfd132 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_redisopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_redisopsrequests.yaml @@ -1535,6 +1535,9 @@ spec: type: string shareProcessNamespace: type: boolean + terminationGracePeriodSeconds: + format: int64 + type: integer tolerations: items: properties: @@ -1597,6 +1600,723 @@ spec: - topologyKey - whenUnsatisfiable x-kubernetes-list-type: map + volumeMounts: + items: + properties: + mountPath: + type: string + mountPropagation: + type: string + name: + type: string + readOnly: + type: boolean + subPath: + type: string + subPathExpr: + type: string + required: + - mountPath + - name + type: object + type: array + volumes: + items: + properties: + awsElasticBlockStore: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + azureDisk: + properties: + cachingMode: + type: string + diskName: + type: string + diskURI: + type: string + fsType: + type: string + kind: + type: string + readOnly: + type: boolean + required: + - diskName + - diskURI + type: object + azureFile: + properties: + readOnly: + type: boolean + secretName: + type: string + shareName: + type: string + required: + - secretName + - shareName + type: object + cephfs: + properties: + monitors: + items: + type: string + type: array + path: + type: string + readOnly: + type: boolean + secretFile: + type: string + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - monitors + type: object + cinder: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeID: + type: string + required: + - volumeID + type: object + configMap: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + csi: + properties: + driver: + type: string + fsType: + type: string + nodePublishSecretRef: + properties: + name: + type: string + type: object + readOnly: + type: boolean + volumeAttributes: + additionalProperties: + type: string + type: object + required: + - driver + type: object + downwardAPI: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + emptyDir: + properties: + medium: + type: string + sizeLimit: + 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 + ephemeral: + properties: + volumeClaimTemplate: + properties: + metadata: + properties: + annotations: + additionalProperties: + type: string + type: object + finalizers: + items: + type: string + type: array + labels: + additionalProperties: + type: string + type: object + name: + type: string + namespace: + type: string + type: object + spec: + properties: + accessModes: + items: + type: string + type: array + dataSource: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + dataSourceRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + resources: + properties: + 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 + selector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + storageClassName: + type: string + volumeMode: + type: string + volumeName: + type: string + type: object + required: + - spec + type: object + type: object + fc: + properties: + fsType: + type: string + lun: + format: int32 + type: integer + readOnly: + type: boolean + targetWWNs: + items: + type: string + type: array + wwids: + items: + type: string + type: array + type: object + flexVolume: + properties: + driver: + type: string + fsType: + type: string + options: + additionalProperties: + type: string + type: object + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + required: + - driver + type: object + flocker: + properties: + datasetName: + type: string + datasetUUID: + type: string + type: object + gcePersistentDisk: + properties: + fsType: + type: string + partition: + format: int32 + type: integer + pdName: + type: string + readOnly: + type: boolean + required: + - pdName + type: object + gitRepo: + properties: + directory: + type: string + repository: + type: string + revision: + type: string + required: + - repository + type: object + glusterfs: + properties: + endpoints: + type: string + path: + type: string + readOnly: + type: boolean + required: + - endpoints + - path + type: object + hostPath: + properties: + path: + type: string + type: + type: string + required: + - path + type: object + iscsi: + properties: + chapAuthDiscovery: + type: boolean + chapAuthSession: + type: boolean + fsType: + type: string + initiatorName: + type: string + iqn: + type: string + iscsiInterface: + type: string + lun: + format: int32 + type: integer + portals: + items: + type: string + type: array + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + targetPortal: + type: string + required: + - iqn + - lun + - targetPortal + type: object + name: + type: string + nfs: + properties: + path: + type: string + readOnly: + type: boolean + server: + type: string + required: + - path + - server + type: object + persistentVolumeClaim: + properties: + claimName: + type: string + readOnly: + type: boolean + required: + - claimName + type: object + photonPersistentDisk: + properties: + fsType: + type: string + pdID: + type: string + required: + - pdID + type: object + portworxVolume: + properties: + fsType: + type: string + readOnly: + type: boolean + volumeID: + type: string + required: + - volumeID + type: object + projected: + properties: + defaultMode: + format: int32 + type: integer + sources: + items: + properties: + configMap: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + downwardAPI: + properties: + items: + items: + properties: + fieldRef: + properties: + apiVersion: + type: string + fieldPath: + type: string + required: + - fieldPath + type: object + mode: + format: int32 + type: integer + path: + type: string + resourceFieldRef: + properties: + containerName: + type: string + divisor: + 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 + resource: + type: string + required: + - resource + type: object + required: + - path + type: object + type: array + type: object + secret: + properties: + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + name: + type: string + optional: + type: boolean + type: object + serviceAccountToken: + properties: + audience: + type: string + expirationSeconds: + format: int64 + type: integer + path: + type: string + required: + - path + type: object + type: object + type: array + type: object + quobyte: + properties: + group: + type: string + readOnly: + type: boolean + registry: + type: string + tenant: + type: string + user: + type: string + volume: + type: string + required: + - registry + - volume + type: object + rbd: + properties: + fsType: + type: string + image: + type: string + keyring: + type: string + monitors: + items: + type: string + type: array + pool: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + user: + type: string + required: + - image + - monitors + type: object + scaleIO: + properties: + fsType: + type: string + gateway: + type: string + protectionDomain: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + sslEnabled: + type: boolean + storageMode: + type: string + storagePool: + type: string + system: + type: string + volumeName: + type: string + required: + - gateway + - secretRef + - system + type: object + secret: + properties: + defaultMode: + format: int32 + type: integer + items: + items: + properties: + key: + type: string + mode: + format: int32 + type: integer + path: + type: string + required: + - key + - path + type: object + type: array + optional: + type: boolean + secretName: + type: string + type: object + storageos: + properties: + fsType: + type: string + readOnly: + type: boolean + secretRef: + properties: + name: + type: string + type: object + volumeName: + type: string + volumeNamespace: + type: string + type: object + vsphereVolume: + properties: + fsType: + type: string + storagePolicyID: + type: string + storagePolicyName: + type: string + volumePath: + type: string + required: + - volumePath + type: object + required: + - name + type: object + type: array type: object type: object removeCustomConfig: @@ -1618,6 +2338,8 @@ spec: type: object restart: type: object + timeout: + type: string tls: properties: certificates: @@ -1802,6 +2524,12 @@ spec: type: object volumeExpansion: properties: + mode: + default: Online + enum: + - Offline + - Online + type: string redis: anyOf: - type: integer @@ -1852,6 +2580,7 @@ spec: - Failed - Approved - Denied + - Skipped type: string type: object type: object diff --git a/vendor/kubedb.dev/apimachinery/pkg/validator/validate.go b/vendor/kubedb.dev/apimachinery/pkg/validator/validate.go index 7a15031f7..edeb5b367 100644 --- a/vendor/kubedb.dev/apimachinery/pkg/validator/validate.go +++ b/vendor/kubedb.dev/apimachinery/pkg/validator/validate.go @@ -88,6 +88,27 @@ func ValidateMonitorSpec(agent *mona.AgentSpec) error { return fmt.Errorf(`invalid 'Agent' in '%+v'`, agent) } +func IsStorageTypeCompatibleWithSpec(storageType api.StorageType, storage *core.PersistentVolumeClaimSpec, ephemeralStorage *core.EmptyDirVolumeSource) error { + if storageType == api.StorageTypeEphemeral && storage != nil { + return fmt.Errorf("'spec.storage' is not supported for Ephemeral storage type, use 'spec.ephemeralStorage' to configure Ephemeral storage type") + } + if storageType == api.StorageTypeDurable && ephemeralStorage != nil { + return fmt.Errorf("'spec.ephemeralStorage' is not supported for Durable storage type, use 'spec.storage' to configure Durable storage type") + } + + return nil +} + +func CheckSecretsExist(client kubernetes.Interface, secNames []string, namespace string) error { + for _, sec := range secNames { + _, err := client.CoreV1().Secrets(namespace).Get(context.TODO(), sec, metav1.GetOptions{}) + if err != nil { + return err + } + } + return nil +} + func ValidateEnvVar(envs []core.EnvVar, forbiddenEnvs []string, resourceType string) error { for _, env := range envs { present, _ := arrays.Contains(forbiddenEnvs, env.Name) @@ -107,3 +128,45 @@ func ValidateInternalUsers(users map[string]api.ElasticsearchUserSpec, allowedIn } return nil } + +func ValidateHealth(health *api.HealthCheckSpec) error { + if health.PeriodSeconds != nil && *health.PeriodSeconds <= 0 { + return fmt.Errorf(`spec.healthCheck.periodSeconds: can not be less than 1`) + } + + if health.TimeoutSeconds != nil && *health.TimeoutSeconds <= 0 { + return fmt.Errorf(`spec.healthCheck.timeoutSeconds: can not be less than 1`) + } + + if health.FailureThreshold != nil && *health.FailureThreshold <= 0 { + return fmt.Errorf(`spec.healthCheck.failureThreshold: can not be less than 1`) + } + return nil +} + +func ValidateVolumes(volumes []core.Volume, reservedVolumeNames []string) error { + for _, rv := range reservedVolumeNames { + for _, ugv := range volumes { + if ugv.Name == rv { + return errors.New("Cannot use a reserve volume name: " + rv) + } + } + } + return nil +} + +func ValidateMountPaths(volumeMounts []core.VolumeMount, reservedMountPaths []string) error { + trimPrefixSuffix := func(s string) string { + return strings.TrimSuffix(strings.TrimPrefix(s, "/"), "/") + "/" + } + for _, vm := range volumeMounts { + givenPath := trimPrefixSuffix(vm.MountPath) + for _, our := range reservedMountPaths { + ourPath := trimPrefixSuffix(our) + if strings.HasPrefix(givenPath, ourPath) { + return errors.New("Cannot use mountPath " + vm.MountPath + " because of reservedMountPaths path " + our) + } + } + } + return nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index d72b6d6a3..806c74130 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -250,6 +250,12 @@ go.starlark.net/resolve go.starlark.net/starlark go.starlark.net/starlarkstruct go.starlark.net/syntax +# go.uber.org/atomic v1.9.0 +## explicit; go 1.13 +# go.uber.org/multierr v1.8.0 +## explicit; go 1.14 +# go.uber.org/zap v1.21.0 +## explicit; go 1.13 # golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e ## explicit; go 1.17 golang.org/x/crypto/pkcs12 @@ -306,7 +312,7 @@ golang.org/x/time/rate # gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f ## explicit; go 1.14 gomodules.xyz/clock -# gomodules.xyz/encoding v0.0.5 +# gomodules.xyz/encoding v0.0.7 ## explicit; go 1.17 gomodules.xyz/encoding/json gomodules.xyz/encoding/json/types @@ -325,7 +331,7 @@ gomodules.xyz/logs # gomodules.xyz/mergo v0.3.13 ## explicit; go 1.13 gomodules.xyz/mergo -# gomodules.xyz/password-generator v0.2.7 +# gomodules.xyz/password-generator v0.2.8 ## explicit; go 1.15 gomodules.xyz/password-generator # gomodules.xyz/pointer v0.1.0 @@ -400,7 +406,7 @@ gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.0 ## explicit gopkg.in/yaml.v3 -# k8s.io/api v0.24.1 +# k8s.io/api v0.24.3 ## explicit; go 1.16 k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -459,7 +465,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.24.1 => github.com/kmodules/apimachinery v0.24.2-rc.0.0.20220603191800-1c7484099dee +# k8s.io/apimachinery v0.24.3 => github.com/kmodules/apimachinery v0.24.2-rc.0.0.20220603191800-1c7484099dee ## explicit; go 1.16 k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/errors @@ -512,12 +518,12 @@ k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/netutil k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/cli-runtime v0.24.1 +# k8s.io/cli-runtime v0.24.3 ## explicit; go 1.16 k8s.io/cli-runtime/pkg/genericclioptions k8s.io/cli-runtime/pkg/printers k8s.io/cli-runtime/pkg/resource -# k8s.io/client-go v0.24.1 +# k8s.io/client-go v0.24.3 ## explicit; go 1.16 k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1 @@ -667,17 +673,18 @@ k8s.io/client-go/util/homedir k8s.io/client-go/util/jsonpath k8s.io/client-go/util/keyutil k8s.io/client-go/util/workqueue -# k8s.io/component-base v0.24.1 +# k8s.io/component-base v0.24.3 ## explicit; go 1.16 k8s.io/component-base/cli/flag k8s.io/component-base/config k8s.io/component-base/config/v1alpha1 k8s.io/component-base/version -# k8s.io/klog/v2 v2.60.1 +# k8s.io/klog/v2 v2.70.1 ## explicit; go 1.13 k8s.io/klog/v2 k8s.io/klog/v2/internal/buffer k8s.io/klog/v2/internal/clock +k8s.io/klog/v2/internal/dbg k8s.io/klog/v2/internal/serialize k8s.io/klog/v2/internal/severity # k8s.io/kube-openapi v0.0.0-20220413171646-5e7f5fdc6da6 @@ -693,7 +700,7 @@ k8s.io/kube-openapi/pkg/spec3 k8s.io/kube-openapi/pkg/util/proto k8s.io/kube-openapi/pkg/util/proto/validation k8s.io/kube-openapi/pkg/validation/spec -# k8s.io/kubectl v0.24.1 +# k8s.io/kubectl v0.24.3 ## explicit; go 1.16 k8s.io/kubectl/pkg/cmd/util k8s.io/kubectl/pkg/describe @@ -726,8 +733,8 @@ k8s.io/utils/net k8s.io/utils/pointer k8s.io/utils/strings/slices k8s.io/utils/trace -# kmodules.xyz/client-go v0.24.0 -## explicit; go 1.17 +# kmodules.xyz/client-go v0.24.5 +## explicit; go 1.18 kmodules.xyz/client-go kmodules.xyz/client-go/api/v1 kmodules.xyz/client-go/apiextensions @@ -737,7 +744,7 @@ kmodules.xyz/client-go/core/v1 kmodules.xyz/client-go/discovery kmodules.xyz/client-go/meta kmodules.xyz/client-go/tools/portforward -# kmodules.xyz/custom-resources v0.24.0 +# kmodules.xyz/custom-resources v0.24.1 ## explicit; go 1.18 kmodules.xyz/custom-resources/apis/appcatalog kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1 @@ -758,13 +765,13 @@ kmodules.xyz/monitoring-agent-api/api/v1alpha1 # kmodules.xyz/objectstore-api v0.24.0 ## explicit; go 1.18 kmodules.xyz/objectstore-api/api/v1 -# kmodules.xyz/offshoot-api v0.24.1 +# kmodules.xyz/offshoot-api v0.24.2 ## explicit; go 1.18 kmodules.xyz/offshoot-api/api/v1 # kmodules.xyz/prober v0.24.0 ## explicit; go 1.18 kmodules.xyz/prober/api/v1 -# kubedb.dev/apimachinery v0.27.1-0.20220604010336-666ce9c7cf9f +# kubedb.dev/apimachinery v0.27.1-0.20220802063205-a89b3bc243f9 ## explicit; go 1.18 kubedb.dev/apimachinery/apis kubedb.dev/apimachinery/apis/autoscaling @@ -796,7 +803,7 @@ kubedb.dev/apimachinery/client/clientset/versioned/typed/schema/v1alpha1 kubedb.dev/apimachinery/client/clientset/versioned/typed/ui/v1alpha1 kubedb.dev/apimachinery/crds kubedb.dev/apimachinery/pkg/validator -# sigs.k8s.io/controller-runtime v0.12.1 => github.com/kmodules/controller-runtime v0.12.2-0.20220603144237-6cd001896bf3 +# sigs.k8s.io/controller-runtime v0.12.3 => github.com/kmodules/controller-runtime v0.12.2-0.20220603144237-6cd001896bf3 ## explicit; go 1.17 sigs.k8s.io/controller-runtime sigs.k8s.io/controller-runtime/pkg/builder @@ -952,8 +959,21 @@ stash.appscode.dev/apimachinery/client/clientset/versioned/typed/stash/v1beta1 stash.appscode.dev/apimachinery/client/clientset/versioned/typed/stash/v1beta1/util stash.appscode.dev/apimachinery/client/clientset/versioned/typed/ui/v1alpha1 stash.appscode.dev/apimachinery/crds +# github.com/Masterminds/sprig/v3 => github.com/gomodules/sprig/v3 v3.2.3-0.20220405051441-0a8a99bac1b8 # sigs.k8s.io/controller-runtime => github.com/kmodules/controller-runtime v0.12.2-0.20220603144237-6cd001896bf3 # github.com/imdario/mergo => github.com/imdario/mergo v0.3.5 # k8s.io/apimachinery => github.com/kmodules/apimachinery v0.24.2-rc.0.0.20220603191800-1c7484099dee # k8s.io/apiserver => github.com/kmodules/apiserver v0.0.0-20220603223637-59dad1716c43 # k8s.io/kubernetes => github.com/kmodules/kubernetes v1.25.0-alpha.0.0.20220603172133-1c9d09d1b3b8 +# go.opentelemetry.io/contrib => go.opentelemetry.io/contrib v0.20.0 +# go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0 +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0 +# go.opentelemetry.io/otel => go.opentelemetry.io/otel v0.20.0 +# go.opentelemetry.io/otel/exporters/otlp => go.opentelemetry.io/otel/exporters/otlp v0.20.0 +# go.opentelemetry.io/otel/metric => go.opentelemetry.io/otel/metric v0.20.0 +# go.opentelemetry.io/otel/oteltest => go.opentelemetry.io/otel/oteltest v0.20.0 +# go.opentelemetry.io/otel/sdk => go.opentelemetry.io/otel/sdk v0.20.0 +# go.opentelemetry.io/otel/sdk/export/metric => go.opentelemetry.io/otel/sdk/export/metric v0.20.0 +# go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v0.20.0 +# go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v0.20.0 +# go.opentelemetry.io/proto/otlp => go.opentelemetry.io/proto/otlp v0.7.0