diff --git a/go.mod b/go.mod index 4411eb207..86b1f7c50 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/prometheus/client_golang v1.20.5 github.com/prometheus/common v0.61.0 github.com/spf13/cobra v1.9.1 - golang.org/x/text v0.24.0 + golang.org/x/text v0.25.0 gomodules.xyz/go-sh v0.2.0 gomodules.xyz/logs v0.0.7 gomodules.xyz/pointer v0.1.0 @@ -20,17 +20,17 @@ require ( gomodules.xyz/x v0.0.17 k8s.io/api v0.32.3 k8s.io/apimachinery v0.32.3 - k8s.io/cli-runtime v0.32.2 + k8s.io/cli-runtime v0.32.3 k8s.io/client-go v0.32.3 k8s.io/component-base v0.32.3 k8s.io/klog/v2 v2.130.1 - k8s.io/kubectl v0.29.0 + k8s.io/kubectl v0.32.3 kmodules.xyz/cert-manager-util v0.29.0 kmodules.xyz/client-go v0.32.6 kmodules.xyz/custom-resources v0.32.0 kmodules.xyz/monitoring-agent-api v0.32.0 - kubedb.dev/apimachinery v0.55.0 - kubedb.dev/db-client-go v0.10.0 + kubedb.dev/apimachinery v0.56.0 + kubedb.dev/db-client-go v0.11.0 kubeops.dev/petset v0.0.10 sigs.k8s.io/controller-runtime v0.20.4 sigs.k8s.io/yaml v1.4.0 @@ -58,7 +58,7 @@ require ( github.com/emicklei/go-restful/v3 v3.12.1 // indirect github.com/evanphx/json-patch v5.9.11+incompatible // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect - github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect + github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect github.com/fatih/structs v1.1.0 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect @@ -107,7 +107,7 @@ require ( github.com/prometheus-operator/prometheus-operator/pkg/client v0.81.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect - github.com/redis/go-redis/v9 v9.5.1 // indirect + github.com/redis/go-redis/v9 v9.6.3 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sergi/go-diff v1.3.1 // indirect github.com/spf13/pflag v1.0.6 // indirect @@ -117,11 +117,11 @@ require ( github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect go.virtual-secrets.dev/apimachinery v0.0.1 // indirect - golang.org/x/net v0.38.0 // indirect + golang.org/x/net v0.40.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.13.0 // indirect - golang.org/x/sys v0.32.0 // indirect - golang.org/x/term v0.31.0 // indirect + golang.org/x/sync v0.14.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/term v0.32.0 // indirect golang.org/x/time v0.10.0 // indirect gomodules.xyz/clock v0.0.0-20200817085942-06523dba733f // indirect gomodules.xyz/encoding v0.0.8 // indirect @@ -148,7 +148,7 @@ require ( kmodules.xyz/resource-metadata v0.30.1 // indirect kubeops.dev/csi-driver-cacerts v0.1.0 // indirect kubeops.dev/sidekick v0.0.11 // indirect - kubestash.dev/apimachinery v0.18.0 // indirect + kubestash.dev/apimachinery v0.19.0 // indirect sigs.k8s.io/gateway-api v1.1.0 // indirect sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect sigs.k8s.io/kustomize/api v0.18.0 // indirect diff --git a/go.sum b/go.sum index 701f38b87..8d2211ca5 100644 --- a/go.sum +++ b/go.sum @@ -102,8 +102,8 @@ github.com/evanphx/json-patch v5.9.11+incompatible h1:ixHHqfcGvxhWkniF1tWxBHA0yb github.com/evanphx/json-patch v5.9.11+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= -github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d h1:105gxyaGwCFad8crR9dcMQWvV9Hvulu6hwUh4tWPJnM= -github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= +github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= +github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -138,7 +138,6 @@ github.com/go-resty/resty/v2 v2.11.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5 github.com/go-sql-driver/mysql v1.9.0 h1:Y0zIbQXhQKmQgTp44Y1dp3wTXcn804QoTptLZT1vtvo= github.com/go-sql-driver/mysql v1.9.0/go.mod h1:pDetrLJeA3oMujJuvXc8RJoasr589B6A9fwzD3QMrqw= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -257,6 +256,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= +github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY= +github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= @@ -347,8 +348,8 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8= -github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= +github.com/redis/go-redis/v9 v9.6.3 h1:8Dr5ygF1QFXRxIH/m3Xg9MMG1rS8YCtAgosrsewT6i0= +github.com/redis/go-redis/v9 v9.6.3/go.mod h1:0C0c6ycQsdpVNQpxb1njEQIqkx5UcsM8FJCQLgE9+RA= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= @@ -387,6 +388,7 @@ github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -482,8 +484,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -498,8 +500,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -524,16 +526,16 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -544,8 +546,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -665,8 +667,8 @@ k8s.io/apiextensions-apiserver v0.32.3 h1:4D8vy+9GWerlErCwVIbcQjsWunF9SUGNu7O7hi k8s.io/apiextensions-apiserver v0.32.3/go.mod h1:8YwcvVRMVzw0r1Stc7XfGAzB/SIVLunqApySV5V7Dss= k8s.io/apimachinery v0.32.3 h1:JmDuDarhDmA/Li7j3aPrwhpNBA94Nvk5zLeOge9HH1U= k8s.io/apimachinery v0.32.3/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE= -k8s.io/cli-runtime v0.32.2 h1:aKQR4foh9qeyckKRkNXUccP9moxzffyndZAvr+IXMks= -k8s.io/cli-runtime v0.32.2/go.mod h1:a/JpeMztz3xDa7GCyyShcwe55p8pbcCVQxvqZnIwXN8= +k8s.io/cli-runtime v0.32.3 h1:khLF2ivU2T6Q77H97atx3REY9tXiA3OLOjWJxUrdvss= +k8s.io/cli-runtime v0.32.3/go.mod h1:vZT6dZq7mZAca53rwUfdFSZjdtLyfF61mkf/8q+Xjak= k8s.io/client-go v0.32.3 h1:RKPVltzopkSgHS7aS98QdscAgtgah/+zmpAogooIqVU= k8s.io/client-go v0.32.3/go.mod h1:3v0+3k4IcT9bXTc4V2rt+d2ZPPG700Xy6Oi0Gdl2PaY= k8s.io/component-base v0.32.3 h1:98WJvvMs3QZ2LYHBzvltFSeJjEx7t5+8s71P7M74u8k= @@ -678,8 +680,8 @@ k8s.io/kube-aggregator v0.32.3 h1:j+lUE4V1sMANYv/wCdU2E8SgnSLJksaJ+6bNnoV6Pfs= k8s.io/kube-aggregator v0.32.3/go.mod h1:aAl5az9Rlq4sPPSf8/ckpDGSYit75g4g1dp6rKInXZM= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= -k8s.io/kubectl v0.29.0 h1:Oqi48gXjikDhrBF67AYuZRTcJV4lg2l42GmvsP7FmYI= -k8s.io/kubectl v0.29.0/go.mod h1:0jMjGWIcMIQzmUaMgAzhSELv5WtHo2a8pq67DtviAJs= +k8s.io/kubectl v0.32.3 h1:VMi584rbboso+yjfv0d8uBHwwxbC438LKq+dXd5tOAI= +k8s.io/kubectl v0.32.3/go.mod h1:6Euv2aso5GKzo/UVMacV6C7miuyevpfI91SvBvV9Zdg= k8s.io/metrics v0.32.3 h1:2vsBvw0v8rIIlczZ/lZ8Kcqk9tR6Fks9h+dtFNbc2a4= k8s.io/metrics v0.32.3/go.mod h1:9R1Wk5cb+qJpCQon9h52mgkVCcFeYxcY+YkumfwHVCU= k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0= @@ -702,18 +704,18 @@ kmodules.xyz/prober v0.32.0 h1:8Z6pFRAu8kP0wwX2BooPCRy2SE6ZkUMHQmZDH5VUEGY= kmodules.xyz/prober v0.32.0/go.mod h1:h0fH4m9DaIwuNZq85zOlWUvBycyy4LvCPMUUhpS3iSE= kmodules.xyz/resource-metadata v0.30.1 h1:JPxjOfAYj/1VM5FONg90s99LV7ZPHh7ivaavS3Bpkr0= kmodules.xyz/resource-metadata v0.30.1/go.mod h1:GgA+AL58S2PlukBcnD8P6ILTtIJlp6wVuUyphR67LCY= -kubedb.dev/apimachinery v0.55.0 h1:n4DfJqW6fDFxU9/rlmzPfk8BDHkA8v+HK58lLTenPu0= -kubedb.dev/apimachinery v0.55.0/go.mod h1:/GY1pDR/Y9C1qY83KI9DBHLS+JFO/TYq4zLxk/+UJy0= -kubedb.dev/db-client-go v0.10.0 h1:GaSUSwVc6Obheaml6WjUZt51IbjzpdA/xRyR5Fngn40= -kubedb.dev/db-client-go v0.10.0/go.mod h1:9u/2xw+xxN0yPEEmyOOcnVzWggnYPJPrSkvjdc3vs6o= +kubedb.dev/apimachinery v0.56.0 h1:3vOdnv03sQiDJ17w25gsu+1acAUB5PLq/1oBhEsLuno= +kubedb.dev/apimachinery v0.56.0/go.mod h1:Iw40Vbo63tNqgQA5pTue0WHBvPaxWsJy6MEWfZmACQw= +kubedb.dev/db-client-go v0.11.0 h1:BKa0UyJLfy6MhzHZ3KtQc9X6hbn/DfDH0M33nZ4ROEI= +kubedb.dev/db-client-go v0.11.0/go.mod h1:X2OOySwdSWbK2ulsngXVvjSnmm9w3sN3KPcyU9HVEyw= kubeops.dev/csi-driver-cacerts v0.1.0 h1:WDgKNo5QAiMoVy4c/4ARWeCXJbqdcXdcn8VLImV4VZU= kubeops.dev/csi-driver-cacerts v0.1.0/go.mod h1:5a/ZOn5LFw26PPBpTKvsivBjcvVArOrJX24C+k+przk= kubeops.dev/petset v0.0.10 h1:sNaqmHrD9bW7pcrWnwPoiQrKvdRwRX0BaRQc5QA78Bg= kubeops.dev/petset v0.0.10/go.mod h1:uHL83kggwmtSxdlIfxNbY2isV22iYV6YjADv0y+Z7YA= kubeops.dev/sidekick v0.0.11 h1:OydXdIH6cYSiWxKIWvrywk95WhhHSERkc7RNPOmTekc= kubeops.dev/sidekick v0.0.11/go.mod h1:90KMNmJOPoMKHbrdC1cpEsMx+1KjTea/lHDAbGRDzHc= -kubestash.dev/apimachinery v0.18.0 h1:0ro82b81XgvNrZM1tiLzd/KGDbADRhAhRbBR8CQM+5o= -kubestash.dev/apimachinery v0.18.0/go.mod h1:4GP7306RH1xr4GfGXOWw/3bbFEXkY6mnm1BSAhbKa4g= +kubestash.dev/apimachinery v0.19.0 h1:BhsTdZQiUw8MtSFLIQrCSH6a0wm60MJAjiI9iN7vbj0= +kubestash.dev/apimachinery v0.19.0/go.mod h1:MJjixUC5fTkNvcWDGDyxgASKjz2yul+ydUMHJkd0rHs= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= sigs.k8s.io/gateway-api v1.1.0 h1:DsLDXCi6jR+Xz8/xd0Z1PYl2Pn0TyaFMOPPZIj4inDM= sigs.k8s.io/gateway-api v1.1.0/go.mod h1:ZH4lHrL2sDi0FHZ9jjneb8kKnGzFWyrTya35sWUTrRs= diff --git a/vendor/github.com/exponent-io/jsonpath/.travis.yml b/vendor/github.com/exponent-io/jsonpath/.travis.yml index f4f458a41..53bb8b3f9 100644 --- a/vendor/github.com/exponent-io/jsonpath/.travis.yml +++ b/vendor/github.com/exponent-io/jsonpath/.travis.yml @@ -1,5 +1,7 @@ language: go - +arch: + - amd64 + - ppc64le go: - - 1.5 + - 1.15 - tip diff --git a/vendor/github.com/exponent-io/jsonpath/decoder.go b/vendor/github.com/exponent-io/jsonpath/decoder.go index 31de46c73..5e3a06548 100644 --- a/vendor/github.com/exponent-io/jsonpath/decoder.go +++ b/vendor/github.com/exponent-io/jsonpath/decoder.go @@ -39,16 +39,15 @@ func NewDecoder(r io.Reader) *Decoder { // Decoder is intended to be used with a stream of tokens. As a result it navigates forward only. func (d *Decoder) SeekTo(path ...interface{}) (bool, error) { - if len(path) == 0 { - return len(d.path) == 0, nil - } - last := len(path) - 1 - if i, ok := path[last].(int); ok { - path[last] = i - 1 + if len(path) > 0 { + last := len(path) - 1 + if i, ok := path[last].(int); ok { + path[last] = i - 1 + } } for { - if d.path.Equal(path) { + if len(path) == len(d.path) && d.path.Equal(path) { return true, nil } _, err := d.Token() diff --git a/vendor/github.com/redis/go-redis/v9/.golangci.yml b/vendor/github.com/redis/go-redis/v9/.golangci.yml index de514554a..285aca6b3 100644 --- a/vendor/github.com/redis/go-redis/v9/.golangci.yml +++ b/vendor/github.com/redis/go-redis/v9/.golangci.yml @@ -1,4 +1,3 @@ run: - concurrency: 8 - deadline: 5m + timeout: 5m tests: false diff --git a/vendor/github.com/redis/go-redis/v9/CHANGELOG.md b/vendor/github.com/redis/go-redis/v9/CHANGELOG.md index 297438a9f..e1652b179 100644 --- a/vendor/github.com/redis/go-redis/v9/CHANGELOG.md +++ b/vendor/github.com/redis/go-redis/v9/CHANGELOG.md @@ -1,3 +1,12 @@ +## Unreleased + +### Changed + +* `go-redis` won't skip span creation if the parent spans is not recording. ([#2980](https://github.com/redis/go-redis/issues/2980)) + Users can use the OpenTelemetry sampler to control the sampling behavior. + For instance, you can use the `ParentBased(NeverSample())` sampler from `go.opentelemetry.io/otel/sdk/trace` to keep + a similar behavior (drop orphan spans) of `go-redis` as before. + ## [9.0.5](https://github.com/redis/go-redis/compare/v9.0.4...v9.0.5) (2023-05-29) diff --git a/vendor/github.com/redis/go-redis/v9/Makefile b/vendor/github.com/redis/go-redis/v9/Makefile index dc2fe780a..d8d007596 100644 --- a/vendor/github.com/redis/go-redis/v9/Makefile +++ b/vendor/github.com/redis/go-redis/v9/Makefile @@ -1,7 +1,12 @@ GO_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | sort) test: testdeps + $(eval GO_VERSION := $(shell go version | cut -d " " -f 3 | cut -d. -f2)) set -e; for dir in $(GO_MOD_DIRS); do \ + if echo "$${dir}" | grep -q "./example" && [ "$(GO_VERSION)" = "19" ]; then \ + echo "Skipping go test in $${dir} due to Go version 1.19 and dir contains ./example"; \ + continue; \ + fi; \ echo "go test in $${dir}"; \ (cd "$${dir}" && \ go mod tidy -compat=1.18 && \ @@ -26,7 +31,7 @@ build: testdata/redis: mkdir -p $@ - wget -qO- https://download.redis.io/releases/redis-7.2.1.tar.gz | tar xvz --strip-components=1 -C $@ + wget -qO- https://download.redis.io/releases/redis-7.4-rc2.tar.gz | tar xvz --strip-components=1 -C $@ testdata/redis/src/redis-server: testdata/redis cd $< && make all diff --git a/vendor/github.com/redis/go-redis/v9/README.md b/vendor/github.com/redis/go-redis/v9/README.md index 043d3f0e6..d2a8cd78a 100644 --- a/vendor/github.com/redis/go-redis/v9/README.md +++ b/vendor/github.com/redis/go-redis/v9/README.md @@ -143,9 +143,6 @@ to this specification. ```go import ( - "context" - "fmt" - "github.com/redis/go-redis/v9" ) @@ -172,16 +169,18 @@ By default, go-redis automatically sends the client library name and version dur #### Disabling Identity Verification -When connection identity verification is not required or needs to be explicitly disabled, a `DisableIndentity` configuration option exists. In V10 of this library, `DisableIndentity` will become `DisableIdentity` in order to fix the associated typo. +When connection identity verification is not required or needs to be explicitly disabled, a `DisableIdentity` configuration option exists. +Initially there was a typo and the option was named `DisableIndentity` instead of `DisableIdentity`. The misspelled option is marked as Deprecated and will be removed in V10 of this library. +Although both options will work at the moment, the correct option is `DisableIdentity`. The deprecated option will be removed in V10 of this library, so please use the correct option name to avoid any issues. -To disable verification, set the `DisableIndentity` option to `true` in the Redis client options: +To disable verification, set the `DisableIdentity` option to `true` in the Redis client options: ```go rdb := redis.NewClient(&redis.Options{ Addr: "localhost:6379", Password: "", DB: 0, - DisableIndentity: true, // Disable set-info on connect + DisableIdentity: true, // Disable set-info on connect }) ``` diff --git a/vendor/github.com/redis/go-redis/v9/bitmap_commands.go b/vendor/github.com/redis/go-redis/v9/bitmap_commands.go index d9fc50dce..a21558289 100644 --- a/vendor/github.com/redis/go-redis/v9/bitmap_commands.go +++ b/vendor/github.com/redis/go-redis/v9/bitmap_commands.go @@ -16,6 +16,7 @@ type BitMapCmdable interface { BitPos(ctx context.Context, key string, bit int64, pos ...int64) *IntCmd BitPosSpan(ctx context.Context, key string, bit int8, start, end int64, span string) *IntCmd BitField(ctx context.Context, key string, values ...interface{}) *IntSliceCmd + BitFieldRO(ctx context.Context, key string, values ...interface{}) *IntSliceCmd } func (c cmdable) GetBit(ctx context.Context, key string, offset int64) *IntCmd { @@ -45,22 +46,19 @@ const BitCountIndexByte string = "BYTE" const BitCountIndexBit string = "BIT" func (c cmdable) BitCount(ctx context.Context, key string, bitCount *BitCount) *IntCmd { - args := []interface{}{"bitcount", key} + args := make([]any, 2, 5) + args[0] = "bitcount" + args[1] = key if bitCount != nil { - if bitCount.Unit == "" { - bitCount.Unit = "BYTE" - } - if bitCount.Unit != BitCountIndexByte && bitCount.Unit != BitCountIndexBit { - cmd := NewIntCmd(ctx) - cmd.SetErr(errors.New("redis: invalid bitcount index")) - return cmd + args = append(args, bitCount.Start, bitCount.End) + if bitCount.Unit != "" { + if bitCount.Unit != BitCountIndexByte && bitCount.Unit != BitCountIndexBit { + cmd := NewIntCmd(ctx) + cmd.SetErr(errors.New("redis: invalid bitcount index")) + return cmd + } + args = append(args, bitCount.Unit) } - args = append( - args, - bitCount.Start, - bitCount.End, - string(bitCount.Unit), - ) } cmd := NewIntCmd(ctx, args...) _ = c(ctx, cmd) diff --git a/vendor/github.com/redis/go-redis/v9/command.go b/vendor/github.com/redis/go-redis/v9/command.go index 9fb9a8310..59ba08969 100644 --- a/vendor/github.com/redis/go-redis/v9/command.go +++ b/vendor/github.com/redis/go-redis/v9/command.go @@ -573,6 +573,10 @@ func (cmd *StatusCmd) Result() (string, error) { return cmd.val, cmd.err } +func (cmd *StatusCmd) Bytes() ([]byte, error) { + return util.StringToBytes(cmd.val), cmd.err +} + func (cmd *StatusCmd) String() string { return cmdString(cmd, cmd.val) } @@ -4997,6 +5001,7 @@ type ClientInfo struct { PSub int // number of pattern matching subscriptions SSub int // redis version 7.0.3, number of shard channel subscriptions Multi int // number of commands in a MULTI/EXEC context + Watch int // redis version 7.4 RC1, number of keys this client is currently watching. QueryBuf int // qbuf, query buffer length (0 means no query pending) QueryBufFree int // qbuf-free, free space of the query buffer (0 means the buffer is full) ArgvMem int // incomplete arguments for the next command (already extracted from query buffer) @@ -5149,6 +5154,8 @@ func parseClientInfo(txt string) (info *ClientInfo, err error) { info.SSub, err = strconv.Atoi(val) case "multi": info.Multi, err = strconv.Atoi(val) + case "watch": + info.Watch, err = strconv.Atoi(val) case "qbuf": info.QueryBuf, err = strconv.Atoi(val) case "qbuf-free": @@ -5454,9 +5461,12 @@ func (cmd *MonitorCmd) readMonitor(rd *proto.Reader, cancel context.CancelFunc) for { cmd.mu.Lock() st := cmd.status + pk, _ := rd.Peek(1) cmd.mu.Unlock() - if pk, _ := rd.Peek(1); len(pk) != 0 && st == monitorStatusStart { + if len(pk) != 0 && st == monitorStatusStart { + cmd.mu.Lock() line, err := rd.ReadString() + cmd.mu.Unlock() if err != nil { return err } diff --git a/vendor/github.com/redis/go-redis/v9/error.go b/vendor/github.com/redis/go-redis/v9/error.go index 8a59913be..9b348193a 100644 --- a/vendor/github.com/redis/go-redis/v9/error.go +++ b/vendor/github.com/redis/go-redis/v9/error.go @@ -7,6 +7,7 @@ import ( "net" "strings" + "github.com/redis/go-redis/v9/internal" "github.com/redis/go-redis/v9/internal/pool" "github.com/redis/go-redis/v9/internal/proto" ) @@ -129,7 +130,9 @@ func isMovedError(err error) (moved bool, ask bool, addr string) { if ind == -1 { return false, false, "" } + addr = s[ind+1:] + addr = internal.GetAddr(addr) return } diff --git a/vendor/github.com/redis/go-redis/v9/hash_commands.go b/vendor/github.com/redis/go-redis/v9/hash_commands.go index 2c62a75ad..dcffdcdd9 100644 --- a/vendor/github.com/redis/go-redis/v9/hash_commands.go +++ b/vendor/github.com/redis/go-redis/v9/hash_commands.go @@ -1,6 +1,9 @@ package redis -import "context" +import ( + "context" + "time" +) type HashCmdable interface { HDel(ctx context.Context, key string, fields ...string) *IntCmd @@ -16,9 +19,23 @@ type HashCmdable interface { HMSet(ctx context.Context, key string, values ...interface{}) *BoolCmd HSetNX(ctx context.Context, key, field string, value interface{}) *BoolCmd HScan(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd + HScanNoValues(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd HVals(ctx context.Context, key string) *StringSliceCmd HRandField(ctx context.Context, key string, count int) *StringSliceCmd HRandFieldWithValues(ctx context.Context, key string, count int) *KeyValueSliceCmd + HExpire(ctx context.Context, key string, expiration time.Duration, fields ...string) *IntSliceCmd + HExpireWithArgs(ctx context.Context, key string, expiration time.Duration, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd + HPExpire(ctx context.Context, key string, expiration time.Duration, fields ...string) *IntSliceCmd + HPExpireWithArgs(ctx context.Context, key string, expiration time.Duration, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd + HExpireAt(ctx context.Context, key string, tm time.Time, fields ...string) *IntSliceCmd + HExpireAtWithArgs(ctx context.Context, key string, tm time.Time, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd + HPExpireAt(ctx context.Context, key string, tm time.Time, fields ...string) *IntSliceCmd + HPExpireAtWithArgs(ctx context.Context, key string, tm time.Time, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd + HPersist(ctx context.Context, key string, fields ...string) *IntSliceCmd + HExpireTime(ctx context.Context, key string, fields ...string) *IntSliceCmd + HPExpireTime(ctx context.Context, key string, fields ...string) *IntSliceCmd + HTTL(ctx context.Context, key string, fields ...string) *IntSliceCmd + HPTTL(ctx context.Context, key string, fields ...string) *IntSliceCmd } func (c cmdable) HDel(ctx context.Context, key string, fields ...string) *IntCmd { @@ -172,3 +189,262 @@ func (c cmdable) HScan(ctx context.Context, key string, cursor uint64, match str _ = c(ctx, cmd) return cmd } + +func (c cmdable) HScanNoValues(ctx context.Context, key string, cursor uint64, match string, count int64) *ScanCmd { + args := []interface{}{"hscan", key, cursor} + if match != "" { + args = append(args, "match", match) + } + if count > 0 { + args = append(args, "count", count) + } + args = append(args, "novalues") + cmd := NewScanCmd(ctx, c, args...) + _ = c(ctx, cmd) + return cmd +} + +type HExpireArgs struct { + NX bool + XX bool + GT bool + LT bool +} + +// HExpire - Sets the expiration time for specified fields in a hash in seconds. +// The command constructs an argument list starting with "HEXPIRE", followed by the key, duration, any conditional flags, and the specified fields. +// For more information - https://redis.io/commands/hexpire/ +func (c cmdable) HExpire(ctx context.Context, key string, expiration time.Duration, fields ...string) *IntSliceCmd { + args := []interface{}{"HEXPIRE", key, formatSec(ctx, expiration), "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HExpire - Sets the expiration time for specified fields in a hash in seconds. +// It requires a key, an expiration duration, a struct with boolean flags for conditional expiration settings (NX, XX, GT, LT), and a list of fields. +// The command constructs an argument list starting with "HEXPIRE", followed by the key, duration, any conditional flags, and the specified fields. +// For more information - https://redis.io/commands/hexpire/ +func (c cmdable) HExpireWithArgs(ctx context.Context, key string, expiration time.Duration, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd { + args := []interface{}{"HEXPIRE", key, formatSec(ctx, expiration)} + + // only if one argument is true, we can add it to the args + // if more than one argument is true, it will cause an error + if expirationArgs.NX { + args = append(args, "NX") + } else if expirationArgs.XX { + args = append(args, "XX") + } else if expirationArgs.GT { + args = append(args, "GT") + } else if expirationArgs.LT { + args = append(args, "LT") + } + + args = append(args, "FIELDS", len(fields)) + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HPExpire - Sets the expiration time for specified fields in a hash in milliseconds. +// Similar to HExpire, it accepts a key, an expiration duration in milliseconds, a struct with expiration condition flags, and a list of fields. +// The command modifies the standard time.Duration to milliseconds for the Redis command. +// For more information - https://redis.io/commands/hpexpire/ +func (c cmdable) HPExpire(ctx context.Context, key string, expiration time.Duration, fields ...string) *IntSliceCmd { + args := []interface{}{"HPEXPIRE", key, formatMs(ctx, expiration), "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +func (c cmdable) HPExpireWithArgs(ctx context.Context, key string, expiration time.Duration, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd { + args := []interface{}{"HPEXPIRE", key, formatMs(ctx, expiration)} + + // only if one argument is true, we can add it to the args + // if more than one argument is true, it will cause an error + if expirationArgs.NX { + args = append(args, "NX") + } else if expirationArgs.XX { + args = append(args, "XX") + } else if expirationArgs.GT { + args = append(args, "GT") + } else if expirationArgs.LT { + args = append(args, "LT") + } + + args = append(args, "FIELDS", len(fields)) + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HExpireAt - Sets the expiration time for specified fields in a hash to a UNIX timestamp in seconds. +// Takes a key, a UNIX timestamp, a struct of conditional flags, and a list of fields. +// The command sets absolute expiration times based on the UNIX timestamp provided. +// For more information - https://redis.io/commands/hexpireat/ +func (c cmdable) HExpireAt(ctx context.Context, key string, tm time.Time, fields ...string) *IntSliceCmd { + + args := []interface{}{"HEXPIREAT", key, tm.Unix(), "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +func (c cmdable) HExpireAtWithArgs(ctx context.Context, key string, tm time.Time, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd { + args := []interface{}{"HEXPIREAT", key, tm.Unix()} + + // only if one argument is true, we can add it to the args + // if more than one argument is true, it will cause an error + if expirationArgs.NX { + args = append(args, "NX") + } else if expirationArgs.XX { + args = append(args, "XX") + } else if expirationArgs.GT { + args = append(args, "GT") + } else if expirationArgs.LT { + args = append(args, "LT") + } + + args = append(args, "FIELDS", len(fields)) + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HPExpireAt - Sets the expiration time for specified fields in a hash to a UNIX timestamp in milliseconds. +// Similar to HExpireAt but for timestamps in milliseconds. It accepts the same parameters and adjusts the UNIX time to milliseconds. +// For more information - https://redis.io/commands/hpexpireat/ +func (c cmdable) HPExpireAt(ctx context.Context, key string, tm time.Time, fields ...string) *IntSliceCmd { + args := []interface{}{"HPEXPIREAT", key, tm.UnixNano() / int64(time.Millisecond), "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +func (c cmdable) HPExpireAtWithArgs(ctx context.Context, key string, tm time.Time, expirationArgs HExpireArgs, fields ...string) *IntSliceCmd { + args := []interface{}{"HPEXPIREAT", key, tm.UnixNano() / int64(time.Millisecond)} + + // only if one argument is true, we can add it to the args + // if more than one argument is true, it will cause an error + if expirationArgs.NX { + args = append(args, "NX") + } else if expirationArgs.XX { + args = append(args, "XX") + } else if expirationArgs.GT { + args = append(args, "GT") + } else if expirationArgs.LT { + args = append(args, "LT") + } + + args = append(args, "FIELDS", len(fields)) + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HPersist - Removes the expiration time from specified fields in a hash. +// Accepts a key and the fields themselves. +// This command ensures that each field specified will have its expiration removed if present. +// For more information - https://redis.io/commands/hpersist/ +func (c cmdable) HPersist(ctx context.Context, key string, fields ...string) *IntSliceCmd { + args := []interface{}{"HPERSIST", key, "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HExpireTime - Retrieves the expiration time for specified fields in a hash as a UNIX timestamp in seconds. +// Requires a key and the fields themselves to fetch their expiration timestamps. +// This command returns the expiration times for each field or error/status codes for each field as specified. +// For more information - https://redis.io/commands/hexpiretime/ +func (c cmdable) HExpireTime(ctx context.Context, key string, fields ...string) *IntSliceCmd { + args := []interface{}{"HEXPIRETIME", key, "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HPExpireTime - Retrieves the expiration time for specified fields in a hash as a UNIX timestamp in milliseconds. +// Similar to HExpireTime, adjusted for timestamps in milliseconds. It requires the same parameters. +// Provides the expiration timestamp for each field in milliseconds. +// For more information - https://redis.io/commands/hexpiretime/ +func (c cmdable) HPExpireTime(ctx context.Context, key string, fields ...string) *IntSliceCmd { + args := []interface{}{"HPEXPIRETIME", key, "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HTTL - Retrieves the remaining time to live for specified fields in a hash in seconds. +// Requires a key and the fields themselves. It returns the TTL for each specified field. +// This command fetches the TTL in seconds for each field or returns error/status codes as appropriate. +// For more information - https://redis.io/commands/httl/ +func (c cmdable) HTTL(ctx context.Context, key string, fields ...string) *IntSliceCmd { + args := []interface{}{"HTTL", key, "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} + +// HPTTL - Retrieves the remaining time to live for specified fields in a hash in milliseconds. +// Similar to HTTL, but returns the TTL in milliseconds. It requires a key and the specified fields. +// This command provides the TTL in milliseconds for each field or returns error/status codes as needed. +// For more information - https://redis.io/commands/hpttl/ +func (c cmdable) HPTTL(ctx context.Context, key string, fields ...string) *IntSliceCmd { + args := []interface{}{"HPTTL", key, "FIELDS", len(fields)} + + for _, field := range fields { + args = append(args, field) + } + cmd := NewIntSliceCmd(ctx, args...) + _ = c(ctx, cmd) + return cmd +} diff --git a/vendor/github.com/redis/go-redis/v9/internal/pool/conn.go b/vendor/github.com/redis/go-redis/v9/internal/pool/conn.go index 7f45bc0bb..a5233fb88 100644 --- a/vendor/github.com/redis/go-redis/v9/internal/pool/conn.go +++ b/vendor/github.com/redis/go-redis/v9/internal/pool/conn.go @@ -5,6 +5,7 @@ import ( "context" "net" "sync/atomic" + "syscall" "time" "github.com/redis/go-redis/v9/internal/proto" @@ -16,6 +17,9 @@ type Conn struct { usedAt int64 // atomic netConn net.Conn + // for checking the health status of the connection, it may be nil. + sysConn syscall.Conn + rd *proto.Reader bw *bufio.Writer wr *proto.Writer @@ -34,6 +38,7 @@ func NewConn(netConn net.Conn) *Conn { cn.bw = bufio.NewWriter(netConn) cn.wr = proto.NewWriter(cn.bw) cn.SetUsedAt(time.Now()) + cn.setSysConn() return cn } @@ -50,6 +55,19 @@ func (cn *Conn) SetNetConn(netConn net.Conn) { cn.netConn = netConn cn.rd.Reset(netConn) cn.bw.Reset(netConn) + cn.setSysConn() +} + +func (cn *Conn) setSysConn() { + cn.sysConn = nil + conn := cn.netConn + if conn == nil { + return + } + + if sysConn, ok := conn.(syscall.Conn); ok { + cn.sysConn = sysConn + } } func (cn *Conn) Write(b []byte) (int, error) { diff --git a/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check.go b/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check.go index 83190d394..f28833850 100644 --- a/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check.go +++ b/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check.go @@ -5,21 +5,12 @@ package pool import ( "errors" "io" - "net" "syscall" - "time" ) var errUnexpectedRead = errors.New("unexpected read from socket") -func connCheck(conn net.Conn) error { - // Reset previous timeout. - _ = conn.SetDeadline(time.Time{}) - - sysConn, ok := conn.(syscall.Conn) - if !ok { - return nil - } +func connCheck(sysConn syscall.Conn) error { rawConn, err := sysConn.SyscallConn() if err != nil { return err diff --git a/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check_dummy.go b/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check_dummy.go index 295da1268..2d270cf56 100644 --- a/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check_dummy.go +++ b/vendor/github.com/redis/go-redis/v9/internal/pool/conn_check_dummy.go @@ -2,8 +2,8 @@ package pool -import "net" +import "syscall" -func connCheck(conn net.Conn) error { +func connCheck(_ syscall.Conn) error { return nil } diff --git a/vendor/github.com/redis/go-redis/v9/internal/pool/pool.go b/vendor/github.com/redis/go-redis/v9/internal/pool/pool.go index 2125f3e13..9b84993cc 100644 --- a/vendor/github.com/redis/go-redis/v9/internal/pool/pool.go +++ b/vendor/github.com/redis/go-redis/v9/internal/pool/pool.go @@ -499,6 +499,8 @@ func (p *ConnPool) Close() error { return firstErr } +var zeroTime = time.Time{} + func (p *ConnPool) isHealthyConn(cn *Conn) bool { now := time.Now() @@ -509,8 +511,12 @@ func (p *ConnPool) isHealthyConn(cn *Conn) bool { return false } - if connCheck(cn.netConn) != nil { - return false + if cn.sysConn != nil { + // reset previous timeout. + _ = cn.netConn.SetDeadline(zeroTime) + if connCheck(cn.sysConn) != nil { + return false + } } cn.SetUsedAt(now) diff --git a/vendor/github.com/redis/go-redis/v9/internal/util.go b/vendor/github.com/redis/go-redis/v9/internal/util.go index ed81ad7aa..235a91afa 100644 --- a/vendor/github.com/redis/go-redis/v9/internal/util.go +++ b/vendor/github.com/redis/go-redis/v9/internal/util.go @@ -2,6 +2,7 @@ package internal import ( "context" + "net" "strings" "time" @@ -64,3 +65,19 @@ func ReplaceSpaces(s string) string { return builder.String() } + +func GetAddr(addr string) string { + ind := strings.LastIndexByte(addr, ':') + if ind == -1 { + return "" + } + + if strings.IndexByte(addr, '.') != -1 { + return addr + } + + if addr[0] == '[' { + return addr + } + return net.JoinHostPort(addr[:ind], addr[ind+1:]) +} diff --git a/vendor/github.com/redis/go-redis/v9/options.go b/vendor/github.com/redis/go-redis/v9/options.go index dff52ae8b..020e76b4a 100644 --- a/vendor/github.com/redis/go-redis/v9/options.go +++ b/vendor/github.com/redis/go-redis/v9/options.go @@ -61,6 +61,12 @@ type Options struct { // before reconnecting. It should return the current username and password. CredentialsProvider func() (username string, password string) + // CredentialsProviderContext is an enhanced parameter of CredentialsProvider, + // done to maintain API compatibility. In the future, + // there might be a merge between CredentialsProviderContext and CredentialsProvider. + // There will be a conflict between them; if CredentialsProviderContext exists, we will ignore CredentialsProvider. + CredentialsProviderContext func(ctx context.Context) (username string, password string, err error) + // Database to be selected after connecting to the server. DB int @@ -142,9 +148,18 @@ type Options struct { // Enables read only queries on slave/follower nodes. readOnly bool - // Disable set-lib on connect. Default is false. + // DisableIndentity - Disable set-lib on connect. + // + // default: false + // + // Deprecated: Use DisableIdentity instead. DisableIndentity bool + // DisableIdentity is used to disable CLIENT SETINFO command on connect. + // + // default: false + DisableIdentity bool + // Add suffix to client name. Default is empty. IdentitySuffix string } @@ -235,7 +250,7 @@ func NewDialer(opt *Options) func(context.Context, string, string) (net.Conn, er } } -// ParseURL parses an URL into Options that can be used to connect to Redis. +// ParseURL parses a URL into Options that can be used to connect to Redis. // Scheme is required. // There are two connection types: by tcp socket and by unix socket. // Tcp connection: @@ -250,12 +265,12 @@ func NewDialer(opt *Options) func(context.Context, string, string) (net.Conn, er // - field names are mapped using snake-case conversion: to set MaxRetries, use max_retries // - only scalar type fields are supported (bool, int, time.Duration) // - for time.Duration fields, values must be a valid input for time.ParseDuration(); -// additionally a plain integer as value (i.e. without unit) is intepreted as seconds +// additionally a plain integer as value (i.e. without unit) is interpreted as seconds // - to disable a duration field, use value less than or equal to 0; to use the default // value, leave the value blank or remove the parameter // - only the last value is interpreted if a parameter is given multiple times // - fields "network", "addr", "username" and "password" can only be set using other -// URL attributes (scheme, host, userinfo, resp.), query paremeters using these +// URL attributes (scheme, host, userinfo, resp.), query parameters using these // names will be treated as unknown parameters // - unknown parameter names will result in an error // diff --git a/vendor/github.com/redis/go-redis/v9/osscluster.go b/vendor/github.com/redis/go-redis/v9/osscluster.go index 17f98d9dc..5ddedf7b4 100644 --- a/vendor/github.com/redis/go-redis/v9/osscluster.go +++ b/vendor/github.com/redis/go-redis/v9/osscluster.go @@ -62,10 +62,11 @@ type ClusterOptions struct { OnConnect func(ctx context.Context, cn *Conn) error - Protocol int - Username string - Password string - CredentialsProvider func() (username string, password string) + Protocol int + Username string + Password string + CredentialsProvider func() (username string, password string) + CredentialsProviderContext func(ctx context.Context) (username string, password string, err error) MaxRetries int MinRetryBackoff time.Duration @@ -85,8 +86,19 @@ type ClusterOptions struct { ConnMaxIdleTime time.Duration ConnMaxLifetime time.Duration - TLSConfig *tls.Config - DisableIndentity bool // Disable set-lib on connect. Default is false. + TLSConfig *tls.Config + + // DisableIndentity - Disable set-lib on connect. + // + // default: false + // + // Deprecated: Use DisableIdentity instead. + DisableIndentity bool + + // DisableIdentity is used to disable CLIENT SETINFO command on connect. + // + // default: false + DisableIdentity bool IdentitySuffix string // Add suffix to client name. Default is empty. } @@ -157,12 +169,12 @@ func (opt *ClusterOptions) init() { // - field names are mapped using snake-case conversion: to set MaxRetries, use max_retries // - only scalar type fields are supported (bool, int, time.Duration) // - for time.Duration fields, values must be a valid input for time.ParseDuration(); -// additionally a plain integer as value (i.e. without unit) is intepreted as seconds +// additionally a plain integer as value (i.e. without unit) is interpreted as seconds // - to disable a duration field, use value less than or equal to 0; to use the default // value, leave the value blank or remove the parameter // - only the last value is interpreted if a parameter is given multiple times // - fields "network", "addr", "username" and "password" can only be set using other -// URL attributes (scheme, host, userinfo, resp.), query paremeters using these +// URL attributes (scheme, host, userinfo, resp.), query parameters using these // names will be treated as unknown parameters // - unknown parameter names will result in an error // @@ -272,10 +284,11 @@ func (opt *ClusterOptions) clientOptions() *Options { Dialer: opt.Dialer, OnConnect: opt.OnConnect, - Protocol: opt.Protocol, - Username: opt.Username, - Password: opt.Password, - CredentialsProvider: opt.CredentialsProvider, + Protocol: opt.Protocol, + Username: opt.Username, + Password: opt.Password, + CredentialsProvider: opt.CredentialsProvider, + CredentialsProviderContext: opt.CredentialsProviderContext, MaxRetries: opt.MaxRetries, MinRetryBackoff: opt.MinRetryBackoff, @@ -294,7 +307,8 @@ func (opt *ClusterOptions) clientOptions() *Options { MaxActiveConns: opt.MaxActiveConns, ConnMaxIdleTime: opt.ConnMaxIdleTime, ConnMaxLifetime: opt.ConnMaxLifetime, - DisableIndentity: opt.DisableIndentity, + DisableIdentity: opt.DisableIdentity, + DisableIndentity: opt.DisableIdentity, IdentitySuffix: opt.IdentitySuffix, TLSConfig: opt.TLSConfig, // If ClusterSlots is populated, then we probably have an artificial @@ -339,6 +353,8 @@ func (n *clusterNode) Close() error { return n.Client.Close() } +const maximumNodeLatency = 1 * time.Minute + func (n *clusterNode) updateLatency() { const numProbe = 10 var dur uint64 @@ -359,7 +375,7 @@ func (n *clusterNode) updateLatency() { if successes == 0 { // If none of the pings worked, set latency to some arbitrarily high value so this node gets // least priority. - latency = float64((1 * time.Minute) / time.Microsecond) + latency = float64((maximumNodeLatency) / time.Microsecond) } else { latency = float64(dur) / float64(successes) } @@ -733,20 +749,40 @@ func (c *clusterState) slotClosestNode(slot int) (*clusterNode, error) { return c.nodes.Random() } - var node *clusterNode + var allNodesFailing = true + var ( + closestNonFailingNode *clusterNode + closestNode *clusterNode + minLatency time.Duration + ) + + // setting the max possible duration as zerovalue for minlatency + minLatency = time.Duration(math.MaxInt64) + for _, n := range nodes { - if n.Failing() { - continue - } - if node == nil || n.Latency() < node.Latency() { - node = n + if closestNode == nil || n.Latency() < minLatency { + closestNode = n + minLatency = n.Latency() + if !n.Failing() { + closestNonFailingNode = n + allNodesFailing = false + } } } - if node != nil { - return node, nil + + // pick the healthly node with the lowest latency + if !allNodesFailing && closestNonFailingNode != nil { + return closestNonFailingNode, nil + } + + // if all nodes are failing, we will pick the temporarily failing node with lowest latency + if minLatency < maximumNodeLatency && closestNode != nil { + internal.Logger.Printf(context.TODO(), "redis: all nodes are marked as failed, picking the temporarily failing node with lowest latency") + return closestNode, nil } - // If all nodes are failing - return random node + // If all nodes are having the maximum latency(all pings are failing) - return a random node across the cluster + internal.Logger.Printf(context.TODO(), "redis: pings to all nodes are failing, picking a random node across the cluster") return c.nodes.Random() } @@ -914,10 +950,13 @@ func (c *ClusterClient) Process(ctx context.Context, cmd Cmder) error { func (c *ClusterClient) process(ctx context.Context, cmd Cmder) error { slot := c.cmdSlot(ctx, cmd) var node *clusterNode + var moved bool var ask bool var lastErr error for attempt := 0; attempt <= c.opt.MaxRedirects; attempt++ { - if attempt > 0 { + // MOVED and ASK responses are not transient errors that require retry delay; they + // should be attempted immediately. + if attempt > 0 && !moved && !ask { if err := internal.Sleep(ctx, c.retryBackoff(attempt)); err != nil { return err } @@ -961,7 +1000,6 @@ func (c *ClusterClient) process(ctx context.Context, cmd Cmder) error { continue } - var moved bool var addr string moved, ask, addr = isMovedError(lastErr) if moved || ask { @@ -1295,6 +1333,7 @@ func (c *ClusterClient) processPipelineNode( _ = node.Client.withProcessPipelineHook(ctx, cmds, func(ctx context.Context, cmds []Cmder) error { cn, err := node.Client.getConn(ctx) if err != nil { + node.MarkAsFailing() _ = c.mapCmdsByNode(ctx, failedCmds, cmds) setCmdsErr(cmds, err) return err @@ -1316,6 +1355,9 @@ func (c *ClusterClient) processPipelineNodeConn( if err := cn.WithWriter(c.context(ctx), c.opt.WriteTimeout, func(wr *proto.Writer) error { return writeCmds(wr, cmds) }); err != nil { + if isBadConn(err, false, node.Client.getAddr()) { + node.MarkAsFailing() + } if shouldRetry(err, true) { _ = c.mapCmdsByNode(ctx, failedCmds, cmds) } @@ -1347,7 +1389,7 @@ func (c *ClusterClient) pipelineReadCmds( continue } - if c.opt.ReadOnly { + if c.opt.ReadOnly && isBadConn(err, false, node.Client.getAddr()) { node.MarkAsFailing() } diff --git a/vendor/github.com/redis/go-redis/v9/pubsub.go b/vendor/github.com/redis/go-redis/v9/pubsub.go index 5df537c42..72b18f49a 100644 --- a/vendor/github.com/redis/go-redis/v9/pubsub.go +++ b/vendor/github.com/redis/go-redis/v9/pubsub.go @@ -84,7 +84,7 @@ func (c *PubSub) conn(ctx context.Context, newChannels []string) (*pool.Conn, er } func (c *PubSub) writeCmd(ctx context.Context, cn *pool.Conn, cmd Cmder) error { - return cn.WithWriter(context.Background(), c.opt.WriteTimeout, func(wr *proto.Writer) error { + return cn.WithWriter(ctx, c.opt.WriteTimeout, func(wr *proto.Writer) error { return writeCmd(wr, cmd) }) } @@ -491,7 +491,7 @@ func (c *PubSub) getContext() context.Context { // Receive* APIs can not be used after channel is created. // // go-redis periodically sends ping messages to test connection health -// and re-subscribes if ping can not not received for 1 minute. +// and re-subscribes if ping can not received for 1 minute. func (c *PubSub) Channel(opts ...ChannelOption) <-chan *Message { c.chOnce.Do(func() { c.msgCh = newChannel(c, opts...) diff --git a/vendor/github.com/redis/go-redis/v9/redis.go b/vendor/github.com/redis/go-redis/v9/redis.go index d25a0d314..a3bc78604 100644 --- a/vendor/github.com/redis/go-redis/v9/redis.go +++ b/vendor/github.com/redis/go-redis/v9/redis.go @@ -283,8 +283,13 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error { } cn.Inited = true + var err error username, password := c.opt.Username, c.opt.Password - if c.opt.CredentialsProvider != nil { + if c.opt.CredentialsProviderContext != nil { + if username, password, err = c.opt.CredentialsProviderContext(ctx); err != nil { + return err + } + } else if c.opt.CredentialsProvider != nil { username, password = c.opt.CredentialsProvider() } @@ -300,7 +305,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error { // for redis-server versions that do not support the HELLO command, // RESP2 will continue to be used. - if err := conn.Hello(ctx, protocol, username, password, "").Err(); err == nil { + if err = conn.Hello(ctx, protocol, username, password, "").Err(); err == nil { auth = true } else if !isRedisError(err) { // When the server responds with the RESP protocol and the result is not a normal @@ -313,7 +318,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error { return err } - _, err := conn.Pipelined(ctx, func(pipe Pipeliner) error { + _, err = conn.Pipelined(ctx, func(pipe Pipeliner) error { if !auth && password != "" { if username != "" { pipe.AuthACL(ctx, username, password) @@ -340,7 +345,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error { return err } - if !c.opt.DisableIndentity { + if !c.opt.DisableIdentity && !c.opt.DisableIndentity { libName := "" libVer := Version() if c.opt.IdentitySuffix != "" { @@ -349,7 +354,11 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error { p := conn.Pipeline() p.ClientSetInfo(ctx, WithLibraryName(libName)) p.ClientSetInfo(ctx, WithLibraryVersion(libVer)) - _, _ = p.Exec(ctx) + // Handle network errors (e.g. timeouts) in CLIENT SETINFO to avoid + // out of order responses later on. + if _, err = p.Exec(ctx); err != nil && !isRedisError(err) { + return err + } } if c.opt.OnConnect != nil { diff --git a/vendor/github.com/redis/go-redis/v9/ring.go b/vendor/github.com/redis/go-redis/v9/ring.go index 4ae00542b..fa76aaf0d 100644 --- a/vendor/github.com/redis/go-redis/v9/ring.go +++ b/vendor/github.com/redis/go-redis/v9/ring.go @@ -98,8 +98,18 @@ type RingOptions struct { TLSConfig *tls.Config Limiter Limiter + // DisableIndentity - Disable set-lib on connect. + // + // default: false + // + // Deprecated: Use DisableIdentity instead. DisableIndentity bool - IdentitySuffix string + + // DisableIdentity is used to disable CLIENT SETINFO command on connect. + // + // default: false + DisableIdentity bool + IdentitySuffix string } func (opt *RingOptions) init() { @@ -166,6 +176,7 @@ func (opt *RingOptions) clientOptions() *Options { TLSConfig: opt.TLSConfig, Limiter: opt.Limiter, + DisableIdentity: opt.DisableIdentity, DisableIndentity: opt.DisableIndentity, IdentitySuffix: opt.IdentitySuffix, } diff --git a/vendor/github.com/redis/go-redis/v9/sentinel.go b/vendor/github.com/redis/go-redis/v9/sentinel.go index 188f88494..39bf1b424 100644 --- a/vendor/github.com/redis/go-redis/v9/sentinel.go +++ b/vendor/github.com/redis/go-redis/v9/sentinel.go @@ -80,8 +80,19 @@ type FailoverOptions struct { TLSConfig *tls.Config + // DisableIndentity - Disable set-lib on connect. + // + // default: false + // + // Deprecated: Use DisableIdentity instead. DisableIndentity bool - IdentitySuffix string + + // DisableIdentity is used to disable CLIENT SETINFO command on connect. + // + // default: false + DisableIdentity bool + + IdentitySuffix string } func (opt *FailoverOptions) clientOptions() *Options { @@ -117,6 +128,7 @@ func (opt *FailoverOptions) clientOptions() *Options { TLSConfig: opt.TLSConfig, + DisableIdentity: opt.DisableIdentity, DisableIndentity: opt.DisableIndentity, IdentitySuffix: opt.IdentitySuffix, } @@ -154,6 +166,7 @@ func (opt *FailoverOptions) sentinelOptions(addr string) *Options { TLSConfig: opt.TLSConfig, + DisableIdentity: opt.DisableIdentity, DisableIndentity: opt.DisableIndentity, IdentitySuffix: opt.IdentitySuffix, } @@ -194,6 +207,7 @@ func (opt *FailoverOptions) clusterOptions() *ClusterOptions { TLSConfig: opt.TLSConfig, + DisableIdentity: opt.DisableIdentity, DisableIndentity: opt.DisableIndentity, IdentitySuffix: opt.IdentitySuffix, } diff --git a/vendor/github.com/redis/go-redis/v9/stream_commands.go b/vendor/github.com/redis/go-redis/v9/stream_commands.go index 0a9869202..6d7b22922 100644 --- a/vendor/github.com/redis/go-redis/v9/stream_commands.go +++ b/vendor/github.com/redis/go-redis/v9/stream_commands.go @@ -137,10 +137,11 @@ type XReadArgs struct { Streams []string // list of streams and ids, e.g. stream1 stream2 id1 id2 Count int64 Block time.Duration + ID string } func (c cmdable) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd { - args := make([]interface{}, 0, 6+len(a.Streams)) + args := make([]interface{}, 0, 2*len(a.Streams)+6) args = append(args, "xread") keyPos := int8(1) @@ -159,6 +160,11 @@ func (c cmdable) XRead(ctx context.Context, a *XReadArgs) *XStreamSliceCmd { for _, s := range a.Streams { args = append(args, s) } + if a.ID != "" { + for range a.Streams { + args = append(args, a.ID) + } + } cmd := NewXStreamSliceCmd(ctx, args...) if a.Block >= 0 { @@ -178,36 +184,42 @@ func (c cmdable) XReadStreams(ctx context.Context, streams ...string) *XStreamSl func (c cmdable) XGroupCreate(ctx context.Context, stream, group, start string) *StatusCmd { cmd := NewStatusCmd(ctx, "xgroup", "create", stream, group, start) + cmd.SetFirstKeyPos(2) _ = c(ctx, cmd) return cmd } func (c cmdable) XGroupCreateMkStream(ctx context.Context, stream, group, start string) *StatusCmd { cmd := NewStatusCmd(ctx, "xgroup", "create", stream, group, start, "mkstream") + cmd.SetFirstKeyPos(2) _ = c(ctx, cmd) return cmd } func (c cmdable) XGroupSetID(ctx context.Context, stream, group, start string) *StatusCmd { cmd := NewStatusCmd(ctx, "xgroup", "setid", stream, group, start) + cmd.SetFirstKeyPos(2) _ = c(ctx, cmd) return cmd } func (c cmdable) XGroupDestroy(ctx context.Context, stream, group string) *IntCmd { cmd := NewIntCmd(ctx, "xgroup", "destroy", stream, group) + cmd.SetFirstKeyPos(2) _ = c(ctx, cmd) return cmd } func (c cmdable) XGroupCreateConsumer(ctx context.Context, stream, group, consumer string) *IntCmd { cmd := NewIntCmd(ctx, "xgroup", "createconsumer", stream, group, consumer) + cmd.SetFirstKeyPos(2) _ = c(ctx, cmd) return cmd } func (c cmdable) XGroupDelConsumer(ctx context.Context, stream, group, consumer string) *IntCmd { cmd := NewIntCmd(ctx, "xgroup", "delconsumer", stream, group, consumer) + cmd.SetFirstKeyPos(2) _ = c(ctx, cmd) return cmd } diff --git a/vendor/github.com/redis/go-redis/v9/universal.go b/vendor/github.com/redis/go-redis/v9/universal.go index 275bef3d6..3e482307c 100644 --- a/vendor/github.com/redis/go-redis/v9/universal.go +++ b/vendor/github.com/redis/go-redis/v9/universal.go @@ -66,8 +66,19 @@ type UniversalOptions struct { MasterName string + // DisableIndentity - Disable set-lib on connect. + // + // default: false + // + // Deprecated: Use DisableIdentity instead. DisableIndentity bool - IdentitySuffix string + + // DisableIdentity is used to disable CLIENT SETINFO command on connect. + // + // default: false + DisableIdentity bool + + IdentitySuffix string } // Cluster returns cluster options created from the universal options. @@ -112,6 +123,7 @@ func (o *UniversalOptions) Cluster() *ClusterOptions { TLSConfig: o.TLSConfig, + DisableIdentity: o.DisableIdentity, DisableIndentity: o.DisableIndentity, IdentitySuffix: o.IdentitySuffix, } @@ -158,6 +170,9 @@ func (o *UniversalOptions) Failover() *FailoverOptions { TLSConfig: o.TLSConfig, + ReplicaOnly: o.ReadOnly, + + DisableIdentity: o.DisableIdentity, DisableIndentity: o.DisableIndentity, IdentitySuffix: o.IdentitySuffix, } @@ -201,6 +216,7 @@ func (o *UniversalOptions) Simple() *Options { TLSConfig: o.TLSConfig, + DisableIdentity: o.DisableIdentity, DisableIndentity: o.DisableIndentity, IdentitySuffix: o.IdentitySuffix, } diff --git a/vendor/github.com/redis/go-redis/v9/version.go b/vendor/github.com/redis/go-redis/v9/version.go index e2c7f3e71..2cb9dd435 100644 --- a/vendor/github.com/redis/go-redis/v9/version.go +++ b/vendor/github.com/redis/go-redis/v9/version.go @@ -2,5 +2,5 @@ package redis // Version is the current release version. func Version() string { - return "9.5.1" + return "9.6.3" } diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index f8c3c0926..cfafed5b5 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -12,6 +12,8 @@ package errgroup import ( "context" "fmt" + "runtime" + "runtime/debug" "sync" ) @@ -31,6 +33,10 @@ type Group struct { errOnce sync.Once err error + + mu sync.Mutex + panicValue any // = PanicError | PanicValue; non-nil if some Group.Go goroutine panicked. + abnormal bool // some Group.Go goroutine terminated abnormally (panic or goexit). } func (g *Group) done() { @@ -50,13 +56,22 @@ func WithContext(ctx context.Context) (*Group, context.Context) { return &Group{cancel: cancel}, ctx } -// Wait blocks until all function calls from the Go method have returned, then -// returns the first non-nil error (if any) from them. +// Wait blocks until all function calls from the Go method have returned +// normally, then returns the first non-nil error (if any) from them. +// +// If any of the calls panics, Wait panics with a [PanicValue]; +// and if any of them calls [runtime.Goexit], Wait calls runtime.Goexit. func (g *Group) Wait() error { g.wg.Wait() if g.cancel != nil { g.cancel(g.err) } + if g.panicValue != nil { + panic(g.panicValue) + } + if g.abnormal { + runtime.Goexit() + } return g.err } @@ -65,18 +80,56 @@ func (g *Group) Wait() error { // It blocks until the new goroutine can be added without the number of // active goroutines in the group exceeding the configured limit. // -// The first call to return a non-nil error cancels the group's context, if the -// group was created by calling WithContext. The error will be returned by Wait. +// It blocks until the new goroutine can be added without the number of +// goroutines in the group exceeding the configured limit. +// +// The first goroutine in the group that returns a non-nil error, panics, or +// invokes [runtime.Goexit] will cancel the associated Context, if any. func (g *Group) Go(f func() error) { if g.sem != nil { g.sem <- token{} } + g.add(f) +} + +func (g *Group) add(f func() error) { g.wg.Add(1) go func() { defer g.done() + normalReturn := false + defer func() { + if normalReturn { + return + } + v := recover() + g.mu.Lock() + defer g.mu.Unlock() + if !g.abnormal { + if g.cancel != nil { + g.cancel(g.err) + } + g.abnormal = true + } + if v != nil && g.panicValue == nil { + switch v := v.(type) { + case error: + g.panicValue = PanicError{ + Recovered: v, + Stack: debug.Stack(), + } + default: + g.panicValue = PanicValue{ + Recovered: v, + Stack: debug.Stack(), + } + } + } + }() - if err := f(); err != nil { + err := f() + normalReturn = true + if err != nil { g.errOnce.Do(func() { g.err = err if g.cancel != nil { @@ -101,19 +154,7 @@ func (g *Group) TryGo(f func() error) bool { } } - g.wg.Add(1) - go func() { - defer g.done() - - if err := f(); err != nil { - g.errOnce.Do(func() { - g.err = err - if g.cancel != nil { - g.cancel(g.err) - } - }) - } - }() + g.add(f) return true } @@ -135,3 +176,33 @@ func (g *Group) SetLimit(n int) { } g.sem = make(chan token, n) } + +// PanicError wraps an error recovered from an unhandled panic +// when calling a function passed to Go or TryGo. +type PanicError struct { + Recovered error + Stack []byte // result of call to [debug.Stack] +} + +func (p PanicError) Error() string { + // A Go Error method conventionally does not include a stack dump, so omit it + // here. (Callers who care can extract it from the Stack field.) + return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) +} + +func (p PanicError) Unwrap() error { return p.Recovered } + +// PanicValue wraps a value that does not implement the error interface, +// recovered from an unhandled panic when calling a function passed to Go or +// TryGo. +type PanicValue struct { + Recovered any + Stack []byte // result of call to [debug.Stack] +} + +func (p PanicValue) String() string { + if len(p.Stack) > 0 { + return fmt.Sprintf("recovered from errgroup.Group: %v\n%s", p.Recovered, p.Stack) + } + return fmt.Sprintf("recovered from errgroup.Group: %v", p.Recovered) +} diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index b6e1ab76f..a8b0364c7 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -1303,7 +1303,10 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE return nil, err } if absoluteSDSize > 0 { - absoluteSD = (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&make([]byte, absoluteSDSize)[0])) + absoluteSD = new(SECURITY_DESCRIPTOR) + if unsafe.Sizeof(*absoluteSD) < uintptr(absoluteSDSize) { + panic("sizeof(SECURITY_DESCRIPTOR) too small") + } } var ( dacl *ACL @@ -1312,19 +1315,55 @@ func (selfRelativeSD *SECURITY_DESCRIPTOR) ToAbsolute() (absoluteSD *SECURITY_DE group *SID ) if daclSize > 0 { - dacl = (*ACL)(unsafe.Pointer(&make([]byte, daclSize)[0])) + dacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, daclSize)))) } if saclSize > 0 { - sacl = (*ACL)(unsafe.Pointer(&make([]byte, saclSize)[0])) + sacl = (*ACL)(unsafe.Pointer(unsafe.SliceData(make([]byte, saclSize)))) } if ownerSize > 0 { - owner = (*SID)(unsafe.Pointer(&make([]byte, ownerSize)[0])) + owner = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, ownerSize)))) } if groupSize > 0 { - group = (*SID)(unsafe.Pointer(&make([]byte, groupSize)[0])) + group = (*SID)(unsafe.Pointer(unsafe.SliceData(make([]byte, groupSize)))) } + // We call into Windows via makeAbsoluteSD, which sets up + // pointers within absoluteSD that point to other chunks of memory + // we pass into makeAbsoluteSD, and that happens outside the view of the GC. + // We therefore take some care here to then verify the pointers are as we expect + // and set them explicitly in view of the GC. See https://go.dev/issue/73199. + // TODO: consider weak pointers once Go 1.24 is appropriate. See suggestion in https://go.dev/cl/663575. err = makeAbsoluteSD(selfRelativeSD, absoluteSD, &absoluteSDSize, dacl, &daclSize, sacl, &saclSize, owner, &ownerSize, group, &groupSize) + if err != nil { + // Don't return absoluteSD, which might be partially initialized. + return nil, err + } + // Before using any fields, verify absoluteSD is in the format we expect according to Windows. + // See https://learn.microsoft.com/en-us/windows/win32/secauthz/absolute-and-self-relative-security-descriptors + absControl, _, err := absoluteSD.Control() + if err != nil { + panic("absoluteSD: " + err.Error()) + } + if absControl&SE_SELF_RELATIVE != 0 { + panic("absoluteSD not in absolute format") + } + if absoluteSD.dacl != dacl { + panic("dacl pointer mismatch") + } + if absoluteSD.sacl != sacl { + panic("sacl pointer mismatch") + } + if absoluteSD.owner != owner { + panic("owner pointer mismatch") + } + if absoluteSD.group != group { + panic("group pointer mismatch") + } + absoluteSD.dacl = dacl + absoluteSD.sacl = sacl + absoluteSD.owner = owner + absoluteSD.group = group + return } diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 4a3254386..640f6b153 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -870,6 +870,7 @@ const socket_error = uintptr(^uint32(0)) //sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom //sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo //sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW +//sys WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) [failretval!=0] = ws2_32.WSADuplicateSocketW //sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname //sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname //sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs @@ -1698,8 +1699,9 @@ func NewNTUnicodeString(s string) (*NTUnicodeString, error) { // Slice returns a uint16 slice that aliases the data in the NTUnicodeString. func (s *NTUnicodeString) Slice() []uint16 { - slice := unsafe.Slice(s.Buffer, s.MaximumLength) - return slice[:s.Length] + // Note: this rounds the length down, if it happens + // to (incorrectly) be odd. Probably safer than rounding up. + return unsafe.Slice(s.Buffer, s.MaximumLength/2)[:s.Length/2] } func (s *NTUnicodeString) String() string { diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index ad67df2fd..958bcf47a 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -2700,6 +2700,8 @@ type CommTimeouts struct { // NTUnicodeString is a UTF-16 string for NT native APIs, corresponding to UNICODE_STRING. type NTUnicodeString struct { + // Note: Length and MaximumLength are in *bytes*, not uint16s. + // They should always be even. Length uint16 MaximumLength uint16 Buffer *uint16 @@ -3628,3 +3630,213 @@ const ( KLF_NOTELLSHELL = 0x00000080 KLF_SETFORPROCESS = 0x00000100 ) + +// Virtual Key codes +// https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes +const ( + VK_LBUTTON = 0x01 + VK_RBUTTON = 0x02 + VK_CANCEL = 0x03 + VK_MBUTTON = 0x04 + VK_XBUTTON1 = 0x05 + VK_XBUTTON2 = 0x06 + VK_BACK = 0x08 + VK_TAB = 0x09 + VK_CLEAR = 0x0C + VK_RETURN = 0x0D + VK_SHIFT = 0x10 + VK_CONTROL = 0x11 + VK_MENU = 0x12 + VK_PAUSE = 0x13 + VK_CAPITAL = 0x14 + VK_KANA = 0x15 + VK_HANGEUL = 0x15 + VK_HANGUL = 0x15 + VK_IME_ON = 0x16 + VK_JUNJA = 0x17 + VK_FINAL = 0x18 + VK_HANJA = 0x19 + VK_KANJI = 0x19 + VK_IME_OFF = 0x1A + VK_ESCAPE = 0x1B + VK_CONVERT = 0x1C + VK_NONCONVERT = 0x1D + VK_ACCEPT = 0x1E + VK_MODECHANGE = 0x1F + VK_SPACE = 0x20 + VK_PRIOR = 0x21 + VK_NEXT = 0x22 + VK_END = 0x23 + VK_HOME = 0x24 + VK_LEFT = 0x25 + VK_UP = 0x26 + VK_RIGHT = 0x27 + VK_DOWN = 0x28 + VK_SELECT = 0x29 + VK_PRINT = 0x2A + VK_EXECUTE = 0x2B + VK_SNAPSHOT = 0x2C + VK_INSERT = 0x2D + VK_DELETE = 0x2E + VK_HELP = 0x2F + VK_LWIN = 0x5B + VK_RWIN = 0x5C + VK_APPS = 0x5D + VK_SLEEP = 0x5F + VK_NUMPAD0 = 0x60 + VK_NUMPAD1 = 0x61 + VK_NUMPAD2 = 0x62 + VK_NUMPAD3 = 0x63 + VK_NUMPAD4 = 0x64 + VK_NUMPAD5 = 0x65 + VK_NUMPAD6 = 0x66 + VK_NUMPAD7 = 0x67 + VK_NUMPAD8 = 0x68 + VK_NUMPAD9 = 0x69 + VK_MULTIPLY = 0x6A + VK_ADD = 0x6B + VK_SEPARATOR = 0x6C + VK_SUBTRACT = 0x6D + VK_DECIMAL = 0x6E + VK_DIVIDE = 0x6F + VK_F1 = 0x70 + VK_F2 = 0x71 + VK_F3 = 0x72 + VK_F4 = 0x73 + VK_F5 = 0x74 + VK_F6 = 0x75 + VK_F7 = 0x76 + VK_F8 = 0x77 + VK_F9 = 0x78 + VK_F10 = 0x79 + VK_F11 = 0x7A + VK_F12 = 0x7B + VK_F13 = 0x7C + VK_F14 = 0x7D + VK_F15 = 0x7E + VK_F16 = 0x7F + VK_F17 = 0x80 + VK_F18 = 0x81 + VK_F19 = 0x82 + VK_F20 = 0x83 + VK_F21 = 0x84 + VK_F22 = 0x85 + VK_F23 = 0x86 + VK_F24 = 0x87 + VK_NUMLOCK = 0x90 + VK_SCROLL = 0x91 + VK_OEM_NEC_EQUAL = 0x92 + VK_OEM_FJ_JISHO = 0x92 + VK_OEM_FJ_MASSHOU = 0x93 + VK_OEM_FJ_TOUROKU = 0x94 + VK_OEM_FJ_LOYA = 0x95 + VK_OEM_FJ_ROYA = 0x96 + VK_LSHIFT = 0xA0 + VK_RSHIFT = 0xA1 + VK_LCONTROL = 0xA2 + VK_RCONTROL = 0xA3 + VK_LMENU = 0xA4 + VK_RMENU = 0xA5 + VK_BROWSER_BACK = 0xA6 + VK_BROWSER_FORWARD = 0xA7 + VK_BROWSER_REFRESH = 0xA8 + VK_BROWSER_STOP = 0xA9 + VK_BROWSER_SEARCH = 0xAA + VK_BROWSER_FAVORITES = 0xAB + VK_BROWSER_HOME = 0xAC + VK_VOLUME_MUTE = 0xAD + VK_VOLUME_DOWN = 0xAE + VK_VOLUME_UP = 0xAF + VK_MEDIA_NEXT_TRACK = 0xB0 + VK_MEDIA_PREV_TRACK = 0xB1 + VK_MEDIA_STOP = 0xB2 + VK_MEDIA_PLAY_PAUSE = 0xB3 + VK_LAUNCH_MAIL = 0xB4 + VK_LAUNCH_MEDIA_SELECT = 0xB5 + VK_LAUNCH_APP1 = 0xB6 + VK_LAUNCH_APP2 = 0xB7 + VK_OEM_1 = 0xBA + VK_OEM_PLUS = 0xBB + VK_OEM_COMMA = 0xBC + VK_OEM_MINUS = 0xBD + VK_OEM_PERIOD = 0xBE + VK_OEM_2 = 0xBF + VK_OEM_3 = 0xC0 + VK_OEM_4 = 0xDB + VK_OEM_5 = 0xDC + VK_OEM_6 = 0xDD + VK_OEM_7 = 0xDE + VK_OEM_8 = 0xDF + VK_OEM_AX = 0xE1 + VK_OEM_102 = 0xE2 + VK_ICO_HELP = 0xE3 + VK_ICO_00 = 0xE4 + VK_PROCESSKEY = 0xE5 + VK_ICO_CLEAR = 0xE6 + VK_OEM_RESET = 0xE9 + VK_OEM_JUMP = 0xEA + VK_OEM_PA1 = 0xEB + VK_OEM_PA2 = 0xEC + VK_OEM_PA3 = 0xED + VK_OEM_WSCTRL = 0xEE + VK_OEM_CUSEL = 0xEF + VK_OEM_ATTN = 0xF0 + VK_OEM_FINISH = 0xF1 + VK_OEM_COPY = 0xF2 + VK_OEM_AUTO = 0xF3 + VK_OEM_ENLW = 0xF4 + VK_OEM_BACKTAB = 0xF5 + VK_ATTN = 0xF6 + VK_CRSEL = 0xF7 + VK_EXSEL = 0xF8 + VK_EREOF = 0xF9 + VK_PLAY = 0xFA + VK_ZOOM = 0xFB + VK_NONAME = 0xFC + VK_PA1 = 0xFD + VK_OEM_CLEAR = 0xFE +) + +// Mouse button constants. +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001 + RIGHTMOST_BUTTON_PRESSED = 0x0002 + FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004 + FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008 + FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010 +) + +// Control key state constaints. +// https://docs.microsoft.com/en-us/windows/console/key-event-record-str +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + CAPSLOCK_ON = 0x0080 + ENHANCED_KEY = 0x0100 + LEFT_ALT_PRESSED = 0x0002 + LEFT_CTRL_PRESSED = 0x0008 + NUMLOCK_ON = 0x0020 + RIGHT_ALT_PRESSED = 0x0001 + RIGHT_CTRL_PRESSED = 0x0004 + SCROLLLOCK_ON = 0x0040 + SHIFT_PRESSED = 0x0010 +) + +// Mouse event record event flags. +// https://docs.microsoft.com/en-us/windows/console/mouse-event-record-str +const ( + MOUSE_MOVED = 0x0001 + DOUBLE_CLICK = 0x0002 + MOUSE_WHEELED = 0x0004 + MOUSE_HWHEELED = 0x0008 +) + +// Input Record Event Types +// https://learn.microsoft.com/en-us/windows/console/input-record-str +const ( + FOCUS_EVENT = 0x0010 + KEY_EVENT = 0x0001 + MENU_EVENT = 0x0008 + MOUSE_EVENT = 0x0002 + WINDOW_BUFFER_SIZE_EVENT = 0x0004 +) diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 01c0716c2..a58bc48b8 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -511,6 +511,7 @@ var ( procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") procWSACleanup = modws2_32.NewProc("WSACleanup") + procWSADuplicateSocketW = modws2_32.NewProc("WSADuplicateSocketW") procWSAEnumProtocolsW = modws2_32.NewProc("WSAEnumProtocolsW") procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") procWSAIoctl = modws2_32.NewProc("WSAIoctl") @@ -4391,6 +4392,14 @@ func WSACleanup() (err error) { return } +func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) { + r1, _, e1 := syscall.Syscall(procWSADuplicateSocketW.Addr(), 3, uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info))) + if r1 != 0 { + err = errnoErr(e1) + } + return +} + func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) n = int32(r0) diff --git a/vendor/golang.org/x/term/terminal.go b/vendor/golang.org/x/term/terminal.go index 14f89470a..13e9a64ad 100644 --- a/vendor/golang.org/x/term/terminal.go +++ b/vendor/golang.org/x/term/terminal.go @@ -6,6 +6,7 @@ package term import ( "bytes" + "fmt" "io" "runtime" "strconv" @@ -36,6 +37,26 @@ var vt100EscapeCodes = EscapeCodes{ Reset: []byte{keyEscape, '[', '0', 'm'}, } +// A History provides a (possibly bounded) queue of input lines read by [Terminal.ReadLine]. +type History interface { + // Add will be called by [Terminal.ReadLine] to add + // a new, most recent entry to the history. + // It is allowed to drop any entry, including + // the entry being added (e.g., if it's deemed an invalid entry), + // the least-recent entry (e.g., to keep the history bounded), + // or any other entry. + Add(entry string) + + // Len returns the number of entries in the history. + Len() int + + // At returns an entry from the history. + // Index 0 is the most-recently added entry and + // index Len()-1 is the least-recently added entry. + // If index is < 0 or >= Len(), it panics. + At(idx int) string +} + // Terminal contains the state for running a VT100 terminal that is capable of // reading lines of input. type Terminal struct { @@ -86,9 +107,14 @@ type Terminal struct { remainder []byte inBuf [256]byte - // history contains previously entered commands so that they can be - // accessed with the up and down keys. - history stRingBuffer + // History records and retrieves lines of input read by [ReadLine] which + // a user can retrieve and navigate using the up and down arrow keys. + // + // It is not safe to call ReadLine concurrently with any methods on History. + // + // [NewTerminal] sets this to a default implementation that records the + // last 100 lines of input. + History History // historyIndex stores the currently accessed history entry, where zero // means the immediately previous entry. historyIndex int @@ -111,6 +137,7 @@ func NewTerminal(c io.ReadWriter, prompt string) *Terminal { termHeight: 24, echo: true, historyIndex: -1, + History: &stRingBuffer{}, } } @@ -450,6 +477,23 @@ func visualLength(runes []rune) int { return length } +// histroryAt unlocks the terminal and relocks it while calling History.At. +func (t *Terminal) historyAt(idx int) (string, bool) { + t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer. + defer t.lock.Lock() // panic in At (or Len) protection. + if idx < 0 || idx >= t.History.Len() { + return "", false + } + return t.History.At(idx), true +} + +// historyAdd unlocks the terminal and relocks it while calling History.Add. +func (t *Terminal) historyAdd(entry string) { + t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer. + defer t.lock.Lock() // panic in Add protection. + t.History.Add(entry) +} + // handleKey processes the given key and, optionally, returns a line of text // that the user has entered. func (t *Terminal) handleKey(key rune) (line string, ok bool) { @@ -497,7 +541,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) { t.pos = len(t.line) t.moveCursorToPos(t.pos) case keyUp: - entry, ok := t.history.NthPreviousEntry(t.historyIndex + 1) + entry, ok := t.historyAt(t.historyIndex + 1) if !ok { return "", false } @@ -516,7 +560,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) { t.setLine(runes, len(runes)) t.historyIndex-- default: - entry, ok := t.history.NthPreviousEntry(t.historyIndex - 1) + entry, ok := t.historyAt(t.historyIndex - 1) if ok { t.historyIndex-- runes := []rune(entry) @@ -781,7 +825,7 @@ func (t *Terminal) readLine() (line string, err error) { if lineOk { if t.echo { t.historyIndex = -1 - t.history.Add(line) + t.historyAdd(line) } if lineIsPasted { err = ErrPasteIndicator @@ -938,19 +982,23 @@ func (s *stRingBuffer) Add(a string) { } } -// NthPreviousEntry returns the value passed to the nth previous call to Add. +func (s *stRingBuffer) Len() int { + return s.size +} + +// At returns the value passed to the nth previous call to Add. // If n is zero then the immediately prior value is returned, if one, then the // next most recent, and so on. If such an element doesn't exist then ok is // false. -func (s *stRingBuffer) NthPreviousEntry(n int) (value string, ok bool) { +func (s *stRingBuffer) At(n int) string { if n < 0 || n >= s.size { - return "", false + panic(fmt.Sprintf("term: history index [%d] out of range [0,%d)", n, s.size)) } index := s.head - n if index < 0 { index += s.max } - return s.entries[index], true + return s.entries[index] } // readPasswordLine reads from reader until it finds \n or io.EOF. diff --git a/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go b/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go index 6d38fade3..653aa7840 100644 --- a/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go +++ b/vendor/k8s.io/kubectl/pkg/cmd/util/helpers.go @@ -27,9 +27,9 @@ import ( "strings" "time" - jsonpatch "github.com/evanphx/json-patch" "github.com/spf13/cobra" "github.com/spf13/pflag" + jsonpatch "gopkg.in/evanphx/json-patch.v4" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" @@ -243,7 +243,7 @@ func statusCausesToAggrError(scs []metav1.StatusCause) utilerrors.Aggregate { // commands. func StandardErrorMessage(err error) (string, bool) { if debugErr, ok := err.(debugError); ok { - klog.V(4).Infof(debugErr.DebugError()) + klog.V(4).Info(debugErr.DebugError()) } status, isStatus := err.(apierrors.APIStatus) switch { @@ -427,9 +427,11 @@ type FeatureGate string const ( ApplySet FeatureGate = "KUBECTL_APPLYSET" CmdPluginAsSubcommand FeatureGate = "KUBECTL_ENABLE_CMD_SHADOW" - InteractiveDelete FeatureGate = "KUBECTL_INTERACTIVE_DELETE" OpenAPIV3Patch FeatureGate = "KUBECTL_OPENAPIV3_PATCH" RemoteCommandWebsockets FeatureGate = "KUBECTL_REMOTE_COMMAND_WEBSOCKETS" + PortForwardWebsockets FeatureGate = "KUBECTL_PORT_FORWARD_WEBSOCKETS" + // DebugCustomProfile should be dropped in 1.34 + DebugCustomProfile FeatureGate = "KUBECTL_DEBUG_CUSTOM_PROFILE" ) // IsEnabled returns true iff environment variable is set to true. @@ -450,10 +452,7 @@ func AddValidateFlags(cmd *cobra.Command) { cmd.Flags().String( "validate", "strict", - `Must be one of: strict (or true), warn, ignore (or false). - "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-side validation if not. - "warn" will warn about unknown or duplicate fields without blocking the request if server-side field validation is enabled on the API server, and behave as "ignore" otherwise. - "false" or "ignore" will not perform any schema validation, silently dropping any unknown or duplicate fields.`, + `Must be one of: strict (or true), warn, ignore (or false). "true" or "strict" will use a schema to validate the input and fail the request if invalid. It will perform server side validation if ServerSideFieldValidation is enabled on the api-server, but will fall back to less reliable client-side validation if not. "warn" will warn about unknown or duplicate fields without blocking the request if server-side field validation is enabled on the API server, and behave as "ignore" otherwise. "false" or "ignore" will not perform any schema validation, silently dropping any unknown or duplicate fields.`, ) cmd.Flags().Lookup("validate").NoOptDefVal = "strict" @@ -523,11 +522,9 @@ func AddLabelSelectorFlagVar(cmd *cobra.Command, p *string) { cmd.Flags().StringVarP(p, "selector", "l", *p, "Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2). Matching objects must satisfy all of the specified label constraints.") } -func AddPruningFlags(cmd *cobra.Command, prune *bool, pruneAllowlist *[]string, pruneWhitelist *[]string, all *bool, applySetRef *string) { +func AddPruningFlags(cmd *cobra.Command, prune *bool, pruneAllowlist *[]string, all *bool, applySetRef *string) { // Flags associated with the original allowlist-based alpha cmd.Flags().StringArrayVar(pruneAllowlist, "prune-allowlist", *pruneAllowlist, "Overwrite the default allowlist with for --prune") - cmd.Flags().StringArrayVar(pruneWhitelist, "prune-whitelist", *pruneWhitelist, "Overwrite the default whitelist with for --prune") // TODO: Remove this in kubectl 1.28 or later - _ = cmd.Flags().MarkDeprecated("prune-whitelist", "Use --prune-allowlist instead.") cmd.Flags().BoolVar(all, "all", *all, "Select all resources in the namespace of the specified resource types.") // Flags associated with the new ApplySet-based alpha @@ -540,10 +537,11 @@ func AddPruningFlags(cmd *cobra.Command, prune *bool, pruneAllowlist *[]string, } } -func AddSubresourceFlags(cmd *cobra.Command, subresource *string, usage string, allowedSubresources ...string) { - cmd.Flags().StringVar(subresource, "subresource", "", fmt.Sprintf("%s Must be one of %v. This flag is beta and may change in the future.", usage, allowedSubresources)) +func AddSubresourceFlags(cmd *cobra.Command, subresource *string, usage string) { + cmd.Flags().StringVar(subresource, "subresource", "", fmt.Sprintf("%s This flag is beta and may change in the future.", usage)) CheckErr(cmd.RegisterFlagCompletionFunc("subresource", func(*cobra.Command, []string, string) ([]string, cobra.ShellCompDirective) { - return allowedSubresources, cobra.ShellCompDirectiveNoFileComp + var commonSubresources = []string{"status", "scale", "resize"} + return commonSubresources, cobra.ShellCompDirectiveNoFileComp })) } diff --git a/vendor/k8s.io/kubectl/pkg/describe/describe.go b/vendor/k8s.io/kubectl/pkg/describe/describe.go index 53ba5dfc9..75b1662e0 100644 --- a/vendor/k8s.io/kubectl/pkg/describe/describe.go +++ b/vendor/k8s.io/kubectl/pkg/describe/describe.go @@ -45,13 +45,13 @@ import ( discoveryv1beta1 "k8s.io/api/discovery/v1beta1" extensionsv1beta1 "k8s.io/api/extensions/v1beta1" networkingv1 "k8s.io/api/networking/v1" - networkingv1alpha1 "k8s.io/api/networking/v1alpha1" networkingv1beta1 "k8s.io/api/networking/v1beta1" policyv1 "k8s.io/api/policy/v1" policyv1beta1 "k8s.io/api/policy/v1beta1" rbacv1 "k8s.io/api/rbac/v1" schedulingv1 "k8s.io/api/scheduling/v1" storagev1 "k8s.io/api/storage/v1" + storagev1beta1 "k8s.io/api/storage/v1beta1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/resource" @@ -215,8 +215,8 @@ func describerMap(clientConfig *rest.Config) (map[schema.GroupKind]ResourceDescr {Group: networkingv1beta1.GroupName, Kind: "IngressClass"}: &IngressClassDescriber{c}, {Group: networkingv1.GroupName, Kind: "Ingress"}: &IngressDescriber{c}, {Group: networkingv1.GroupName, Kind: "IngressClass"}: &IngressClassDescriber{c}, - {Group: networkingv1alpha1.GroupName, Kind: "ServiceCIDR"}: &ServiceCIDRDescriber{c}, - {Group: networkingv1alpha1.GroupName, Kind: "IPAddress"}: &IPAddressDescriber{c}, + {Group: networkingv1beta1.GroupName, Kind: "ServiceCIDR"}: &ServiceCIDRDescriber{c}, + {Group: networkingv1beta1.GroupName, Kind: "IPAddress"}: &IPAddressDescriber{c}, {Group: batchv1.GroupName, Kind: "Job"}: &JobDescriber{c}, {Group: batchv1.GroupName, Kind: "CronJob"}: &CronJobDescriber{c}, {Group: batchv1beta1.GroupName, Kind: "CronJob"}: &CronJobDescriber{c}, @@ -227,6 +227,7 @@ func describerMap(clientConfig *rest.Config) (map[schema.GroupKind]ResourceDescr {Group: certificatesv1beta1.GroupName, Kind: "CertificateSigningRequest"}: &CertificateSigningRequestDescriber{c}, {Group: storagev1.GroupName, Kind: "StorageClass"}: &StorageClassDescriber{c}, {Group: storagev1.GroupName, Kind: "CSINode"}: &CSINodeDescriber{c}, + {Group: storagev1beta1.GroupName, Kind: "VolumeAttributesClass"}: &VolumeAttributesClassDescriber{c}, {Group: policyv1beta1.GroupName, Kind: "PodDisruptionBudget"}: &PodDisruptionBudgetDescriber{c}, {Group: policyv1.GroupName, Kind: "PodDisruptionBudget"}: &PodDisruptionBudgetDescriber{c}, {Group: rbacv1.GroupName, Kind: "Role"}: &RoleDescriber{c}, @@ -410,6 +411,7 @@ func init() { describeServiceAccount, describeStatefulSet, describeStorageClass, + describeVolumeAttributesClass, ) if err != nil { klog.Fatalf("Cannot register describers: %v", err) @@ -808,7 +810,7 @@ func describePod(pod *corev1.Pod, events *corev1.EventList) (string, error) { } printLabelsMultiline(w, "Labels", pod.Labels) printAnnotationsMultiline(w, "Annotations", pod.Annotations) - if pod.DeletionTimestamp != nil { + if pod.DeletionTimestamp != nil && pod.Status.Phase != corev1.PodFailed && pod.Status.Phase != corev1.PodSucceeded { w.Write(LEVEL_0, "Status:\tTerminating (lasts %s)\n", translateTimestampSince(*pod.DeletionTimestamp)) w.Write(LEVEL_0, "Termination Grace Period:\t%ds\n", *pod.DeletionGracePeriodSeconds) } else { @@ -826,7 +828,7 @@ func describePod(pod *corev1.Pod, events *corev1.EventList) (string, error) { w.Write(LEVEL_0, "LocalhostProfile:\t%s\n", *pod.Spec.SecurityContext.SeccompProfile.LocalhostProfile) } } - // remove when .IP field is depreciated + // remove when .IP field is deprecated w.Write(LEVEL_0, "IP:\t%s\n", pod.Status.PodIP) describePodIPs(pod, w, "") if controlledBy := printController(pod); len(controlledBy) > 0 { @@ -836,6 +838,11 @@ func describePod(pod *corev1.Pod, events *corev1.EventList) (string, error) { w.Write(LEVEL_0, "NominatedNodeName:\t%s\n", pod.Status.NominatedNodeName) } + if pod.Spec.Resources != nil { + w.Write(LEVEL_0, "Resources:\n") + describeResources(pod.Spec.Resources, w, LEVEL_1) + } + if len(pod.Spec.InitContainers) > 0 { describeContainers("Init Containers", pod.Spec.InitContainers, pod.Status.InitContainerStatuses, EnvValueRetriever(pod), w, "") } @@ -998,6 +1005,8 @@ func describeVolumes(volumes []corev1.Volume, w PrefixWriter, space string) { printProjectedVolumeSource(volume.VolumeSource.Projected, w) case volume.VolumeSource.CSI != nil: printCSIVolumeSource(volume.VolumeSource.CSI, w) + case volume.VolumeSource.Image != nil: + printImageVolumeSource(volume.VolumeSource.Image, w) default: w.Write(LEVEL_1, "\n") } @@ -1479,6 +1488,13 @@ func printCSIPersistentVolumeAttributesMultilineIndent(w PrefixWriter, initialIn } } +func printImageVolumeSource(image *corev1.ImageVolumeSource, w PrefixWriter) { + w.Write(LEVEL_2, "Type:\tImage (a container image or OCI artifact)\n"+ + " Reference:\t%v\n"+ + " PullPolicy:\t%v\n", + image.Reference, image.PullPolicy) +} + type PersistentVolumeDescriber struct { clientset.Interface } @@ -1789,7 +1805,7 @@ func describeContainers(label string, containers []corev1.Container, containerSt if ok { describeContainerState(status, w) } - describeContainerResource(container, w) + describeResources(&container.Resources, w, LEVEL_2) describeContainerProbe(container, w) if len(container.EnvFrom) > 0 { describeContainerEnvFrom(container, resolverFn, w) @@ -1875,22 +1891,25 @@ func describeContainerCommand(container corev1.Container, w PrefixWriter) { } } -func describeContainerResource(container corev1.Container, w PrefixWriter) { - resources := container.Resources +func describeResources(resources *corev1.ResourceRequirements, w PrefixWriter, level int) { + if resources == nil { + return + } + if len(resources.Limits) > 0 { - w.Write(LEVEL_2, "Limits:\n") + w.Write(level, "Limits:\n") } for _, name := range SortedResourceNames(resources.Limits) { quantity := resources.Limits[name] - w.Write(LEVEL_3, "%s:\t%s\n", name, quantity.String()) + w.Write(level+1, "%s:\t%s\n", name, quantity.String()) } if len(resources.Requests) > 0 { - w.Write(LEVEL_2, "Requests:\n") + w.Write(level, "Requests:\n") } for _, name := range SortedResourceNames(resources.Requests) { quantity := resources.Requests[name] - w.Write(LEVEL_3, "%s:\t%s\n", name, quantity.String()) + w.Write(level+1, "%s:\t%s\n", name, quantity.String()) } } @@ -2212,6 +2231,8 @@ func DescribePodTemplate(template *corev1.PodTemplateSpec, w PrefixWriter) { if len(template.Spec.PriorityClassName) > 0 { w.Write(LEVEL_1, "Priority Class Name:\t%s\n", template.Spec.PriorityClassName) } + printLabelsMultiline(w, " Node-Selectors", template.Spec.NodeSelector) + printPodTolerationsMultiline(w, " Tolerations", template.Spec.Tolerations) } // ReplicaSetDescriber generates information about a ReplicaSet and the pods it has created. @@ -2321,6 +2342,15 @@ func describeJob(job *batchv1.Job, events *corev1.EventList) (string, error) { if job.Spec.CompletionMode != nil { w.Write(LEVEL_0, "Completion Mode:\t%s\n", *job.Spec.CompletionMode) } + if job.Spec.Suspend != nil { + w.Write(LEVEL_0, "Suspend:\t%v\n", *job.Spec.Suspend) + } + if job.Spec.BackoffLimit != nil { + w.Write(LEVEL_0, "Backoff Limit:\t%v\n", *job.Spec.BackoffLimit) + } + if job.Spec.TTLSecondsAfterFinished != nil { + w.Write(LEVEL_0, "TTL Seconds After Finished:\t%v\n", *job.Spec.TTLSecondsAfterFinished) + } if job.Status.StartTime != nil { w.Write(LEVEL_0, "Start Time:\t%s\n", job.Status.StartTime.Time.Format(time.RFC1123Z)) } @@ -2589,7 +2619,9 @@ func (i *IngressDescriber) Describe(namespace, name string, describerSettings De } func (i *IngressDescriber) describeBackendV1beta1(ns string, backend *networkingv1beta1.IngressBackend) string { - endpoints, err := i.client.CoreV1().Endpoints(ns).Get(context.TODO(), backend.ServiceName, metav1.GetOptions{}) + endpointSliceList, err := i.client.DiscoveryV1().EndpointSlices(ns).List(context.TODO(), metav1.ListOptions{ + LabelSelector: fmt.Sprintf("%s=%s", discoveryv1.LabelServiceName, backend.ServiceName), + }) if err != nil { return fmt.Sprintf("", err) } @@ -2611,20 +2643,22 @@ func (i *IngressDescriber) describeBackendV1beta1(ns string, backend *networking } } } - return formatEndpoints(endpoints, sets.NewString(spName)) + return formatEndpointSlices(endpointSliceList.Items, sets.New(spName)) } func (i *IngressDescriber) describeBackendV1(ns string, backend *networkingv1.IngressBackend) string { if backend.Service != nil { sb := serviceBackendStringer(backend.Service) - endpoints, err := i.client.CoreV1().Endpoints(ns).Get(context.TODO(), backend.Service.Name, metav1.GetOptions{}) + endpointSliceList, err := i.client.DiscoveryV1().EndpointSlices(ns).List(context.TODO(), metav1.ListOptions{ + LabelSelector: fmt.Sprintf("%s=%s", discoveryv1.LabelServiceName, backend.Service.Name), + }) if err != nil { return fmt.Sprintf("%v ()", sb, err) } service, err := i.client.CoreV1().Services(ns).Get(context.TODO(), backend.Service.Name, metav1.GetOptions{}) if err != nil { - return fmt.Sprintf("%v()", sb, err) + return fmt.Sprintf("%v ()", sb, err) } spName := "" for i := range service.Spec.Ports { @@ -2635,7 +2669,7 @@ func (i *IngressDescriber) describeBackendV1(ns string, backend *networkingv1.In spName = sp.Name } } - ep := formatEndpoints(endpoints, sets.NewString(spName)) + ep := formatEndpointSlices(endpointSliceList.Items, sets.New(spName)) return fmt.Sprintf("%s (%s)", sb, ep) } if backend.Resource != nil { @@ -2853,17 +2887,17 @@ type ServiceCIDRDescriber struct { func (c *ServiceCIDRDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error) { var events *corev1.EventList - svcV1alpha1, err := c.client.NetworkingV1alpha1().ServiceCIDRs().Get(context.TODO(), name, metav1.GetOptions{}) + svcV1beta1, err := c.client.NetworkingV1beta1().ServiceCIDRs().Get(context.TODO(), name, metav1.GetOptions{}) if err == nil { if describerSettings.ShowEvents { - events, _ = searchEvents(c.client.CoreV1(), svcV1alpha1, describerSettings.ChunkSize) + events, _ = searchEvents(c.client.CoreV1(), svcV1beta1, describerSettings.ChunkSize) } - return c.describeServiceCIDRV1alpha1(svcV1alpha1, events) + return c.describeServiceCIDRV1beta1(svcV1beta1, events) } return "", err } -func (c *ServiceCIDRDescriber) describeServiceCIDRV1alpha1(svc *networkingv1alpha1.ServiceCIDR, events *corev1.EventList) (string, error) { +func (c *ServiceCIDRDescriber) describeServiceCIDRV1beta1(svc *networkingv1beta1.ServiceCIDR, events *corev1.EventList) (string, error) { return tabbedString(func(out io.Writer) error { w := NewPrefixWriter(out) w.Write(LEVEL_0, "Name:\t%v\n", svc.Name) @@ -2902,17 +2936,17 @@ type IPAddressDescriber struct { func (c *IPAddressDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error) { var events *corev1.EventList - ipV1alpha1, err := c.client.NetworkingV1alpha1().IPAddresses().Get(context.TODO(), name, metav1.GetOptions{}) + ipV1beta1, err := c.client.NetworkingV1beta1().IPAddresses().Get(context.TODO(), name, metav1.GetOptions{}) if err == nil { if describerSettings.ShowEvents { - events, _ = searchEvents(c.client.CoreV1(), ipV1alpha1, describerSettings.ChunkSize) + events, _ = searchEvents(c.client.CoreV1(), ipV1beta1, describerSettings.ChunkSize) } - return c.describeIPAddressV1alpha1(ipV1alpha1, events) + return c.describeIPAddressV1beta1(ipV1beta1, events) } return "", err } -func (c *IPAddressDescriber) describeIPAddressV1alpha1(ip *networkingv1alpha1.IPAddress, events *corev1.EventList) (string, error) { +func (c *IPAddressDescriber) describeIPAddressV1beta1(ip *networkingv1beta1.IPAddress, events *corev1.EventList) (string, error) { return tabbedString(func(out io.Writer) error { w := NewPrefixWriter(out) w.Write(LEVEL_0, "Name:\t%v\n", ip.Name) @@ -2947,12 +2981,14 @@ func (d *ServiceDescriber) Describe(namespace, name string, describerSettings De return "", err } - endpoints, _ := d.CoreV1().Endpoints(namespace).Get(context.TODO(), name, metav1.GetOptions{}) + endpointSliceList, _ := d.DiscoveryV1().EndpointSlices(namespace).List(context.TODO(), metav1.ListOptions{ + LabelSelector: fmt.Sprintf("%s=%s", discoveryv1.LabelServiceName, name), + }) var events *corev1.EventList if describerSettings.ShowEvents { events, _ = searchEvents(d.CoreV1(), service, describerSettings.ChunkSize) } - return describeService(service, endpoints, events) + return describeService(service, endpointSliceList.Items, events) } func buildIngressString(ingress []corev1.LoadBalancerIngress) string { @@ -2964,6 +3000,9 @@ func buildIngressString(ingress []corev1.LoadBalancerIngress) string { } if ingress[i].IP != "" { buffer.WriteString(ingress[i].IP) + if ingress[i].IPMode != nil { + buffer.WriteString(fmt.Sprintf(" (%s)", *ingress[i].IPMode)) + } } else { buffer.WriteString(ingress[i].Hostname) } @@ -2971,10 +3010,7 @@ func buildIngressString(ingress []corev1.LoadBalancerIngress) string { return buffer.String() } -func describeService(service *corev1.Service, endpoints *corev1.Endpoints, events *corev1.EventList) (string, error) { - if endpoints == nil { - endpoints = &corev1.Endpoints{} - } +func describeService(service *corev1.Service, endpointSlices []discoveryv1.EndpointSlice, events *corev1.EventList) (string, error) { return tabbedString(func(out io.Writer) error { w := NewPrefixWriter(out) w.Write(LEVEL_0, "Name:\t%s\n", service.Name) @@ -3010,7 +3046,7 @@ func describeService(service *corev1.Service, endpoints *corev1.Endpoints, event w.Write(LEVEL_0, "External IPs:\t%v\n", strings.Join(service.Spec.ExternalIPs, ",")) } if service.Spec.LoadBalancerIP != "" { - w.Write(LEVEL_0, "IP:\t%s\n", service.Spec.LoadBalancerIP) + w.Write(LEVEL_0, "Desired LoadBalancer IP:\t%s\n", service.Spec.LoadBalancerIP) } if service.Spec.ExternalName != "" { w.Write(LEVEL_0, "External Name:\t%s\n", service.Spec.ExternalName) @@ -3035,12 +3071,15 @@ func describeService(service *corev1.Service, endpoints *corev1.Endpoints, event if sp.NodePort != 0 { w.Write(LEVEL_0, "NodePort:\t%s\t%d/%s\n", name, sp.NodePort, sp.Protocol) } - w.Write(LEVEL_0, "Endpoints:\t%s\n", formatEndpoints(endpoints, sets.NewString(sp.Name))) + w.Write(LEVEL_0, "Endpoints:\t%s\n", formatEndpointSlices(endpointSlices, sets.New(sp.Name))) } w.Write(LEVEL_0, "Session Affinity:\t%s\n", service.Spec.SessionAffinity) if service.Spec.ExternalTrafficPolicy != "" { w.Write(LEVEL_0, "External Traffic Policy:\t%s\n", service.Spec.ExternalTrafficPolicy) } + if service.Spec.InternalTrafficPolicy != nil { + w.Write(LEVEL_0, "Internal Traffic Policy:\t%s\n", *service.Spec.InternalTrafficPolicy) + } if service.Spec.HealthCheckNodePort != 0 { w.Write(LEVEL_0, "HealthCheck NodePort:\t%d\n", service.Spec.HealthCheckNodePort) } @@ -3609,10 +3648,11 @@ func (d *NodeDescriber) Describe(namespace, name string, describerSettings Descr return "", err } - fieldSelector, err := fields.ParseSelector("spec.nodeName=" + name + ",status.phase!=" + string(corev1.PodSucceeded) + ",status.phase!=" + string(corev1.PodFailed)) - if err != nil { - return "", err - } + fieldSelector := fields.AndSelectors( + fields.OneTermEqualSelector("spec.nodeName", name), + fields.OneTermNotEqualSelector("status.phase", string(corev1.PodSucceeded)), + fields.OneTermNotEqualSelector("status.phase", string(corev1.PodFailed)), + ) // in a policy aware setting, users may have access to a node, but not all pods // in that case, we note that the user does not have access to the pods canViewPods := true @@ -3731,7 +3771,7 @@ func describeNode(node *corev1.Node, nodeNonTerminatedPodsList *corev1.PodList, w.Write(LEVEL_0, " Kubelet Version:\t%s\n", node.Status.NodeInfo.KubeletVersion) w.Write(LEVEL_0, " Kube-Proxy Version:\t%s\n", node.Status.NodeInfo.KubeProxyVersion) - // remove when .PodCIDR is depreciated + // remove when .PodCIDR is deprecated if len(node.Spec.PodCIDR) > 0 { w.Write(LEVEL_0, "PodCIDR:\t%s\n", node.Spec.PodCIDR) } @@ -4457,6 +4497,7 @@ func (d *ConfigMapDescriber) Describe(namespace, name string, describerSettings for k, v := range configMap.Data { w.Write(LEVEL_0, "%s:\n----\n", k) w.Write(LEVEL_0, "%s\n", string(v)) + w.Write(LEVEL_0, "\n") } w.Write(LEVEL_0, "\nBinaryData\n====\n") for k, v := range configMap.BinaryData { @@ -4562,7 +4603,11 @@ func printNetworkPolicySpecIngressFrom(npirs []networkingv1.NetworkPolicyIngress } else { proto = corev1.ProtocolTCP } - w.Write(LEVEL_0, "%s%s: %s/%s\n", initialIndent, "To Port", port.Port, proto) + if port.EndPort == nil { + w.Write(LEVEL_0, "%s%s: %s/%s\n", initialIndent, "To Port", port.Port, proto) + } else { + w.Write(LEVEL_0, "%s%s: %s-%d/%s\n", initialIndent, "To Port Range", port.Port, *port.EndPort, proto) + } } } if len(npir.From) == 0 { @@ -4606,7 +4651,11 @@ func printNetworkPolicySpecEgressTo(npers []networkingv1.NetworkPolicyEgressRule } else { proto = corev1.ProtocolTCP } - w.Write(LEVEL_0, "%s%s: %s/%s\n", initialIndent, "To Port", port.Port, proto) + if port.EndPort == nil { + w.Write(LEVEL_0, "%s%s: %s/%s\n", initialIndent, "To Port", port.Port, proto) + } else { + w.Write(LEVEL_0, "%s%s: %s-%d/%s\n", initialIndent, "To Port Range", port.Port, *port.EndPort, proto) + } } } if len(nper.To) == 0 { @@ -4686,6 +4735,40 @@ func describeStorageClass(sc *storagev1.StorageClass, events *corev1.EventList) }) } +type VolumeAttributesClassDescriber struct { + clientset.Interface +} + +func (d *VolumeAttributesClassDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error) { + vac, err := d.StorageV1beta1().VolumeAttributesClasses().Get(context.TODO(), name, metav1.GetOptions{}) + if err != nil { + return "", err + } + + var events *corev1.EventList + if describerSettings.ShowEvents { + events, _ = searchEvents(d.CoreV1(), vac, describerSettings.ChunkSize) + } + + return describeVolumeAttributesClass(vac, events) +} + +func describeVolumeAttributesClass(vac *storagev1beta1.VolumeAttributesClass, events *corev1.EventList) (string, error) { + return tabbedString(func(out io.Writer) error { + w := NewPrefixWriter(out) + w.Write(LEVEL_0, "Name:\t%s\n", vac.Name) + w.Write(LEVEL_0, "Annotations:\t%s\n", labels.FormatLabels(vac.Annotations)) + w.Write(LEVEL_0, "DriverName:\t%s\n", vac.DriverName) + w.Write(LEVEL_0, "Parameters:\t%s\n", labels.FormatLabels(vac.Parameters)) + + if events != nil { + DescribeEvents(events, w) + } + + return nil + }) +} + type CSINodeDescriber struct { clientset.Interface } @@ -5362,39 +5445,56 @@ func translateTimestampSince(timestamp metav1.Time) string { } // Pass ports=nil for all ports. -func formatEndpoints(endpoints *corev1.Endpoints, ports sets.String) string { - if len(endpoints.Subsets) == 0 { +func formatEndpointSlices(endpointSlices []discoveryv1.EndpointSlice, ports sets.Set[string]) string { + if len(endpointSlices) == 0 { return "" } - list := []string{} + var list []string max := 3 more := false count := 0 - for i := range endpoints.Subsets { - ss := &endpoints.Subsets[i] - if len(ss.Ports) == 0 { + for i := range endpointSlices { + if len(endpointSlices[i].Ports) == 0 { // It's possible to have headless services with no ports. - for i := range ss.Addresses { + for j := range endpointSlices[i].Endpoints { if len(list) == max { more = true } + isReady := endpointSlices[i].Endpoints[j].Conditions.Ready == nil || *endpointSlices[i].Endpoints[j].Conditions.Ready + if !isReady { + // ready indicates that this endpoint is prepared to receive traffic, + // according to whatever system is managing the endpoint. A nil value + // indicates an unknown state. In most cases consumers should interpret this + // unknown state as ready. + // More info: vendor/k8s.io/api/discovery/v1/types.go + continue + } if !more { - list = append(list, ss.Addresses[i].IP) + list = append(list, endpointSlices[i].Endpoints[j].Addresses[0]) } count++ } } else { // "Normal" services with ports defined. - for i := range ss.Ports { - port := &ss.Ports[i] - if ports == nil || ports.Has(port.Name) { - for i := range ss.Addresses { + for j := range endpointSlices[i].Ports { + port := endpointSlices[i].Ports[j] + if ports == nil || ports.Has(*port.Name) { + for k := range endpointSlices[i].Endpoints { if len(list) == max { more = true } - addr := &ss.Addresses[i] + addr := endpointSlices[i].Endpoints[k].Addresses[0] + isReady := endpointSlices[i].Endpoints[k].Conditions.Ready == nil || *endpointSlices[i].Endpoints[k].Conditions.Ready + if !isReady { + // ready indicates that this endpoint is prepared to receive traffic, + // according to whatever system is managing the endpoint. A nil value + // indicates an unknown state. In most cases consumers should interpret this + // unknown state as ready. + // More info: vendor/k8s.io/api/discovery/v1/types.go + continue + } if !more { - hostPort := net.JoinHostPort(addr.IP, strconv.Itoa(int(port.Port))) + hostPort := net.JoinHostPort(addr, strconv.Itoa(int(*port.Port))) list = append(list, hostPort) } count++ diff --git a/vendor/k8s.io/kubectl/pkg/scheme/install.go b/vendor/k8s.io/kubectl/pkg/scheme/install.go index 52a7ce6a8..34c987822 100644 --- a/vendor/k8s.io/kubectl/pkg/scheme/install.go +++ b/vendor/k8s.io/kubectl/pkg/scheme/install.go @@ -45,6 +45,7 @@ import ( rbacv1beta1 "k8s.io/api/rbac/v1beta1" schedulingv1alpha1 "k8s.io/api/scheduling/v1alpha1" storagev1 "k8s.io/api/storage/v1" + storagev1alpha1 "k8s.io/api/storage/v1alpha1" storagev1beta1 "k8s.io/api/storage/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1beta1 "k8s.io/apimachinery/pkg/apis/meta/v1beta1" @@ -78,5 +79,5 @@ func init() { utilruntime.Must(Scheme.SetVersionPriority(policyv1beta1.SchemeGroupVersion, policyv1.SchemeGroupVersion)) utilruntime.Must(Scheme.SetVersionPriority(rbacv1.SchemeGroupVersion, rbacv1beta1.SchemeGroupVersion, rbacv1alpha1.SchemeGroupVersion)) utilruntime.Must(Scheme.SetVersionPriority(schedulingv1alpha1.SchemeGroupVersion)) - utilruntime.Must(Scheme.SetVersionPriority(storagev1.SchemeGroupVersion, storagev1beta1.SchemeGroupVersion)) + utilruntime.Must(Scheme.SetVersionPriority(storagev1.SchemeGroupVersion, storagev1beta1.SchemeGroupVersion, storagev1alpha1.SchemeGroupVersion)) } diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/README.md b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/README.md index 6318ffe62..a97180466 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/README.md +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/README.md @@ -72,7 +72,7 @@ import pkg/i18n translated := i18n.T("Your message in english here") // Get a translated plural string -translated := i18n.T("You had % items", items) +translated := i18n.T("You had %d items", items) // Translated error return i18n.Error("Something bad happened") diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/de_DE/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/de_DE/LC_MESSAGES/k8s.po index cd5d53c88..18b6a6215 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/de_DE/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/de_DE/LC_MESSAGES/k8s.po @@ -736,7 +736,7 @@ msgstr "kubectl kontrolliert den Kubernetes-Cluster-Manager" #~ "\n" #~ "\t\t# Apply the configuration in manifest.yaml and delete all the other " #~ "configmaps that are not in the file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #~ msgstr "" #~ "\n" @@ -754,7 +754,7 @@ msgstr "kubectl kontrolliert den Kubernetes-Cluster-Manager" #~ "\n" #~ "\t\t# Wende die Konfiguration im manifest.yaml an und lösche alle " #~ "ConfigMaps, die nicht in der Datei sind.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #, c-format diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/default/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/default/LC_MESSAGES/k8s.po index 538c7b2d5..609c85d7c 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/default/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/default/LC_MESSAGES/k8s.po @@ -260,7 +260,7 @@ msgid "" "\n" "\t\t# Apply the configuration in manifest.yaml and delete all the other " "config maps that are not in the file\n" -"\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/" +"\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/" "ConfigMap" msgstr "" "\n" @@ -282,7 +282,7 @@ msgstr "" "\n" "\t\t# Apply the configuration in manifest.yaml and delete all the other " "config maps that are not in the file\n" -"\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/" +"\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/" "ConfigMap" #: staging/src/k8s.io/kubectl/pkg/cmd/autoscale/autoscale.go:48 diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/en_US/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/en_US/LC_MESSAGES/k8s.po index d07da117b..c4f0e403f 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/en_US/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/en_US/LC_MESSAGES/k8s.po @@ -260,7 +260,7 @@ msgid "" "\n" "\t\t# Apply the configuration in manifest.yaml and delete all the other " "config maps that are not in the file\n" -"\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/" +"\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/" "ConfigMap" msgstr "" "\n" @@ -282,7 +282,7 @@ msgstr "" "\n" "\t\t# Apply the configuration in manifest.yaml and delete all the other " "config maps that are not in the file\n" -"\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/" +"\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/" "ConfigMap" #: staging/src/k8s.io/kubectl/pkg/cmd/autoscale/autoscale.go:48 diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/it_IT/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/it_IT/LC_MESSAGES/k8s.po index ca119f64f..ff6d83262 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/it_IT/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/it_IT/LC_MESSAGES/k8s.po @@ -815,7 +815,7 @@ msgstr "Kubectl controlla il gestore cluster di Kubernetes" #~ "\n" #~ "\t\t# Apply the configuration in manifest.yaml and delete all the other " #~ "configmaps that are not in the file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #~ msgstr "" #~ "\n" @@ -833,7 +833,7 @@ msgstr "Kubectl controlla il gestore cluster di Kubernetes" #~ "\n" #~ "\t\t# Applica la configurazione manifest.yaml ed elimina tutti gli altri " #~ "configmaps non presenti nel file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #, c-format diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/ja_JP/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/ja_JP/LC_MESSAGES/k8s.po index d6f4aa2c4..f7280b4fe 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/ja_JP/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/ja_JP/LC_MESSAGES/k8s.po @@ -432,7 +432,7 @@ msgstr "Create a service account with the specified name" # https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/config/delete_cluster.go#L38 #: staging/src/k8s.io/kubectl/pkg/cmd/config/delete_cluster.go:42 msgid "Delete the specified cluster from the kubeconfig" -msgstr "指定したコンテキストをkubeconfigから削除する" +msgstr "指定したクラスターをkubeconfigから削除する" # https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/config/delete_context.go#L38 #: staging/src/k8s.io/kubectl/pkg/cmd/config/delete_context.go:42 @@ -891,7 +891,7 @@ msgstr "kubectl controls the Kubernetes cluster manager" #~ "\n" #~ "\t\t# Apply the configuration in manifest.yaml and delete all the other " #~ "configmaps that are not in the file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #~ msgstr "" #~ "\n" @@ -909,7 +909,7 @@ msgstr "kubectl controls the Kubernetes cluster manager" #~ "\n" #~ "\t\t# Apply the configuration in manifest.yaml and delete all the other " #~ "configmaps that are not in the file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #, c-format diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/pt_BR/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/pt_BR/LC_MESSAGES/k8s.po index dad451281..7fe6d2cf1 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/pt_BR/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/pt_BR/LC_MESSAGES/k8s.po @@ -814,7 +814,7 @@ msgstr "kubectl controla o gerenciador de cluster do Kubernetes" #~ "\n" #~ "\t\t# Apply the configuration in manifest.yaml and delete all the other " #~ "configmaps that are not in the file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/" #~ "v1/ConfigMap" #~ msgstr "" #~ "\n" @@ -832,7 +832,7 @@ msgstr "kubectl controla o gerenciador de cluster do Kubernetes" #~ "\n" #~ "\t\t# Aplica a configuração do manifest.yaml e remove todos os outros " #~ "configmaps que não estão no arquivo.\n" -#~ "\t\tkubectl apply —prune -f manifest.yaml —all —prune-whitelist=core/v1/" +#~ "\t\tkubectl apply —prune -f manifest.yaml —all —prune-allowlist=core/v1/" #~ "ConfigMap" #, c-format diff --git a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/zh_CN/LC_MESSAGES/k8s.po b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/zh_CN/LC_MESSAGES/k8s.po index 29bd5844d..ffdf03cb6 100644 --- a/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/zh_CN/LC_MESSAGES/k8s.po +++ b/vendor/k8s.io/kubectl/pkg/util/i18n/translations/kubectl/zh_CN/LC_MESSAGES/k8s.po @@ -854,7 +854,7 @@ msgstr "kubectl 控制 Kubernetes 集群管理器" #~ "\n" #~ "\t\t# Apply the configuration in manifest.yaml and delete all the other " #~ "configmaps that are not in the file.\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/" #~ "ConfigMap" #~ msgstr "" #~ "\n" @@ -870,7 +870,7 @@ msgstr "kubectl 控制 Kubernetes 集群管理器" #~ "\t\tkubectl apply --prune -f manifest.yaml -l app=nginx\n" #~ "\n" #~ "\t\t# 应用 manifest.yaml 的配置并删除所有不在这个文件中的 ConfigMaps。\n" -#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-whitelist=core/v1/" +#~ "\t\tkubectl apply --prune -f manifest.yaml --all --prune-allowlist=core/v1/" #~ "ConfigMap" #, c-format diff --git a/vendor/k8s.io/kubectl/pkg/util/openapi/doc.go b/vendor/k8s.io/kubectl/pkg/util/openapi/doc.go index 08194d580..7d3bc6124 100644 --- a/vendor/k8s.io/kubectl/pkg/util/openapi/doc.go +++ b/vendor/k8s.io/kubectl/pkg/util/openapi/doc.go @@ -18,4 +18,4 @@ limitations under the License. // from a Kubernetes server and then indexing the type definitions. // The openapi spec contains the object model definitions and extensions metadata // such as the patchStrategy and patchMergeKey for creating patches. -package openapi // k8s.io/kubectl/pkg/util/openapi +package openapi // import "k8s.io/kubectl/pkg/util/openapi" diff --git a/vendor/k8s.io/kubectl/pkg/util/qos/qos.go b/vendor/k8s.io/kubectl/pkg/util/qos/qos.go index 68b1b9072..1b102a0fe 100644 --- a/vendor/k8s.io/kubectl/pkg/util/qos/qos.go +++ b/vendor/k8s.io/kubectl/pkg/util/qos/qos.go @@ -37,6 +37,45 @@ func GetPodQOS(pod *core.Pod) core.PodQOSClass { return ComputePodQOS(pod) } +// zeroQuantity represents a resource.Quantity with value "0", used as a baseline +// for resource comparisons. +var zeroQuantity = resource.MustParse("0") + +// processResourceList adds non-zero quantities for supported QoS compute resources +// quantities from newList to list. +func processResourceList(list, newList core.ResourceList) { + for name, quantity := range newList { + if !isSupportedQoSComputeResource(name) { + continue + } + if quantity.Cmp(zeroQuantity) == 1 { + delta := quantity.DeepCopy() + if _, exists := list[name]; !exists { + list[name] = delta + } else { + delta.Add(list[name]) + list[name] = delta + } + } + } +} + +// getQOSResources returns a set of resource names from the provided resource list that: +// 1. Are supported QoS compute resources +// 2. Have quantities greater than zero +func getQOSResources(list core.ResourceList) sets.Set[string] { + qosResources := sets.New[string]() + for name, quantity := range list { + if !isSupportedQoSComputeResource(name) { + continue + } + if quantity.Cmp(zeroQuantity) == 1 { + qosResources.Insert(string(name)) + } + } + return qosResources +} + // ComputePodQOS evaluates the list of containers to determine a pod's QoS class. This function is more // expensive than GetPodQOS which should be used for pods having a non-empty .Status.QOSClass. // A pod is besteffort if none of its containers have specified any requests or limits. @@ -45,50 +84,38 @@ func GetPodQOS(pod *core.Pod) core.PodQOSClass { func ComputePodQOS(pod *core.Pod) core.PodQOSClass { requests := core.ResourceList{} limits := core.ResourceList{} - zeroQuantity := resource.MustParse("0") isGuaranteed := true - // note, ephemeral containers are not considered for QoS as they cannot define resources - allContainers := []core.Container{} - allContainers = append(allContainers, pod.Spec.Containers...) - allContainers = append(allContainers, pod.Spec.InitContainers...) - for _, container := range allContainers { - // process requests - for name, quantity := range container.Resources.Requests { - if !isSupportedQoSComputeResource(name) { - continue - } - if quantity.Cmp(zeroQuantity) == 1 { - delta := quantity.DeepCopy() - if _, exists := requests[name]; !exists { - requests[name] = delta - } else { - delta.Add(requests[name]) - requests[name] = delta - } - } + if pod.Spec.Resources != nil { + if pod.Spec.Resources.Requests != nil { + // process requests + processResourceList(requests, pod.Spec.Resources.Requests) } - // process limits - qosLimitsFound := sets.NewString() - for name, quantity := range container.Resources.Limits { - if !isSupportedQoSComputeResource(name) { - continue - } - if quantity.Cmp(zeroQuantity) == 1 { - qosLimitsFound.Insert(string(name)) - delta := quantity.DeepCopy() - if _, exists := limits[name]; !exists { - limits[name] = delta - } else { - delta.Add(limits[name]) - limits[name] = delta - } + + if pod.Spec.Resources.Limits != nil { + // process limits + processResourceList(limits, pod.Spec.Resources.Limits) + qosLimitResources := getQOSResources(pod.Spec.Resources.Limits) + if !qosLimitResources.HasAll(string(core.ResourceMemory), string(core.ResourceCPU)) { + isGuaranteed = false } } - - if !qosLimitsFound.HasAll(string(core.ResourceMemory), string(core.ResourceCPU)) { - isGuaranteed = false + } else { + // note, ephemeral containers are not considered for QoS as they cannot define resources + allContainers := []core.Container{} + allContainers = append(allContainers, pod.Spec.Containers...) + allContainers = append(allContainers, pod.Spec.InitContainers...) + for _, container := range allContainers { + // process requests + processResourceList(requests, container.Resources.Requests) + // process limits + processResourceList(limits, container.Resources.Limits) + qosLimitResources := getQOSResources(container.Resources.Limits) + if !qosLimitResources.HasAll(string(core.ResourceMemory), string(core.ResourceCPU)) { + isGuaranteed = false + } } } + if len(requests) == 0 && len(limits) == 0 { return core.PodQOSBestEffort } diff --git a/vendor/k8s.io/kubectl/pkg/util/resource/resource.go b/vendor/k8s.io/kubectl/pkg/util/resource/resource.go index cc60a64b3..80da5fdd6 100644 --- a/vendor/k8s.io/kubectl/pkg/util/resource/resource.go +++ b/vendor/k8s.io/kubectl/pkg/util/resource/resource.go @@ -49,11 +49,11 @@ func podRequests(pod *corev1.Pod) corev1.ResourceList { for _, container := range pod.Spec.Containers { containerReqs := container.Resources.Requests cs, found := containerStatuses[container.Name] - if found { + if found && cs.Resources != nil { if pod.Status.Resize == corev1.PodResizeStatusInfeasible { - containerReqs = cs.AllocatedResources.DeepCopy() + containerReqs = cs.Resources.Requests.DeepCopy() } else { - containerReqs = max(container.Resources.Requests, cs.AllocatedResources) + containerReqs = max(container.Resources.Requests, cs.Resources.Requests) } } addResourceList(reqs, containerReqs) diff --git a/vendor/k8s.io/kubectl/pkg/util/templates/help_flags_printer.go b/vendor/k8s.io/kubectl/pkg/util/templates/help_flags_printer.go index fdfdf08ee..b7e1bf00f 100644 --- a/vendor/k8s.io/kubectl/pkg/util/templates/help_flags_printer.go +++ b/vendor/k8s.io/kubectl/pkg/util/templates/help_flags_printer.go @@ -62,7 +62,7 @@ func (p *HelpFlagPrinter) PrintHelpFlag(flag *flag.Flag) { } appendTabStr := strings.ReplaceAll(wrappedStr, "\n", "\n\t") - fmt.Fprintf(p.out, appendTabStr+"\n\n") + fmt.Fprint(p.out, appendTabStr+"\n\n") } // writeFlag will output the help flag based diff --git a/vendor/kubedb.dev/apimachinery/apis/archiver/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/archiver/v1alpha1/openapi_generated.go index 2f35623cf..58da65e30 100644 --- a/vendor/kubedb.dev/apimachinery/apis/archiver/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/archiver/v1alpha1/openapi_generated.go @@ -21727,6 +21727,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, 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 c9b20cbab..7edb0b07d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/autoscaling/v1alpha1/openapi_generated.go @@ -21852,6 +21852,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/cassandra_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/cassandra_version_types.go index 14bb24014..9cc8d143d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/cassandra_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/cassandra_version_types.go @@ -74,6 +74,9 @@ type CassandraVersionSpec struct { // +optional UI []ChartInfo `json:"ui,omitempty"` + + // update constraints + UpdateConstraints UpdateConstraints `json:"updateConstraints,omitempty"` } // CassandraVersionExporter is the image for the Cassandra exporter diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/clickhouse_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/clickhouse_version_types.go index 37bd4b239..445ee0655 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/clickhouse_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/clickhouse_version_types.go @@ -72,6 +72,9 @@ type ClickHouseVersionSpec struct { // +optional UI []ChartInfo `json:"ui,omitempty"` + + // update constraints + UpdateConstraints UpdateConstraints `json:"updateConstraints,omitempty"` } // ClickHouseVersionDatabase is the ClickHouse Database image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/druid_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/druid_version_types.go index 7e6579975..c59fcc8e6 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/druid_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/druid_version_types.go @@ -61,6 +61,8 @@ type DruidVersionSpec struct { SecurityContext SecurityContext `json:"securityContext"` // +optional UI []ChartInfo `json:"ui,omitempty"` + // update constraints + UpdateConstraints UpdateConstraints `json:"updateConstraints,omitempty"` } // DruidVersionDatabase is the Druid Database image diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/ignite_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/ignite_version_types.go index 5511ddab9..ca20f4f08 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/ignite_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/ignite_version_types.go @@ -63,6 +63,9 @@ type IgniteVersionSpec struct { SecurityContext IgniteSecurityContext `json:"securityContext"` // +optional UI []ChartInfo `json:"ui,omitempty"` + + // update constraints + UpdateConstraints UpdateConstraints `json:"updateConstraints,omitempty"` } // IgniteSecurityContext is for the additional config for the DB container diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/kafka_version_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/kafka_version_types.go index 2f572896f..6f94cdc1b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/kafka_version_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/kafka_version_types.go @@ -52,6 +52,10 @@ type KafkaVersion struct { type KafkaVersionSpec struct { // Version Version string `json:"version"` + // Init Container Image + // From kafka version 4.0.0, we have introduced an init container to handle the database initialization. + // +optional + InitContainer KafkaInitContainer `json:"initContainer,omitempty"` // Database Image DB KafkaVersionDatabase `json:"db"` // Connect Image @@ -81,6 +85,11 @@ type KafkaVersionDatabase struct { Image string `json:"image"` } +// KafkaInitContainer is the Kafka Init Container image +type KafkaInitContainer struct { + Image string `json:"image"` +} + // ConnectClusterVersion is the Kafka Connect Cluster image type ConnectClusterVersion struct { Image string `json:"image"` 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 84a4922ac..5523d0494 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/openapi_generated.go @@ -566,6 +566,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaConnectorVersion": schema_apimachinery_apis_catalog_v1alpha1_KafkaConnectorVersion(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaConnectorVersionList": schema_apimachinery_apis_catalog_v1alpha1_KafkaConnectorVersionList(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaConnectorVersionSpec": schema_apimachinery_apis_catalog_v1alpha1_KafkaConnectorVersionSpec(ref), + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaInitContainer": schema_apimachinery_apis_catalog_v1alpha1_KafkaInitContainer(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersion": schema_apimachinery_apis_catalog_v1alpha1_KafkaVersion(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersionDatabase": schema_apimachinery_apis_catalog_v1alpha1_KafkaVersionDatabase(ref), "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersionList": schema_apimachinery_apis_catalog_v1alpha1_KafkaVersionList(ref), @@ -21905,6 +21906,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, @@ -26371,12 +26384,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_CassandraVersionSpec(ref common.R }, }, }, + "updateConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "update constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"), + }, + }, }, Required: []string{"version", "db", "exporter", "medusa", "initContainer"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraVersionMedusa", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraVersionExporter", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CassandraVersionMedusa", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, } } @@ -26637,12 +26657,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_ClickHouseVersionSpec(ref common. }, }, }, + "updateConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "update constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"), + }, + }, }, Required: []string{"version", "db", "initContainer", "clickHouseKeeper"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ClickHouseInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ClickHouseKeeperContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ClickHouseVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ClickHouseInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ClickHouseKeeperContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ClickHouseVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, } } @@ -26906,12 +26933,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_DruidVersionSpec(ref common.Refer }, }, }, + "updateConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "update constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"), + }, + }, }, Required: []string{"version", "db", "initContainer"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.DruidInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.DruidVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.DruidInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.DruidVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, } } @@ -28152,12 +28186,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_IgniteVersionSpec(ref common.Refe }, }, }, + "updateConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "update constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"), + }, + }, }, Required: []string{"version", "db"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.IgniteInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.IgniteSecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.IgniteVersionDatabase"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.IgniteInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.IgniteSecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.IgniteVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, } } @@ -28303,6 +28344,27 @@ func schema_apimachinery_apis_catalog_v1alpha1_KafkaConnectorVersionSpec(ref com } } +func schema_apimachinery_apis_catalog_v1alpha1_KafkaInitContainer(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaInitContainer is the Kafka Init Container 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_KafkaVersion(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -28449,6 +28511,13 @@ func schema_apimachinery_apis_catalog_v1alpha1_KafkaVersionSpec(ref common.Refer Format: "", }, }, + "initContainer": { + SchemaProps: spec.SchemaProps{ + Description: "Init Container Image From kafka version 4.0.0, we have introduced an init container to handle the database initialization.", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaInitContainer"), + }, + }, "db": { SchemaProps: spec.SchemaProps{ Description: "Database Image", @@ -28523,7 +28592,7 @@ func schema_apimachinery_apis_catalog_v1alpha1_KafkaVersionSpec(ref common.Refer }, }, Dependencies: []string{ - "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ConnectClusterVersion", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CruiseControlVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, + "kmodules.xyz/custom-resources/apis/appcatalog/v1alpha1.StashAddonSpec", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ConnectClusterVersion", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.CruiseControlVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.KafkaVersionPodSecurityPolicy", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, } } @@ -32161,12 +32230,19 @@ func schema_apimachinery_apis_catalog_v1alpha1_RabbitMQVersionSpec(ref common.Re }, }, }, + "updateConstraints": { + SchemaProps: spec.SchemaProps{ + Description: "update constraints", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"), + }, + }, }, Required: []string{"version", "db", "initContainer"}, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RabbitMQInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RabbitMQVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext"}, + "kubedb.dev/apimachinery/apis/catalog/v1alpha1.ChartInfo", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RabbitMQInitContainer", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.RabbitMQVersionDatabase", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.SecurityContext", "kubedb.dev/apimachinery/apis/catalog/v1alpha1.UpdateConstraints"}, } } diff --git a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/rabbitmqversion_types.go b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/rabbitmqversion_types.go index 9142547cf..63b0cba13 100644 --- a/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/rabbitmqversion_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/catalog/v1alpha1/rabbitmqversion_types.go @@ -63,6 +63,8 @@ type RabbitMQVersionSpec struct { SecurityContext SecurityContext `json:"securityContext"` // +optional UI []ChartInfo `json:"ui,omitempty"` + // update constraints + UpdateConstraints UpdateConstraints `json:"updateConstraints,omitempty"` } // RabbitMQVersionDatabase is the RabbitMQ Database image 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 efbc4f3ab..6daacfd07 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 @@ -254,6 +254,7 @@ func (in *CassandraVersionSpec) DeepCopyInto(out *CassandraVersionSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + in.UpdateConstraints.DeepCopyInto(&out.UpdateConstraints) return } @@ -411,6 +412,7 @@ func (in *ClickHouseVersionSpec) DeepCopyInto(out *ClickHouseVersionSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + in.UpdateConstraints.DeepCopyInto(&out.UpdateConstraints) return } @@ -593,6 +595,7 @@ func (in *DruidVersionSpec) DeepCopyInto(out *DruidVersionSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + in.UpdateConstraints.DeepCopyInto(&out.UpdateConstraints) return } @@ -1339,6 +1342,7 @@ func (in *IgniteVersionSpec) DeepCopyInto(out *IgniteVersionSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + in.UpdateConstraints.DeepCopyInto(&out.UpdateConstraints) return } @@ -1430,6 +1434,22 @@ func (in *KafkaConnectorVersionSpec) DeepCopy() *KafkaConnectorVersionSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KafkaInitContainer) DeepCopyInto(out *KafkaInitContainer) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaInitContainer. +func (in *KafkaInitContainer) DeepCopy() *KafkaInitContainer { + if in == nil { + return nil + } + out := new(KafkaInitContainer) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *KafkaVersion) DeepCopyInto(out *KafkaVersion) { *out = *in @@ -1525,6 +1545,7 @@ func (in *KafkaVersionPodSecurityPolicy) DeepCopy() *KafkaVersionPodSecurityPoli // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *KafkaVersionSpec) DeepCopyInto(out *KafkaVersionSpec) { *out = *in + out.InitContainer = in.InitContainer out.DB = in.DB out.ConnectCluster = in.ConnectCluster out.CruiseControl = in.CruiseControl @@ -3680,6 +3701,7 @@ func (in *RabbitMQVersionSpec) DeepCopyInto(out *RabbitMQVersionSpec) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + in.UpdateConstraints.DeepCopyInto(&out.UpdateConstraints) return } 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 a57be689c..2f1d9c6db 100644 --- a/vendor/kubedb.dev/apimachinery/apis/config/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/config/v1alpha1/openapi_generated.go @@ -21704,6 +21704,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/apis/elasticsearch/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/elasticsearch/v1alpha1/openapi_generated.go index 099fc5eff..8ef508165 100644 --- a/vendor/kubedb.dev/apimachinery/apis/elasticsearch/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/elasticsearch/v1alpha1/openapi_generated.go @@ -21703,6 +21703,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/apis/gitops/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/gitops/v1alpha1/openapi_generated.go index ec19b23a5..19dcfba71 100644 --- a/vendor/kubedb.dev/apimachinery/apis/gitops/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/gitops/v1alpha1/openapi_generated.go @@ -21762,6 +21762,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/openapi_generated.go index e73790118..c020162a8 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kafka/v1alpha1/openapi_generated.go @@ -21721,6 +21721,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go index 6b013975e..874d7ded2 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/constants.go @@ -857,6 +857,7 @@ const ( KafkaCCDefaultOutNetwork = 500000 KafkaContainerName = "kafka" + KafkaInitContainerName = "kafka-init" KafkaUserAdmin = "admin" KafkaNodeRoleSet = "set" KafkaNodeRolesCombined = "controller,broker" @@ -871,6 +872,7 @@ const ( KafkaDataDir = "/var/log/kafka" KafkaMetaDataDir = "/var/log/kafka/metadata" KafkaCertDir = "/var/private/ssl" + KafkaInitScriptsDir = "/opt/kafka/init-scripts" KafkaConfigDir = "/opt/kafka/config/kafkaconfig" KafkaTempConfigDir = "/opt/kafka/config/temp-config" KafkaCustomConfigDir = "/opt/kafka/config/custom-config" @@ -972,6 +974,7 @@ const ( KafkaVolumeConfig = "kafkaconfig" KafkaVolumeTempConfig = "temp-config" KafkaVolumeCustomConfig = "custom-config" + KafkaVolumeInitScripts = "init-scripts" EnvKafkaUser = "KAFKA_USER" EnvKafkaPassword = "KAFKA_PASSWORD" @@ -1500,36 +1503,45 @@ const ( // =========================== Ignite Constants ============================ const ( - IgniteCustomConfigVolName = "custom-config" - IgniteCustomConfigDir = "/tmp/config/custom_config" - IgniteTempConfigVolName = "temp-config" - IgniteTempConfigDir = "/tmp/config" - IgniteInitContainerName = "ignite-init" - IgniteInitScriptVolName = "init-scripts" - IgniteInitScriptDir = "/scripts" - IgniteConfigVolName = "ignite-config" - IgniteWorkVolName = "ignite-work" - IgniteConfigFileName = "node-configuration.xml" - IgniteDataVolName = "data" - IgniteDataDir = "/ignite/data" - IgniteContainerName = "ignite" - IgniteConfigDir = "/ignite/config" - IgniteRestPortName = "rest" - IgniteRestPort = 8080 - IgniteThinPortName = "thin" - IgniteThinPort = 10800 - IgniteSPIPortName = "spi" - IgniteSPIPort = 47100 - IgniteTCPPortName = "tcp" - IgniteTCPPort = 47500 - IgniteJMXPortName = "jmx" - IgniteJMXPort = 49112 - IgniteUserName = "ignite" - OPTION_LIBS = "OPTION_LIBS" - CONFIG_URI = "CONFIG_URI" - CONTROL_JVM_OPTS = "CONTROL_JVM_OPTS" - IGNITE_PASSWORD = "IGNITE_PASSWORD" - DISABLE_SECURITY = "DISABLE_SECURITY" + IgniteCustomConfigVolName = "custom-config" + IgniteCustomConfigDir = "/tmp/config/custom_config" + IgniteTempConfigVolName = "temp-config" + IgniteTempConfigDir = "/tmp/config" + IgniteInitContainerName = "ignite-init" + IgniteInitScriptVolName = "init-scripts" + IgniteInitScriptDir = "/scripts" + IgniteConfigVolName = "ignite-config" + IgniteWorkVolName = "ignite-work" + IgniteConfigFileName = "node-configuration.xml" + IgniteDataVolName = "data" + IgniteDataDir = "/ignite/data" + IgniteContainerName = "ignite" + IgniteConfigDir = "/ignite/config" + IgniteRestPortName = "rest" + IgniteRestPort = 8080 + IgniteThinPortName = "thin" + IgniteThinPort = 10800 + IgniteSPIPortName = "spi" + IgniteSPIPort = 47100 + IgniteTCPPortName = "tcp" + IgniteTCPPort = 47500 + IgniteJMXPortName = "jmx" + IgniteJMXPort = 49112 + IgniteUserName = "ignite" + OPTION_LIBS = "OPTION_LIBS" + CONFIG_URI = "CONFIG_URI" + CONTROL_JVM_OPTS = "CONTROL_JVM_OPTS" + IGNITE_PASSWORD = "IGNITE_PASSWORD" + DISABLE_SECURITY = "DISABLE_SECURITY" + ENABLE_SSL = "ENABLE_SSL" + IGNITE_KEYSTORE_PASSWORD = "IGNITE_KEYSTORE_PASSWORD" + IgniteKeystorePassKey = "keystore-secret" + IgniteServerKeystoreFile = "/ignite/certs/server/keystore.jks" + IgniteServerTruststoreFile = "/ignite/certs/server/truststore.jks" + IgniteClientKeystoreFile = "/ignite/certs/client/keystore.jks" + IgniteClientTruststoreFile = "/ignite/certs/client/truststore.jks" + IgniteTLSServerMountPath = "/ignite/certs/server" + IgniteTLSClientMountPath = "/ignite/certs/client" ) // =========================== ClickHouse Constants ============================ @@ -1562,6 +1574,16 @@ const ( ClickHouseTempClientCertVolumeName = "certs-tmp" ClickHouseTempClientCertMountPath = "/certs-tmp" ClickHouseTempConfigDir = "/config-tmp" + ClickHouseCACertKey = "ca.crt" + ClickHouseCACertPath = "ca.crt" + ClickHouseServerCertKey = "tls.crt" + ClickHouseServerCertPath = "server.crt" + ClickHouseServerKey = "tls.key" + ClickHouseServerKeyPath = "server.key" + ClickHouseClientCertKey = "tls.crt" + ClickHouseClientCertPath = "client.crt" + ClickHouseClientKey = "tls.key" + ClickHouseClientPath = "client.key" // keeper ClickHouseKeeperDataPath = "/var/lib/clickhouse_keeper" @@ -1685,6 +1707,8 @@ const ( EnvNameCassandraPodName = "CASSANDRA_POD_NAME" EnvNameCassandraUser = "CASSANDRA_USER" EnvNameCassandraPassword = "CASSANDRA_PASSWORD" + EnvNameCassandraSslCertFile = "SSL_CERTFILE" + EnvValCassandraSslCertFile = CassandraCertDir + "/ca.crt" EnvNameMgmtApiListenTcpPort = "MGMT_API_LISTEN_TCP_PORT" EnvValMgmtApiListenTcpPort = "8081" @@ -1694,6 +1718,33 @@ const ( EnvValMedusaDebugSleep = "0s" CassandraNodetoolDir = "/opt/cassandra/temp/bin" CassandraBackupBinary = "nodetool" + + CassandraKeystoreSecretKey = "keystore-cred" + CassandraCertDir = "/opt/cassandra/ssl" + CassandraKeystoreFile = CassandraCertDir + "/keystore.jks" + CassandraTruststoreFile = CassandraCertDir + "/truststore.jks" + CassandraKeystorePasswordKey = "keystore_password" + CassandraTrustStorePasswordKey = "truststore_password" + + CassandraServerEncryptionOptions = "server_encryption_options" + CassandraClientEnctyptionOptions = "client_encryption_options" + CassandraTLSStoreTypeJKS = "JKS" + + CassandraAuthenticatorKey = "authenticator" + + CassandraTLSEncryptionEnabledKey = "enabled" + CassandraTLSInternodeEncryptionModeKey = "internode_encryption" + CassandraTLSKeystorePathKey = "keystore" + CassandraTLSTruststorePathKey = "truststore" + CassandraTLSRequireClientAuthKey = "require_client_auth" + CassandraTLSProtocolKey = "protocol" + CassandraTLSAlgorithmKey = "algorithm" + CassandraTLSStoreTypeKey = "store_type" + CassandraClientEncryptionOptionalKey = "optional" + CassandraTLSEncryptionAllValue = "all" + CassandraTLSProtocolTLSValue = "TLS" + CassandraTLSDefaultAlgorithmValue = "SunX509" + CassandraTLSStoreTypeJKSValue = "JKS" ) // =========================== Virtual Secrets Constants ============================ diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/kafka_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/kafka_helpers.go index d82ef71a1..a7821c7e9 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/kafka_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/kafka_helpers.go @@ -27,6 +27,7 @@ import ( "kubedb.dev/apimachinery/apis/kubedb" "kubedb.dev/apimachinery/crds" + "github.com/Masterminds/semver/v3" "github.com/google/uuid" promapi "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1" "gomodules.xyz/pointer" @@ -296,6 +297,20 @@ func (k *Kafka) PVCName(alias string) string { return meta_util.NameWithSuffix(k.Name, alias) } +func (k *Kafka) IsVersionGreaterOrEqual(version string) bool { + v1, err := semver.NewVersion(k.Spec.Version) + if err != nil { + klog.Error(err, "Failed to parse version", "version", k.Spec.Version) + return false + } + v2, err := semver.NewVersion(version) + if err != nil { + klog.Error(err, "Failed to parse version", "version", version) + return false + } + return v1.GreaterThanEqual(v2) +} + func (k *Kafka) SetHealthCheckerDefaults() { if k.Spec.HealthChecker.PeriodSeconds == nil { k.Spec.HealthChecker.PeriodSeconds = pointer.Int32P(10) @@ -417,6 +432,20 @@ func (k *Kafka) setDefaultContainerSecurityContext(kfVersion *catalog.KafkaVersi } k.assignDefaultContainerSecurityContext(kfVersion, dbContainer.SecurityContext) podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *dbContainer) + + if k.IsVersionGreaterOrEqual("4.0.0") { + initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, kubedb.KafkaInitContainerName) + if initContainer == nil { + initContainer = &core.Container{ + Name: kubedb.KafkaInitContainerName, + } + } + if initContainer.SecurityContext == nil { + initContainer.SecurityContext = &core.SecurityContext{} + } + k.assignDefaultContainerSecurityContext(kfVersion, initContainer.SecurityContext) + podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) + } } func (k *Kafka) assignDefaultContainerSecurityContext(kfVersion *catalog.KafkaVersion, sc *core.SecurityContext) { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/openapi_generated.go index 205886b09..1d1b6ba23 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/openapi_generated.go @@ -503,6 +503,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/offshoot-api/api/v1.VolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_VolumeSource(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.Age": schema_apimachinery_apis_kubedb_v1_Age(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.AllowedConsumers": schema_apimachinery_apis_kubedb_v1_AllowedConsumers(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1.Announce": schema_apimachinery_apis_kubedb_v1_Announce(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.ArbiterSpec": schema_apimachinery_apis_kubedb_v1_ArbiterSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.Archiver": schema_apimachinery_apis_kubedb_v1_Archiver(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.ArchiverRecovery": schema_apimachinery_apis_kubedb_v1_ArchiverRecovery(ref), @@ -598,6 +599,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1.ScriptSourceSpec": schema_apimachinery_apis_kubedb_v1_ScriptSourceSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.SecretReference": schema_apimachinery_apis_kubedb_v1_SecretReference(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.SemiSyncSpec": schema_apimachinery_apis_kubedb_v1_SemiSyncSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1.Shards": schema_apimachinery_apis_kubedb_v1_Shards(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.SystemUserSecretsSpec": schema_apimachinery_apis_kubedb_v1_SystemUserSecretsSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.elasticsearchApp": schema_apimachinery_apis_kubedb_v1_elasticsearchApp(ref), "kubedb.dev/apimachinery/apis/kubedb/v1.elasticsearchStatsService": schema_apimachinery_apis_kubedb_v1_elasticsearchStatsService(ref), @@ -21820,6 +21822,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, @@ -25952,6 +25966,40 @@ func schema_apimachinery_apis_kubedb_v1_AllowedConsumers(ref common.ReferenceCal } } +func schema_apimachinery_apis_kubedb_v1_Announce(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "shards": { + SchemaProps: spec.SchemaProps{ + Description: "This field is used to set cluster-announce information for redis cluster of each shard.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1.Shards"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1.Shards"}, + } +} + func schema_apimachinery_apis_kubedb_v1_ArbiterSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -30872,9 +30920,17 @@ func schema_apimachinery_apis_kubedb_v1_RedisClusterSpec(ref common.ReferenceCal Format: "int32", }, }, + "announce": { + SchemaProps: spec.SchemaProps{ + Description: "Announce is used to announce the redis cluster endpoints. It is used to set cluster-announce-ip, cluster-announce-port, cluster-announce-bus-port, cluster-announce-tls-port", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1.Announce"), + }, + }, }, }, }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1.Announce"}, } } @@ -31725,6 +31781,33 @@ func schema_apimachinery_apis_kubedb_v1_SemiSyncSpec(ref common.ReferenceCallbac } } +func schema_apimachinery_apis_kubedb_v1_Shards(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "endpoints": { + SchemaProps: spec.SchemaProps{ + Description: "Endpoints contains the cluster-announce information for all the replicas in a shard. This will be used to set cluster-announce-ip/hostname, cluster-announce-port/cluster-announce-tls-port and cluster-announce-bus-port format cluster-announce (host:port@busport)", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_kubedb_v1_SystemUserSecretsSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/redis_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/redis_types.go index 5cc8a927f..b6a7c67de 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/redis_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/redis_types.go @@ -155,6 +155,35 @@ type RedisClusterSpec struct { // Number of replica(s) per shard. If not specified, defaults to 2. Replicas *int32 `json:"replicas,omitempty"` + + // Announce is used to announce the redis cluster endpoints. + // It is used to set + // cluster-announce-ip, cluster-announce-port, cluster-announce-bus-port, cluster-announce-tls-port + // +optional + Announce *Announce `json:"announce,omitempty"` +} + +// +kubebuilder:validation:Enum=ip;hostname +type PreferredEndpointType string + +const ( + PreferredEndpointTypeIP PreferredEndpointType = "ip" + PreferredEndpointTypeHostname PreferredEndpointType = "hostname" +) + +type Announce struct { + // +kubebuilder:default=hostname + Type PreferredEndpointType `json:"type,omitempty"` + // This field is used to set cluster-announce information for redis cluster of each shard. + Shards []Shards `json:"shards,omitempty"` +} + +type Shards struct { + // Endpoints contains the cluster-announce information for all the replicas in a shard. + // This will be used to set cluster-announce-ip/hostname, cluster-announce-port/cluster-announce-tls-port + // and cluster-announce-bus-port + // format cluster-announce (host:port@busport) + Endpoints []string `json:"endpoints,omitempty"` } type RedisSentinelRef struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/zz_generated.deepcopy.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/zz_generated.deepcopy.go index 8774e390a..01e7e2f33 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/zz_generated.deepcopy.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1/zz_generated.deepcopy.go @@ -74,6 +74,29 @@ 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 *Announce) DeepCopyInto(out *Announce) { + *out = *in + if in.Shards != nil { + in, out := &in.Shards, &out.Shards + *out = make([]Shards, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Announce. +func (in *Announce) DeepCopy() *Announce { + if in == nil { + return nil + } + out := new(Announce) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ArbiterSpec) DeepCopyInto(out *ArbiterSpec) { *out = *in @@ -2969,6 +2992,11 @@ func (in *RedisClusterSpec) DeepCopyInto(out *RedisClusterSpec) { *out = new(int32) **out = **in } + if in.Announce != nil { + in, out := &in.Announce, &out.Announce + *out = new(Announce) + (*in).DeepCopyInto(*out) + } return } @@ -3362,6 +3390,27 @@ 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 *Shards) DeepCopyInto(out *Shards) { + *out = *in + if in.Endpoints != nil { + in, out := &in.Endpoints, &out.Endpoints + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shards. +func (in *Shards) DeepCopy() *Shards { + if in == nil { + return nil + } + out := new(Shards) + in.DeepCopyInto(out) + 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 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 3d64138f4..3f488ad07 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha1/openapi_generated.go @@ -21761,6 +21761,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go index d8ea0bb61..908a72bc9 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_helpers.go @@ -19,6 +19,7 @@ package v1alpha2 import ( "context" "fmt" + "path/filepath" "strconv" "strings" @@ -34,6 +35,7 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/types" "k8s.io/klog/v2" + kmapi "kmodules.xyz/client-go/api/v1" "kmodules.xyz/client-go/apiextensions" coreutil "kmodules.xyz/client-go/core/v1" meta_util "kmodules.xyz/client-go/meta" @@ -170,6 +172,10 @@ func (r *Cassandra) DefaultUserCredSecretName(username string) string { return meta_util.NameWithSuffix(r.Name, strings.ReplaceAll(fmt.Sprintf("%s-cred", username), "_", "-")) } +func (r *Cassandra) CassandraKeystoreCredSecretName() string { + return meta_util.NameWithSuffix(r.OffshootName(), kubedb.CassandraKeystoreSecretKey) +} + func (r *Cassandra) PVCName(alias string) string { return meta_util.NameWithSuffix(r.Name, alias) } @@ -278,11 +284,29 @@ func (r *Cassandra) ResourceSingular() string { return ResourceSingularCassandra } +func (r *Cassandra) SetTLSDefaults() { + if r.Spec.TLS == nil || r.Spec.TLS.IssuerRef == nil { + return + } + r.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(r.Spec.TLS.Certificates, string(CassandraServerCert), r.CertificateName(CassandraServerCert)) + r.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(r.Spec.TLS.Certificates, string(CassandraClientCert), r.CertificateName(CassandraClientCert)) +} + func (r *Cassandra) SetDefaults(kc client.Client) { if r.Spec.DeletionPolicy == "" { r.Spec.DeletionPolicy = DeletionPolicyDelete } + if r.Spec.EnableSSL { + if r.Spec.KeystoreCredSecret == nil { + r.Spec.KeystoreCredSecret = &SecretReference{ + LocalObjectReference: core.LocalObjectReference{ + Name: r.CassandraKeystoreCredSecretName(), + }, + } + } + } + var casVersion catalog.CassandraVersion err := kc.Get(context.TODO(), types.NamespacedName{ Name: r.Spec.Version, @@ -343,7 +367,7 @@ func (r *Cassandra) SetDefaults(kc client.Client) { } r.SetHealthCheckerDefaults() } - + r.SetTLSDefaults() r.Spec.Monitor.SetDefaults() if r.Spec.Monitor != nil && r.Spec.Monitor.Prometheus != nil { @@ -439,3 +463,33 @@ func (c *Cassandra) ReplicasAreReady(lister pslister.PetSetLister) (bool, string } return checkReplicasOfPetSet(lister.PetSets(c.Namespace), labels.SelectorFromSet(c.OffshootLabels()), expectedItems) } + +// CertificateName returns the default certificate name and/or certificate secret name for a certificate alias +func (m *Cassandra) CertificateName(alias CassandraCertificateAlias) string { + return meta_util.NameWithSuffix(m.Name, fmt.Sprintf("%s-cert", string(alias))) +} + +// GetCertSecretName returns the secret name for a certificate alias if any provide, +// otherwise returns default certificate secret name for the given alias. +func (m *Cassandra) GetCertSecretName(alias CassandraCertificateAlias) string { + if m.Spec.TLS != nil { + name, ok := kmapi.GetCertificateSecretName(m.Spec.TLS.Certificates, string(alias)) + if ok { + return name + } + } + return m.CertificateName(alias) +} + +// CertSecretVolumeName returns the CertSecretVolumeName +// Values will be like: client-certs, server-certs etc. +func (c *Cassandra) CertSecretVolumeName(alias CassandraCertificateAlias) string { + return string(alias) + "-certs" +} + +// CertSecretVolumeMountPath returns the CertSecretVolumeMountPath +// if configDir is "/var/cassandra/ssl", +// mountPath will be, "/var/cassandra/ssl/". +func (c *Cassandra) CertSecretVolumeMountPath(configDir string, cert string) string { + return filepath.Join(configDir, cert) +} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go index 8a4d06c5a..85ec53a2b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/cassandra_types.go @@ -52,6 +52,10 @@ type Cassandra struct { // CassandraSpec defines the desired state of Cassandra type CassandraSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Cassandra to be deployed. Version string `json:"version"` @@ -83,6 +87,17 @@ type CassandraSpec struct { // +optional ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` + // Keystore encryption secret + // +optional + KeystoreCredSecret *SecretReference `json:"keystoreCredSecret,omitempty"` + + // To enable ssl for http layer + EnableSSL bool `json:"enableSSL,omitempty"` + + // TLS contains tls configurations + // +optional + TLS *kmapi.TLSConfig `json:"tls,omitempty"` + // PodTemplate is an optional configuration for pods used to expose database // +optional PodTemplate *ofst.PodTemplateSpec `json:"podTemplate,omitempty"` @@ -150,3 +165,11 @@ type CassandraList struct { metav1.ListMeta `json:"metadata,omitempty"` Items []Cassandra `json:"items"` } + +// +kubebuilder:validation:Enum=server;client +type CassandraCertificateAlias string + +const ( + CassandraServerCert CassandraCertificateAlias = "server" + CassandraClientCert CassandraCertificateAlias = "client" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go index 6b77dff0f..18f64f63c 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_helpers.go @@ -35,6 +35,7 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/klog/v2" "k8s.io/utils/ptr" + kmapi "kmodules.xyz/client-go/api/v1" "kmodules.xyz/client-go/apiextensions" coreutil "kmodules.xyz/client-go/core/v1" meta_util "kmodules.xyz/client-go/meta" @@ -50,6 +51,9 @@ type ClickhouseApp struct { *ClickHouse } +// +kubebuilder:validation:Enum=ca;client;server +type ClickHouseCertificateAlias string + func (c *ClickHouse) CustomResourceDefinition() *apiextensions.CustomResourceDefinition { return crds.MustCustomResourceDefinition(SchemeGroupVersion.WithResource(ResourcePluralClickHouse)) } @@ -101,6 +105,10 @@ func (c *ClickHouse) OffshootLabels() map[string]string { return c.offshootLabels(c.OffshootSelectors(), nil) } +func (c *ClickHouse) OffshootDBLabels() map[string]string { + return c.offshootLabels(c.OffshootDBSelectors(), nil) +} + func (c *ClickHouse) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]string) map[string]string { svcTemplate := GetServiceTemplate(c.Spec.ServiceTemplates, alias) return c.offshootLabels(meta_util.OverwriteKeys(c.OffshootSelectors(), extraLabels...), svcTemplate.Labels) @@ -110,10 +118,6 @@ func (c *ClickHouse) OffshootKeeperLabels() map[string]string { return c.offshootKeeperLabels(c.OffshootKeeperSelectors(), nil) } -func (c *ClickHouse) OffshootClusterLabels(petSetName string) map[string]string { - return c.offshootLabels(c.OffshootClusterSelectors(petSetName), nil) -} - func (c *ClickHouse) offshootLabels(selector, override map[string]string) map[string]string { selector[meta_util.ComponentLabelKey] = kubedb.ComponentDatabase return meta_util.FilterKeys(kubedb.GroupName, selector, meta_util.OverwriteKeys(nil, c.Labels, override)) @@ -136,6 +140,7 @@ func (c *ClickHouse) OffshootSelectors(extraSelectors ...map[string]string) map[ func (c *ClickHouse) OffshootKeeperSelectors(extraSelectors ...map[string]string) map[string]string { selector := map[string]string{ + meta_util.ComponentLabelKey: kubedb.ComponentCoOrdinator, meta_util.NameLabelKey: c.ResourceFQN(), meta_util.InstanceLabelKey: c.Name, meta_util.ManagedByLabelKey: kubedb.GroupName, @@ -143,12 +148,12 @@ func (c *ClickHouse) OffshootKeeperSelectors(extraSelectors ...map[string]string return meta_util.OverwriteKeys(selector, extraSelectors...) } -func (c *ClickHouse) OffshootClusterSelectors(petSetName string, extraSelectors ...map[string]string) map[string]string { +func (c *ClickHouse) OffshootDBSelectors(extraSelectors ...map[string]string) map[string]string { selector := map[string]string{ + meta_util.ComponentLabelKey: kubedb.ComponentDatabase, meta_util.NameLabelKey: c.ResourceFQN(), meta_util.InstanceLabelKey: c.Name, meta_util.ManagedByLabelKey: kubedb.GroupName, - meta_util.PartOfLabelKey: petSetName, } return meta_util.OverwriteKeys(selector, extraSelectors...) } @@ -190,7 +195,7 @@ func (c *ClickHouse) ClusterGoverningServiceName(name string) string { } func (c *ClickHouse) ClusterGoverningServiceDNS(petSetName string, replicaNo int) string { - return fmt.Sprintf("%s-%d.%s.%s.svc", petSetName, replicaNo, c.ClusterGoverningServiceName(petSetName), c.GetNamespace()) + return fmt.Sprintf("%s-%d.%s.%s.svc", petSetName, replicaNo, c.GoverningServiceName(), c.GetNamespace()) } func (c *ClickHouse) GetAuthSecretName() string { @@ -229,11 +234,11 @@ func (c *ClickHouse) PodLabels(extraLabels ...map[string]string) map[string]stri } func (c *ClickHouse) KeeperPodLabels(extraLabels ...map[string]string) map[string]string { - return c.offshootLabels(meta_util.OverwriteKeys(c.OffshootKeeperSelectors(), extraLabels...), c.Spec.ClusterTopology.ClickHouseKeeper.Spec.PodTemplate.Labels) + return c.offshootKeeperLabels(meta_util.OverwriteKeys(c.OffshootKeeperSelectors(), extraLabels...), c.Spec.ClusterTopology.ClickHouseKeeper.Spec.PodTemplate.Labels) } -func (c *ClickHouse) ClusterPodLabels(petSetName string, labels map[string]string, extraLabels ...map[string]string) map[string]string { - return c.offshootLabels(meta_util.OverwriteKeys(c.OffshootClusterSelectors(petSetName), extraLabels...), labels) +func (c *ClickHouse) DBPodLabels(labels map[string]string, extraLabels ...map[string]string) map[string]string { + return c.offshootLabels(meta_util.OverwriteKeys(c.OffshootDBSelectors(), extraLabels...), labels) } func (c *ClickHouse) GetConnectionScheme() string { @@ -241,6 +246,23 @@ func (c *ClickHouse) GetConnectionScheme() string { return scheme } +// CertificateName returns the default certificate name and/or certificate secret name for a certificate alias +func (c *ClickHouse) CertificateName(alias ClickHouseCertificateAlias) string { + return meta_util.NameWithSuffix(c.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 (c *ClickHouse) GetCertSecretName(alias ClickHouseCertificateAlias) string { + if c.Spec.TLS != nil { + name, ok := kmapi.GetCertificateSecretName(c.Spec.TLS.Certificates, string(alias)) + if ok { + return name + } + } + return c.CertificateName(alias) +} + func (c *ClickHouse) SetHealthCheckerDefaults() { if c.Spec.HealthChecker.PeriodSeconds == nil { c.Spec.HealthChecker.PeriodSeconds = pointer.Int32P(10) @@ -310,16 +332,20 @@ func (c *ClickHouse) SetDefaults(kc client.Client) { klog.Errorf("can't get the clickhouse version object %s for %s \n", err.Error(), c.Spec.Version) return } - - if c.Spec.TLS != nil && c.Spec.TLS.ClientCACertificateRefs != nil { - for i, secret := range c.Spec.TLS.ClientCACertificateRefs { - if secret.Key == "" { - c.Spec.TLS.ClientCACertificateRefs[i].Key = kubedb.CACert - } - if secret.Optional == nil { - c.Spec.TLS.ClientCACertificateRefs[i].Optional = ptr.To(false) + if c.Spec.TLS != nil { + if c.Spec.TLS.ClientCACertificateRefs != nil { + for i, secret := range c.Spec.TLS.ClientCACertificateRefs { + if secret.Key == "" { + c.Spec.TLS.ClientCACertificateRefs[i].Key = kubedb.CACert + } + if secret.Optional == nil { + c.Spec.TLS.ClientCACertificateRefs[i].Optional = ptr.To(false) + } } } + if c.Spec.SSLVerificationMode == "" { + c.Spec.SSLVerificationMode = SSLVerificationModeRelaxed + } } if c.Spec.ClusterTopology != nil { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go index ff91a92b0..86743f891 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/clickhouse_types.go @@ -29,6 +29,10 @@ const ( ResourceSingularClickHouse = "clickhouse" ResourcePluralClickHouse = "clickhouses" ResourceCodeClickHouse = "ch" + + ClickHouseCACert ClickHouseCertificateAlias = "ca" + ClickHouseClientCert ClickHouseCertificateAlias = "client" + ClickHouseServerCert ClickHouseCertificateAlias = "server" ) // +genclient @@ -52,6 +56,10 @@ type ClickHouse struct { // ClickHouseSpec defines the desired state of ClickHouse type ClickHouseSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of ClickHouse to be deployed. Version string `json:"version"` @@ -87,6 +95,10 @@ type ClickHouseSpec struct { // +optional PodTemplate *ofst.PodTemplateSpec `json:"podTemplate,omitempty"` + // Indicates how SSL/TLS certificate verification will be handled for both the server and client sides. + // +optional + SSLVerificationMode SSLVerificationMode `json:"sslVerificationMode,omitempty"` + // TLS contains tls configurations for client and server. // +optional TLS *ClickHouseTLSConfig `json:"tls,omitempty"` @@ -207,3 +219,13 @@ type ClickHouseTLSConfig struct { // +optional ClientCACertificateRefs []core.SecretKeySelector `json:"clientCaCertificateRefs,omitempty"` } + +// +kubebuilder:validation:Enum=none;relaxed;strict;once +type SSLVerificationMode string + +const ( + SSLVerificationModeNone SSLVerificationMode = "none" + SSLVerificationModeRelaxed SSLVerificationMode = "relaxed" + SSLVerificationModeStrict SSLVerificationMode = "strict" + SSLVerificationModeOnce SSLVerificationMode = "once" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go index fbca1a057..b7d842d5d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/druid_types.go @@ -54,6 +54,10 @@ type Druid struct { // DruidSpec defines the desired state of Druid type DruidSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Druid to be deployed. Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go index d8c468465..edd2a64b6 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ferretdb_types.go @@ -51,6 +51,10 @@ type FerretDB struct { } type FerretDBSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of FerretDB to be deployed. Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_helpers.go index acaec25b0..f7a1e9368 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_helpers.go @@ -232,6 +232,14 @@ func (h *Hazelcast) setDefaultProbes(podTemplate *ofst.PodTemplateSpec) { podTemplate.Spec.Containers = coreutil.UpsertContainer(podTemplate.Spec.Containers, *container) } +func (h *Hazelcast) SetTLSDefaults() { + if h.Spec.TLS == nil || h.Spec.TLS.IssuerRef == nil { + return + } + h.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(h.Spec.TLS.Certificates, string(HazelcastServerCert), h.CertificateName(HazelcastServerCert)) + h.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(h.Spec.TLS.Certificates, string(HazelcastClientCert), h.CertificateName(HazelcastClientCert)) +} + func (h *Hazelcast) setDefaultContainerSecurityContext(hzVersion *catalog.HazelcastVersion, podTemplate *ofst.PodTemplateSpec) { initContainer := coreutil.GetContainerByName(podTemplate.Spec.InitContainers, "hazelcast-init") if initContainer == nil { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_types.go index 4704239c1..750ac763b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/hazelcast_types.go @@ -52,6 +52,10 @@ type Hazelcast struct { Status HazelcastStatus `json:"status,omitempty"` } type HazelcastSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Hazelcast to be deployed Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_helpers.go index f144ca728..5fbf897a0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_helpers.go @@ -19,6 +19,7 @@ package v1alpha2 import ( "context" "fmt" + "path/filepath" "kubedb.dev/apimachinery/apis" catalog "kubedb.dev/apimachinery/apis/catalog/v1alpha1" @@ -30,6 +31,7 @@ import ( core "k8s.io/api/core/v1" meta "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" + kmapi "kmodules.xyz/client-go/api/v1" "kmodules.xyz/client-go/apiextensions" coreutil "kmodules.xyz/client-go/core/v1" meta_util "kmodules.xyz/client-go/meta" @@ -319,3 +321,54 @@ func (i Ignite) ServiceLabels(alias ServiceAlias, extraLabels ...map[string]stri svcTemplate := GetServiceTemplate(i.Spec.ServiceTemplates, alias) return i.offshootLabels(meta_util.OverwriteKeys(i.OffshootSelectors(), extraLabels...), svcTemplate.Labels) } + +// GetCertSecretName returns the secret name for a certificate alias if any, +// otherwise returns default certificate secret name for the given alias. +func (i Ignite) GetIgniteCertSecretName(alias IgniteCertificateAlias) string { + if i.Spec.TLS != nil { + name, ok := kmapi.GetCertificateSecretName(i.Spec.TLS.Certificates, string(alias)) + if ok { + return name + } + } + return i.IgniteCertificateName(alias) +} + +// CertificateName returns the default certificate name and/or certificate secret name for a certificate alias +func (i Ignite) IgniteCertificateName(alias IgniteCertificateAlias) string { + return meta_util.NameWithSuffix(i.Name, fmt.Sprintf("%s-cert", string(alias))) +} + +func (i Ignite) GetIgniteConnectionScheme() string { + scheme := "http" + if i.Spec.TLS != nil { + scheme = "https" + } + return scheme +} + +func (i Ignite) GetIgniteKeystoreSecretName() string { + if i.Spec.KeystoreCredSecret != nil && i.Spec.KeystoreCredSecret.Name != "" { + return i.Spec.KeystoreCredSecret.Name + } + return meta_util.NameWithSuffix(i.OffshootName(), "keystore-cred") +} + +// CertSecretVolumeName returns the CertSecretVolumeName +// Values will be like: client-certs, server-certs etc. +func (i Ignite) IgniteCertSecretVolumeName(alias IgniteCertificateAlias) string { + return string(alias) + "-certs" +} + +// CertSecretVolumeMountPath returns the CertSecretVolumeMountPath +func (i Ignite) IgniteCertSecretVolumeMountPath(configDir string, cert string) string { + return filepath.Join(configDir, cert) +} + +func (i Ignite) SetTLSDefaults() { + if i.Spec.TLS == nil || i.Spec.TLS.IssuerRef == nil { + return + } + i.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(i.Spec.TLS.Certificates, string(IgniteServerCert), i.IgniteCertificateName(IgniteServerCert)) + i.Spec.TLS.Certificates = kmapi.SetMissingSecretNameForCertificate(i.Spec.TLS.Certificates, string(IgniteClientCert), i.IgniteCertSecretVolumeName(IgniteClientCert)) +} diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_types.go index 923eadae2..e5bc82add 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/ignite_types.go @@ -54,6 +54,10 @@ type Ignite struct { // IgniteSpec defines the desired state of Ignite. type IgniteSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Ignite to be deployed. Version string `json:"version"` @@ -102,6 +106,14 @@ type IgniteSpec struct { // +kubebuilder:default={periodSeconds: 10, timeoutSeconds: 10, failureThreshold: 3} HealthChecker kmapi.HealthCheckSpec `json:"healthChecker"` + // TLS contains tls configurations for client and server. + // +optional + TLS *kmapi.TLSConfig `json:"tls,omitempty"` + + // Keystore encryption secret + // +optional + KeystoreCredSecret *SecretReference `json:"keystoreCredSecret,omitempty"` + // Monitor is used to monitor database instance // +optional Monitor *mona.AgentSpec `json:"monitor,omitempty"` @@ -129,3 +141,12 @@ type IgniteList struct { meta.ListMeta `json:"metadata,omitempty"` Items []Ignite `json:"items"` } + +// +kubebuilder:validation:Enum=ca;transport;http;client;server +type IgniteCertificateAlias string + +const ( + IgniteCACert IgniteCertificateAlias = "ca" + IgniteClientCert IgniteCertificateAlias = "client" + IgniteServerCert IgniteCertificateAlias = "server" +) diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go index e3077f1e2..1cf803f2d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/memcached_types.go @@ -51,6 +51,10 @@ type Memcached struct { } type MemcachedSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Memcached to be deployed. Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go index 4c23664d1..b2f8e334b 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_helpers.go @@ -171,6 +171,21 @@ func (m *MSSQLServer) IsAvailabilityGroup() bool { *m.Spec.Topology.Mode == MSSQLServerModeAvailabilityGroup } +func (m *MSSQLServer) IsDistributedAG() bool { + return m.Spec.Topology != nil && + m.Spec.Topology.Mode != nil && + *m.Spec.Topology.Mode == MSSQLServerModeDistributedAG && + m.Spec.Topology.DistributedAG != nil +} + +func (m *MSSQLServer) IsCluster() bool { + return m.IsAvailabilityGroup() || m.IsDistributedAG() +} + +func (m *MSSQLServer) DistributedAGName() string { + return "dag" +} + func (m *MSSQLServer) IsStandalone() bool { return m.Spec.Topology == nil } @@ -289,14 +304,23 @@ func (m *MSSQLServer) CAProviderClassName() string { } func (m *MSSQLServer) DbmLoginSecretName() string { + if m.Spec.Topology != nil && m.Spec.Topology.AvailabilityGroup != nil && m.Spec.Topology.AvailabilityGroup.LoginSecretName != "" { + return m.Spec.Topology.AvailabilityGroup.LoginSecretName + } return metautil.NameWithSuffix(m.OffshootName(), "dbm-login") } func (m *MSSQLServer) MasterKeySecretName() string { + if m.Spec.Topology != nil && m.Spec.Topology.AvailabilityGroup != nil && m.Spec.Topology.AvailabilityGroup.MasterKeySecretName != "" { + return m.Spec.Topology.AvailabilityGroup.MasterKeySecretName + } return metautil.NameWithSuffix(m.OffshootName(), "master-key") } func (m *MSSQLServer) EndpointCertSecretName() string { + if m.Spec.Topology != nil && m.Spec.Topology.AvailabilityGroup != nil && m.Spec.Topology.AvailabilityGroup.EndpointCertSecretName != "" { + return m.Spec.Topology.AvailabilityGroup.EndpointCertSecretName + } return metautil.NameWithSuffix(m.OffshootName(), "endpoint-cert") } @@ -344,7 +368,7 @@ func (m *MSSQLServer) SetDefaults(kc client.Client) { if m.Spec.Replicas == nil { m.Spec.Replicas = pointer.Int32P(1) } - } else if m.IsAvailabilityGroup() { + } else if m.IsCluster() { if m.Spec.Topology.AvailabilityGroup == nil { m.Spec.Topology.AvailabilityGroup = &MSSQLServerAvailabilityGroupSpec{} } @@ -461,7 +485,7 @@ func (m *MSSQLServer) setDefaultContainerSecurityContext(mssqlVersion *catalog.M m.assignDefaultContainerSecurityContext(mssqlVersion, initContainer.SecurityContext, false) podTemplate.Spec.InitContainers = coreutil.UpsertContainer(podTemplate.Spec.InitContainers, *initContainer) - if m.IsAvailabilityGroup() { + if m.IsCluster() { coordinatorContainer := coreutil.GetContainerByName(podTemplate.Spec.Containers, kubedb.MSSQLCoordinatorContainerName) if coordinatorContainer == nil { coordinatorContainer = &core.Container{ diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go index 2a57949f2..13a0d504d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/mssqlserver_types.go @@ -31,12 +31,12 @@ const ( ResourcePluralMSSQLServer = "mssqlservers" ) -// +kubebuilder:validation:Enum=AvailabilityGroup;RemoteReplica +// +kubebuilder:validation:Enum=AvailabilityGroup;DistributedAG type MSSQLServerMode string const ( MSSQLServerModeAvailabilityGroup MSSQLServerMode = "AvailabilityGroup" - MSSQLServerModeRemoteReplica MSSQLServerMode = "RemoteReplica" + MSSQLServerModeDistributedAG MSSQLServerMode = "DistributedAG" ) // +kubebuilder:validation:Enum=server;client;endpoint @@ -60,6 +60,14 @@ const ( SecondaryAccessModeAll SecondaryAccessMode = "All" ) +// +kubebuilder:validation:Enum=Primary;Secondary +type DistributedAGRole string + +const ( + DistributedAGRolePrimary DistributedAGRole = "Primary" + DistributedAGRoleSecondary DistributedAGRole = "Secondary" +) + // MSSQLServer defines a MSSQLServer database. // +genclient @@ -82,6 +90,10 @@ type MSSQLServer struct { // MSSQLServerSpec defines the desired state of MSSQLServer type MSSQLServerSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of MSSQLServer to be deployed. Version string `json:"version"` @@ -158,11 +170,17 @@ type MSSQLServerTLSConfig struct { type MSSQLServerTopology struct { // If set to - // "AvailabilityGroup", MSSQLAvailabilityGroupSpec is required and MSSQLServer servers will start an Availability Group + // "DistributedAG", MSSQLServerDistributedAGSpec is required, and MSSQLServer servers will start a Distributed Availability Group Mode *MSSQLServerMode `json:"mode,omitempty"` - // AvailabilityGroup info for MSSQLServer + // AvailabilityGroup info for MSSQLServer (used when Mode is "AvailabilityGroup" or "DistributedAG"). // +optional AvailabilityGroup *MSSQLServerAvailabilityGroupSpec `json:"availabilityGroup,omitempty"` + + // DistributedAG contains information of the DAG (Distributed Availability Group) configuration. + // Used when Mode is "DistributedAG". + // +optional + DistributedAG *MSSQLServerDistributedAGSpec `json:"distributedAG,omitempty"` } // MSSQLServerAvailabilityGroupSpec defines the availability group spec for MSSQLServer @@ -180,6 +198,63 @@ type MSSQLServerAvailabilityGroupSpec struct { // +optional // +kubebuilder:default=Passive SecondaryAccessMode SecondaryAccessMode `json:"secondaryAccessMode,omitempty"` + + // LoginSecretName is the name of the secret containing the password for the 'dbm_login' user. + // For a Distributed AG, both the primary and secondary AGs must use the same login and password. + // This secret must be created by the user. + // +optional + LoginSecretName string `json:"loginSecretName,omitempty"` + + // MasterKeySecretName is the name of the secret containing the password for the database master key. + // For a Distributed AG, both sides must use the same master key password. + // This secret must be created by the user. + // +optional + MasterKeySecretName string `json:"masterKeySecretName,omitempty"` + + // EndpointCertSecretName is the name of the secret containing the certificate and private key for the database mirroring endpoint. + // For a Distributed AG, both sides must use the same certificate. The secret should contain `tls.crt` and `tls.key`. + // This secret must be created by the user. + // +optional + EndpointCertSecretName string `json:"endpointCertSecretName,omitempty"` +} + +// MSSQLServerDistributedAGSpec defines the configuration for a Distributed Availability Group. +type MSSQLServerDistributedAGSpec struct { + // Self defines the configuration for the local Availability Group's participation in the DAG. + // +kubebuilder:validation:Required + Self MSSQLServerDistributedAGSelfSpec `json:"self"` + + // Remote defines the connection details and name of the remote Availability Group. + // +kubebuilder:validation:Required + Remote MSSQLServerDistributedAGRemoteSpec `json:"remote"` +} + +// MSSQLServerDistributedAGSelfSpec defines the configuration for the local AG's role in the DAG. +type MSSQLServerDistributedAGSelfSpec struct { + // Role indicates if the local Availability Group (defined in spec.topology.availabilityGroup) + // is acting as Primary or Secondary in this Distributed Availability Group (DAG). + // +kubebuilder:validation:Required + Role DistributedAGRole `json:"role"` + + // URL is the listener endpoint URL of the *local* Availability Group that will participate in this DAG. + // This must be reachable by the SQL Server instance. + // Example: "ag1-listener.my-namespace.svc:5022" or an externally reachable IP:Port. + // +kubebuilder:validation:Required + URL string `json:"url"` +} + +// MSSQLServerDistributedAGRemoteSpec defines the connection details for the remote AG. +type MSSQLServerDistributedAGRemoteSpec struct { + // Name is the actual name of the Availability Group on the remote cluster. + // +kubebuilder:validation:Required + Name string `json:"name"` // Name of the remote cluster's local AG. + + // URL is the listener endpoint URL of the *remote* Availability Group that will be the other member of this DAG. + // This URL must be reachable from the SQL Server instances in this cluster. + // Example: Use the external LoadBalancer IP or hostname + // e.g., "external-ip-of-remote-ag-listener:5022" or 10.2.0.64:5022 (instead of an internal cluster DNS name) + // +kubebuilder:validation:Required + URL string `json:"url"` } // MSSQLServerStatus defines the observed state of MSSQLServer 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 c69d6e585..64205c448 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/openapi_generated.go @@ -503,6 +503,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/offshoot-api/api/v1.VolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_VolumeSource(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Age": schema_apimachinery_apis_kubedb_v1alpha2_Age(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AllowedConsumers": schema_apimachinery_apis_kubedb_v1alpha2_AllowedConsumers(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Announce": schema_apimachinery_apis_kubedb_v1alpha2_Announce(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ArbiterSpec": schema_apimachinery_apis_kubedb_v1alpha2_ArbiterSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver": schema_apimachinery_apis_kubedb_v1alpha2_Archiver(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ArchiverRecovery": schema_apimachinery_apis_kubedb_v1alpha2_ArchiverRecovery(ref), @@ -589,6 +590,9 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServer": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServer(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerApp": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerApp(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerAvailabilityGroupSpec": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerAvailabilityGroupSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGRemoteSpec": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerDistributedAGRemoteSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGSelfSpec": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerDistributedAGSelfSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGSpec": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerDistributedAGSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerLeaderElectionConfig": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerLeaderElectionConfig(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerList": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerList(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerSpec": schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref), @@ -681,6 +685,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ScriptSourceSpec": schema_apimachinery_apis_kubedb_v1alpha2_ScriptSourceSpec(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference": schema_apimachinery_apis_kubedb_v1alpha2_SecretReference(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SemiSyncSpec": schema_apimachinery_apis_kubedb_v1alpha2_SemiSyncSpec(ref), + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Shards": schema_apimachinery_apis_kubedb_v1alpha2_Shards(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Singlestore": schema_apimachinery_apis_kubedb_v1alpha2_Singlestore(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SinglestoreBind": schema_apimachinery_apis_kubedb_v1alpha2_SinglestoreBind(ref), "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SinglestoreList": schema_apimachinery_apis_kubedb_v1alpha2_SinglestoreList(ref), @@ -21938,6 +21943,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, @@ -26070,6 +26087,40 @@ func schema_apimachinery_apis_kubedb_v1alpha2_AllowedConsumers(ref common.Refere } } +func schema_apimachinery_apis_kubedb_v1alpha2_Announce(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "shards": { + SchemaProps: spec.SchemaProps{ + Description: "This field is used to set cluster-announce information for redis cluster of each shard.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Shards"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Shards"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_ArbiterSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -26345,6 +26396,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_CassandraSpec(ref common.Reference Description: "CassandraSpec defines the desired state of Cassandra", 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 Cassandra to be deployed.", @@ -26398,6 +26456,25 @@ func schema_apimachinery_apis_kubedb_v1alpha2_CassandraSpec(ref common.Reference Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, + "keystoreCredSecret": { + SchemaProps: spec.SchemaProps{ + Description: "Keystore encryption secret", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"), + }, + }, + "enableSSL": { + SchemaProps: spec.SchemaProps{ + Description: "To enable ssl for http layer", + Type: []string{"boolean"}, + Format: "", + }, + }, + "tls": { + SchemaProps: spec.SchemaProps{ + Description: "TLS contains tls configurations", + Ref: ref("kmodules.xyz/client-go/api/v1.TLSConfig"), + }, + }, "podTemplate": { SchemaProps: spec.SchemaProps{ Description: "PodTemplate is an optional configuration for pods used to expose database", @@ -26443,7 +26520,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_CassandraSpec(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Topology"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Topology"}, } } @@ -26707,6 +26784,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ClickHouseSpec(ref common.Referenc Description: "ClickHouseSpec defines the desired state of ClickHouse", 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 ClickHouse to be deployed.", @@ -26766,6 +26850,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ClickHouseSpec(ref common.Referenc Ref: ref("kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec"), }, }, + "sslVerificationMode": { + SchemaProps: spec.SchemaProps{ + Description: "Indicates how SSL/TLS certificate verification will be handled for both the server and client sides.", + Type: []string{"string"}, + Format: "", + }, + }, "tls": { SchemaProps: spec.SchemaProps{ Description: "TLS contains tls configurations for client and server.", @@ -26818,7 +26909,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ClickHouseSpec(ref common.Referenc }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ClickHouseTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ClickHouseTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -27575,6 +27666,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_DruidSpec(ref common.ReferenceCall Description: "DruidSpec defines the desired state of Druid", 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 Druid to be deployed.", @@ -27697,7 +27795,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_DruidSpec(ref common.ReferenceCall }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DeepStorageSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DruidClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MetadataStorage", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef"}, + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DeepStorageSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DruidClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MetadataStorage", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef"}, } } @@ -28967,6 +29065,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBSpec(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 FerretDB to be deployed.", @@ -29052,7 +29157,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_FerretDBSpec(ref common.ReferenceC }, }, Dependencies: []string{ - "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBBackendSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBServer", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBBackendSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.FerretDBServer", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -29301,6 +29406,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_HazelcastSpec(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 Hazelcast to be deployed", @@ -29432,7 +29544,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_HazelcastSpec(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "k8s.io/api/core/v1.SecretReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "k8s.io/api/core/v1.SecretReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -29601,6 +29713,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_IgniteSpec(ref common.ReferenceCal Description: "IgniteSpec defines the desired state of Ignite.", 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 Ignite to be deployed.", @@ -29690,6 +29809,18 @@ func schema_apimachinery_apis_kubedb_v1alpha2_IgniteSpec(ref common.ReferenceCal Ref: ref("kmodules.xyz/client-go/api/v1.HealthCheckSpec"), }, }, + "tls": { + SchemaProps: spec.SchemaProps{ + Description: "TLS contains tls configurations for client and server.", + Ref: ref("kmodules.xyz/client-go/api/v1.TLSConfig"), + }, + }, + "keystoreCredSecret": { + SchemaProps: spec.SchemaProps{ + Description: "Keystore encryption secret", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"), + }, + }, "monitor": { SchemaProps: spec.SchemaProps{ Description: "Monitor is used to monitor database instance", @@ -29701,7 +29832,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_IgniteSpec(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -30456,6 +30587,27 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerAvailabilityGroupSpec(r Format: "", }, }, + "loginSecretName": { + SchemaProps: spec.SchemaProps{ + Description: "LoginSecretName is the name of the secret containing the password for the 'dbm_login' user. For a Distributed AG, both the primary and secondary AGs must use the same login and password. This secret must be created by the user.", + Type: []string{"string"}, + Format: "", + }, + }, + "masterKeySecretName": { + SchemaProps: spec.SchemaProps{ + Description: "MasterKeySecretName is the name of the secret containing the password for the database master key. For a Distributed AG, both sides must use the same master key password. This secret must be created by the user.", + Type: []string{"string"}, + Format: "", + }, + }, + "endpointCertSecretName": { + SchemaProps: spec.SchemaProps{ + Description: "EndpointCertSecretName is the name of the secret containing the certificate and private key for the database mirroring endpoint. For a Distributed AG, both sides must use the same certificate. The secret should contain `tls.crt` and `tls.key`. This secret must be created by the user.", + Type: []string{"string"}, + Format: "", + }, + }, }, }, }, @@ -30464,6 +30616,96 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerAvailabilityGroupSpec(r } } +func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerDistributedAGRemoteSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerDistributedAGRemoteSpec defines the connection details for the remote AG.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "Name is the actual name of the Availability Group on the remote cluster.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL is the listener endpoint URL of the *remote* Availability Group that will be the other member of this DAG. This URL must be reachable from the SQL Server instances in this cluster. Example: Use the external LoadBalancer IP or hostname e.g., \"external-ip-of-remote-ag-listener:5022\" or 10.2.0.64:5022 (instead of an internal cluster DNS name)", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"name", "url"}, + }, + }, + } +} + +func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerDistributedAGSelfSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerDistributedAGSelfSpec defines the configuration for the local AG's role in the DAG.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "role": { + SchemaProps: spec.SchemaProps{ + Description: "Role indicates if the local Availability Group (defined in spec.topology.availabilityGroup) is acting as Primary or Secondary in this Distributed Availability Group (DAG).", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "url": { + SchemaProps: spec.SchemaProps{ + Description: "URL is the listener endpoint URL of the *local* Availability Group that will participate in this DAG. This must be reachable by the SQL Server instance. Example: \"ag1-listener.my-namespace.svc:5022\" or an externally reachable IP:Port.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"role", "url"}, + }, + }, + } +} + +func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerDistributedAGSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerDistributedAGSpec defines the configuration for a Distributed Availability Group.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "self": { + SchemaProps: spec.SchemaProps{ + Description: "Self defines the configuration for the local Availability Group's participation in the DAG.", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGSelfSpec"), + }, + }, + "remote": { + SchemaProps: spec.SchemaProps{ + Description: "Remote defines the connection details and name of the remote Availability Group.", + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGRemoteSpec"), + }, + }, + }, + Required: []string{"self", "remote"}, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGRemoteSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGSelfSpec"}, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerLeaderElectionConfig(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -30569,6 +30811,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen Description: "MSSQLServerSpec defines the desired state of MSSQLServer", 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 MSSQLServer to be deployed.", @@ -30691,7 +30940,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerSpec(ref common.Referen }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ArbiterSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ArbiterSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Archiver", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTLSConfig", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -30786,22 +31035,28 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MSSQLServerTopology(ref common.Ref Properties: map[string]spec.Schema{ "mode": { SchemaProps: spec.SchemaProps{ - Description: "If set to - \"AvailabilityGroup\", MSSQLAvailabilityGroupSpec is required and MSSQLServer servers will start an Availability Group", + Description: "If set to - \"AvailabilityGroup\", MSSQLAvailabilityGroupSpec is required and MSSQLServer servers will start an Availability Group \"DistributedAG\", MSSQLServerDistributedAGSpec is required, and MSSQLServer servers will start a Distributed Availability Group", Type: []string{"string"}, Format: "", }, }, "availabilityGroup": { SchemaProps: spec.SchemaProps{ - Description: "AvailabilityGroup info for MSSQLServer", + Description: "AvailabilityGroup info for MSSQLServer (used when Mode is \"AvailabilityGroup\" or \"DistributedAG\").", Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerAvailabilityGroupSpec"), }, }, + "distributedAG": { + SchemaProps: spec.SchemaProps{ + Description: "DistributedAG contains information of the DAG (Distributed Availability Group) configuration. Used when Mode is \"DistributedAG\".", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGSpec"), + }, + }, }, }, }, Dependencies: []string{ - "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerAvailabilityGroupSpec"}, + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerAvailabilityGroupSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.MSSQLServerDistributedAGSpec"}, } } @@ -31261,6 +31516,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MemcachedSpec(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 Memcached to be deployed.", @@ -31347,7 +31609,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_MemcachedSpec(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.VolumeSource", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "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.VolumeSource", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "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.NamedServiceTemplateSpec"}, } } @@ -32796,6 +33058,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_OracleSpec(ref common.ReferenceCal Description: "OracleSpec defines the desired state of Oracle.", 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 Oracle to be deployed.", @@ -32913,7 +33182,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_OracleSpec(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DataGuardSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ListenerSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.DataGuardSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ListenerSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -33629,6 +33898,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgpoolSpec(ref common.ReferenceCal Description: "PgpoolSpec defines the desired state of Pgpool", 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"), + }, + }, "syncUsers": { SchemaProps: spec.SchemaProps{ Description: "SyncUsers is a boolean type and when enabled, operator fetches all users created in the backend server to the Pgpool server . Password changes are also synced in pgpool when it is enabled.", @@ -33740,7 +34016,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_PgpoolSpec(ref common.ReferenceCal }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.ObjectReference", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PgpoolConfiguration", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.ObjectReference", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.PgpoolConfiguration", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -34702,6 +34978,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RabbitMQSpec(ref common.ReferenceC Description: "RabbitMQSpec defines the desired state of RabbitMQ", 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 RabbitMQ to be deployed.", @@ -34830,7 +35113,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RabbitMQSpec(ref common.ReferenceC }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } @@ -35070,9 +35353,17 @@ func schema_apimachinery_apis_kubedb_v1alpha2_RedisClusterSpec(ref common.Refere Format: "int32", }, }, + "announce": { + SchemaProps: spec.SchemaProps{ + Description: "Announce is used to announce the redis cluster endpoints. It is used to set cluster-announce-ip, cluster-announce-port, cluster-announce-bus-port, cluster-announce-tls-port", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Announce"), + }, + }, }, }, }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.Announce"}, } } @@ -35930,6 +36221,33 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SemiSyncSpec(ref common.ReferenceC } } +func schema_apimachinery_apis_kubedb_v1alpha2_Shards(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "endpoints": { + SchemaProps: spec.SchemaProps{ + Description: "Endpoints contains the cluster-announce information for all the replicas in a shard. This will be used to set cluster-announce-ip/hostname, cluster-announce-port/cluster-announce-tls-port and cluster-announce-bus-port format cluster-announce (host:port@busport)", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_kubedb_v1alpha2_Singlestore(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -36097,6 +36415,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SinglestoreSpec(ref common.Referen 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 Singlestore to be deployed.", @@ -36206,7 +36531,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SinglestoreSpec(ref common.Referen }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SinglestoreTopology"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.InitSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SinglestoreTopology"}, } } @@ -36490,6 +36815,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SolrSpec(ref common.ReferenceCallb Description: "SolrSpec defines the desired state of Solr c", 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 Solr to be deployed", @@ -36661,7 +36993,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_SolrSpec(ref common.ReferenceCallb }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SolrClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SolrClusterTopology", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.ZookeeperRef"}, } } @@ -36908,6 +37240,13 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperSpec(ref common.Reference Description: "ZooKeeperSpec defines the desired state of ZooKeeper", 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: "ZooKeeper Version to be deployed", @@ -37034,7 +37373,7 @@ func schema_apimachinery_apis_kubedb_v1alpha2_ZooKeeperSpec(ref common.Reference }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/api/core/v1.PersistentVolumeClaimSpec", "kmodules.xyz/client-go/api/v1.HealthCheckSpec", "kmodules.xyz/client-go/api/v1.TLSConfig", "kmodules.xyz/monitoring-agent-api/api/v1.AgentSpec", "kmodules.xyz/offshoot-api/api/v2.PodTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.AutoOpsSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.NamedServiceTemplateSpec", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"}, } } diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/oracle_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/oracle_types.go index 6f0ae9008..defceeb7d 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/oracle_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/oracle_types.go @@ -95,6 +95,10 @@ const ( // OracleSpec defines the desired state of Oracle. type OracleSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Oracle to be deployed. // +optional Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go index 605b95088..c89cf2443 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/pgpool_types.go @@ -53,6 +53,10 @@ type Pgpool struct { // PgpoolSpec defines the desired state of Pgpool type PgpoolSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // SyncUsers is a boolean type and when enabled, operator fetches all users created in the backend server to the // Pgpool server . Password changes are also synced in pgpool when it is enabled. // +optional diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go index f360bf556..cd0cd53f9 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/rabbitmq_types.go @@ -54,6 +54,10 @@ type RabbitMQ struct { // RabbitMQSpec defines the desired state of RabbitMQ type RabbitMQSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of RabbitMQ to be deployed. Version string `json:"version"` 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 fb40cb8aa..50c6f608a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/redis_types.go @@ -158,6 +158,35 @@ type RedisClusterSpec struct { // Number of replica(s) per master node. If not specified, defaults to 1. Replicas *int32 `json:"replicas,omitempty"` + + // Announce is used to announce the redis cluster endpoints. + // It is used to set + // cluster-announce-ip, cluster-announce-port, cluster-announce-bus-port, cluster-announce-tls-port + // +optional + Announce *Announce `json:"announce,omitempty"` +} + +// +kubebuilder:validation:Enum=ip;hostname +type PreferredEndpointType string + +const ( + PreferredEndpointTypeIP PreferredEndpointType = "ip" + PreferredEndpointTypeHostname PreferredEndpointType = "hostname" +) + +type Announce struct { + // +kubebuilder:default=hostname + Type PreferredEndpointType `json:"type,omitempty"` + // This field is used to set cluster-announce information for redis cluster of each shard. + Shards []Shards `json:"shards,omitempty"` +} + +type Shards struct { + // Endpoints contains the cluster-announce information for all the replicas in a shard. + // This will be used to set cluster-announce-ip/hostname, cluster-announce-port/cluster-announce-tls-port + // and cluster-announce-bus-port + // format cluster-announce (host:port@busport) + Endpoints []string `json:"endpoints,omitempty"` } type RedisSentinelRef struct { diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go index 48b3b0041..3d764f7d0 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/singlestore_types.go @@ -54,6 +54,10 @@ type Singlestore struct { // SinglestoreSpec defines the desired state of Singlestore type SinglestoreSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Singlestore to be deployed. // +optional Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go index b08c38ed4..537e9d41f 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/solr_types.go @@ -54,6 +54,10 @@ type Solr struct { // SolrSpec defines the desired state of Solr c type SolrSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // Version of Solr to be deployed Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go index 972d48c59..f50c10807 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zookeeper_types.go @@ -54,6 +54,10 @@ type ZooKeeper struct { // ZooKeeperSpec defines the desired state of ZooKeeper type ZooKeeperSpec struct { + // AutoOps contains configuration of automatic ops-request-recommendation generation + // +optional + AutoOps AutoOpsSpec `json:"autoOps,omitempty"` + // ZooKeeper Version to be deployed Version string `json:"version"` diff --git a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go index fc896c63a..202eb5127 100644 --- a/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go +++ b/vendor/kubedb.dev/apimachinery/apis/kubedb/v1alpha2/zz_generated.conversion.go @@ -64,6 +64,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*Announce)(nil), (*v1.Announce)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha2_Announce_To_v1_Announce(a.(*Announce), b.(*v1.Announce), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*v1.Announce)(nil), (*Announce)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1_Announce_To_v1alpha2_Announce(a.(*v1.Announce), b.(*Announce), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*ArbiterSpec)(nil), (*v1.ArbiterSpec)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1alpha2_ArbiterSpec_To_v1_ArbiterSpec(a.(*ArbiterSpec), b.(*v1.ArbiterSpec), scope) }); err != nil { @@ -804,6 +814,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*Shards)(nil), (*v1.Shards)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha2_Shards_To_v1_Shards(a.(*Shards), b.(*v1.Shards), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*v1.Shards)(nil), (*Shards)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1_Shards_To_v1alpha2_Shards(a.(*v1.Shards), b.(*Shards), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*SystemUserSecretsSpec)(nil), (*v1.SystemUserSecretsSpec)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1alpha2_SystemUserSecretsSpec_To_v1_SystemUserSecretsSpec(a.(*SystemUserSecretsSpec), b.(*v1.SystemUserSecretsSpec), scope) }); err != nil { @@ -1059,6 +1079,28 @@ func Convert_v1_AllowedConsumers_To_v1alpha2_AllowedConsumers(in *v1.AllowedCons return autoConvert_v1_AllowedConsumers_To_v1alpha2_AllowedConsumers(in, out, s) } +func autoConvert_v1alpha2_Announce_To_v1_Announce(in *Announce, out *v1.Announce, s conversion.Scope) error { + out.Type = v1.PreferredEndpointType(in.Type) + out.Shards = *(*[]v1.Shards)(unsafe.Pointer(&in.Shards)) + return nil +} + +// Convert_v1alpha2_Announce_To_v1_Announce is an autogenerated conversion function. +func Convert_v1alpha2_Announce_To_v1_Announce(in *Announce, out *v1.Announce, s conversion.Scope) error { + return autoConvert_v1alpha2_Announce_To_v1_Announce(in, out, s) +} + +func autoConvert_v1_Announce_To_v1alpha2_Announce(in *v1.Announce, out *Announce, s conversion.Scope) error { + out.Type = PreferredEndpointType(in.Type) + out.Shards = *(*[]Shards)(unsafe.Pointer(&in.Shards)) + return nil +} + +// Convert_v1_Announce_To_v1alpha2_Announce is an autogenerated conversion function. +func Convert_v1_Announce_To_v1alpha2_Announce(in *v1.Announce, out *Announce, s conversion.Scope) error { + return autoConvert_v1_Announce_To_v1alpha2_Announce(in, out, s) +} + func autoConvert_v1alpha2_ArbiterSpec_To_v1_ArbiterSpec(in *ArbiterSpec, out *v1.ArbiterSpec, s conversion.Scope) error { out.Resources = in.Resources out.NodeSelector = *(*map[string]string)(unsafe.Pointer(&in.NodeSelector)) @@ -2378,6 +2420,7 @@ func Convert_v1_MemcachedList_To_v1alpha2_MemcachedList(in *v1.MemcachedList, ou } func autoConvert_v1alpha2_MemcachedSpec_To_v1_MemcachedSpec(in *MemcachedSpec, out *v1.MemcachedSpec, s conversion.Scope) error { + // WARNING: in.AutoOps requires manual conversion: does not exist in peer-type out.Version = in.Version out.Replicas = (*int32)(unsafe.Pointer(in.Replicas)) out.Monitor = (*monitoringagentapiapiv1.AgentSpec)(unsafe.Pointer(in.Monitor)) @@ -3993,12 +4036,14 @@ func Convert_v1_Redis_To_v1alpha2_Redis(in *v1.Redis, out *Redis, s conversion.S func autoConvert_v1alpha2_RedisClusterSpec_To_v1_RedisClusterSpec(in *RedisClusterSpec, out *v1.RedisClusterSpec, s conversion.Scope) error { // WARNING: in.Master requires manual conversion: does not exist in peer-type out.Replicas = (*int32)(unsafe.Pointer(in.Replicas)) + out.Announce = (*v1.Announce)(unsafe.Pointer(in.Announce)) return nil } func autoConvert_v1_RedisClusterSpec_To_v1alpha2_RedisClusterSpec(in *v1.RedisClusterSpec, out *RedisClusterSpec, s conversion.Scope) error { // WARNING: in.Shards requires manual conversion: does not exist in peer-type out.Replicas = (*int32)(unsafe.Pointer(in.Replicas)) + out.Announce = (*Announce)(unsafe.Pointer(in.Announce)) return nil } @@ -4407,6 +4452,26 @@ func Convert_v1_SemiSyncSpec_To_v1alpha2_SemiSyncSpec(in *v1.SemiSyncSpec, out * return autoConvert_v1_SemiSyncSpec_To_v1alpha2_SemiSyncSpec(in, out, s) } +func autoConvert_v1alpha2_Shards_To_v1_Shards(in *Shards, out *v1.Shards, s conversion.Scope) error { + out.Endpoints = *(*[]string)(unsafe.Pointer(&in.Endpoints)) + return nil +} + +// Convert_v1alpha2_Shards_To_v1_Shards is an autogenerated conversion function. +func Convert_v1alpha2_Shards_To_v1_Shards(in *Shards, out *v1.Shards, s conversion.Scope) error { + return autoConvert_v1alpha2_Shards_To_v1_Shards(in, out, s) +} + +func autoConvert_v1_Shards_To_v1alpha2_Shards(in *v1.Shards, out *Shards, s conversion.Scope) error { + out.Endpoints = *(*[]string)(unsafe.Pointer(&in.Endpoints)) + return nil +} + +// Convert_v1_Shards_To_v1alpha2_Shards is an autogenerated conversion function. +func Convert_v1_Shards_To_v1alpha2_Shards(in *v1.Shards, out *Shards, s conversion.Scope) error { + return autoConvert_v1_Shards_To_v1alpha2_Shards(in, out, s) +} + func autoConvert_v1alpha2_SystemUserSecretsSpec_To_v1_SystemUserSecretsSpec(in *SystemUserSecretsSpec, out *v1.SystemUserSecretsSpec, s conversion.Scope) error { out.ReplicationUserSecret = (*v1.SecretReference)(unsafe.Pointer(in.ReplicationUserSecret)) out.MonitorUserSecret = (*v1.SecretReference)(unsafe.Pointer(in.MonitorUserSecret)) 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 24ebd022b..002d0b5d4 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 @@ -75,6 +75,29 @@ 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 *Announce) DeepCopyInto(out *Announce) { + *out = *in + if in.Shards != nil { + in, out := &in.Shards, &out.Shards + *out = make([]Shards, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Announce. +func (in *Announce) DeepCopy() *Announce { + if in == nil { + return nil + } + out := new(Announce) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ArbiterSpec) DeepCopyInto(out *ArbiterSpec) { *out = *in @@ -266,6 +289,7 @@ func (in *CassandraList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CassandraSpec) DeepCopyInto(out *CassandraSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -291,6 +315,16 @@ func (in *CassandraSpec) DeepCopyInto(out *CassandraSpec) { *out = new(corev1.LocalObjectReference) **out = **in } + if in.KeystoreCredSecret != nil { + in, out := &in.KeystoreCredSecret, &out.KeystoreCredSecret + *out = new(SecretReference) + (*in).DeepCopyInto(*out) + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(apiv1.TLSConfig) + (*in).DeepCopyInto(*out) + } if in.PodTemplate != nil { in, out := &in.PodTemplate, &out.PodTemplate *out = new(v2.PodTemplateSpec) @@ -508,6 +542,7 @@ func (in *ClickHouseList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClickHouseSpec) DeepCopyInto(out *ClickHouseSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -1106,6 +1141,7 @@ func (in *DruidNode) DeepCopy() *DruidNode { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *DruidSpec) DeepCopyInto(out *DruidSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Topology != nil { in, out := &in.Topology, &out.Topology *out = new(DruidClusterTopology) @@ -1942,6 +1978,7 @@ func (in *FerretDBServerSpec) DeepCopy() *FerretDBServerSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FerretDBSpec) DeepCopyInto(out *FerretDBSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Server != nil { in, out := &in.Server, &out.Server *out = new(FerretDBServer) @@ -2156,6 +2193,7 @@ func (in *HazelcastList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HazelcastSpec) DeepCopyInto(out *HazelcastSpec) { *out = *in + out.AutoOps = in.AutoOps if in.LicenseSecret != nil { in, out := &in.LicenseSecret, &out.LicenseSecret *out = new(corev1.SecretReference) @@ -2331,6 +2369,7 @@ func (in *IgniteList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *IgniteSpec) DeepCopyInto(out *IgniteSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -2360,6 +2399,16 @@ func (in *IgniteSpec) DeepCopyInto(out *IgniteSpec) { } } in.HealthChecker.DeepCopyInto(&out.HealthChecker) + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(apiv1.TLSConfig) + (*in).DeepCopyInto(*out) + } + if in.KeystoreCredSecret != nil { + in, out := &in.KeystoreCredSecret, &out.KeystoreCredSecret + *out = new(SecretReference) + (*in).DeepCopyInto(*out) + } if in.Monitor != nil { in, out := &in.Monitor, &out.Monitor *out = new(monitoringagentapiapiv1.AgentSpec) @@ -2841,6 +2890,56 @@ func (in *MSSQLServerAvailabilityGroupSpec) DeepCopy() *MSSQLServerAvailabilityG return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MSSQLServerDistributedAGRemoteSpec) DeepCopyInto(out *MSSQLServerDistributedAGRemoteSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSSQLServerDistributedAGRemoteSpec. +func (in *MSSQLServerDistributedAGRemoteSpec) DeepCopy() *MSSQLServerDistributedAGRemoteSpec { + if in == nil { + return nil + } + out := new(MSSQLServerDistributedAGRemoteSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MSSQLServerDistributedAGSelfSpec) DeepCopyInto(out *MSSQLServerDistributedAGSelfSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSSQLServerDistributedAGSelfSpec. +func (in *MSSQLServerDistributedAGSelfSpec) DeepCopy() *MSSQLServerDistributedAGSelfSpec { + if in == nil { + return nil + } + out := new(MSSQLServerDistributedAGSelfSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MSSQLServerDistributedAGSpec) DeepCopyInto(out *MSSQLServerDistributedAGSpec) { + *out = *in + out.Self = in.Self + out.Remote = in.Remote + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MSSQLServerDistributedAGSpec. +func (in *MSSQLServerDistributedAGSpec) DeepCopy() *MSSQLServerDistributedAGSpec { + if in == nil { + return nil + } + out := new(MSSQLServerDistributedAGSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MSSQLServerLeaderElectionConfig) DeepCopyInto(out *MSSQLServerLeaderElectionConfig) { *out = *in @@ -2904,6 +3003,7 @@ func (in *MSSQLServerList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MSSQLServerSpec) DeepCopyInto(out *MSSQLServerSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -3038,6 +3138,11 @@ func (in *MSSQLServerTopology) DeepCopyInto(out *MSSQLServerTopology) { *out = new(MSSQLServerAvailabilityGroupSpec) (*in).DeepCopyInto(*out) } + if in.DistributedAG != nil { + in, out := &in.DistributedAG, &out.DistributedAG + *out = new(MSSQLServerDistributedAGSpec) + **out = **in + } return } @@ -3323,6 +3428,7 @@ func (in *MemcachedList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MemcachedSpec) DeepCopyInto(out *MemcachedSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -4221,6 +4327,7 @@ func (in *OracleList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OracleSpec) DeepCopyInto(out *OracleSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -4692,6 +4799,7 @@ func (in *PgpoolList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PgpoolSpec) DeepCopyInto(out *PgpoolSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -5330,6 +5438,7 @@ func (in *RabbitMQList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RabbitMQSpec) DeepCopyInto(out *RabbitMQSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -5545,6 +5654,11 @@ func (in *RedisClusterSpec) DeepCopyInto(out *RedisClusterSpec) { *out = new(int32) **out = **in } + if in.Announce != nil { + in, out := &in.Announce, &out.Announce + *out = new(Announce) + (*in).DeepCopyInto(*out) + } return } @@ -5939,6 +6053,27 @@ 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 *Shards) DeepCopyInto(out *Shards) { + *out = *in + if in.Endpoints != nil { + in, out := &in.Endpoints, &out.Endpoints + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shards. +func (in *Shards) DeepCopy() *Shards { + if in == nil { + return nil + } + out := new(Shards) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Singlestore) DeepCopyInto(out *Singlestore) { *out = *in @@ -6060,6 +6195,7 @@ func (in *SinglestoreNode) DeepCopy() *SinglestoreNode { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SinglestoreSpec) DeepCopyInto(out *SinglestoreSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Topology != nil { in, out := &in.Topology, &out.Topology *out = new(SinglestoreTopology) @@ -6339,6 +6475,7 @@ func (in *SolrNode) DeepCopy() *SolrNode { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SolrSpec) DeepCopyInto(out *SolrSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) @@ -6609,6 +6746,7 @@ func (in *ZooKeeperList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ZooKeeperSpec) DeepCopyInto(out *ZooKeeperSpec) { *out = *in + out.AutoOps = in.AutoOps if in.Replicas != nil { in, out := &in.Replicas, &out.Replicas *out = new(int32) diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types.go index 99bf7fbac..94fc47e6a 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types.go @@ -18,7 +18,10 @@ limitations under the License. package v1alpha1 import ( + kubedbApiV1Alpha2 "kubedb.dev/apimachinery/apis/kubedb/v1alpha2" + core "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -50,27 +53,47 @@ type CassandraOpsRequest struct { // CassandraOpsRequestSpec is the spec for CassandraOpsRequest type CassandraOpsRequestSpec struct { + // Specifies information necessary for custom configuration of Cassandra + Configuration *CassandraCustomConfigurationSpec `json:"configuration,omitempty"` // Specifies the Cassandra reference DatabaseRef core.LocalObjectReference `json:"databaseRef"` // Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc. Type CassandraOpsRequestType `json:"type"` + // Specifies information necessary for horizontal scaling + HorizontalScaling *CassandraHorizontalScalingSpec `json:"horizontalScaling,omitempty"` // Specifies information necessary for upgrading cassandra UpdateVersion *CassandraUpdateVersionSpec `json:"updateVersion,omitempty"` // Specifies information necessary for vertical scaling VerticalScaling *CassandraVerticalScalingSpec `json:"verticalScaling,omitempty"` + // Specifies information necessary for volume expansion + VolumeExpansion *CassandraVolumeExpansionSpec `json:"volumeExpansion,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"` + + // Specifies information necessary for configuring TLS + TLS *TLSSpec `json:"tls,omitempty"` + + // Keystore encryption secret + // +optional + KeystoreCredSecret *kubedbApiV1Alpha2.SecretReference `json:"keystoreCredSecret,omitempty"` + // ApplyOption is to control the execution of OpsRequest depending on the database state. // +kubebuilder:default="IfReady" Apply ApplyOption `json:"apply,omitempty"` } -// +kubebuilder:validation:Enum=UpdateVersion;VerticalScaling;Restart -// ENUM(UpdateVersion, VerticalScaling, Restart) +// +kubebuilder:validation:Enum=UpdateVersion;VerticalScaling;Restart;VolumeExpansion;HorizontalScaling;Reconfigure;ReconfigureTLS +// ENUM(UpdateVersion, VerticalScaling, Restart, VolumeExpansion, HorizontalScaling, Reconfigure, ReconfigureTLS) type CassandraOpsRequestType string +// CassandraHorizontalScalingSpec contains the horizontal scaling information of a Cassandra cluster +type CassandraHorizontalScalingSpec struct { + // Number of node + Node *int32 `json:"node,omitempty"` +} + // CassandraUpdateVersionSpec contains the update version information of a cassandra cluster type CassandraUpdateVersionSpec struct { // Specifies the target version name from catalog @@ -83,6 +106,13 @@ type CassandraVerticalScalingSpec struct { Node *PodResources `json:"node,omitempty"` } +// CassandraVolumeExpansionSpec is the spec for Cassandra volume expansion +type CassandraVolumeExpansionSpec struct { + Mode VolumeExpansionMode `json:"mode"` + // volume specification for nodes + Node *resource.Quantity `json:"node,omitempty"` +} + // CassandraCustomConfigurationSpec is the spec for Reconfiguring the cassandra Settings type CassandraCustomConfigurationSpec struct { // ConfigSecret is an optional field to provide custom configuration file for database. diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types_enum.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types_enum.go index 3d9b02ba3..32ed47945 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types_enum.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/cassandra_ops-types_enum.go @@ -18,6 +18,14 @@ const ( CassandraOpsRequestTypeVerticalScaling CassandraOpsRequestType = "VerticalScaling" // CassandraOpsRequestTypeRestart is a CassandraOpsRequestType of type Restart. CassandraOpsRequestTypeRestart CassandraOpsRequestType = "Restart" + // CassandraOpsRequestTypeVolumeExpansion is a CassandraOpsRequestType of type VolumeExpansion. + CassandraOpsRequestTypeVolumeExpansion CassandraOpsRequestType = "VolumeExpansion" + // CassandraOpsRequestTypeHorizontalScaling is a CassandraOpsRequestType of type HorizontalScaling. + CassandraOpsRequestTypeHorizontalScaling CassandraOpsRequestType = "HorizontalScaling" + // CassandraOpsRequestTypeReconfigure is a CassandraOpsRequestType of type Reconfigure. + CassandraOpsRequestTypeReconfigure CassandraOpsRequestType = "Reconfigure" + // CassandraOpsRequestTypeReconfigureTLS is a CassandraOpsRequestType of type ReconfigureTLS. + CassandraOpsRequestTypeReconfigureTLS CassandraOpsRequestType = "ReconfigureTLS" ) var ErrInvalidCassandraOpsRequestType = fmt.Errorf("not a valid CassandraOpsRequestType, try [%s]", strings.Join(_CassandraOpsRequestTypeNames, ", ")) @@ -26,6 +34,10 @@ var _CassandraOpsRequestTypeNames = []string{ string(CassandraOpsRequestTypeUpdateVersion), string(CassandraOpsRequestTypeVerticalScaling), string(CassandraOpsRequestTypeRestart), + string(CassandraOpsRequestTypeVolumeExpansion), + string(CassandraOpsRequestTypeHorizontalScaling), + string(CassandraOpsRequestTypeReconfigure), + string(CassandraOpsRequestTypeReconfigureTLS), } // CassandraOpsRequestTypeNames returns a list of possible string values of CassandraOpsRequestType. @@ -41,6 +53,10 @@ func CassandraOpsRequestTypeValues() []CassandraOpsRequestType { CassandraOpsRequestTypeUpdateVersion, CassandraOpsRequestTypeVerticalScaling, CassandraOpsRequestTypeRestart, + CassandraOpsRequestTypeVolumeExpansion, + CassandraOpsRequestTypeHorizontalScaling, + CassandraOpsRequestTypeReconfigure, + CassandraOpsRequestTypeReconfigureTLS, } } @@ -57,9 +73,13 @@ func (x CassandraOpsRequestType) IsValid() bool { } var _CassandraOpsRequestTypeValue = map[string]CassandraOpsRequestType{ - "UpdateVersion": CassandraOpsRequestTypeUpdateVersion, - "VerticalScaling": CassandraOpsRequestTypeVerticalScaling, - "Restart": CassandraOpsRequestTypeRestart, + "UpdateVersion": CassandraOpsRequestTypeUpdateVersion, + "VerticalScaling": CassandraOpsRequestTypeVerticalScaling, + "Restart": CassandraOpsRequestTypeRestart, + "VolumeExpansion": CassandraOpsRequestTypeVolumeExpansion, + "HorizontalScaling": CassandraOpsRequestTypeHorizontalScaling, + "Reconfigure": CassandraOpsRequestTypeReconfigure, + "ReconfigureTLS": CassandraOpsRequestTypeReconfigureTLS, } // ParseCassandraOpsRequestType attempts to convert a string to a CassandraOpsRequestType. diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/constant.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/constant.go index e5e59f2b1..ae81a48f1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/constant.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/constant.go @@ -287,13 +287,15 @@ const ( RemoveHorizons = "RemoveHorizons" ) -// MySQL/MariaDB Constants +// MySQL/MariaDB/Maxscale Constants const ( - TempIniFilesPath = "/tmp/kubedb-custom-ini-files" - StopRemoteReplica = "StopRemoteReplica" - DBPatch = "DBPatch" - StopRemoteReplicaSucceeded = "StopRemoteReplicaSucceeded" - DBPatchSucceeded = "DBPatchSucceeded" + TempIniFilesPath = "/tmp/kubedb-custom-ini-files" + StopRemoteReplica = "StopRemoteReplica" + DBPatch = "DBPatch" + StopRemoteReplicaSucceeded = "StopRemoteReplicaSucceeded" + DBPatchSucceeded = "DBPatchSucceeded" + RestartMaxscale = "RestartMaxscale" + RestartMaxscalePodsSucceeded = "RestartMaxscalePodsSucceeded" ) // Postgres Constants diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_helpers.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_helpers.go new file mode 100644 index 000000000..22380f431 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_helpers.go @@ -0,0 +1,76 @@ +/* +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 ( + "fmt" + + "kubedb.dev/apimachinery/apis" + "kubedb.dev/apimachinery/apis/ops" + "kubedb.dev/apimachinery/crds" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "kmodules.xyz/client-go/apiextensions" +) + +func (h *HazelcastOpsRequest) CustomResourceDefinition() *apiextensions.CustomResourceDefinition { + return crds.MustCustomResourceDefinition(SchemeGroupVersion.WithResource(ResourcePluralHazelcastOpsRequest)) +} + +var _ apis.ResourceInfo = &HazelcastOpsRequest{} + +func (h *HazelcastOpsRequest) ResourceFQN() string { + return fmt.Sprintf("%s.%s", ResourcePluralHazelcastOpsRequest, ops.GroupName) +} + +func (h *HazelcastOpsRequest) ResourceShortCode() string { + return ResourceCodeHazelcastOpsRequest +} + +func (h *HazelcastOpsRequest) ResourceKind() string { + return ResourceKindHazelcastOpsRequest +} + +func (h *HazelcastOpsRequest) ResourceSingular() string { + return ResourceSingularHazelcastOpsRequest +} + +func (h *HazelcastOpsRequest) ResourcePlural() string { + return ResourcePluralHazelcastOpsRequest +} + +var _ Accessor = &HazelcastOpsRequest{} + +func (h *HazelcastOpsRequest) GetObjectMeta() metav1.ObjectMeta { + return h.ObjectMeta +} + +func (h *HazelcastOpsRequest) GetDBRefName() string { + return h.Spec.DatabaseRef.Name +} + +func (h *HazelcastOpsRequest) GetRequestType() any { + return h.Spec.Type +} + +func (h *HazelcastOpsRequest) GetStatus() OpsRequestStatus { + return h.Status +} + +func (h *HazelcastOpsRequest) SetStatus(st OpsRequestStatus) { + h.Status = st +} diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_types.go new file mode 100644 index 000000000..d28b48bb5 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_types.go @@ -0,0 +1,135 @@ +/* +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. +*/ + +//go:generate go-enum --mustparse --names --values +package v1alpha1 + +import ( + core "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ResourceCodeHazelcastOpsRequest = "hzops" + ResourceKindHazelcastOpsRequest = "HazelcastOpsRequest" + ResourceSingularHazelcastOpsRequest = "hazelcastopsrequest" + ResourcePluralHazelcastOpsRequest = "hazelcastopsrequests" +) + +// HazelcastDBOpsRequest defines a Hazelcast DBA operation. + +// +genclient +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=hazelcastopsrequests,singular=hazelcastopsrequest,shortName=hzops,categories={ops,kubedb,appscode} +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type" +// +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +type HazelcastOpsRequest struct { + metav1.TypeMeta `json:",inline,omitempty"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec HazelcastOpsRequestSpec `json:"spec,omitempty"` + Status OpsRequestStatus `json:"status,omitempty"` +} + +// +kubebuilder:validation:Enum=UpdateVersion;HorizontalScaling;VerticalScaling;VolumeExpansion;Reconfigure;Restart;ReconfigureTLS;RotateAuth +// ENUM(UpdateVersion, HorizontalScaling, VerticalScaling, VolumeExpansion, Reconfigure, Restart, ReconfigureTLS, RotateAuth) +type HazelcastOpsRequestType string + +// HazelcastOpsRequestSpec is the spec for HazelcastOpsRequest +type HazelcastOpsRequestSpec struct { + // Specifies the Druid reference + DatabaseRef core.LocalObjectReference `json:"databaseRef"` + // Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc. + Type HazelcastOpsRequestType `json:"type"` + // Specifies information necessary for upgrading Hazelcast + UpdateVersion *HazelcastUpdateVersionSpec `json:"updateVersion,omitempty"` + // Specifies information necessary for horizontal scaling + HorizontalScaling *HazelcastHorizontalScalingSpec `json:"horizontalScaling,omitempty"` + // Specifies information necessary for vertical scaling + VerticalScaling *HazelcastVerticalScalingSpec `json:"verticalScaling,omitempty"` + // Specifies information necessary for volume expansion + VolumeExpansion *HazelcastVolumeExpansionSpec `json:"volumeExpansion,omitempty"` + // Specifies information necessary for restarting database + Restart *RestartSpec `json:"restart,omitempty"` + // Specifies information necessary for custom configuration of hazelcast + Configuration *HazelcastCustomConfigurationSpec `json:"configuration,omitempty"` + // Specifies information necessary for configuring TLS + TLS *TLSSpec `json:"tls,omitempty"` + // Specifies information necessary for configuring authSecret of the database + Authentication *AuthSpec `json:"authentication,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"` +} + +type HazelcastVerticalScalingSpec struct { + // Resource spec for hazelcast nodes + Hazelcast *PodResources `json:"hazelcast,omitempty"` +} + +type HazelcastVolumeExpansionSpec struct { + Mode VolumeExpansionMode `json:"mode"` + // volume specification for hazelcast nodes + Hazelcast *resource.Quantity `json:"hazelcast,omitempty"` +} + +type HazelcastUpdateVersionSpec struct { + // Specifies the target version name from catalog + TargetVersion string `json:"targetVersion,omitempty"` +} + +type HazelcastHorizontalScalingSpec struct { + // Number of hazelcast node + Hazelcast *int32 `json:"hazelcast,omitempty"` +} + +// HazelcastCustomConfigurationSpec is the spec for Reconfiguring the hazelcast Settings +type HazelcastCustomConfigurationSpec struct { + // ConfigSecret is an optional field to provide custom configuration file for database. + // +optional + ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` + // ApplyConfig is an optional field to provide hazelcast configuration. + // Provided configuration will be applied to config files stored in ConfigSecret. + // If the ConfigSecret is missing, the operator will create a new k8s secret by the + // following naming convention: {db-name}-user-config . + // Expected input format: + // applyConfig: + // hazelcast.xml: | + // key=value + // +optional + ApplyConfig map[string]string `json:"applyConfig,omitempty"` + // If set to "true", the user provided configuration will be removed. + // The hazelcast cluster will start will default configuration that is generated by the operator. + // +optional + RemoveCustomConfig bool `json:"removeCustomConfig,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// HazelcastOpsRequestList is a list of HazelcastOpsRequests +type HazelcastOpsRequestList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items is a list of HazelcastOpsRequest CRD objects + Items []HazelcastOpsRequest `json:"items,omitempty"` +} diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_types_enum.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_types_enum.go new file mode 100644 index 000000000..adb18cf2e --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/hazelcast_ops_types_enum.go @@ -0,0 +1,105 @@ +// Code generated by go-enum DO NOT EDIT. +// Version: +// Revision: +// Build Date: +// Built By: + +package v1alpha1 + +import ( + "fmt" + "strings" +) + +const ( + // HazelcastOpsRequestTypeUpdateVersion is a HazelcastOpsRequestType of type UpdateVersion. + HazelcastOpsRequestTypeUpdateVersion HazelcastOpsRequestType = "UpdateVersion" + // HazelcastOpsRequestTypeHorizontalScaling is a HazelcastOpsRequestType of type HorizontalScaling. + HazelcastOpsRequestTypeHorizontalScaling HazelcastOpsRequestType = "HorizontalScaling" + // HazelcastOpsRequestTypeVerticalScaling is a HazelcastOpsRequestType of type VerticalScaling. + HazelcastOpsRequestTypeVerticalScaling HazelcastOpsRequestType = "VerticalScaling" + // HazelcastOpsRequestTypeVolumeExpansion is a HazelcastOpsRequestType of type VolumeExpansion. + HazelcastOpsRequestTypeVolumeExpansion HazelcastOpsRequestType = "VolumeExpansion" + // HazelcastOpsRequestTypeReconfigure is a HazelcastOpsRequestType of type Reconfigure. + HazelcastOpsRequestTypeReconfigure HazelcastOpsRequestType = "Reconfigure" + // HazelcastOpsRequestTypeRestart is a HazelcastOpsRequestType of type Restart. + HazelcastOpsRequestTypeRestart HazelcastOpsRequestType = "Restart" + // HazelcastOpsRequestTypeReconfigureTLS is a HazelcastOpsRequestType of type ReconfigureTLS. + HazelcastOpsRequestTypeReconfigureTLS HazelcastOpsRequestType = "ReconfigureTLS" + // HazelcastOpsRequestTypeRotateAuth is a HazelcastOpsRequestType of type RotateAuth. + HazelcastOpsRequestTypeRotateAuth HazelcastOpsRequestType = "RotateAuth" +) + +var ErrInvalidHazelcastOpsRequestType = fmt.Errorf("not a valid HazelcastOpsRequestType, try [%s]", strings.Join(_HazelcastOpsRequestTypeNames, ", ")) + +var _HazelcastOpsRequestTypeNames = []string{ + string(HazelcastOpsRequestTypeUpdateVersion), + string(HazelcastOpsRequestTypeHorizontalScaling), + string(HazelcastOpsRequestTypeVerticalScaling), + string(HazelcastOpsRequestTypeVolumeExpansion), + string(HazelcastOpsRequestTypeReconfigure), + string(HazelcastOpsRequestTypeRestart), + string(HazelcastOpsRequestTypeReconfigureTLS), + string(HazelcastOpsRequestTypeRotateAuth), +} + +// HazelcastOpsRequestTypeNames returns a list of possible string values of HazelcastOpsRequestType. +func HazelcastOpsRequestTypeNames() []string { + tmp := make([]string, len(_HazelcastOpsRequestTypeNames)) + copy(tmp, _HazelcastOpsRequestTypeNames) + return tmp +} + +// HazelcastOpsRequestTypeValues returns a list of the values for HazelcastOpsRequestType +func HazelcastOpsRequestTypeValues() []HazelcastOpsRequestType { + return []HazelcastOpsRequestType{ + HazelcastOpsRequestTypeUpdateVersion, + HazelcastOpsRequestTypeHorizontalScaling, + HazelcastOpsRequestTypeVerticalScaling, + HazelcastOpsRequestTypeVolumeExpansion, + HazelcastOpsRequestTypeReconfigure, + HazelcastOpsRequestTypeRestart, + HazelcastOpsRequestTypeReconfigureTLS, + HazelcastOpsRequestTypeRotateAuth, + } +} + +// String implements the Stringer interface. +func (x HazelcastOpsRequestType) String() string { + return string(x) +} + +// IsValid provides a quick way to determine if the typed value is +// part of the allowed enumerated values +func (x HazelcastOpsRequestType) IsValid() bool { + _, err := ParseHazelcastOpsRequestType(string(x)) + return err == nil +} + +var _HazelcastOpsRequestTypeValue = map[string]HazelcastOpsRequestType{ + "UpdateVersion": HazelcastOpsRequestTypeUpdateVersion, + "HorizontalScaling": HazelcastOpsRequestTypeHorizontalScaling, + "VerticalScaling": HazelcastOpsRequestTypeVerticalScaling, + "VolumeExpansion": HazelcastOpsRequestTypeVolumeExpansion, + "Reconfigure": HazelcastOpsRequestTypeReconfigure, + "Restart": HazelcastOpsRequestTypeRestart, + "ReconfigureTLS": HazelcastOpsRequestTypeReconfigureTLS, + "RotateAuth": HazelcastOpsRequestTypeRotateAuth, +} + +// ParseHazelcastOpsRequestType attempts to convert a string to a HazelcastOpsRequestType. +func ParseHazelcastOpsRequestType(name string) (HazelcastOpsRequestType, error) { + if x, ok := _HazelcastOpsRequestTypeValue[name]; ok { + return x, nil + } + return HazelcastOpsRequestType(""), fmt.Errorf("%s is %w", name, ErrInvalidHazelcastOpsRequestType) +} + +// MustParseHazelcastOpsRequestType converts a string to a HazelcastOpsRequestType, and panics if is not valid. +func MustParseHazelcastOpsRequestType(name string) HazelcastOpsRequestType { + val, err := ParseHazelcastOpsRequestType(name) + if err != nil { + panic(err) + } + return val +} diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_helpers.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_helpers.go new file mode 100644 index 000000000..099319703 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_helpers.go @@ -0,0 +1,76 @@ +/* +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 ( + "fmt" + + "kubedb.dev/apimachinery/apis" + "kubedb.dev/apimachinery/apis/ops" + "kubedb.dev/apimachinery/crds" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "kmodules.xyz/client-go/apiextensions" +) + +func (r *IgniteOpsRequest) CustomResourceDefinition() *apiextensions.CustomResourceDefinition { + return crds.MustCustomResourceDefinition(SchemeGroupVersion.WithResource(ResourcePluralIgniteOpsRequest)) +} + +var _ apis.ResourceInfo = &IgniteOpsRequest{} + +func (r *IgniteOpsRequest) ResourceFQN() string { + return fmt.Sprintf("%s.%s", ResourcePluralIgniteOpsRequest, ops.GroupName) +} + +func (r *IgniteOpsRequest) ResourceShortCode() string { + return ResourceCodeIgniteOpsRequest +} + +func (r *IgniteOpsRequest) ResourceKind() string { + return ResourceKindIgniteOpsRequest +} + +func (r *IgniteOpsRequest) ResourceSingular() string { + return ResourceSingularIgniteOpsRequest +} + +func (r *IgniteOpsRequest) ResourcePlural() string { + return ResourcePluralIgniteOpsRequest +} + +var _ Accessor = &IgniteOpsRequest{} + +func (r *IgniteOpsRequest) GetObjectMeta() metav1.ObjectMeta { + return r.ObjectMeta +} + +func (r *IgniteOpsRequest) GetDBRefName() string { + return r.Spec.DatabaseRef.Name +} + +func (r *IgniteOpsRequest) GetRequestType() any { + return r.Spec.Type +} + +func (r *IgniteOpsRequest) GetStatus() OpsRequestStatus { + return r.Status +} + +func (r *IgniteOpsRequest) SetStatus(s OpsRequestStatus) { + r.Status = s +} diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_types.go new file mode 100644 index 000000000..509e1cb62 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_types.go @@ -0,0 +1,139 @@ +/* +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. +*/ + +//go:generate go-enum --mustparse --names --values +package v1alpha1 + +import ( + core "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +const ( + ResourceCodeIgniteOpsRequest = "igops" + ResourceKindIgniteOpsRequest = "IgniteOpsRequest" + ResourceSingularIgniteOpsRequest = "igniteopsrequest" + ResourcePluralIgniteOpsRequest = "igniteopsrequests" +) + +// IgniteDBOpsRequest defines a Ignite DBA operation. + +// +genclient +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=igniteopsrequests,singular=igniteopsrequest,shortName=igops,categories={ops,kubedb,appscode} +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type" +// +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase" +// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +type IgniteOpsRequest struct { + metav1.TypeMeta `json:",inline,omitempty"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec IgniteOpsRequestSpec `json:"spec,omitempty"` + Status OpsRequestStatus `json:"status,omitempty"` +} + +// IgniteOpsRequestSpec is the spec for IgniteOpsRequest +type IgniteOpsRequestSpec struct { + // Specifies the Ignite reference + DatabaseRef core.LocalObjectReference `json:"databaseRef"` + // Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc. + Type IgniteOpsRequestType `json:"type"` + // Specifies information necessary for upgrading ignite + UpdateVersion *IgniteUpdateVersionSpec `json:"updateVersion,omitempty"` + // Specifies information necessary for horizontal scaling + HorizontalScaling *IgniteHorizontalScalingSpec `json:"horizontalScaling,omitempty"` + // Specifies information necessary for vertical scaling + VerticalScaling *IgniteVerticalScalingSpec `json:"verticalScaling,omitempty"` + // Specifies information necessary for volume expansion + VolumeExpansion *IgniteVolumeExpansionSpec `json:"volumeExpansion,omitempty"` + // Specifies information necessary for custom configuration of ignite + Configuration *IgniteCustomConfigurationSpec `json:"configuration,omitempty"` + // Specifies information necessary for configuring TLS + TLS *TLSSpec `json:"tls,omitempty"` + // Specifies information necessary for configuring authSecret of the database + Authentication *AuthSpec `json:"authentication,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"` + // ApplyOption is to control the execution of OpsRequest depending on the database state. + // +kubebuilder:default="IfReady" + Apply ApplyOption `json:"apply,omitempty"` +} + +// +kubebuilder:validation:Enum=UpdateVersion;HorizontalScaling;VerticalScaling;VolumeExpansion;Restart;Reconfigure;ReconfigureTLS;RotateAuth +// ENUM(UpdateVersion, HorizontalScaling, VerticalScaling, VolumeExpansion, Restart, Reconfigure, ReconfigureTLS, RotateAuth) +type IgniteOpsRequestType string + +// IgniteUpdateVersionSpec contains the update version information of a ignite cluster +type IgniteUpdateVersionSpec struct { + // Specifies the target version name from catalog + TargetVersion string `json:"targetVersion,omitempty"` +} + +// IgniteHorizontalScalingSpec contains the horizontal scaling information of a Ignite cluster +type IgniteHorizontalScalingSpec struct { + // Number of node + Ignite *int32 `json:"node,omitempty"` +} + +// IgniteVerticalScalingSpec contains the vertical scaling information of a Ignite cluster +type IgniteVerticalScalingSpec struct { + // Resource spec for nodes + Ignite *PodResources `json:"node,omitempty"` +} + +// IgniteVolumeExpansionSpec is the spec for Ignite volume expansion +type IgniteVolumeExpansionSpec struct { + Mode VolumeExpansionMode `json:"mode"` + // volume specification for nodes + Ignite *resource.Quantity `json:"node,omitempty"` +} + +// IgniteCustomConfigurationSpec is the spec for Reconfiguring the ignite Settings +type IgniteCustomConfigurationSpec struct { + // ConfigSecret is an optional field to provide custom configuration file for database. + // +optional + ConfigSecret *core.LocalObjectReference `json:"configSecret,omitempty"` + // ApplyConfig is an optional field to provide ignite configuration. + // Provided configuration will be applied to config files stored in ConfigSecret. + // If the ConfigSecret is missing, the operator will create a new k8s secret by the + // following naming convention: {db-name}-user-config . + // Expected input format: + // applyConfig: + // node-configuration.xml: | + // key=value + // +optional + ApplyConfig map[string]string `json:"applyConfig,omitempty"` + // If set to "true", the user provided configuration will be removed. + // The ignite cluster will start will default configuration that is generated by the operator. + // +optional + RemoveCustomConfig bool `json:"removeCustomConfig,omitempty"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// IgniteOpsRequestList is a list of IgniteOpsRequests +type IgniteOpsRequestList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + // Items is a list of IgniteOpsRequest CRD objects + Items []IgniteOpsRequest `json:"items,omitempty"` +} diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_types_enum.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_types_enum.go new file mode 100644 index 000000000..df4ef0e17 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/ignite_ops_types_enum.go @@ -0,0 +1,105 @@ +// Code generated by go-enum DO NOT EDIT. +// Version: +// Revision: +// Build Date: +// Built By: + +package v1alpha1 + +import ( + "fmt" + "strings" +) + +const ( + // IgniteOpsRequestTypeUpdateVersion is a IgniteOpsRequestType of type UpdateVersion. + IgniteOpsRequestTypeUpdateVersion IgniteOpsRequestType = "UpdateVersion" + // IgniteOpsRequestTypeHorizontalScaling is a IgniteOpsRequestType of type HorizontalScaling. + IgniteOpsRequestTypeHorizontalScaling IgniteOpsRequestType = "HorizontalScaling" + // IgniteOpsRequestTypeVerticalScaling is a IgniteOpsRequestType of type VerticalScaling. + IgniteOpsRequestTypeVerticalScaling IgniteOpsRequestType = "VerticalScaling" + // IgniteOpsRequestTypeVolumeExpansion is a IgniteOpsRequestType of type VolumeExpansion. + IgniteOpsRequestTypeVolumeExpansion IgniteOpsRequestType = "VolumeExpansion" + // IgniteOpsRequestTypeRestart is a IgniteOpsRequestType of type Restart. + IgniteOpsRequestTypeRestart IgniteOpsRequestType = "Restart" + // IgniteOpsRequestTypeReconfigure is a IgniteOpsRequestType of type Reconfigure. + IgniteOpsRequestTypeReconfigure IgniteOpsRequestType = "Reconfigure" + // IgniteOpsRequestTypeReconfigureTLS is a IgniteOpsRequestType of type ReconfigureTLS. + IgniteOpsRequestTypeReconfigureTLS IgniteOpsRequestType = "ReconfigureTLS" + // IgniteOpsRequestTypeRotateAuth is a IgniteOpsRequestType of type RotateAuth. + IgniteOpsRequestTypeRotateAuth IgniteOpsRequestType = "RotateAuth" +) + +var ErrInvalidIgniteOpsRequestType = fmt.Errorf("not a valid IgniteOpsRequestType, try [%s]", strings.Join(_IgniteOpsRequestTypeNames, ", ")) + +var _IgniteOpsRequestTypeNames = []string{ + string(IgniteOpsRequestTypeUpdateVersion), + string(IgniteOpsRequestTypeHorizontalScaling), + string(IgniteOpsRequestTypeVerticalScaling), + string(IgniteOpsRequestTypeVolumeExpansion), + string(IgniteOpsRequestTypeRestart), + string(IgniteOpsRequestTypeReconfigure), + string(IgniteOpsRequestTypeReconfigureTLS), + string(IgniteOpsRequestTypeRotateAuth), +} + +// IgniteOpsRequestTypeNames returns a list of possible string values of IgniteOpsRequestType. +func IgniteOpsRequestTypeNames() []string { + tmp := make([]string, len(_IgniteOpsRequestTypeNames)) + copy(tmp, _IgniteOpsRequestTypeNames) + return tmp +} + +// IgniteOpsRequestTypeValues returns a list of the values for IgniteOpsRequestType +func IgniteOpsRequestTypeValues() []IgniteOpsRequestType { + return []IgniteOpsRequestType{ + IgniteOpsRequestTypeUpdateVersion, + IgniteOpsRequestTypeHorizontalScaling, + IgniteOpsRequestTypeVerticalScaling, + IgniteOpsRequestTypeVolumeExpansion, + IgniteOpsRequestTypeRestart, + IgniteOpsRequestTypeReconfigure, + IgniteOpsRequestTypeReconfigureTLS, + IgniteOpsRequestTypeRotateAuth, + } +} + +// String implements the Stringer interface. +func (x IgniteOpsRequestType) String() string { + return string(x) +} + +// IsValid provides a quick way to determine if the typed value is +// part of the allowed enumerated values +func (x IgniteOpsRequestType) IsValid() bool { + _, err := ParseIgniteOpsRequestType(string(x)) + return err == nil +} + +var _IgniteOpsRequestTypeValue = map[string]IgniteOpsRequestType{ + "UpdateVersion": IgniteOpsRequestTypeUpdateVersion, + "HorizontalScaling": IgniteOpsRequestTypeHorizontalScaling, + "VerticalScaling": IgniteOpsRequestTypeVerticalScaling, + "VolumeExpansion": IgniteOpsRequestTypeVolumeExpansion, + "Restart": IgniteOpsRequestTypeRestart, + "Reconfigure": IgniteOpsRequestTypeReconfigure, + "ReconfigureTLS": IgniteOpsRequestTypeReconfigureTLS, + "RotateAuth": IgniteOpsRequestTypeRotateAuth, +} + +// ParseIgniteOpsRequestType attempts to convert a string to a IgniteOpsRequestType. +func ParseIgniteOpsRequestType(name string) (IgniteOpsRequestType, error) { + if x, ok := _IgniteOpsRequestTypeValue[name]; ok { + return x, nil + } + return IgniteOpsRequestType(""), fmt.Errorf("%s is %w", name, ErrInvalidIgniteOpsRequestType) +} + +// MustParseIgniteOpsRequestType converts a string to a IgniteOpsRequestType, and panics if is not valid. +func MustParseIgniteOpsRequestType(name string) IgniteOpsRequestType { + val, err := ParseIgniteOpsRequestType(name) + if err != nil { + panic(err) + } + return val +} diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mariadb_ops_types.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mariadb_ops_types.go index 52585bc60..32482642e 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mariadb_ops_types.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/mariadb_ops_types.go @@ -91,6 +91,9 @@ type MariaDBUpdateVersionSpec struct { } type MariaDBHorizontalScalingSpec struct { + // Specifies whether horizontal scaling is applied to the MaxScale Server. + // When set to true, it enables horizontal scaling for the MaxScale Server. + MaxScale bool `json:"maxscale,omitempty"` // Number of nodes/members of the group Member *int32 `json:"member,omitempty"` // specifies the weight of the current member/PodResources @@ -99,14 +102,16 @@ type MariaDBHorizontalScalingSpec struct { type MariaDBVerticalScalingSpec struct { MariaDB *PodResources `json:"mariadb,omitempty"` + MaxScale *PodResources `json:"maxscale,omitempty"` Exporter *ContainerResources `json:"exporter,omitempty"` Coordinator *ContainerResources `json:"coordinator,omitempty"` } // MariaDBVolumeExpansionSpec is the spec for MariaDB volume expansion type MariaDBVolumeExpansionSpec struct { - MariaDB *resource.Quantity `json:"mariadb,omitempty"` - Mode VolumeExpansionMode `json:"mode"` + MariaDB *resource.Quantity `json:"mariadb,omitempty"` + MaxScale *resource.Quantity `json:"maxscale,omitempty"` + Mode VolumeExpansionMode `json:"mode"` } type MariaDBCustomConfigurationSpec 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 96b7f4e6d..049f2d5ce 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/openapi_generated.go @@ -501,14 +501,17 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kmodules.xyz/offshoot-api/api/v1.ServiceTemplateSpec": schema_kmodulesxyz_offshoot_api_api_v1_ServiceTemplateSpec(ref), "kmodules.xyz/offshoot-api/api/v1.Volume": schema_kmodulesxyz_offshoot_api_api_v1_Volume(ref), "kmodules.xyz/offshoot-api/api/v1.VolumeSource": schema_kmodulesxyz_offshoot_api_api_v1_VolumeSource(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.Announce": schema_apimachinery_apis_ops_v1alpha1_Announce(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.ArchiverOptions": schema_apimachinery_apis_ops_v1alpha1_ArchiverOptions(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec": schema_apimachinery_apis_ops_v1alpha1_AuthSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraCustomConfigurationSpec": schema_apimachinery_apis_ops_v1alpha1_CassandraCustomConfigurationSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraHorizontalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_CassandraHorizontalScalingSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequest": schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequest(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequestList": schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequestList(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequestSpec": schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequestSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraUpdateVersionSpec": schema_apimachinery_apis_ops_v1alpha1_CassandraUpdateVersionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVerticalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_CassandraVerticalScalingSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVolumeExpansionSpec": schema_apimachinery_apis_ops_v1alpha1_CassandraVolumeExpansionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseClusterVerticalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_ClickHouseClusterVerticalScalingSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseOpsRequest": schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequest(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseOpsRequestList": schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequestList(ref), @@ -554,8 +557,24 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/ops/v1alpha1.FerretDBTLSSpec": schema_apimachinery_apis_ops_v1alpha1_FerretDBTLSSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.FerretDBUpdateVersionSpec": schema_apimachinery_apis_ops_v1alpha1_FerretDBUpdateVersionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.FerretDBVerticalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_FerretDBVerticalScalingSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastCustomConfigurationSpec": schema_apimachinery_apis_ops_v1alpha1_HazelcastCustomConfigurationSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastHorizontalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_HazelcastHorizontalScalingSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequest": schema_apimachinery_apis_ops_v1alpha1_HazelcastOpsRequest(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequestList": schema_apimachinery_apis_ops_v1alpha1_HazelcastOpsRequestList(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequestSpec": schema_apimachinery_apis_ops_v1alpha1_HazelcastOpsRequestSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastUpdateVersionSpec": schema_apimachinery_apis_ops_v1alpha1_HazelcastUpdateVersionSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastVerticalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_HazelcastVerticalScalingSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastVolumeExpansionSpec": schema_apimachinery_apis_ops_v1alpha1_HazelcastVolumeExpansionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.HiddenNode": schema_apimachinery_apis_ops_v1alpha1_HiddenNode(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.Horizons": schema_apimachinery_apis_ops_v1alpha1_Horizons(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteCustomConfigurationSpec": schema_apimachinery_apis_ops_v1alpha1_IgniteCustomConfigurationSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteHorizontalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_IgniteHorizontalScalingSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequest": schema_apimachinery_apis_ops_v1alpha1_IgniteOpsRequest(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequestList": schema_apimachinery_apis_ops_v1alpha1_IgniteOpsRequestList(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequestSpec": schema_apimachinery_apis_ops_v1alpha1_IgniteOpsRequestSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteUpdateVersionSpec": schema_apimachinery_apis_ops_v1alpha1_IgniteUpdateVersionSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteVerticalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_IgniteVerticalScalingSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteVolumeExpansionSpec": schema_apimachinery_apis_ops_v1alpha1_IgniteVolumeExpansionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaCustomConfigurationSpec": schema_apimachinery_apis_ops_v1alpha1_KafkaCustomConfigurationSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingTopologySpec": schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingTopologySpec(ref), @@ -705,6 +724,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVolumeExpansionSpec": schema_apimachinery_apis_ops_v1alpha1_RedisVolumeExpansionSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.Reprovision": schema_apimachinery_apis_ops_v1alpha1_Reprovision(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec": schema_apimachinery_apis_ops_v1alpha1_RestartSpec(ref), + "kubedb.dev/apimachinery/apis/ops/v1alpha1.Shards": schema_apimachinery_apis_ops_v1alpha1_Shards(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.SinglestoreCustomConfiguration": schema_apimachinery_apis_ops_v1alpha1_SinglestoreCustomConfiguration(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.SinglestoreCustomConfigurationSpec": schema_apimachinery_apis_ops_v1alpha1_SinglestoreCustomConfigurationSpec(ref), "kubedb.dev/apimachinery/apis/ops/v1alpha1.SinglestoreHorizontalScalingSpec": schema_apimachinery_apis_ops_v1alpha1_SinglestoreHorizontalScalingSpec(ref), @@ -21931,6 +21951,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, @@ -26016,6 +26048,40 @@ func schema_kmodulesxyz_offshoot_api_api_v1_VolumeSource(ref common.ReferenceCal } } +func schema_apimachinery_apis_ops_v1alpha1_Announce(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "shards": { + SchemaProps: spec.SchemaProps{ + Description: "This field is used to set cluster-announce information for redis cluster of each shard.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.Shards"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/ops/v1alpha1.Shards"}, + } +} + func schema_apimachinery_apis_ops_v1alpha1_ArchiverOptions(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -26108,232 +26174,27 @@ func schema_apimachinery_apis_ops_v1alpha1_CassandraCustomConfigurationSpec(ref } } -func schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequest(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{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), - }, - }, - "spec": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequestSpec"), - }, - }, - "status": { - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_CassandraHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "CassandraOpsRequestList is a list of CassandraOpsRequests", - 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{ - Default: map[string]interface{}{}, - Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), - }, - }, - "items": { - SchemaProps: spec.SchemaProps{ - Description: "Items is a list of CassandraOpsRequest CRD objects", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequest"), - }, - }, - }, - }, - }, - }, - }, - }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequest"}, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "CassandraOpsRequestSpec is the spec for CassandraOpsRequest", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "databaseRef": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the Cassandra reference", - Default: map[string]interface{}{}, - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), - }, - }, - "type": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc.", - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - "updateVersion": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for upgrading cassandra", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraUpdateVersionSpec"), - }, - }, - "verticalScaling": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for vertical scaling", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVerticalScalingSpec"), - }, - }, - "restart": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for restarting database", - 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"), - }, - }, - "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"}, - }, - }, - Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"}, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_CassandraUpdateVersionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "CassandraUpdateVersionSpec contains the update version information of a cassandra cluster", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "targetVersion": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies the target version name from catalog", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_CassandraVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "CassandraVerticalScalingSpec contains the vertical scaling information of a Cassandra cluster", + Description: "CassandraHorizontalScalingSpec contains the horizontal scaling information of a Cassandra cluster", Type: []string{"object"}, Properties: map[string]spec.Schema{ "node": { SchemaProps: spec.SchemaProps{ - Description: "Resource spec for nodes", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"}, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_ClickHouseClusterVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "clusterName": { - SchemaProps: spec.SchemaProps{ - Description: "Name of the ClickHouse cluster to which the vertical scaling configuration applies.", - Type: []string{"string"}, - Format: "", - }, - }, - "node": { - SchemaProps: spec.SchemaProps{ - Description: "Resource specifications for the nodes in this ClickHouse cluster.", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + Description: "Number of node", + Type: []string{"integer"}, + Format: "int32", }, }, }, }, }, - Dependencies: []string{ - "kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"}, } } -func schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -26362,7 +26223,7 @@ func schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequest(ref common.Refer "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseOpsRequestSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequestSpec"), }, }, "status": { @@ -26375,15 +26236,299 @@ func schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequest(ref common.Refer }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, } } -func schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "ClickHouseOpsRequestList is a list of ClickHouseOpsRequests", + Description: "CassandraOpsRequestList is a list of CassandraOpsRequests", + 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{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items is a list of CassandraOpsRequest CRD objects", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequest"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraOpsRequest"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_CassandraOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "CassandraOpsRequestSpec is the spec for CassandraOpsRequest", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "configuration": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for custom configuration of Cassandra", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraCustomConfigurationSpec"), + }, + }, + "databaseRef": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the Cassandra reference", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "horizontalScaling": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for horizontal scaling", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraHorizontalScalingSpec"), + }, + }, + "updateVersion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for upgrading cassandra", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraUpdateVersionSpec"), + }, + }, + "verticalScaling": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for vertical scaling", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVerticalScalingSpec"), + }, + }, + "volumeExpansion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for volume expansion", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVolumeExpansionSpec"), + }, + }, + "restart": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for restarting database", + 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"), + }, + }, + "tls": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for configuring TLS", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"), + }, + }, + "keystoreCredSecret": { + SchemaProps: spec.SchemaProps{ + Description: "Keystore encryption secret", + Ref: ref("kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference"), + }, + }, + "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"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/kubedb/v1alpha2.SecretReference", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.CassandraVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_CassandraUpdateVersionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "CassandraUpdateVersionSpec contains the update version information of a cassandra cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "targetVersion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the target version name from catalog", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_CassandraVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "CassandraVerticalScalingSpec contains the vertical scaling information of a Cassandra cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "node": { + SchemaProps: spec.SchemaProps{ + Description: "Resource spec for nodes", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_CassandraVolumeExpansionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "CassandraVolumeExpansionSpec is the spec for Cassandra volume expansion", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "mode": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "node": { + SchemaProps: spec.SchemaProps{ + Description: "volume specification for nodes", + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, + Required: []string{"mode"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_ClickHouseClusterVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "clusterName": { + SchemaProps: spec.SchemaProps{ + Description: "Name of the ClickHouse cluster to which the vertical scaling configuration applies.", + Type: []string{"string"}, + Format: "", + }, + }, + "node": { + SchemaProps: spec.SchemaProps{ + Description: "Resource specifications for the nodes in this ClickHouse cluster.", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequest(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{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseOpsRequestSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.ClickHouseOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_ClickHouseOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClickHouseOpsRequestList is a list of ClickHouseOpsRequests", Type: []string{"object"}, Properties: map[string]spec.Schema{ "kind": { @@ -28200,64 +28345,11 @@ func schema_apimachinery_apis_ops_v1alpha1_FerretDBVerticalScalingSpec(ref commo } } -func schema_apimachinery_apis_ops_v1alpha1_HiddenNode(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "replicas": { - SchemaProps: spec.SchemaProps{ - Type: []string{"integer"}, - Format: "int32", - }, - }, - }, - }, - }, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_Horizons(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastCustomConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "dns": { - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - "pods": { - SchemaProps: spec.SchemaProps{ - Description: "Pods contain the host:port for all the replicas. Its length will be same as db.spec.replicas", - Type: []string{"array"}, - Items: &spec.SchemaOrArray{ - Schema: &spec.Schema{ - SchemaProps: spec.SchemaProps{ - Default: "", - Type: []string{"string"}, - Format: "", - }, - }, - }, - }, - }, - }, - Required: []string{"dns"}, - }, - }, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_KafkaCustomConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "KafkaCustomConfigurationSpec is the spec for Reconfiguring the Kafka Settings", + Description: "HazelcastCustomConfigurationSpec is the spec for Reconfiguring the hazelcast Settings", Type: []string{"object"}, Properties: map[string]spec.Schema{ "configSecret": { @@ -28268,7 +28360,7 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaCustomConfigurationSpec(ref comm }, "applyConfig": { SchemaProps: spec.SchemaProps{ - Description: "ApplyConfig is an optional field to provide Kafka configuration. Provided configuration will be applied to config files stored in ConfigSecret. If the ConfigSecret is missing, the operator will create a new k8s secret by the following naming convention: {db-name}-user-config . Expected input format:\n\tapplyConfig:\n\t\tfile-name.properties: |\n\t\t\tkey=value\n\t\tserver.properties: |\n\t\t\tlog.retention.ms=10000", + Description: "ApplyConfig is an optional field to provide hazelcast configuration. Provided configuration will be applied to config files stored in ConfigSecret. If the ConfigSecret is missing, the operator will create a new k8s secret by the following naming convention: {db-name}-user-config . Expected input format:\n\tapplyConfig:\n\t\thazelcast.xml: |\n\t\t\tkey=value", Type: []string{"object"}, AdditionalProperties: &spec.SchemaOrBool{ Allows: true, @@ -28284,7 +28376,7 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaCustomConfigurationSpec(ref comm }, "removeCustomConfig": { SchemaProps: spec.SchemaProps{ - Description: "If set to \"true\", the user provided configuration will be removed. The Kafka cluster will start will default configuration that is generated by the operator.", + Description: "If set to \"true\", the user provided configuration will be removed. The hazelcast cluster will start will default configuration that is generated by the operator.", Type: []string{"boolean"}, Format: "", }, @@ -28297,51 +28389,15 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaCustomConfigurationSpec(ref comm } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "KafkaHorizontalScalingSpec contains the horizontal scaling information of a Kafka cluster", - Type: []string{"object"}, - Properties: map[string]spec.Schema{ - "node": { - SchemaProps: spec.SchemaProps{ - Description: "Number of combined (i.e. broker, controller) node", - Type: []string{"integer"}, - Format: "int32", - }, - }, - "topology": { - SchemaProps: spec.SchemaProps{ - Description: "Node topology specification", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingTopologySpec"), - }, - }, - }, - }, - }, - Dependencies: []string{ - "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingTopologySpec"}, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingTopologySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "KafkaHorizontalScalingTopologySpec contains the horizontal scaling information in cluster topology mode", - Type: []string{"object"}, + Type: []string{"object"}, Properties: map[string]spec.Schema{ - "broker": { - SchemaProps: spec.SchemaProps{ - Description: "Number of broker nodes", - Type: []string{"integer"}, - Format: "int32", - }, - }, - "controller": { + "hazelcast": { SchemaProps: spec.SchemaProps{ - Description: "Number of controller nodes", + Description: "Number of hazelcast node", Type: []string{"integer"}, Format: "int32", }, @@ -28352,7 +28408,7 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingTopologySpec(re } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastOpsRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -28381,7 +28437,7 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequest(ref common.ReferenceC "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequestSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequestSpec"), }, }, "status": { @@ -28394,15 +28450,15 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequest(ref common.ReferenceC }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "KafkaOpsRequestList is a list of KafkaOpsRequests", + Description: "HazelcastOpsRequestList is a list of HazelcastOpsRequests", Type: []string{"object"}, Properties: map[string]spec.Schema{ "kind": { @@ -28427,13 +28483,13 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestList(ref common.Refere }, "items": { SchemaProps: spec.SchemaProps{ - Description: "Items is a list of KafkaOpsRequest CRD objects", + Description: "Items is a list of HazelcastOpsRequest CRD objects", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequest"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequest"), }, }, }, @@ -28443,20 +28499,20 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestList(ref common.Refere }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequest"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastOpsRequest"}, } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "KafkaOpsRequestSpec is the spec for KafkaOpsRequest", + Description: "HazelcastOpsRequestSpec is the spec for HazelcastOpsRequest", Type: []string{"object"}, Properties: map[string]spec.Schema{ "databaseRef": { SchemaProps: spec.SchemaProps{ - Description: "Specifies the Kafka reference", + Description: "Specifies the Druid reference", Default: map[string]interface{}{}, Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, @@ -28471,32 +28527,38 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestSpec(ref common.Refere }, "updateVersion": { SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for upgrading Kafka", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaUpdateVersionSpec"), + Description: "Specifies information necessary for upgrading Hazelcast", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastUpdateVersionSpec"), }, }, "horizontalScaling": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for horizontal scaling", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastHorizontalScalingSpec"), }, }, "verticalScaling": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for vertical scaling", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVerticalScalingSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastVerticalScalingSpec"), }, }, "volumeExpansion": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for volume expansion", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVolumeExpansionSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastVolumeExpansionSpec"), + }, + }, + "restart": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for restarting database", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"), }, }, "configuration": { SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for custom configuration of Kafka", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaCustomConfigurationSpec"), + Description: "Specifies information necessary for custom configuration of hazelcast", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastCustomConfigurationSpec"), }, }, "tls": { @@ -28511,12 +28573,6 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestSpec(ref common.Refere Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec"), }, }, - "restart": { - SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for restarting database", - 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.", @@ -28535,27 +28591,15 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestSpec(ref common.Refere }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVolumeExpansionSpec", "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.AuthSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.HazelcastVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaReplicaReadinessCriteria(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastUpdateVersionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "KafkaReplicaReadinessCriteria is the criteria for checking readiness of a Kafka pod after updating, horizontal scaling etc.", - Type: []string{"object"}, - }, - }, - } -} - -func schema_apimachinery_apis_ops_v1alpha1_KafkaUpdateVersionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { - return common.OpenAPIDefinition{ - Schema: spec.Schema{ - SchemaProps: spec.SchemaProps{ - Description: "KafkaUpdateVersionSpec contains the update version information of a kafka cluster", - Type: []string{"object"}, + Type: []string{"object"}, Properties: map[string]spec.Schema{ "targetVersion": { SchemaProps: spec.SchemaProps{ @@ -28570,28 +28614,15 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaUpdateVersionSpec(ref common.Ref } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "KafkaVerticalScalingSpec contains the vertical scaling information of a Kafka cluster", - Type: []string{"object"}, + Type: []string{"object"}, Properties: map[string]spec.Schema{ - "node": { + "hazelcast": { SchemaProps: spec.SchemaProps{ - Description: "Resource spec for combined nodes", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), - }, - }, - "broker": { - SchemaProps: spec.SchemaProps{ - Description: "Resource spec for broker", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), - }, - }, - "controller": { - SchemaProps: spec.SchemaProps{ - Description: "Resource spec for controller", + Description: "Resource spec for hazelcast nodes", Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), }, }, @@ -28603,12 +28634,11 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaVerticalScalingSpec(ref common.R } } -func schema_apimachinery_apis_ops_v1alpha1_KafkaVolumeExpansionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_HazelcastVolumeExpansionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "KafkaVolumeExpansionSpec is the spec for Kafka volume expansion", - Type: []string{"object"}, + Type: []string{"object"}, Properties: map[string]spec.Schema{ "mode": { SchemaProps: spec.SchemaProps{ @@ -28617,48 +28647,91 @@ func schema_apimachinery_apis_ops_v1alpha1_KafkaVolumeExpansionSpec(ref common.R Format: "", }, }, - "node": { + "hazelcast": { SchemaProps: spec.SchemaProps{ - Description: "volume specification for combined nodes", + Description: "volume specification for hazelcast nodes", Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), }, }, - "broker": { + }, + Required: []string{"mode"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_HiddenNode(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "replicas": { SchemaProps: spec.SchemaProps{ - Description: "volume specification for broker", - Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + Type: []string{"integer"}, + Format: "int32", }, }, - "controller": { + }, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_Horizons(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "dns": { SchemaProps: spec.SchemaProps{ - Description: "volume specification for controller", - Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "pods": { + SchemaProps: spec.SchemaProps{ + Description: "Pods contain the host:port for all the replicas. Its length will be same as db.spec.replicas", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, }, }, }, - Required: []string{"mode"}, + Required: []string{"dns"}, }, }, - Dependencies: []string{ - "k8s.io/apimachinery/pkg/api/resource.Quantity"}, } } -func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerCustomConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_IgniteCustomConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "MSSQLServerCustomConfigurationSpec is the spec for Reconfiguring the MSSQLServer", + Description: "IgniteCustomConfigurationSpec is the spec for Reconfiguring the ignite Settings", Type: []string{"object"}, Properties: map[string]spec.Schema{ "configSecret": { SchemaProps: spec.SchemaProps{ - Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + Description: "ConfigSecret is an optional field to provide custom configuration file for database.", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, }, "applyConfig": { SchemaProps: spec.SchemaProps{ - Type: []string{"object"}, + Description: "ApplyConfig is an optional field to provide ignite configuration. Provided configuration will be applied to config files stored in ConfigSecret. If the ConfigSecret is missing, the operator will create a new k8s secret by the following naming convention: {db-name}-user-config . Expected input format:\n\tapplyConfig:\n\t\tnode-configuration.xml: |\n\t\t\tkey=value", + Type: []string{"object"}, AdditionalProperties: &spec.SchemaOrBool{ Allows: true, Schema: &spec.Schema{ @@ -28673,8 +28746,9 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerCustomConfigurationSpec(re }, "removeCustomConfig": { SchemaProps: spec.SchemaProps{ - Type: []string{"boolean"}, - Format: "", + Description: "If set to \"true\", the user provided configuration will be removed. The ignite cluster will start will default configuration that is generated by the operator.", + Type: []string{"boolean"}, + Format: "", }, }, }, @@ -28685,16 +28759,16 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerCustomConfigurationSpec(re } } -func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_IgniteHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "MSSQLServerHorizontalScalingSpec contains the horizontal scaling information of a MSSQLServer cluster", + Description: "IgniteHorizontalScalingSpec contains the horizontal scaling information of a Ignite cluster", Type: []string{"object"}, Properties: map[string]spec.Schema{ - "replicas": { + "node": { SchemaProps: spec.SchemaProps{ - Description: "Number of Replicas of MSSQLServer Availability Group", + Description: "Number of node", Type: []string{"integer"}, Format: "int32", }, @@ -28705,7 +28779,7 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerHorizontalScalingSpec(ref } } -func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_IgniteOpsRequest(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ @@ -28734,7 +28808,7 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequest(ref common.Refe "spec": { SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequestSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequestSpec"), }, }, "status": { @@ -28747,15 +28821,15 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequest(ref common.Refe }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, } } -func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_IgniteOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "MSSQLServerOpsRequestList is a list of MSSQLServerOpsRequests", + Description: "IgniteOpsRequestList is a list of IgniteOpsRequests", Type: []string{"object"}, Properties: map[string]spec.Schema{ "kind": { @@ -28780,13 +28854,13 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestList(ref common. }, "items": { SchemaProps: spec.SchemaProps{ - Description: "Items is a list of MSSQLServerOpsRequest CRD objects", + Description: "Items is a list of IgniteOpsRequest CRD objects", Type: []string{"array"}, Items: &spec.SchemaOrArray{ Schema: &spec.Schema{ SchemaProps: spec.SchemaProps{ Default: map[string]interface{}{}, - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequest"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequest"), }, }, }, @@ -28796,20 +28870,20 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestList(ref common. }, }, Dependencies: []string{ - "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequest"}, + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteOpsRequest"}, } } -func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { +func schema_apimachinery_apis_ops_v1alpha1_IgniteOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ SchemaProps: spec.SchemaProps{ - Description: "MSSQLServerOpsRequestSpec is the spec for MSSQLServerOpsRequest", + Description: "IgniteOpsRequestSpec is the spec for IgniteOpsRequest", Type: []string{"object"}, Properties: map[string]spec.Schema{ "databaseRef": { SchemaProps: spec.SchemaProps{ - Description: "Specifies the MSSQLServer reference", + Description: "Specifies the Ignite reference", Default: map[string]interface{}{}, Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), }, @@ -28824,38 +28898,747 @@ func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestSpec(ref common. }, "updateVersion": { SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for upgrading MSSQL", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerUpdateVersionSpec"), + Description: "Specifies information necessary for upgrading ignite", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteUpdateVersionSpec"), }, }, "horizontalScaling": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for horizontal scaling", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerHorizontalScalingSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteHorizontalScalingSpec"), }, }, "verticalScaling": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for vertical scaling", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerVerticalScalingSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteVerticalScalingSpec"), }, }, "volumeExpansion": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for volume expansion", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerVolumeExpansionSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteVolumeExpansionSpec"), }, }, "configuration": { SchemaProps: spec.SchemaProps{ - Description: "Specifies information necessary for custom configuration of MSSQLServer", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerCustomConfigurationSpec"), + Description: "Specifies information necessary for custom configuration of ignite", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteCustomConfigurationSpec"), }, }, "tls": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for configuring TLS", - Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerTLSSpec"), + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"), + }, + }, + "authentication": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for configuring authSecret of the database", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec"), + }, + }, + "restart": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for restarting database", + 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"), + }, + }, + "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"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.IgniteVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_IgniteUpdateVersionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "IgniteUpdateVersionSpec contains the update version information of a ignite cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "targetVersion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the target version name from catalog", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_IgniteVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "IgniteVerticalScalingSpec contains the vertical scaling information of a Ignite cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "node": { + SchemaProps: spec.SchemaProps{ + Description: "Resource spec for nodes", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_IgniteVolumeExpansionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "IgniteVolumeExpansionSpec is the spec for Ignite volume expansion", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "mode": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "node": { + SchemaProps: spec.SchemaProps{ + Description: "volume specification for nodes", + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, + Required: []string{"mode"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaCustomConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaCustomConfigurationSpec is the spec for Reconfiguring the Kafka Settings", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "configSecret": { + SchemaProps: spec.SchemaProps{ + Description: "ConfigSecret is an optional field to provide custom configuration file for database.", + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "applyConfig": { + SchemaProps: spec.SchemaProps{ + Description: "ApplyConfig is an optional field to provide Kafka configuration. Provided configuration will be applied to config files stored in ConfigSecret. If the ConfigSecret is missing, the operator will create a new k8s secret by the following naming convention: {db-name}-user-config . Expected input format:\n\tapplyConfig:\n\t\tfile-name.properties: |\n\t\t\tkey=value\n\t\tserver.properties: |\n\t\t\tlog.retention.ms=10000", + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "removeCustomConfig": { + SchemaProps: spec.SchemaProps{ + Description: "If set to \"true\", the user provided configuration will be removed. The Kafka cluster will start will default configuration that is generated by the operator.", + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaHorizontalScalingSpec contains the horizontal scaling information of a Kafka cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "node": { + SchemaProps: spec.SchemaProps{ + Description: "Number of combined (i.e. broker, controller) node", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "topology": { + SchemaProps: spec.SchemaProps{ + Description: "Node topology specification", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingTopologySpec"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingTopologySpec"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaHorizontalScalingTopologySpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaHorizontalScalingTopologySpec contains the horizontal scaling information in cluster topology mode", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "broker": { + SchemaProps: spec.SchemaProps{ + Description: "Number of broker nodes", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "controller": { + SchemaProps: spec.SchemaProps{ + Description: "Number of controller nodes", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequest(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{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequestSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaOpsRequestList is a list of KafkaOpsRequests", + 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{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items is a list of KafkaOpsRequest CRD objects", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequest"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaOpsRequest"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaOpsRequestSpec is the spec for KafkaOpsRequest", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "databaseRef": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the Kafka reference", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "updateVersion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for upgrading Kafka", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaUpdateVersionSpec"), + }, + }, + "horizontalScaling": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for horizontal scaling", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingSpec"), + }, + }, + "verticalScaling": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for vertical scaling", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVerticalScalingSpec"), + }, + }, + "volumeExpansion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for volume expansion", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVolumeExpansionSpec"), + }, + }, + "configuration": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for custom configuration of Kafka", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaCustomConfigurationSpec"), + }, + }, + "tls": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for configuring TLS", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"), + }, + }, + "authentication": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for configuring authSecret of the database", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec"), + }, + }, + "restart": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for restarting database", + 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"), + }, + }, + "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"}, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.KafkaVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.TLSSpec"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaReplicaReadinessCriteria(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaReplicaReadinessCriteria is the criteria for checking readiness of a Kafka pod after updating, horizontal scaling etc.", + Type: []string{"object"}, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaUpdateVersionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaUpdateVersionSpec contains the update version information of a kafka cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "targetVersion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the target version name from catalog", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaVerticalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaVerticalScalingSpec contains the vertical scaling information of a Kafka cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "node": { + SchemaProps: spec.SchemaProps{ + Description: "Resource spec for combined nodes", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, + "broker": { + SchemaProps: spec.SchemaProps{ + Description: "Resource spec for broker", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, + "controller": { + SchemaProps: spec.SchemaProps{ + Description: "Resource spec for controller", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_KafkaVolumeExpansionSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "KafkaVolumeExpansionSpec is the spec for Kafka volume expansion", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "mode": { + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "node": { + SchemaProps: spec.SchemaProps{ + Description: "volume specification for combined nodes", + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + "broker": { + SchemaProps: spec.SchemaProps{ + Description: "volume specification for broker", + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + "controller": { + SchemaProps: spec.SchemaProps{ + Description: "volume specification for controller", + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, + }, + Required: []string{"mode"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/api/resource.Quantity"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerCustomConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerCustomConfigurationSpec is the spec for Reconfiguring the MSSQLServer", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "configSecret": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "applyConfig": { + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + AdditionalProperties: &spec.SchemaOrBool{ + Allows: true, + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + "removeCustomConfig": { + SchemaProps: spec.SchemaProps{ + Type: []string{"boolean"}, + Format: "", + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/api/core/v1.LocalObjectReference"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerHorizontalScalingSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerHorizontalScalingSpec contains the horizontal scaling information of a MSSQLServer cluster", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "replicas": { + SchemaProps: spec.SchemaProps{ + Description: "Number of Replicas of MSSQLServer Availability Group", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + }, + }, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequest(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{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequestSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"), + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequestSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.OpsRequestStatus"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerOpsRequestList is a list of MSSQLServerOpsRequests", + 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{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items is a list of MSSQLServerOpsRequest CRD objects", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequest"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta", "kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerOpsRequest"}, + } +} + +func schema_apimachinery_apis_ops_v1alpha1_MSSQLServerOpsRequestSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MSSQLServerOpsRequestSpec is the spec for MSSQLServerOpsRequest", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "databaseRef": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the MSSQLServer reference", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/api/core/v1.LocalObjectReference"), + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies the ops request type: UpdateVersion, HorizontalScaling, VerticalScaling etc.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "updateVersion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for upgrading MSSQL", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerUpdateVersionSpec"), + }, + }, + "horizontalScaling": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for horizontal scaling", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerHorizontalScalingSpec"), + }, + }, + "verticalScaling": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for vertical scaling", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerVerticalScalingSpec"), + }, + }, + "volumeExpansion": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for volume expansion", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerVolumeExpansionSpec"), + }, + }, + "configuration": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for custom configuration of MSSQLServer", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerCustomConfigurationSpec"), + }, + }, + "tls": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies information necessary for configuring TLS", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.MSSQLServerTLSSpec"), }, }, "authentication": { @@ -29125,6 +29908,13 @@ func schema_apimachinery_apis_ops_v1alpha1_MariaDBHorizontalScalingSpec(ref comm SchemaProps: spec.SchemaProps{ Type: []string{"object"}, Properties: map[string]spec.Schema{ + "maxscale": { + SchemaProps: spec.SchemaProps{ + Description: "Specifies whether horizontal scaling is applied to the MaxScale Server. When set to true, it enables horizontal scaling for the MaxScale Server.", + Type: []string{"boolean"}, + Format: "", + }, + }, "member": { SchemaProps: spec.SchemaProps{ Description: "Number of nodes/members of the group", @@ -29428,6 +30218,11 @@ func schema_apimachinery_apis_ops_v1alpha1_MariaDBVerticalScalingSpec(ref common Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), }, }, + "maxscale": { + SchemaProps: spec.SchemaProps{ + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.PodResources"), + }, + }, "exporter": { SchemaProps: spec.SchemaProps{ Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.ContainerResources"), @@ -29458,6 +30253,11 @@ func schema_apimachinery_apis_ops_v1alpha1_MariaDBVolumeExpansionSpec(ref common Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), }, }, + "maxscale": { + SchemaProps: spec.SchemaProps{ + Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), + }, + }, "mode": { SchemaProps: spec.SchemaProps{ Default: "", @@ -33533,6 +34333,12 @@ func schema_apimachinery_apis_ops_v1alpha1_RedisOpsRequestSpec(ref common.Refere Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"), }, }, + "announce": { + SchemaProps: spec.SchemaProps{ + Description: "Announce is used to announce the redis cluster endpoints. It is used to set cluster-announce-ip, cluster-announce-port, cluster-announce-bus-port, cluster-announce-tls-port", + Ref: ref("kubedb.dev/apimachinery/apis/ops/v1alpha1.Announce"), + }, + }, "sentinel": { SchemaProps: spec.SchemaProps{ Description: "Specifies information necessary for replacing sentinel instances", @@ -33557,7 +34363,7 @@ func schema_apimachinery_apis_ops_v1alpha1_RedisOpsRequestSpec(ref common.Refere }, }, Dependencies: []string{ - "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisSentinelSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisTLSSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"}, + "k8s.io/api/core/v1.LocalObjectReference", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "kubedb.dev/apimachinery/apis/ops/v1alpha1.Announce", "kubedb.dev/apimachinery/apis/ops/v1alpha1.AuthSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisCustomConfigurationSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisHorizontalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisSentinelSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisTLSSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisUpdateVersionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVerticalScalingSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RedisVolumeExpansionSpec", "kubedb.dev/apimachinery/apis/ops/v1alpha1.RestartSpec"}, } } @@ -34113,6 +34919,33 @@ func schema_apimachinery_apis_ops_v1alpha1_RestartSpec(ref common.ReferenceCallb } } +func schema_apimachinery_apis_ops_v1alpha1_Shards(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "endpoints": { + SchemaProps: spec.SchemaProps{ + Description: "Endpoints contains the cluster-announce information for all the replicas in a shard. This will be used to set cluster-announce-ip/hostname, cluster-announce-port/cluster-announce-tls-port and cluster-announce-bus-port format cluster-announce (host:port@busport)", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + }, + }, + }, + } +} + func schema_apimachinery_apis_ops_v1alpha1_SinglestoreCustomConfiguration(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ 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 7c9d9c722..ce04d58c3 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 @@ -71,6 +71,10 @@ type RedisOpsRequestSpec struct { Authentication *AuthSpec `json:"authentication,omitempty"` // Specifies information necessary for restarting database Restart *RestartSpec `json:"restart,omitempty"` + // Announce is used to announce the redis cluster endpoints. + // It is used to set + // cluster-announce-ip, cluster-announce-port, cluster-announce-bus-port, cluster-announce-tls-port + Announce *Announce `json:"announce,omitempty"` // Specifies information necessary for replacing sentinel instances Sentinel *RedisSentinelSpec `json:"sentinel,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. @@ -80,8 +84,8 @@ type RedisOpsRequestSpec struct { Apply ApplyOption `json:"apply,omitempty"` } -// +kubebuilder:validation:Enum=UpdateVersion;HorizontalScaling;VerticalScaling;VolumeExpansion;Restart;Reconfigure;ReconfigureTLS;ReplaceSentinel;RotateAuth -// ENUM(UpdateVersion, HorizontalScaling, VerticalScaling, VolumeExpansion, Restart, Reconfigure, ReconfigureTLS, ReplaceSentinel, RotateAuth) +// +kubebuilder:validation:Enum=UpdateVersion;HorizontalScaling;VerticalScaling;VolumeExpansion;Restart;Reconfigure;ReconfigureTLS;ReplaceSentinel;RotateAuth;Announce +// ENUM(UpdateVersion, HorizontalScaling, VerticalScaling, VolumeExpansion, Restart, Reconfigure, ReconfigureTLS, ReplaceSentinel, RotateAuth, Announce) type RedisOpsRequestType string type RedisTLSSpec struct { @@ -145,6 +149,29 @@ type RedisCustomConfigurationSpec struct { RemoveCustomConfig bool `json:"removeCustomConfig,omitempty"` } +// +kubebuilder:validation:Enum=ip;hostname +type PreferredEndpointType string + +const ( + PreferredEndpointTypeIP PreferredEndpointType = "ip" + PreferredEndpointTypeHostname PreferredEndpointType = "hostname" +) + +type Announce struct { + // +kubebuilder:default=hostname + Type PreferredEndpointType `json:"type,omitempty"` + // This field is used to set cluster-announce information for redis cluster of each shard. + Shards []Shards `json:"shards,omitempty"` +} + +type Shards struct { + // Endpoints contains the cluster-announce information for all the replicas in a shard. + // This will be used to set cluster-announce-ip/hostname, cluster-announce-port/cluster-announce-tls-port + // and cluster-announce-bus-port + // format cluster-announce (host:port@busport) + Endpoints []string `json:"endpoints,omitempty"` +} + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // RedisOpsRequestList is a list of RedisOpsRequests diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types_enum.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types_enum.go index 47b134a8b..9da331305 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types_enum.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/redis_ops_types_enum.go @@ -30,6 +30,8 @@ const ( RedisOpsRequestTypeReplaceSentinel RedisOpsRequestType = "ReplaceSentinel" // RedisOpsRequestTypeRotateAuth is a RedisOpsRequestType of type RotateAuth. RedisOpsRequestTypeRotateAuth RedisOpsRequestType = "RotateAuth" + // RedisOpsRequestTypeAnnounce is a RedisOpsRequestType of type Announce. + RedisOpsRequestTypeAnnounce RedisOpsRequestType = "Announce" ) var ErrInvalidRedisOpsRequestType = fmt.Errorf("not a valid RedisOpsRequestType, try [%s]", strings.Join(_RedisOpsRequestTypeNames, ", ")) @@ -44,6 +46,7 @@ var _RedisOpsRequestTypeNames = []string{ string(RedisOpsRequestTypeReconfigureTLS), string(RedisOpsRequestTypeReplaceSentinel), string(RedisOpsRequestTypeRotateAuth), + string(RedisOpsRequestTypeAnnounce), } // RedisOpsRequestTypeNames returns a list of possible string values of RedisOpsRequestType. @@ -65,6 +68,7 @@ func RedisOpsRequestTypeValues() []RedisOpsRequestType { RedisOpsRequestTypeReconfigureTLS, RedisOpsRequestTypeReplaceSentinel, RedisOpsRequestTypeRotateAuth, + RedisOpsRequestTypeAnnounce, } } @@ -90,6 +94,7 @@ var _RedisOpsRequestTypeValue = map[string]RedisOpsRequestType{ "ReconfigureTLS": RedisOpsRequestTypeReconfigureTLS, "ReplaceSentinel": RedisOpsRequestTypeReplaceSentinel, "RotateAuth": RedisOpsRequestTypeRotateAuth, + "Announce": RedisOpsRequestTypeAnnounce, } // ParseRedisOpsRequestType attempts to convert a string to a RedisOpsRequestType. diff --git a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/register.go b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/register.go index 51f2e3c3a..0cd4bfda5 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/register.go +++ b/vendor/kubedb.dev/apimachinery/apis/ops/v1alpha1/register.go @@ -64,8 +64,12 @@ func addKnownTypes(scheme *runtime.Scheme) error { &ElasticsearchOpsRequestList{}, &FerretDBOpsRequest{}, &FerretDBOpsRequestList{}, + &HazelcastOpsRequest{}, + &HazelcastOpsRequestList{}, &EtcdOpsRequest{}, &EtcdOpsRequestList{}, + &IgniteOpsRequest{}, + &IgniteOpsRequestList{}, &KafkaOpsRequest{}, &KafkaOpsRequestList{}, &MariaDBOpsRequest{}, 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 fc6523832..3e86c51c6 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 @@ -31,6 +31,29 @@ import ( apiv1 "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 *Announce) DeepCopyInto(out *Announce) { + *out = *in + if in.Shards != nil { + in, out := &in.Shards, &out.Shards + *out = make([]Shards, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Announce. +func (in *Announce) DeepCopy() *Announce { + if in == nil { + return nil + } + out := new(Announce) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ArchiverOptions) DeepCopyInto(out *ArchiverOptions) { *out = *in @@ -97,6 +120,27 @@ func (in *CassandraCustomConfigurationSpec) DeepCopy() *CassandraCustomConfigura return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CassandraHorizontalScalingSpec) DeepCopyInto(out *CassandraHorizontalScalingSpec) { + *out = *in + if in.Node != nil { + in, out := &in.Node, &out.Node + *out = new(int32) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraHorizontalScalingSpec. +func (in *CassandraHorizontalScalingSpec) DeepCopy() *CassandraHorizontalScalingSpec { + if in == nil { + return nil + } + out := new(CassandraHorizontalScalingSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CassandraOpsRequest) DeepCopyInto(out *CassandraOpsRequest) { *out = *in @@ -161,7 +205,17 @@ func (in *CassandraOpsRequestList) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CassandraOpsRequestSpec) DeepCopyInto(out *CassandraOpsRequestSpec) { *out = *in + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(CassandraCustomConfigurationSpec) + (*in).DeepCopyInto(*out) + } out.DatabaseRef = in.DatabaseRef + if in.HorizontalScaling != nil { + in, out := &in.HorizontalScaling, &out.HorizontalScaling + *out = new(CassandraHorizontalScalingSpec) + (*in).DeepCopyInto(*out) + } if in.UpdateVersion != nil { in, out := &in.UpdateVersion, &out.UpdateVersion *out = new(CassandraUpdateVersionSpec) @@ -172,6 +226,11 @@ func (in *CassandraOpsRequestSpec) DeepCopyInto(out *CassandraOpsRequestSpec) { *out = new(CassandraVerticalScalingSpec) (*in).DeepCopyInto(*out) } + if in.VolumeExpansion != nil { + in, out := &in.VolumeExpansion, &out.VolumeExpansion + *out = new(CassandraVolumeExpansionSpec) + (*in).DeepCopyInto(*out) + } if in.Restart != nil { in, out := &in.Restart, &out.Restart *out = new(RestartSpec) @@ -182,6 +241,16 @@ func (in *CassandraOpsRequestSpec) DeepCopyInto(out *CassandraOpsRequestSpec) { *out = new(metav1.Duration) **out = **in } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(TLSSpec) + (*in).DeepCopyInto(*out) + } + if in.KeystoreCredSecret != nil { + in, out := &in.KeystoreCredSecret, &out.KeystoreCredSecret + *out = new(v1alpha2.SecretReference) + (*in).DeepCopyInto(*out) + } return } @@ -232,6 +301,27 @@ func (in *CassandraVerticalScalingSpec) DeepCopy() *CassandraVerticalScalingSpec return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CassandraVolumeExpansionSpec) DeepCopyInto(out *CassandraVolumeExpansionSpec) { + *out = *in + if in.Node != nil { + in, out := &in.Node, &out.Node + x := (*in).DeepCopy() + *out = &x + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CassandraVolumeExpansionSpec. +func (in *CassandraVolumeExpansionSpec) DeepCopy() *CassandraVolumeExpansionSpec { + if in == nil { + return nil + } + out := new(CassandraVolumeExpansionSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClickHouseClusterVerticalScalingSpec) DeepCopyInto(out *ClickHouseClusterVerticalScalingSpec) { *out = *in @@ -1663,6 +1753,236 @@ func (in *FerretDBVerticalScalingSpec) DeepCopy() *FerretDBVerticalScalingSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastCustomConfigurationSpec) DeepCopyInto(out *HazelcastCustomConfigurationSpec) { + *out = *in + if in.ConfigSecret != nil { + in, out := &in.ConfigSecret, &out.ConfigSecret + *out = new(v1.LocalObjectReference) + **out = **in + } + if in.ApplyConfig != nil { + in, out := &in.ApplyConfig, &out.ApplyConfig + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastCustomConfigurationSpec. +func (in *HazelcastCustomConfigurationSpec) DeepCopy() *HazelcastCustomConfigurationSpec { + if in == nil { + return nil + } + out := new(HazelcastCustomConfigurationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastHorizontalScalingSpec) DeepCopyInto(out *HazelcastHorizontalScalingSpec) { + *out = *in + if in.Hazelcast != nil { + in, out := &in.Hazelcast, &out.Hazelcast + *out = new(int32) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastHorizontalScalingSpec. +func (in *HazelcastHorizontalScalingSpec) DeepCopy() *HazelcastHorizontalScalingSpec { + if in == nil { + return nil + } + out := new(HazelcastHorizontalScalingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastOpsRequest) DeepCopyInto(out *HazelcastOpsRequest) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastOpsRequest. +func (in *HazelcastOpsRequest) DeepCopy() *HazelcastOpsRequest { + if in == nil { + return nil + } + out := new(HazelcastOpsRequest) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HazelcastOpsRequest) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastOpsRequestList) DeepCopyInto(out *HazelcastOpsRequestList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]HazelcastOpsRequest, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastOpsRequestList. +func (in *HazelcastOpsRequestList) DeepCopy() *HazelcastOpsRequestList { + if in == nil { + return nil + } + out := new(HazelcastOpsRequestList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *HazelcastOpsRequestList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastOpsRequestSpec) DeepCopyInto(out *HazelcastOpsRequestSpec) { + *out = *in + out.DatabaseRef = in.DatabaseRef + if in.UpdateVersion != nil { + in, out := &in.UpdateVersion, &out.UpdateVersion + *out = new(HazelcastUpdateVersionSpec) + **out = **in + } + if in.HorizontalScaling != nil { + in, out := &in.HorizontalScaling, &out.HorizontalScaling + *out = new(HazelcastHorizontalScalingSpec) + (*in).DeepCopyInto(*out) + } + if in.VerticalScaling != nil { + in, out := &in.VerticalScaling, &out.VerticalScaling + *out = new(HazelcastVerticalScalingSpec) + (*in).DeepCopyInto(*out) + } + if in.VolumeExpansion != nil { + in, out := &in.VolumeExpansion, &out.VolumeExpansion + *out = new(HazelcastVolumeExpansionSpec) + (*in).DeepCopyInto(*out) + } + if in.Restart != nil { + in, out := &in.Restart, &out.Restart + *out = new(RestartSpec) + **out = **in + } + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(HazelcastCustomConfigurationSpec) + (*in).DeepCopyInto(*out) + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(TLSSpec) + (*in).DeepCopyInto(*out) + } + if in.Authentication != nil { + in, out := &in.Authentication, &out.Authentication + *out = new(AuthSpec) + (*in).DeepCopyInto(*out) + } + 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 HazelcastOpsRequestSpec. +func (in *HazelcastOpsRequestSpec) DeepCopy() *HazelcastOpsRequestSpec { + if in == nil { + return nil + } + out := new(HazelcastOpsRequestSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastUpdateVersionSpec) DeepCopyInto(out *HazelcastUpdateVersionSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastUpdateVersionSpec. +func (in *HazelcastUpdateVersionSpec) DeepCopy() *HazelcastUpdateVersionSpec { + if in == nil { + return nil + } + out := new(HazelcastUpdateVersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastVerticalScalingSpec) DeepCopyInto(out *HazelcastVerticalScalingSpec) { + *out = *in + if in.Hazelcast != nil { + in, out := &in.Hazelcast, &out.Hazelcast + *out = new(PodResources) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastVerticalScalingSpec. +func (in *HazelcastVerticalScalingSpec) DeepCopy() *HazelcastVerticalScalingSpec { + if in == nil { + return nil + } + out := new(HazelcastVerticalScalingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HazelcastVolumeExpansionSpec) DeepCopyInto(out *HazelcastVolumeExpansionSpec) { + *out = *in + if in.Hazelcast != nil { + in, out := &in.Hazelcast, &out.Hazelcast + x := (*in).DeepCopy() + *out = &x + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HazelcastVolumeExpansionSpec. +func (in *HazelcastVolumeExpansionSpec) DeepCopy() *HazelcastVolumeExpansionSpec { + if in == nil { + return nil + } + out := new(HazelcastVolumeExpansionSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HiddenNode) DeepCopyInto(out *HiddenNode) { *out = *in @@ -1700,6 +2020,236 @@ func (in *Horizons) DeepCopy() *Horizons { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteCustomConfigurationSpec) DeepCopyInto(out *IgniteCustomConfigurationSpec) { + *out = *in + if in.ConfigSecret != nil { + in, out := &in.ConfigSecret, &out.ConfigSecret + *out = new(v1.LocalObjectReference) + **out = **in + } + if in.ApplyConfig != nil { + in, out := &in.ApplyConfig, &out.ApplyConfig + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteCustomConfigurationSpec. +func (in *IgniteCustomConfigurationSpec) DeepCopy() *IgniteCustomConfigurationSpec { + if in == nil { + return nil + } + out := new(IgniteCustomConfigurationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteHorizontalScalingSpec) DeepCopyInto(out *IgniteHorizontalScalingSpec) { + *out = *in + if in.Ignite != nil { + in, out := &in.Ignite, &out.Ignite + *out = new(int32) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteHorizontalScalingSpec. +func (in *IgniteHorizontalScalingSpec) DeepCopy() *IgniteHorizontalScalingSpec { + if in == nil { + return nil + } + out := new(IgniteHorizontalScalingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteOpsRequest) DeepCopyInto(out *IgniteOpsRequest) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteOpsRequest. +func (in *IgniteOpsRequest) DeepCopy() *IgniteOpsRequest { + if in == nil { + return nil + } + out := new(IgniteOpsRequest) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IgniteOpsRequest) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteOpsRequestList) DeepCopyInto(out *IgniteOpsRequestList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]IgniteOpsRequest, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteOpsRequestList. +func (in *IgniteOpsRequestList) DeepCopy() *IgniteOpsRequestList { + if in == nil { + return nil + } + out := new(IgniteOpsRequestList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *IgniteOpsRequestList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteOpsRequestSpec) DeepCopyInto(out *IgniteOpsRequestSpec) { + *out = *in + out.DatabaseRef = in.DatabaseRef + if in.UpdateVersion != nil { + in, out := &in.UpdateVersion, &out.UpdateVersion + *out = new(IgniteUpdateVersionSpec) + **out = **in + } + if in.HorizontalScaling != nil { + in, out := &in.HorizontalScaling, &out.HorizontalScaling + *out = new(IgniteHorizontalScalingSpec) + (*in).DeepCopyInto(*out) + } + if in.VerticalScaling != nil { + in, out := &in.VerticalScaling, &out.VerticalScaling + *out = new(IgniteVerticalScalingSpec) + (*in).DeepCopyInto(*out) + } + if in.VolumeExpansion != nil { + in, out := &in.VolumeExpansion, &out.VolumeExpansion + *out = new(IgniteVolumeExpansionSpec) + (*in).DeepCopyInto(*out) + } + if in.Configuration != nil { + in, out := &in.Configuration, &out.Configuration + *out = new(IgniteCustomConfigurationSpec) + (*in).DeepCopyInto(*out) + } + if in.TLS != nil { + in, out := &in.TLS, &out.TLS + *out = new(TLSSpec) + (*in).DeepCopyInto(*out) + } + if in.Authentication != nil { + in, out := &in.Authentication, &out.Authentication + *out = new(AuthSpec) + (*in).DeepCopyInto(*out) + } + if in.Restart != nil { + in, out := &in.Restart, &out.Restart + *out = new(RestartSpec) + **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 IgniteOpsRequestSpec. +func (in *IgniteOpsRequestSpec) DeepCopy() *IgniteOpsRequestSpec { + if in == nil { + return nil + } + out := new(IgniteOpsRequestSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteUpdateVersionSpec) DeepCopyInto(out *IgniteUpdateVersionSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteUpdateVersionSpec. +func (in *IgniteUpdateVersionSpec) DeepCopy() *IgniteUpdateVersionSpec { + if in == nil { + return nil + } + out := new(IgniteUpdateVersionSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteVerticalScalingSpec) DeepCopyInto(out *IgniteVerticalScalingSpec) { + *out = *in + if in.Ignite != nil { + in, out := &in.Ignite, &out.Ignite + *out = new(PodResources) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteVerticalScalingSpec. +func (in *IgniteVerticalScalingSpec) DeepCopy() *IgniteVerticalScalingSpec { + if in == nil { + return nil + } + out := new(IgniteVerticalScalingSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *IgniteVolumeExpansionSpec) DeepCopyInto(out *IgniteVolumeExpansionSpec) { + *out = *in + if in.Ignite != nil { + in, out := &in.Ignite, &out.Ignite + x := (*in).DeepCopy() + *out = &x + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IgniteVolumeExpansionSpec. +func (in *IgniteVolumeExpansionSpec) DeepCopy() *IgniteVolumeExpansionSpec { + if in == nil { + return nil + } + out := new(IgniteVolumeExpansionSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *KafkaCustomConfigurationSpec) DeepCopyInto(out *KafkaCustomConfigurationSpec) { *out = *in @@ -2532,6 +3082,11 @@ func (in *MariaDBVerticalScalingSpec) DeepCopyInto(out *MariaDBVerticalScalingSp *out = new(PodResources) (*in).DeepCopyInto(*out) } + if in.MaxScale != nil { + in, out := &in.MaxScale, &out.MaxScale + *out = new(PodResources) + (*in).DeepCopyInto(*out) + } if in.Exporter != nil { in, out := &in.Exporter, &out.Exporter *out = new(ContainerResources) @@ -2563,6 +3118,11 @@ func (in *MariaDBVolumeExpansionSpec) DeepCopyInto(out *MariaDBVolumeExpansionSp x := (*in).DeepCopy() *out = &x } + if in.MaxScale != nil { + in, out := &in.MaxScale, &out.MaxScale + x := (*in).DeepCopy() + *out = &x + } return } @@ -5501,6 +6061,11 @@ func (in *RedisOpsRequestSpec) DeepCopyInto(out *RedisOpsRequestSpec) { *out = new(RestartSpec) **out = **in } + if in.Announce != nil { + in, out := &in.Announce, &out.Announce + *out = new(Announce) + (*in).DeepCopyInto(*out) + } if in.Sentinel != nil { in, out := &in.Sentinel, &out.Sentinel *out = new(RedisSentinelSpec) @@ -5959,6 +6524,27 @@ func (in *RestartSpec) DeepCopy() *RestartSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Shards) DeepCopyInto(out *Shards) { + *out = *in + if in.Endpoints != nil { + in, out := &in.Endpoints, &out.Endpoints + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shards. +func (in *Shards) DeepCopy() *Shards { + if in == nil { + return nil + } + out := new(Shards) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *SinglestoreCustomConfiguration) DeepCopyInto(out *SinglestoreCustomConfiguration) { *out = *in diff --git a/vendor/kubedb.dev/apimachinery/apis/postgres/v1alpha1/openapi_generated.go b/vendor/kubedb.dev/apimachinery/apis/postgres/v1alpha1/openapi_generated.go index 8b5c766a6..1031d2de8 100644 --- a/vendor/kubedb.dev/apimachinery/apis/postgres/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/postgres/v1alpha1/openapi_generated.go @@ -21714,6 +21714,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, 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 f0655b8e0..71d2932b1 100644 --- a/vendor/kubedb.dev/apimachinery/apis/schema/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/schema/v1alpha1/openapi_generated.go @@ -21725,6 +21725,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, 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 ed5b5c235..3b3e53c0c 100644 --- a/vendor/kubedb.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go +++ b/vendor/kubedb.dev/apimachinery/apis/ui/v1alpha1/openapi_generated.go @@ -21833,6 +21833,18 @@ func schema_kmodulesxyz_client_go_api_v1_ClusterMetadata(ref common.ReferenceCal Format: "", }, }, + "cloudServiceAuthMode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + "mode": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, }, Required: []string{"uid"}, }, diff --git a/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/generated_expansion.go b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/generated_expansion.go index 8b2228235..a4745abe2 100644 --- a/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/generated_expansion.go +++ b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/generated_expansion.go @@ -30,6 +30,10 @@ type EtcdOpsRequestExpansion interface{} type FerretDBOpsRequestExpansion interface{} +type HazelcastOpsRequestExpansion interface{} + +type IgniteOpsRequestExpansion interface{} + type KafkaOpsRequestExpansion interface{} type MSSQLServerOpsRequestExpansion interface{} diff --git a/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/hazelcastopsrequest.go b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/hazelcastopsrequest.go new file mode 100644 index 000000000..2d346e5b8 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/hazelcastopsrequest.go @@ -0,0 +1,196 @@ +/* +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "context" + "time" + + v1alpha1 "kubedb.dev/apimachinery/apis/ops/v1alpha1" + scheme "kubedb.dev/apimachinery/client/clientset/versioned/scheme" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// HazelcastOpsRequestsGetter has a method to return a HazelcastOpsRequestInterface. +// A group's client should implement this interface. +type HazelcastOpsRequestsGetter interface { + HazelcastOpsRequests(namespace string) HazelcastOpsRequestInterface +} + +// HazelcastOpsRequestInterface has methods to work with HazelcastOpsRequest resources. +type HazelcastOpsRequestInterface interface { + Create(ctx context.Context, hazelcastOpsRequest *v1alpha1.HazelcastOpsRequest, opts v1.CreateOptions) (*v1alpha1.HazelcastOpsRequest, error) + Update(ctx context.Context, hazelcastOpsRequest *v1alpha1.HazelcastOpsRequest, opts v1.UpdateOptions) (*v1alpha1.HazelcastOpsRequest, error) + UpdateStatus(ctx context.Context, hazelcastOpsRequest *v1alpha1.HazelcastOpsRequest, opts v1.UpdateOptions) (*v1alpha1.HazelcastOpsRequest, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha1.HazelcastOpsRequest, error) + List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.HazelcastOpsRequestList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.HazelcastOpsRequest, err error) + HazelcastOpsRequestExpansion +} + +// hazelcastOpsRequests implements HazelcastOpsRequestInterface +type hazelcastOpsRequests struct { + client rest.Interface + ns string +} + +// newHazelcastOpsRequests returns a HazelcastOpsRequests +func newHazelcastOpsRequests(c *OpsV1alpha1Client, namespace string) *hazelcastOpsRequests { + return &hazelcastOpsRequests{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the hazelcastOpsRequest, and returns the corresponding hazelcastOpsRequest object, and an error if there is any. +func (c *hazelcastOpsRequests) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.HazelcastOpsRequest, err error) { + result = &v1alpha1.HazelcastOpsRequest{} + err = c.client.Get(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of HazelcastOpsRequests that match those selectors. +func (c *hazelcastOpsRequests) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.HazelcastOpsRequestList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.HazelcastOpsRequestList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested hazelcastOpsRequests. +func (c *hazelcastOpsRequests) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a hazelcastOpsRequest and creates it. Returns the server's representation of the hazelcastOpsRequest, and an error, if there is any. +func (c *hazelcastOpsRequests) Create(ctx context.Context, hazelcastOpsRequest *v1alpha1.HazelcastOpsRequest, opts v1.CreateOptions) (result *v1alpha1.HazelcastOpsRequest, err error) { + result = &v1alpha1.HazelcastOpsRequest{} + err = c.client.Post(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(hazelcastOpsRequest). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a hazelcastOpsRequest and updates it. Returns the server's representation of the hazelcastOpsRequest, and an error, if there is any. +func (c *hazelcastOpsRequests) Update(ctx context.Context, hazelcastOpsRequest *v1alpha1.HazelcastOpsRequest, opts v1.UpdateOptions) (result *v1alpha1.HazelcastOpsRequest, err error) { + result = &v1alpha1.HazelcastOpsRequest{} + err = c.client.Put(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + Name(hazelcastOpsRequest.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(hazelcastOpsRequest). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *hazelcastOpsRequests) UpdateStatus(ctx context.Context, hazelcastOpsRequest *v1alpha1.HazelcastOpsRequest, opts v1.UpdateOptions) (result *v1alpha1.HazelcastOpsRequest, err error) { + result = &v1alpha1.HazelcastOpsRequest{} + err = c.client.Put(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + Name(hazelcastOpsRequest.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(hazelcastOpsRequest). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the hazelcastOpsRequest and deletes it. Returns an error if one occurs. +func (c *hazelcastOpsRequests) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *hazelcastOpsRequests) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched hazelcastOpsRequest. +func (c *hazelcastOpsRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.HazelcastOpsRequest, err error) { + result = &v1alpha1.HazelcastOpsRequest{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("hazelcastopsrequests"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/igniteopsrequest.go b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/igniteopsrequest.go new file mode 100644 index 000000000..25e087e72 --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/igniteopsrequest.go @@ -0,0 +1,196 @@ +/* +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. +*/ + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "context" + "time" + + v1alpha1 "kubedb.dev/apimachinery/apis/ops/v1alpha1" + scheme "kubedb.dev/apimachinery/client/clientset/versioned/scheme" + + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// IgniteOpsRequestsGetter has a method to return a IgniteOpsRequestInterface. +// A group's client should implement this interface. +type IgniteOpsRequestsGetter interface { + IgniteOpsRequests(namespace string) IgniteOpsRequestInterface +} + +// IgniteOpsRequestInterface has methods to work with IgniteOpsRequest resources. +type IgniteOpsRequestInterface interface { + Create(ctx context.Context, igniteOpsRequest *v1alpha1.IgniteOpsRequest, opts v1.CreateOptions) (*v1alpha1.IgniteOpsRequest, error) + Update(ctx context.Context, igniteOpsRequest *v1alpha1.IgniteOpsRequest, opts v1.UpdateOptions) (*v1alpha1.IgniteOpsRequest, error) + UpdateStatus(ctx context.Context, igniteOpsRequest *v1alpha1.IgniteOpsRequest, opts v1.UpdateOptions) (*v1alpha1.IgniteOpsRequest, error) + Delete(ctx context.Context, name string, opts v1.DeleteOptions) error + DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha1.IgniteOpsRequest, error) + List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.IgniteOpsRequestList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.IgniteOpsRequest, err error) + IgniteOpsRequestExpansion +} + +// igniteOpsRequests implements IgniteOpsRequestInterface +type igniteOpsRequests struct { + client rest.Interface + ns string +} + +// newIgniteOpsRequests returns a IgniteOpsRequests +func newIgniteOpsRequests(c *OpsV1alpha1Client, namespace string) *igniteOpsRequests { + return &igniteOpsRequests{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the igniteOpsRequest, and returns the corresponding igniteOpsRequest object, and an error if there is any. +func (c *igniteOpsRequests) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.IgniteOpsRequest, err error) { + result = &v1alpha1.IgniteOpsRequest{} + err = c.client.Get(). + Namespace(c.ns). + Resource("igniteopsrequests"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of IgniteOpsRequests that match those selectors. +func (c *igniteOpsRequests) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.IgniteOpsRequestList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.IgniteOpsRequestList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("igniteopsrequests"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested igniteOpsRequests. +func (c *igniteOpsRequests) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Namespace(c.ns). + Resource("igniteopsrequests"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} + +// Create takes the representation of a igniteOpsRequest and creates it. Returns the server's representation of the igniteOpsRequest, and an error, if there is any. +func (c *igniteOpsRequests) Create(ctx context.Context, igniteOpsRequest *v1alpha1.IgniteOpsRequest, opts v1.CreateOptions) (result *v1alpha1.IgniteOpsRequest, err error) { + result = &v1alpha1.IgniteOpsRequest{} + err = c.client.Post(). + Namespace(c.ns). + Resource("igniteopsrequests"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(igniteOpsRequest). + Do(ctx). + Into(result) + return +} + +// Update takes the representation of a igniteOpsRequest and updates it. Returns the server's representation of the igniteOpsRequest, and an error, if there is any. +func (c *igniteOpsRequests) Update(ctx context.Context, igniteOpsRequest *v1alpha1.IgniteOpsRequest, opts v1.UpdateOptions) (result *v1alpha1.IgniteOpsRequest, err error) { + result = &v1alpha1.IgniteOpsRequest{} + err = c.client.Put(). + Namespace(c.ns). + Resource("igniteopsrequests"). + Name(igniteOpsRequest.Name). + VersionedParams(&opts, scheme.ParameterCodec). + Body(igniteOpsRequest). + Do(ctx). + Into(result) + return +} + +// UpdateStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). +func (c *igniteOpsRequests) UpdateStatus(ctx context.Context, igniteOpsRequest *v1alpha1.IgniteOpsRequest, opts v1.UpdateOptions) (result *v1alpha1.IgniteOpsRequest, err error) { + result = &v1alpha1.IgniteOpsRequest{} + err = c.client.Put(). + Namespace(c.ns). + Resource("igniteopsrequests"). + Name(igniteOpsRequest.Name). + SubResource("status"). + VersionedParams(&opts, scheme.ParameterCodec). + Body(igniteOpsRequest). + Do(ctx). + Into(result) + return +} + +// Delete takes name of the igniteOpsRequest and deletes it. Returns an error if one occurs. +func (c *igniteOpsRequests) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { + return c.client.Delete(). + Namespace(c.ns). + Resource("igniteopsrequests"). + Name(name). + Body(&opts). + Do(ctx). + Error() +} + +// DeleteCollection deletes a collection of objects. +func (c *igniteOpsRequests) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { + var timeout time.Duration + if listOpts.TimeoutSeconds != nil { + timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second + } + return c.client.Delete(). + Namespace(c.ns). + Resource("igniteopsrequests"). + VersionedParams(&listOpts, scheme.ParameterCodec). + Timeout(timeout). + Body(&opts). + Do(ctx). + Error() +} + +// Patch applies the patch and returns the patched igniteOpsRequest. +func (c *igniteOpsRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha1.IgniteOpsRequest, err error) { + result = &v1alpha1.IgniteOpsRequest{} + err = c.client.Patch(pt). + Namespace(c.ns). + Resource("igniteopsrequests"). + Name(name). + SubResource(subresources...). + VersionedParams(&opts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/ops_client.go b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/ops_client.go index e7f8e1ef4..e95dc432f 100644 --- a/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/ops_client.go +++ b/vendor/kubedb.dev/apimachinery/client/clientset/versioned/typed/ops/v1alpha1/ops_client.go @@ -35,6 +35,8 @@ type OpsV1alpha1Interface interface { ElasticsearchOpsRequestsGetter EtcdOpsRequestsGetter FerretDBOpsRequestsGetter + HazelcastOpsRequestsGetter + IgniteOpsRequestsGetter KafkaOpsRequestsGetter MSSQLServerOpsRequestsGetter MariaDBOpsRequestsGetter @@ -83,6 +85,14 @@ func (c *OpsV1alpha1Client) FerretDBOpsRequests(namespace string) FerretDBOpsReq return newFerretDBOpsRequests(c, namespace) } +func (c *OpsV1alpha1Client) HazelcastOpsRequests(namespace string) HazelcastOpsRequestInterface { + return newHazelcastOpsRequests(c, namespace) +} + +func (c *OpsV1alpha1Client) IgniteOpsRequests(namespace string) IgniteOpsRequestInterface { + return newIgniteOpsRequests(c, namespace) +} + func (c *OpsV1alpha1Client) KafkaOpsRequests(namespace string) KafkaOpsRequestInterface { return newKafkaOpsRequests(c, namespace) } diff --git a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mariadbarchivers.yaml b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mariadbarchivers.yaml index 0e49f2d91..aaa3ad598 100644 --- a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mariadbarchivers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mariadbarchivers.yaml @@ -634,6 +634,7 @@ spec: enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string jobTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mongodbarchivers.yaml b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mongodbarchivers.yaml index 7a3324082..cd69ee140 100644 --- a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mongodbarchivers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mongodbarchivers.yaml @@ -634,6 +634,7 @@ spec: enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string jobTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mssqlserverarchivers.yaml b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mssqlserverarchivers.yaml index 0866826fc..ccdcb3d8d 100644 --- a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mssqlserverarchivers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mssqlserverarchivers.yaml @@ -634,6 +634,7 @@ spec: enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string jobTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mysqlarchivers.yaml b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mysqlarchivers.yaml index 222fe24ed..b7449206e 100644 --- a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mysqlarchivers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_mysqlarchivers.yaml @@ -634,6 +634,7 @@ spec: enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string jobTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_postgresarchivers.yaml b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_postgresarchivers.yaml index 6c971fa63..384635ff9 100644 --- a/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_postgresarchivers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/archiver.kubedb.com_postgresarchivers.yaml @@ -634,6 +634,7 @@ spec: enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string jobTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_cassandraversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_cassandraversions.yaml index a39e49eed..b3ea549a5 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_cassandraversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_cassandraversions.yaml @@ -102,6 +102,17 @@ spec: - name type: object type: array + updateConstraints: + 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_clickhouseversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_clickhouseversions.yaml index 6d2f7459c..0d30ecf0d 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_clickhouseversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_clickhouseversions.yaml @@ -87,6 +87,17 @@ spec: - name type: object type: array + updateConstraints: + 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_druidversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_druidversions.yaml index a7617cf43..6f9e293b6 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_druidversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_druidversions.yaml @@ -82,6 +82,17 @@ spec: - name type: object type: array + updateConstraints: + 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_igniteversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_igniteversions.yaml index a30ca7964..6c46d12a9 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_igniteversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_igniteversions.yaml @@ -85,6 +85,17 @@ spec: - name type: object type: array + updateConstraints: + 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_kafkaversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_kafkaversions.yaml index 8ffc32535..0f54ed675 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_kafkaversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_kafkaversions.yaml @@ -68,6 +68,13 @@ spec: type: object deprecated: type: boolean + initContainer: + properties: + image: + type: string + required: + - image + type: object podSecurityPolicies: properties: databasePolicyName: diff --git a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_rabbitmqversions.yaml b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_rabbitmqversions.yaml index 6cec02f08..257b1d9a9 100644 --- a/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_rabbitmqversions.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/catalog.kubedb.com_rabbitmqversions.yaml @@ -82,6 +82,17 @@ spec: - name type: object type: array + updateConstraints: + 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/gitops.kubedb.com_druids.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_druids.yaml index 616caaa27..c2ad444fe 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_druids.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_druids.yaml @@ -44,6 +44,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_ferretdbs.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_ferretdbs.yaml index 34f4a1c5c..7afb67a3d 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_ferretdbs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_ferretdbs.yaml @@ -44,6 +44,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object backend: properties: podTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_mssqlservers.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_mssqlservers.yaml index 479a84916..88d842ea7 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_mssqlservers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_mssqlservers.yaml @@ -117,6 +117,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -4775,6 +4780,8 @@ spec: items: type: string type: array + endpointCertSecretName: + type: string leaderElection: properties: electionTick: @@ -4795,6 +4802,10 @@ spec: default: 60s type: string type: object + loginSecretName: + type: string + masterKeySecretName: + type: string secondaryAccessMode: default: Passive enum: @@ -4803,10 +4814,39 @@ spec: - All type: string type: object + distributedAG: + properties: + remote: + properties: + name: + type: string + url: + type: string + required: + - name + - url + type: object + self: + properties: + role: + enum: + - Primary + - Secondary + type: string + url: + type: string + required: + - role + - url + type: object + required: + - remote + - self + type: object mode: enum: - AvailabilityGroup - - RemoteReplica + - DistributedAG type: string type: object version: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_pgpools.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_pgpools.yaml index 975980e97..f2ab51145 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_pgpools.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_pgpools.yaml @@ -44,6 +44,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clientAuthMode: default: md5 enum: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_rabbitmqs.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_rabbitmqs.yaml index 86a5a9356..ca36a62a2 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_rabbitmqs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_rabbitmqs.yaml @@ -44,6 +44,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_redises.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_redises.yaml index 864f7d110..ffc4fd35a 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_redises.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_redises.yaml @@ -121,6 +121,24 @@ spec: type: object cluster: properties: + announce: + properties: + shards: + items: + properties: + endpoints: + items: + type: string + type: array + type: object + type: array + type: + default: hostname + enum: + - ip + - hostname + type: string + type: object replicas: format: int32 type: integer diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_singlestores.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_singlestores.yaml index d475dfd17..87d6e6020 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_singlestores.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_singlestores.yaml @@ -44,6 +44,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_solrs.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_solrs.yaml index efd80e8d1..0c50588eb 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_solrs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_solrs.yaml @@ -51,6 +51,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clientAuthSSL: type: string configSecret: diff --git a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_zookeepers.yaml b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_zookeepers.yaml index 7d0628114..0fb9f4ad9 100644 --- a/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_zookeepers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/gitops.kubedb.com_zookeepers.yaml @@ -48,6 +48,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clientSecurePort: default: 2182 format: int32 diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_cassandras.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_cassandras.yaml index dccf0640a..112fa3868 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_cassandras.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_cassandras.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -85,6 +90,8 @@ spec: type: string disableSecurity: type: boolean + enableSSL: + type: boolean healthChecker: default: failureThreshold: 3 @@ -106,6 +113,24 @@ spec: format: int32 type: integer type: object + keystoreCredSecret: + properties: + activeFrom: + format: date-time + type: string + apiGroup: + type: string + externallyManaged: + type: boolean + name: + default: "" + type: string + rotateAfter: + type: string + secretStoreName: + type: string + type: object + x-kubernetes-map-type: atomic monitor: properties: agent: @@ -3568,6 +3593,107 @@ spec: - Durable - Ephemeral 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 + x-kubernetes-map-type: atomic + privateKey: + properties: + encoding: + enum: + - PKCS1 + - PKCS8 + type: string + type: object + renewBefore: + type: string + secretName: + type: string + subject: + properties: + countries: + items: + type: string + type: array + localities: + items: + type: string + type: array + organizationalUnits: + items: + type: string + type: array + organizations: + items: + type: string + type: array + postalCodes: + items: + type: string + type: array + provinces: + items: + type: string + type: array + serialNumber: + type: string + streetAddresses: + items: + type: string + type: array + type: object + uris: + items: + type: string + type: array + required: + - alias + type: object + type: array + issuerRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + type: object topology: properties: rack: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_clickhouses.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_clickhouses.yaml index ccd61b149..53d474aae 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_clickhouses.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_clickhouses.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clusterTopology: properties: clickHouseKeeper: @@ -9880,6 +9885,13 @@ spec: - alias type: object type: array + sslVerificationMode: + enum: + - none + - relaxed + - strict + - once + type: string storage: properties: accessModes: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml index 8105ca87f..724df659a 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_druids.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ferretdbs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ferretdbs.yaml index ccf929be8..9a1baadf3 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ferretdbs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ferretdbs.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object backend: properties: podTemplate: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_hazelcasts.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_hazelcasts.yaml index d3b0672e0..79b81253b 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_hazelcasts.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_hazelcasts.yaml @@ -64,6 +64,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ignites.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ignites.yaml index 480b0d398..a9b412b18 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ignites.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_ignites.yaml @@ -64,6 +64,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -103,6 +108,24 @@ spec: format: int32 type: integer type: object + keystoreCredSecret: + properties: + activeFrom: + format: date-time + type: string + apiGroup: + type: string + externallyManaged: + type: boolean + name: + default: "" + type: string + rotateAfter: + type: string + secretStoreName: + type: string + type: object + x-kubernetes-map-type: atomic monitor: properties: agent: @@ -3565,6 +3588,107 @@ spec: - Durable - Ephemeral 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 + x-kubernetes-map-type: atomic + privateKey: + properties: + encoding: + enum: + - PKCS1 + - PKCS8 + type: string + type: object + renewBefore: + type: string + secretName: + type: string + subject: + properties: + countries: + items: + type: string + type: array + localities: + items: + type: string + type: array + organizationalUnits: + items: + type: string + type: array + organizations: + items: + type: string + type: array + postalCodes: + items: + type: string + type: array + provinces: + items: + type: string + type: array + serialNumber: + type: string + streetAddresses: + items: + type: string + type: array + type: object + uris: + items: + type: string + type: array + required: + - alias + type: object + type: array + issuerRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + type: object version: type: string required: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml index db3fea621..d189d8293 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_memcacheds.yaml @@ -4438,6 +4438,11 @@ spec: type: object spec: properties: + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml index 381eae6a3..714a425fe 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_mssqlservers.yaml @@ -139,6 +139,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: @@ -4797,6 +4802,8 @@ spec: items: type: string type: array + endpointCertSecretName: + type: string leaderElection: properties: electionTick: @@ -4817,6 +4824,10 @@ spec: default: 60s type: string type: object + loginSecretName: + type: string + masterKeySecretName: + type: string secondaryAccessMode: default: Passive enum: @@ -4825,10 +4836,39 @@ spec: - All type: string type: object + distributedAG: + properties: + remote: + properties: + name: + type: string + url: + type: string + required: + - name + - url + type: object + self: + properties: + role: + enum: + - Primary + - Secondary + type: string + url: + type: string + required: + - role + - url + type: object + required: + - remote + - self + type: object mode: enum: - AvailabilityGroup - - RemoteReplica + - DistributedAG type: string type: object version: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_oracles.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_oracles.yaml index 3b6468e3a..dc2337781 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_oracles.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_oracles.yaml @@ -63,6 +63,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml index df52af266..db1f6e1be 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_pgpools.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clientAuthMode: default: md5 enum: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_rabbitmqs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_rabbitmqs.yaml index cf5db2f55..8832de4a1 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_rabbitmqs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_rabbitmqs.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml index 856e948f9..61755a2c3 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_redises.yaml @@ -143,6 +143,24 @@ spec: type: object cluster: properties: + announce: + properties: + shards: + items: + properties: + endpoints: + items: + type: string + type: array + type: object + type: array + type: + default: hostname + enum: + - ip + - hostname + type: string + type: object replicas: format: int32 type: integer @@ -4985,6 +5003,24 @@ spec: type: object cluster: properties: + announce: + properties: + shards: + items: + properties: + endpoints: + items: + type: string + type: array + type: object + type: array + type: + default: hostname + enum: + - ip + - hostname + type: string + type: object master: format: int32 type: integer diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_singlestores.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_singlestores.yaml index ae41dcba9..1b08e4517 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_singlestores.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_singlestores.yaml @@ -69,6 +69,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object configSecret: properties: name: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml index f6d1dd661..c353b294a 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_solrs.yaml @@ -76,6 +76,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clientAuthSSL: type: string configSecret: diff --git a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml index 43d7d38fe..8bed8f8e6 100644 --- a/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/kubedb.com_zookeepers.yaml @@ -73,6 +73,11 @@ spec: type: string type: object x-kubernetes-map-type: atomic + autoOps: + properties: + disabled: + type: boolean + type: object clientSecurePort: default: 2182 format: int32 diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_cassandraopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_cassandraopsrequests.yaml index 92f503d87..94ec1c6a1 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_cassandraopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_cassandraopsrequests.yaml @@ -48,6 +48,22 @@ spec: - IfReady - Always type: string + configuration: + properties: + applyConfig: + additionalProperties: + type: string + type: object + configSecret: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + removeCustomConfig: + type: boolean + type: object databaseRef: properties: name: @@ -55,15 +71,148 @@ spec: type: string type: object x-kubernetes-map-type: atomic + horizontalScaling: + properties: + node: + format: int32 + type: integer + type: object + keystoreCredSecret: + properties: + activeFrom: + format: date-time + type: string + apiGroup: + type: string + externallyManaged: + type: boolean + name: + default: "" + type: string + rotateAfter: + type: string + secretStoreName: + type: string + type: object + x-kubernetes-map-type: atomic restart: type: object timeout: 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 + x-kubernetes-map-type: atomic + privateKey: + properties: + encoding: + enum: + - PKCS1 + - PKCS8 + type: string + type: object + renewBefore: + type: string + secretName: + type: string + subject: + properties: + countries: + items: + type: string + type: array + localities: + items: + type: string + type: array + organizationalUnits: + items: + type: string + type: array + organizations: + items: + type: string + type: array + postalCodes: + items: + type: string + type: array + provinces: + items: + type: string + type: array + serialNumber: + type: string + streetAddresses: + items: + type: string + type: array + type: object + uris: + items: + type: string + type: array + required: + - alias + type: object + type: array + issuerRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + remove: + type: boolean + rotateCertificates: + type: boolean + type: object type: enum: - UpdateVersion - VerticalScaling - Restart + - VolumeExpansion + - HorizontalScaling + - Reconfigure + - ReconfigureTLS type: string updateVersion: properties: @@ -121,6 +270,22 @@ spec: type: object type: object type: object + volumeExpansion: + properties: + mode: + enum: + - Offline + - Online + type: string + node: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - mode + type: object required: - databaseRef - type diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_hazelcastopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_hazelcastopsrequests.yaml index c99c957c9..ba098fd14 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_hazelcastopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_hazelcastopsrequests.yaml @@ -83,7 +83,7 @@ spec: x-kubernetes-map-type: atomic horizontalScaling: properties: - node: + hazelcast: format: int32 type: integer type: object @@ -198,13 +198,12 @@ spec: type: object type: enum: - - Upgrade - UpdateVersion - HorizontalScaling - VerticalScaling - VolumeExpansion - - Restart - Reconfigure + - Restart - ReconfigureTLS - RotateAuth type: string @@ -215,7 +214,7 @@ spec: type: object verticalScaling: properties: - node: + hazelcast: properties: nodeSelectionPolicy: type: string @@ -266,17 +265,17 @@ spec: type: object volumeExpansion: properties: - mode: - enum: - - Offline - - Online - type: string - node: + hazelcast: anyOf: - type: integer - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true + mode: + enum: + - Offline + - Online + type: string required: - mode type: object diff --git a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_igniteopsrequests.yaml b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_igniteopsrequests.yaml new file mode 100644 index 000000000..069fec6bf --- /dev/null +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_igniteopsrequests.yaml @@ -0,0 +1,347 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/name: kubedb + name: igniteopsrequests.ops.kubedb.com +spec: + group: ops.kubedb.com + names: + categories: + - ops + - kubedb + - appscode + kind: IgniteOpsRequest + listKind: IgniteOpsRequestList + plural: igniteopsrequests + shortNames: + - igops + singular: igniteopsrequest + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .spec.type + name: Type + type: string + - jsonPath: .status.phase + name: Status + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1alpha1 + schema: + openAPIV3Schema: + properties: + apiVersion: + type: string + kind: + type: string + metadata: + type: object + spec: + properties: + apply: + default: IfReady + enum: + - IfReady + - Always + type: string + authentication: + properties: + secretRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + type: object + configuration: + properties: + applyConfig: + additionalProperties: + type: string + type: object + configSecret: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + removeCustomConfig: + type: boolean + type: object + databaseRef: + properties: + name: + default: "" + type: string + type: object + x-kubernetes-map-type: atomic + horizontalScaling: + properties: + node: + format: int32 + type: integer + type: object + restart: + type: object + timeout: + 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 + x-kubernetes-map-type: atomic + privateKey: + properties: + encoding: + enum: + - PKCS1 + - PKCS8 + type: string + type: object + renewBefore: + type: string + secretName: + type: string + subject: + properties: + countries: + items: + type: string + type: array + localities: + items: + type: string + type: array + organizationalUnits: + items: + type: string + type: array + organizations: + items: + type: string + type: array + postalCodes: + items: + type: string + type: array + provinces: + items: + type: string + type: array + serialNumber: + type: string + streetAddresses: + items: + type: string + type: array + type: object + uris: + items: + type: string + type: array + required: + - alias + type: object + type: array + issuerRef: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + required: + - kind + - name + type: object + x-kubernetes-map-type: atomic + remove: + type: boolean + rotateCertificates: + type: boolean + type: object + type: + enum: + - UpdateVersion + - HorizontalScaling + - VerticalScaling + - VolumeExpansion + - Restart + - Reconfigure + - ReconfigureTLS + - RotateAuth + type: string + updateVersion: + properties: + targetVersion: + type: string + type: object + verticalScaling: + properties: + node: + properties: + nodeSelectionPolicy: + type: string + resources: + properties: + claims: + items: + properties: + name: + type: string + request: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + topology: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: object + type: object + volumeExpansion: + properties: + mode: + enum: + - Offline + - Online + type: string + node: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + required: + - mode + type: object + required: + - databaseRef + - type + type: object + status: + properties: + conditions: + items: + properties: + lastTransitionTime: + format: date-time + type: string + message: + type: string + observedGeneration: + format: int64 + type: integer + reason: + type: string + severity: + type: string + status: + type: string + type: + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + observedGeneration: + format: int64 + type: integer + pausedBackups: + items: + properties: + apiGroup: + type: string + kind: + type: string + name: + type: string + namespace: + type: string + required: + - name + type: object + type: array + phase: + enum: + - Pending + - Progressing + - Successful + - WaitingForApproval + - Failed + - Approved + - Denied + - Skipped + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} 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 a43341a57..af8fb6c45 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mariadbopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_mariadbopsrequests.yaml @@ -83,6 +83,8 @@ spec: x-kubernetes-map-type: atomic horizontalScaling: properties: + maxscale: + type: boolean member: format: int32 type: integer @@ -340,6 +342,54 @@ spec: - value type: object type: object + maxscale: + properties: + nodeSelectionPolicy: + type: string + resources: + properties: + claims: + items: + properties: + name: + type: string + request: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + type: object + topology: + properties: + key: + type: string + value: + type: string + required: + - key + - value + type: object + type: object type: object volumeExpansion: properties: @@ -349,6 +399,12 @@ spec: - type: string pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true + maxscale: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true mode: enum: - Offline 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 afad0f765..30d56fe84 100644 --- a/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_redisopsrequests.yaml +++ b/vendor/kubedb.dev/apimachinery/crds/ops.kubedb.com_redisopsrequests.yaml @@ -42,6 +42,24 @@ spec: type: object spec: properties: + announce: + properties: + shards: + items: + properties: + endpoints: + items: + type: string + type: array + type: object + type: array + type: + default: hostname + enum: + - ip + - hostname + type: string + type: object apply: default: IfReady enum: @@ -238,6 +256,7 @@ spec: - ReconfigureTLS - ReplaceSentinel - RotateAuth + - Announce type: string updateVersion: properties: diff --git a/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/snapshot_types.go b/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/snapshot_types.go index c4bc58647..42424d45f 100644 --- a/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/snapshot_types.go +++ b/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/snapshot_types.go @@ -202,6 +202,10 @@ type Component struct { // +optional WalGStats *WalGStats `json:"walGStats,omitempty"` + // MedusaStats specifies the "Medusa" driver specific information + // +optional + MedusaStats *MedusaStats `json:"medusaStats,omitempty"` + // VolumeSnapshotterStats specifies the "VolumeSnapshotter" driver specific information // +optional VolumeSnapshotterStats []VolumeSnapshotterStats `json:"volumeSnapshotterStats,omitempty"` @@ -307,6 +311,25 @@ type WalGStats struct { StopTime *metav1.Time `json:"stopTime,omitempty"` } +// MedusaStats specifies the information specific to the "Medusa" driver. +type MedusaStats struct { + // BackupName represents the name of the backup + BackupName string `json:"backupName,omitempty"` + + // BackupNodes represents the list of target backup nodes. + // +optional + BackupNodes []string `json:"backupNodes,omitempty"` + + // StatusType represents the status of Backup. This can be "IN_PROGRESS","SUCCESS","FAILED" or "UNKNOWN" + StatusType string `json:"status,omitempty"` + + // Starting time of the backup + StartTime string `json:"startTime,omitempty"` + + // Finishing time of the backup + FinishTime string `json:"finishTime,omitempty"` +} + const ( TypeSnapshotMetadataUploaded = "SnapshotMetadataUploaded" ReasonFailedToUploadSnapshotMetadata = "FailedToUploadSnapshotMetadata" diff --git a/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/zz_generated.deepcopy.go b/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/zz_generated.deepcopy.go index db0fe086d..23537d3d4 100644 --- a/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/kubestash.dev/apimachinery/apis/storage/v1alpha1/zz_generated.deepcopy.go @@ -206,6 +206,11 @@ func (in *Component) DeepCopyInto(out *Component) { *out = new(WalGStats) (*in).DeepCopyInto(*out) } + if in.MedusaStats != nil { + in, out := &in.MedusaStats, &out.MedusaStats + *out = new(MedusaStats) + (*in).DeepCopyInto(*out) + } if in.VolumeSnapshotterStats != nil { in, out := &in.VolumeSnapshotterStats, &out.VolumeSnapshotterStats *out = make([]VolumeSnapshotterStats, len(*in)) @@ -365,6 +370,26 @@ func (in *LogStats) DeepCopy() *LogStats { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MedusaStats) DeepCopyInto(out *MedusaStats) { + *out = *in + if in.BackupNodes != nil { + in, out := &in.BackupNodes, &out.BackupNodes + *out = make([]string, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MedusaStats. +func (in *MedusaStats) DeepCopy() *MedusaStats { + if in == nil { + return nil + } + out := new(MedusaStats) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Repository) DeepCopyInto(out *Repository) { *out = *in diff --git a/vendor/kubestash.dev/apimachinery/apis/types.go b/vendor/kubestash.dev/apimachinery/apis/types.go index f1771ea20..627b7fec7 100644 --- a/vendor/kubestash.dev/apimachinery/apis/types.go +++ b/vendor/kubestash.dev/apimachinery/apis/types.go @@ -24,12 +24,13 @@ import ( ) // Driver specifies the name of underlying tool that is being used to upload the backed up data. -// +kubebuilder:validation:Enum=Restic;WalG;VolumeSnapshotter +// +kubebuilder:validation:Enum=Restic;WalG;Medusa;VolumeSnapshotter; type Driver string const ( DriverRestic Driver = "Restic" DriverWalG Driver = "WalG" + DriverMedusa Driver = "Medusa" DriverVolumeSnapshotter Driver = "VolumeSnapshotter" ) diff --git a/vendor/kubestash.dev/apimachinery/crds/addons.kubestash.com_addons.yaml b/vendor/kubestash.dev/apimachinery/crds/addons.kubestash.com_addons.yaml index bbea5a63b..b500f149b 100644 --- a/vendor/kubestash.dev/apimachinery/crds/addons.kubestash.com_addons.yaml +++ b/vendor/kubestash.dev/apimachinery/crds/addons.kubestash.com_addons.yaml @@ -42,10 +42,12 @@ spec: - enum: - Restic - WalG + - Medusa - VolumeSnapshotter - enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string executor: @@ -1043,10 +1045,12 @@ spec: - enum: - Restic - WalG + - Medusa - VolumeSnapshotter - enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string executor: diff --git a/vendor/kubestash.dev/apimachinery/crds/storage.kubestash.com_snapshots.yaml b/vendor/kubestash.dev/apimachinery/crds/storage.kubestash.com_snapshots.yaml index 378491357..78e2bc715 100644 --- a/vendor/kubestash.dev/apimachinery/crds/storage.kubestash.com_snapshots.yaml +++ b/vendor/kubestash.dev/apimachinery/crds/storage.kubestash.com_snapshots.yaml @@ -91,6 +91,7 @@ spec: enum: - Restic - WalG + - Medusa - VolumeSnapshotter type: string duration: @@ -136,6 +137,21 @@ spec: format: int64 type: integer type: object + medusaStats: + properties: + backupName: + type: string + backupNodes: + items: + type: string + type: array + finishTime: + type: string + startTime: + type: string + status: + type: string + type: object path: type: string phase: diff --git a/vendor/modules.txt b/vendor/modules.txt index 615007586..c3d5426be 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -679,8 +679,8 @@ github.com/evanphx/json-patch ## explicit; go 1.18 github.com/evanphx/json-patch/v5 github.com/evanphx/json-patch/v5/internal/json -# github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d -## explicit +# github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f +## explicit; go 1.15 github.com/exponent-io/jsonpath # github.com/fatih/camelcase v1.0.0 ## explicit @@ -892,7 +892,7 @@ github.com/prometheus/common/model github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util -# github.com/redis/go-redis/v9 v9.5.1 +# github.com/redis/go-redis/v9 v9.6.3 ## explicit; go 1.18 github.com/redis/go-redis/v9 github.com/redis/go-redis/v9/internal @@ -935,7 +935,7 @@ github.com/zeebo/xxh3 ## explicit; go 1.23.0 go.virtual-secrets.dev/apimachinery/apis/virtual/v1alpha1 go.virtual-secrets.dev/apimachinery/crds -# golang.org/x/net v0.38.0 +# golang.org/x/net v0.40.0 ## explicit; go 1.23.0 golang.org/x/net/html golang.org/x/net/html/atom @@ -953,18 +953,18 @@ golang.org/x/net/websocket ## explicit; go 1.23.0 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.13.0 +# golang.org/x/sync v0.14.0 ## explicit; go 1.23.0 golang.org/x/sync/errgroup -# golang.org/x/sys v0.32.0 +# golang.org/x/sys v0.33.0 ## explicit; go 1.23.0 golang.org/x/sys/plan9 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/term v0.31.0 +# golang.org/x/term v0.32.0 ## explicit; go 1.23.0 golang.org/x/term -# golang.org/x/text v0.24.0 +# golang.org/x/text v0.25.0 ## explicit; go 1.23.0 golang.org/x/text/cases golang.org/x/text/encoding @@ -1220,7 +1220,7 @@ k8s.io/apimachinery/third_party/forked/golang/reflect # k8s.io/apiserver v0.32.3 => github.com/kmodules/apiserver v0.32.3-0.20250221062720-35dc674c7dd6 ## explicit; go 1.23.0 k8s.io/apiserver/pkg/authentication/user -# k8s.io/cli-runtime v0.32.2 +# k8s.io/cli-runtime v0.32.3 ## explicit; go 1.23.0 k8s.io/cli-runtime/pkg/genericclioptions k8s.io/cli-runtime/pkg/genericiooptions @@ -1553,8 +1553,8 @@ 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.29.0 -## explicit; go 1.21 +# k8s.io/kubectl v0.32.3 +## explicit; go 1.23.0 k8s.io/kubectl/pkg/cmd/util k8s.io/kubectl/pkg/describe k8s.io/kubectl/pkg/scheme @@ -1645,7 +1645,7 @@ kmodules.xyz/prober/api/v1 kmodules.xyz/resource-metadata/apis/node kmodules.xyz/resource-metadata/apis/node/v1alpha1 kmodules.xyz/resource-metadata/crds -# kubedb.dev/apimachinery v0.55.0 +# kubedb.dev/apimachinery v0.56.0 ## explicit; go 1.23.0 kubedb.dev/apimachinery/apis kubedb.dev/apimachinery/apis/archiver/v1alpha1 @@ -1690,7 +1690,7 @@ kubedb.dev/apimachinery/client/clientset/versioned/typed/ui/v1alpha1 kubedb.dev/apimachinery/crds kubedb.dev/apimachinery/pkg/double_optin kubedb.dev/apimachinery/pkg/factory -# kubedb.dev/db-client-go v0.10.0 +# kubedb.dev/db-client-go v0.11.0 ## explicit; go 1.23.0 kubedb.dev/db-client-go/elasticsearch kubedb.dev/db-client-go/redis @@ -1712,7 +1712,7 @@ kubeops.dev/petset/crds kubeops.dev/sidekick/apis/apps kubeops.dev/sidekick/apis/apps/v1alpha1 kubeops.dev/sidekick/crds -# kubestash.dev/apimachinery v0.18.0 +# kubestash.dev/apimachinery v0.19.0 ## explicit; go 1.23.0 kubestash.dev/apimachinery/apis kubestash.dev/apimachinery/apis/core/v1alpha1