From 9e4460ecc4704b9890c61ae7bb2a5ecd27358bb1 Mon Sep 17 00:00:00 2001
From: Jeremy Doupe
Date: Sun, 23 Nov 2025 16:05:48 -0600
Subject: [PATCH 1/4] add extraLabels to both subcontroller and vbsc pods
Signed-off-by: Jeremy Doupe
---
...planetscale.com_vitessbackupschedules.yaml | 4 ++
.../planetscale.com_vitessbackupstorages.yaml | 4 ++
.../crds/planetscale.com_vitessclusters.yaml | 4 ++
docs/api.md | 66 +++++++++++++++++++
docs/api/index.html | 66 +++++++++++++++++++
.../v2/vitessbackupschedule_types.go | 5 ++
.../v2/vitessbackupstorage_types.go | 4 ++
.../planetscale/v2/vitesscluster_types.go | 6 ++
.../planetscale/v2/zz_generated.deepcopy.go | 21 ++++++
.../vitessbackupschedule_controller.go | 9 +++
.../reconcile_subcontroller.go | 4 ++
.../vitesscluster/reconcile_backup_storage.go | 22 +++++--
pkg/operator/vitessbackup/schedule.go | 32 +++++----
13 files changed, 230 insertions(+), 17 deletions(-)
diff --git a/deploy/crds/planetscale.com_vitessbackupschedules.yaml b/deploy/crds/planetscale.com_vitessbackupschedules.yaml
index 10b95be0..f44d3b35 100644
--- a/deploy/crds/planetscale.com_vitessbackupschedules.yaml
+++ b/deploy/crds/planetscale.com_vitessbackupschedules.yaml
@@ -44,6 +44,10 @@ spec:
- Forbid
example: Forbid
type: string
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
failedJobsHistoryLimit:
format: int32
minimum: 0
diff --git a/deploy/crds/planetscale.com_vitessbackupstorages.yaml b/deploy/crds/planetscale.com_vitessbackupstorages.yaml
index 5454136e..68d61d1a 100644
--- a/deploy/crds/planetscale.com_vitessbackupstorages.yaml
+++ b/deploy/crds/planetscale.com_vitessbackupstorages.yaml
@@ -28,6 +28,10 @@ spec:
type: object
spec:
properties:
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
location:
properties:
annotations:
diff --git a/deploy/crds/planetscale.com_vitessclusters.yaml b/deploy/crds/planetscale.com_vitessclusters.yaml
index 97a6d2f1..262dbe5b 100644
--- a/deploy/crds/planetscale.com_vitessclusters.yaml
+++ b/deploy/crds/planetscale.com_vitessclusters.yaml
@@ -36,6 +36,10 @@ spec:
- xtrabackup
- mysqlshell
type: string
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
locations:
items:
properties:
diff --git a/docs/api.md b/docs/api.md
index 213cf572..17510498 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -775,6 +775,20 @@ This is a list of VitessBackupScheduleTemplate where the “name” fiel
across all the items of the list.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to pods created by backup schedules
+and the VitessBackupStorage subcontroller. These labels will be applied to both the backup
+schedule job pods and the subcontroller pod.
+ |
+
ConcurrencyPolicy
@@ -2540,6 +2554,19 @@ Kubernetes core/v1.PullPolicy
The PullPolicy used will be the same as the one used to pull the vtctld image.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the pods created by VitessBackupSchedule.
+This is populated from ClusterBackupSpec.ExtraLabels when the schedule is created.
+ |
+
@@ -2628,6 +2655,19 @@ Kubernetes core/v1.PullPolicy
The PullPolicy used will be the same as the one used to pull the vtctld image.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the pods created by VitessBackupSchedule.
+This is populated from ClusterBackupSpec.ExtraLabels when the schedule is created.
+ |
+
VitessBackupScheduleStatus
@@ -3232,6 +3272,19 @@ VitessBackupSubcontrollerSpec
Subcontroller specifies any parameters needed for launching the VitessBackupStorage subcontroller pod.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the VitessBackupStorage subcontroller pod.
+This is populated from ClusterBackupSpec.ExtraLabels when the storage object is created.
+ |
+
@@ -3293,6 +3346,19 @@ VitessBackupSubcontrollerSpec
Subcontroller specifies any parameters needed for launching the VitessBackupStorage subcontroller pod.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the VitessBackupStorage subcontroller pod.
+This is populated from ClusterBackupSpec.ExtraLabels when the storage object is created.
+ |
+
VitessBackupStorageStatus
diff --git a/docs/api/index.html b/docs/api/index.html
index 27e7ff20..102dd737 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -777,6 +777,20 @@ ClusterBackupSpec
across all the items of the list.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to pods created by backup schedules
+and the VitessBackupStorage subcontroller. These labels will be applied to both the backup
+schedule job pods and the subcontroller pod.
+ |
+
ConcurrencyPolicy
@@ -2542,6 +2556,19 @@ VitessBackupSchedule
The PullPolicy used will be the same as the one used to pull the vtctld image.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the pods created by VitessBackupSchedule.
+This is populated from ClusterBackupSpec.ExtraLabels when the schedule is created.
+ |
+
@@ -2630,6 +2657,19 @@ VitessBackupScheduleSpec
The PullPolicy used will be the same as the one used to pull the vtctld image.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the pods created by VitessBackupSchedule.
+This is populated from ClusterBackupSpec.ExtraLabels when the schedule is created.
+ |
+
VitessBackupScheduleStatus
@@ -3234,6 +3274,19 @@ VitessBackupStorage
Subcontroller specifies any parameters needed for launching the VitessBackupStorage subcontroller pod.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the VitessBackupStorage subcontroller pod.
+This is populated from ClusterBackupSpec.ExtraLabels when the storage object is created.
+ |
+
@@ -3295,6 +3348,19 @@ VitessBackupStorageSpec
Subcontroller specifies any parameters needed for launching the VitessBackupStorage subcontroller pod.
+
+
+extraLabels
+
+map[string]string
+
+ |
+
+(Optional)
+ ExtraLabels can optionally be used to attach custom labels to the VitessBackupStorage subcontroller pod.
+This is populated from ClusterBackupSpec.ExtraLabels when the storage object is created.
+ |
+
VitessBackupStorageStatus
diff --git a/pkg/apis/planetscale/v2/vitessbackupschedule_types.go b/pkg/apis/planetscale/v2/vitessbackupschedule_types.go
index 3e363853..a8894752 100644
--- a/pkg/apis/planetscale/v2/vitessbackupschedule_types.go
+++ b/pkg/apis/planetscale/v2/vitessbackupschedule_types.go
@@ -84,6 +84,11 @@ type VitessBackupScheduleSpec struct {
// ImagePullPolicy defines the policy to pull the Docker image in the job's pod.
// The PullPolicy used will be the same as the one used to pull the vtctld image.
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
+
+ // ExtraLabels can optionally be used to attach custom labels to the pods created by VitessBackupSchedule.
+ // This is populated from ClusterBackupSpec.ExtraLabels when the schedule is created.
+ // +optional
+ ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
// VitessBackupScheduleTemplate contains all the user-specific fields that the user will be
diff --git a/pkg/apis/planetscale/v2/vitessbackupstorage_types.go b/pkg/apis/planetscale/v2/vitessbackupstorage_types.go
index 776c0ed7..8c850532 100644
--- a/pkg/apis/planetscale/v2/vitessbackupstorage_types.go
+++ b/pkg/apis/planetscale/v2/vitessbackupstorage_types.go
@@ -61,6 +61,10 @@ type VitessBackupStorageSpec struct {
Location VitessBackupLocation `json:"location"`
// Subcontroller specifies any parameters needed for launching the VitessBackupStorage subcontroller pod.
Subcontroller *VitessBackupSubcontrollerSpec `json:"subcontroller,omitempty"`
+ // ExtraLabels can optionally be used to attach custom labels to the VitessBackupStorage subcontroller pod.
+ // This is populated from ClusterBackupSpec.ExtraLabels when the storage object is created.
+ // +optional
+ ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
type VitessBackupSubcontrollerSpec struct {
diff --git a/pkg/apis/planetscale/v2/vitesscluster_types.go b/pkg/apis/planetscale/v2/vitesscluster_types.go
index 3b60361a..61f25ba7 100644
--- a/pkg/apis/planetscale/v2/vitesscluster_types.go
+++ b/pkg/apis/planetscale/v2/vitesscluster_types.go
@@ -327,6 +327,12 @@ type ClusterBackupSpec struct {
// +patchMergeKey=name
// +patchStrategy=merge
Schedules []VitessBackupScheduleTemplate `json:"schedules,omitempty"`
+
+ // ExtraLabels can optionally be used to attach custom labels to pods created by backup schedules
+ // and the VitessBackupStorage subcontroller. These labels will be applied to both the backup
+ // schedule job pods and the subcontroller pod.
+ // +optional
+ ExtraLabels map[string]string `json:"extraLabels,omitempty"`
}
// VitessBackupEngine is the backup implementation to use.
diff --git a/pkg/apis/planetscale/v2/zz_generated.deepcopy.go b/pkg/apis/planetscale/v2/zz_generated.deepcopy.go
index bc79476b..75d6700b 100644
--- a/pkg/apis/planetscale/v2/zz_generated.deepcopy.go
+++ b/pkg/apis/planetscale/v2/zz_generated.deepcopy.go
@@ -97,6 +97,13 @@ func (in *ClusterBackupSpec) DeepCopyInto(out *ClusterBackupSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.ExtraLabels != nil {
+ in, out := &in.ExtraLabels, &out.ExtraLabels
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBackupSpec.
@@ -862,6 +869,13 @@ func (in *VitessBackupScheduleList) DeepCopyObject() runtime.Object {
func (in *VitessBackupScheduleSpec) DeepCopyInto(out *VitessBackupScheduleSpec) {
*out = *in
in.VitessBackupScheduleTemplate.DeepCopyInto(&out.VitessBackupScheduleTemplate)
+ if in.ExtraLabels != nil {
+ in, out := &in.ExtraLabels, &out.ExtraLabels
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VitessBackupScheduleSpec.
@@ -1104,6 +1118,13 @@ func (in *VitessBackupStorageSpec) DeepCopyInto(out *VitessBackupStorageSpec) {
*out = new(VitessBackupSubcontrollerSpec)
**out = **in
}
+ if in.ExtraLabels != nil {
+ in, out := &in.ExtraLabels, &out.ExtraLabels
+ *out = make(map[string]string, len(*in))
+ for key, val := range *in {
+ (*out)[key] = val
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VitessBackupStorageSpec.
diff --git a/pkg/controller/vitessbackupschedule/vitessbackupschedule_controller.go b/pkg/controller/vitessbackupschedule/vitessbackupschedule_controller.go
index 41eb4680..943f5ac7 100644
--- a/pkg/controller/vitessbackupschedule/vitessbackupschedule_controller.go
+++ b/pkg/controller/vitessbackupschedule/vitessbackupschedule_controller.go
@@ -43,6 +43,7 @@ import (
"planetscale.dev/vitess-operator/pkg/operator/reconciler"
"planetscale.dev/vitess-operator/pkg/operator/results"
"planetscale.dev/vitess-operator/pkg/operator/resync"
+ "planetscale.dev/vitess-operator/pkg/operator/update"
"planetscale.dev/vitess-operator/pkg/operator/vitessbackup"
"planetscale.dev/vitess-operator/pkg/operator/vttablet"
"sigs.k8s.io/controller-runtime/pkg/controller"
@@ -616,6 +617,10 @@ func (r *ReconcileVitessBackupsSchedule) createJob(
planetscalev2.KeyspaceLabel: strategy.Keyspace,
planetscalev2.ShardLabel: vkr.SafeName(),
}
+ // Merge user-provided extra labels.
+ if vbsc.Spec.ExtraLabels != nil {
+ update.Labels(&labels, vbsc.Spec.ExtraLabels)
+ }
meta := metav1.ObjectMeta{
Labels: labels,
@@ -629,6 +634,10 @@ func (r *ReconcileVitessBackupsSchedule) createJob(
meta.Annotations[scheduledTimeAnnotation] = scheduledTime.Format(time.RFC3339)
maps.Copy(meta.Labels, vbsc.Labels)
+ // Merge user-provided extra labels into meta as well.
+ if vbsc.Spec.ExtraLabels != nil {
+ update.Labels(&meta.Labels, vbsc.Spec.ExtraLabels)
+ }
pod, vtbackupSpec, err := r.createJobPod(ctx, vbsc, strategy, name, vkr, labels)
if err != nil {
diff --git a/pkg/controller/vitessbackupstorage/reconcile_subcontroller.go b/pkg/controller/vitessbackupstorage/reconcile_subcontroller.go
index 1cfa8695..cc2cb533 100644
--- a/pkg/controller/vitessbackupstorage/reconcile_subcontroller.go
+++ b/pkg/controller/vitessbackupstorage/reconcile_subcontroller.go
@@ -69,6 +69,10 @@ func (r *ReconcileVitessBackupStorage) reconcileSubcontroller(ctx context.Contex
planetscalev2.ClusterLabel: clusterName,
vitessbackup.LocationLabel: vbs.Spec.Location.Name,
}
+ // Merge user-provided extra labels from ClusterBackupSpec.
+ if vbs.Spec.ExtraLabels != nil {
+ update.Labels(&labels, vbs.Spec.ExtraLabels)
+ }
spec, err := r.newSubcontrollerPodSpec(ctx, vbs)
if err != nil {
diff --git a/pkg/controller/vitesscluster/reconcile_backup_storage.go b/pkg/controller/vitesscluster/reconcile_backup_storage.go
index d8e4eb99..60e461e7 100644
--- a/pkg/controller/vitesscluster/reconcile_backup_storage.go
+++ b/pkg/controller/vitesscluster/reconcile_backup_storage.go
@@ -50,7 +50,7 @@ func (r *ReconcileVitessCluster) reconcileBackupStorage(ctx context.Context, vt
Name: vitessbackup.StorageObjectName(vt.Name, location.Name),
}
keys = append(keys, key)
- vbsMap[key] = newVitessBackupStorage(key, labels, location, vt.Spec.Backup.Subcontroller)
+ vbsMap[key] = newVitessBackupStorage(key, labels, location, vt.Spec.Backup.Subcontroller, vt.Spec.Backup.ExtraLabels)
}
}
@@ -72,7 +72,7 @@ func (r *ReconcileVitessCluster) reconcileBackupStorage(ctx context.Context, vt
})
}
-func newVitessBackupStorage(key client.ObjectKey, parentLabels map[string]string, location *planetscalev2.VitessBackupLocation, subcontroller *planetscalev2.VitessBackupSubcontrollerSpec) *planetscalev2.VitessBackupStorage {
+func newVitessBackupStorage(key client.ObjectKey, parentLabels map[string]string, location *planetscalev2.VitessBackupLocation, subcontroller *planetscalev2.VitessBackupSubcontrollerSpec, extraLabels map[string]string) *planetscalev2.VitessBackupStorage {
// Copy parent labels and add child-specific labels.
labels := map[string]string{
vitessbackup.LocationLabel: location.Name,
@@ -81,15 +81,25 @@ func newVitessBackupStorage(key client.ObjectKey, parentLabels map[string]string
labels[k] = v
}
+ spec := planetscalev2.VitessBackupStorageSpec{
+ Location: *location,
+ Subcontroller: subcontroller,
+ }
+
+ // Populate ExtraLabels from ClusterBackupSpec if available.
+ if extraLabels != nil {
+ spec.ExtraLabels = make(map[string]string)
+ for k, v := range extraLabels {
+ spec.ExtraLabels[k] = v
+ }
+ }
+
return &planetscalev2.VitessBackupStorage{
ObjectMeta: metav1.ObjectMeta{
Namespace: key.Namespace,
Name: key.Name,
Labels: labels,
},
- Spec: planetscalev2.VitessBackupStorageSpec{
- Location: *location,
- Subcontroller: subcontroller,
- },
+ Spec: spec,
}
}
diff --git a/pkg/operator/vitessbackup/schedule.go b/pkg/operator/vitessbackup/schedule.go
index 3a81b17c..c1e14827 100644
--- a/pkg/operator/vitessbackup/schedule.go
+++ b/pkg/operator/vitessbackup/schedule.go
@@ -32,22 +32,32 @@ func NewVitessBackupSchedule(key client.ObjectKey, vt *planetscalev2.VitessClust
return nil
}
+ spec := planetscalev2.VitessBackupScheduleSpec{
+ // We simply re-apply the same template that was written by the user.
+ VitessBackupScheduleTemplate: *vbsc,
+
+ Cluster: vt.Name,
+
+ // To take backups we only care about having the vtctldclient installed in the container.
+ // For this reason, we re-use the vtctld Docker image and the same image pull policy.
+ Image: vt.Spec.Images.Vtctld,
+ ImagePullPolicy: vt.Spec.ImagePullPolicies.Vtctld,
+ }
+
+ // Populate ExtraLabels from ClusterBackupSpec if available.
+ if vt.Spec.Backup.ExtraLabels != nil {
+ spec.ExtraLabels = make(map[string]string)
+ for k, v := range vt.Spec.Backup.ExtraLabels {
+ spec.ExtraLabels[k] = v
+ }
+ }
+
return &planetscalev2.VitessBackupSchedule{
ObjectMeta: metav1.ObjectMeta{
Name: key.Name,
Namespace: key.Namespace,
Labels: labels,
},
- Spec: planetscalev2.VitessBackupScheduleSpec{
- // We simply re-apply the same template that was written by the user.
- VitessBackupScheduleTemplate: *vbsc,
-
- Cluster: vt.Name,
-
- // To take backups we only care about having the vtctldclient installed in the container.
- // For this reason, we re-use the vtctld Docker image and the same image pull policy.
- Image: vt.Spec.Images.Vtctld,
- ImagePullPolicy: vt.Spec.ImagePullPolicies.Vtctld,
- },
+ Spec: spec,
}
}
From 6c09326dcd482d12f75b593e47329a6994810eea Mon Sep 17 00:00:00 2001
From: Jeremy Doupe
Date: Tue, 2 Dec 2025 07:42:05 -0600
Subject: [PATCH 2/4] pass vttablet extraLabels to vtbackup as well
Signed-off-by: Jeremy Doupe
---
pkg/controller/vitessshard/reconcile_backup_job.go | 1 +
pkg/operator/vttablet/vtbackup_pod.go | 3 +++
2 files changed, 4 insertions(+)
diff --git a/pkg/controller/vitessshard/reconcile_backup_job.go b/pkg/controller/vitessshard/reconcile_backup_job.go
index 1b6ae609..cf08812a 100644
--- a/pkg/controller/vitessshard/reconcile_backup_job.go
+++ b/pkg/controller/vitessshard/reconcile_backup_job.go
@@ -235,6 +235,7 @@ func vtbackupSpec(key client.ObjectKey, vts *planetscalev2.VitessShard, parentLa
ExtraEnv: pool.ExtraEnv,
ExtraVolumes: pool.ExtraVolumes,
ExtraVolumeMounts: pool.ExtraVolumeMounts,
+ ExtraLabels: pool.ExtraLabels,
Annotations: annotations,
Affinity: pool.Affinity,
Tolerations: pool.Tolerations,
diff --git a/pkg/operator/vttablet/vtbackup_pod.go b/pkg/operator/vttablet/vtbackup_pod.go
index f4c0a957..6964313c 100644
--- a/pkg/operator/vttablet/vtbackup_pod.go
+++ b/pkg/operator/vttablet/vtbackup_pod.go
@@ -193,6 +193,9 @@ func NewBackupPod(key client.ObjectKey, backupSpec *BackupSpec, mysqldImage stri
},
}
+ // Apply ExtraLabels to the pod, similar to regular vttablet pods.
+ update.Labels(&pod.Labels, tabletSpec.ExtraLabels)
+
if planetscalev2.DefaultVitessServiceAccount != "" {
pod.Spec.ServiceAccountName = planetscalev2.DefaultVitessServiceAccount
}
From 0290a9e2e641656dddb5fed7bc474341d32e4183 Mon Sep 17 00:00:00 2001
From: Jeremy Doupe
Date: Fri, 5 Dec 2025 09:04:14 -0600
Subject: [PATCH 3/4] Optimize extraLabels map creation
Signed-off-by: Jeremy Doupe
---
pkg/controller/vitesscluster/reconcile_backup_storage.go | 2 +-
pkg/operator/vitessbackup/schedule.go | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/pkg/controller/vitesscluster/reconcile_backup_storage.go b/pkg/controller/vitesscluster/reconcile_backup_storage.go
index 60e461e7..411dd663 100644
--- a/pkg/controller/vitesscluster/reconcile_backup_storage.go
+++ b/pkg/controller/vitesscluster/reconcile_backup_storage.go
@@ -88,7 +88,7 @@ func newVitessBackupStorage(key client.ObjectKey, parentLabels map[string]string
// Populate ExtraLabels from ClusterBackupSpec if available.
if extraLabels != nil {
- spec.ExtraLabels = make(map[string]string)
+ spec.ExtraLabels = make(map[string]string, len(extraLabels))
for k, v := range extraLabels {
spec.ExtraLabels[k] = v
}
diff --git a/pkg/operator/vitessbackup/schedule.go b/pkg/operator/vitessbackup/schedule.go
index c1e14827..fd9f47fd 100644
--- a/pkg/operator/vitessbackup/schedule.go
+++ b/pkg/operator/vitessbackup/schedule.go
@@ -46,7 +46,7 @@ func NewVitessBackupSchedule(key client.ObjectKey, vt *planetscalev2.VitessClust
// Populate ExtraLabels from ClusterBackupSpec if available.
if vt.Spec.Backup.ExtraLabels != nil {
- spec.ExtraLabels = make(map[string]string)
+ spec.ExtraLabels = make(map[string]string, len(vt.Spec.Backup.ExtraLabels))
for k, v := range vt.Spec.Backup.ExtraLabels {
spec.ExtraLabels[k] = v
}
From a20ed6aef98b995c96f572629c1487e0ecf56489 Mon Sep 17 00:00:00 2001
From: Jeremy Doupe
Date: Sat, 4 Apr 2026 12:59:30 -0500
Subject: [PATCH 4/4] Fixup test operator yaml
Signed-off-by: Jeremy Doupe
---
test/endtoend/operator/operator-latest.yaml | 14247 +++++++++---------
1 file changed, 7204 insertions(+), 7043 deletions(-)
diff --git a/test/endtoend/operator/operator-latest.yaml b/test/endtoend/operator/operator-latest.yaml
index 4a2308ff..8ff8cc2c 100644
--- a/test/endtoend/operator/operator-latest.yaml
+++ b/test/endtoend/operator/operator-latest.yaml
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
+ controller-gen.kubebuilder.io/version: v0.20.1
name: etcdlockservers.planetscale.com
spec:
group: planetscale.com
@@ -11,437 +11,281 @@ spec:
listKind: EtcdLockserverList
plural: etcdlockservers
shortNames:
- - etcdls
+ - etcdls
singular: etcdlockserver
scope: Namespaced
versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- advertisePeerURLs:
- items:
- type: string
- maxItems: 3
- minItems: 3
- type: array
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- clientService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- createClientService:
- type: boolean
- createPDB:
- type: boolean
- createPeerService:
- type: boolean
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ advertisePeerURLs:
+ items:
+ type: string
+ maxItems: 3
+ minItems: 3
+ type: array
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clientService:
+ properties:
+ annotations:
+ additionalProperties:
type: string
- volumeName:
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ createClientService:
+ type: boolean
+ createPDB:
+ type: boolean
+ createPeerService:
+ type: boolean
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
type: string
- type: object
- extraEnv:
- items:
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
properties:
- name:
+ apiGroup:
type: string
- value:
+ kind:
+ type: string
+ name:
type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
required:
- - name
+ - kind
+ - name
type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
properties:
- mountPath:
+ apiGroup:
type: string
- mountPropagation:
+ kind:
type: string
name:
type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
+ namespace:
type: string
required:
- - mountPath
- - name
+ - kind
+ - name
type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
+ resources:
properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- localMemberIndex:
- format: int32
- maximum: 3
- minimum: 1
- type: integer
- peerService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- 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:
+ 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:
+ 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
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- zone:
- type: string
- type: object
- status:
- properties:
- available:
- type: string
- clientServiceName:
- type: string
- observedGeneration:
- format: int64
- type: integer
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitessbackups.planetscale.com
-spec:
- group: planetscale.com
- names:
- kind: VitessBackup
- listKind: VitessBackupList
- plural: vitessbackups
- shortNames:
- - vtb
- singular: vitessbackup
- scope: Namespaced
- versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- type: object
- status:
- properties:
- complete:
- type: boolean
- engine:
- type: string
- finishedTime:
- format: date-time
- type: string
- position:
- type: string
- startTime:
- format: date-time
- type: string
- storageDirectory:
- type: string
- storageName:
- type: string
- type: object
- type: object
- served: true
- storage: true
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitessbackupschedules.planetscale.com
-spec:
- group: planetscale.com
- names:
- kind: VitessBackupSchedule
- listKind: VitessBackupScheduleList
- plural: vitessbackupschedules
- singular: vitessbackupschedule
- scope: Namespaced
- versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- allowedMissedRun:
- minimum: 0
- type: integer
- annotations:
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
additionalProperties:
type: string
type: object
- cluster:
- type: string
- concurrencyPolicy:
- default: Forbid
- enum:
- - Allow
- - Forbid
- example: Forbid
- type: string
- failedJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- frequency:
- type: string
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
image:
type: string
imagePullPolicy:
type: string
- jobTimeoutMinute:
- default: 10
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ localMemberIndex:
format: int32
- minimum: 0
+ maximum: 3
+ minimum: 1
type: integer
- name:
- example: every-day
- minLength: 1
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$
- type: string
+ peerService:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
resources:
properties:
claims:
@@ -475,91 +319,22 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
- schedule:
- example: 0 0 * * *
- minLength: 0
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ zone:
type: string
- startingDeadlineSeconds:
- format: int64
- minimum: 0
- type: integer
- strategies:
- items:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- keyspace:
- example: commerce
- type: string
- name:
- type: string
- scope:
- enum:
- - Shard
- - Keyspace
- - Cluster
- type: string
- shard:
- example: '-'
- type: string
- required:
- - name
- type: object
- minItems: 1
- type: array
- successfulJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- suspend:
- type: boolean
- required:
- - cluster
- - name
- - resources
- - strategies
type: object
status:
properties:
- active:
- items:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- resourceVersion:
- type: string
- uid:
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- generatedSchedules:
- additionalProperties:
- type: string
- type: object
- lastScheduledTime:
- format: date-time
+ available:
type: string
- lastScheduledTimes:
- additionalProperties:
- format: date-time
- type: string
- type: object
- nextScheduledTimes:
- additionalProperties:
- format: date-time
- type: string
- type: object
+ clientServiceName:
+ type: string
+ observedGeneration:
+ format: int64
+ type: integer
type: object
type: object
served: true
@@ -571,4046 +346,2284 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitessbackupstorages.planetscale.com
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitessbackups.planetscale.com
spec:
group: planetscale.com
names:
- kind: VitessBackupStorage
- listKind: VitessBackupStorageList
- plural: vitessbackupstorages
+ kind: VitessBackup
+ listKind: VitessBackupList
+ plural: vitessbackups
shortNames:
- - vtbs
- singular: vitessbackupstorage
+ - vtb
+ singular: vitessbackup
scope: Namespaced
versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- location:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- azblob:
- properties:
- account:
- minLength: 1
- type: string
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- container:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - account
- - authSecret
- - container
- type: object
- ceph:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- required:
- - authSecret
- type: object
- gcs:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - bucket
- type: object
- name:
- maxLength: 63
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- s3:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- endpoint:
- type: string
- forcePathStyle:
- type: boolean
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- minPartSize:
- format: int64
- type: integer
- region:
- minLength: 1
- type: string
- required:
- - bucket
- - region
- type: object
- volume:
- x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
- type: string
- type: object
- subcontroller:
- properties:
- serviceAccountName:
- type: string
- type: object
- required:
- - location
- type: object
- status:
- properties:
- observedGeneration:
- format: int64
- type: integer
- totalBackupCount:
- format: int32
- type: integer
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ type: object
+ status:
+ properties:
+ complete:
+ type: boolean
+ engine:
+ type: string
+ finishedTime:
+ format: date-time
+ type: string
+ position:
+ type: string
+ startTime:
+ format: date-time
+ type: string
+ storageDirectory:
+ type: string
+ storageName:
+ type: string
+ type: object
+ type: object
+ served: true
+ storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitesscells.planetscale.com
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitessbackupschedules.planetscale.com
spec:
group: planetscale.com
names:
- kind: VitessCell
- listKind: VitessCellList
- plural: vitesscells
- shortNames:
- - vtc
- singular: vitesscell
+ kind: VitessBackupSchedule
+ listKind: VitessBackupScheduleList
+ plural: vitessbackupschedules
+ singular: vitessbackupschedule
scope: Namespaced
versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- allCells:
- items:
- type: string
- type: array
- extraVitessFlags:
- additionalProperties:
- type: string
- type: object
- gateway:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ allowedMissedRun:
+ minimum: 0
+ type: integer
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ cluster:
+ type: string
+ concurrencyPolicy:
+ default: Forbid
+ enum:
+ - Allow
+ - Forbid
+ example: Forbid
+ type: string
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ failedJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ frequency:
+ type: string
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ jobTimeoutMinute:
+ default: 10
+ format: int32
+ minimum: 0
+ type: integer
+ name:
+ example: every-day
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$
+ 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
+ schedule:
+ example: 0 0 * * *
+ minLength: 0
+ type: string
+ startingDeadlineSeconds:
+ format: int64
+ minimum: 0
+ type: integer
+ strategies:
+ items:
properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
+ extraFlags:
additionalProperties:
type: string
type: object
- authentication:
- properties:
- static:
- properties:
- secret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- type: object
- type: object
- autoscaler:
- properties:
- behavior:
- properties:
- scaleDown:
- properties:
- policies:
- items:
- properties:
- periodSeconds:
- format: int32
- type: integer
- type:
- type: string
- value:
- format: int32
- type: integer
- required:
- - periodSeconds
- - type
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- selectPolicy:
- type: string
- stabilizationWindowSeconds:
- format: int32
- type: integer
- type: object
- scaleUp:
- properties:
- policies:
- items:
- properties:
- periodSeconds:
- format: int32
- type: integer
- type:
- type: string
- value:
- format: int32
- type: integer
- required:
- - periodSeconds
- - type
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- selectPolicy:
- type: string
- stabilizationWindowSeconds:
- format: int32
- type: integer
- type: object
- type: object
- maxReplicas:
- format: int32
- minimum: 0
- type: integer
- metrics:
- items:
- properties:
- containerResource:
- properties:
- container:
- type: string
- name:
- type: string
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - container
- - name
- - target
- type: object
- external:
- properties:
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- required:
- - name
- type: object
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - metric
- - target
- type: object
- object:
- properties:
- describedObject:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- required:
- - name
- type: object
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - describedObject
- - metric
- - target
- type: object
- pods:
- properties:
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- required:
- - name
- type: object
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - metric
- - target
- type: object
- resource:
- properties:
- name:
- type: string
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - name
- - target
- type: object
- type:
- type: string
- required:
- - type
- type: object
- type: array
- x-kubernetes-list-type: atomic
- minReplicas:
- format: int32
- minimum: 0
- type: integer
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- lifecycle:
- properties:
- postStart:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- required:
- - port
- type: object
- sleep:
- properties:
- seconds:
- format: int64
- type: integer
- required:
- - seconds
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- required:
- - port
- type: object
- type: object
- preStop:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- required:
- - port
- type: object
- sleep:
- properties:
- seconds:
- format: int64
- type: integer
- required:
- - seconds
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- required:
- - port
- type: object
- type: object
- type: object
- replicas:
- format: int32
- minimum: 0
- type: integer
- 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
- secureTransport:
- properties:
- required:
- type: boolean
- tls:
- properties:
- certSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- clientCACertSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- keySecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- type: object
- type: object
- service:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- strategy:
- properties:
- rollingUpdate:
- properties:
- maxSurge:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- maxUnavailable:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type:
- type: string
- type: object
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- globalLockserver:
- properties:
- address:
- type: string
- implementation:
- type: string
- rootPath:
- type: string
- required:
- - address
- - implementation
- - rootPath
- type: object
- imagePullPolicies:
- properties:
- mysqld:
- type: string
- mysqldExporter:
- type: string
- vtadmin:
- type: string
- vtbackup:
- type: string
- vtctld:
- type: string
- vtgate:
- type: string
- vtorc:
- type: string
- vttablet:
- type: string
- type: object
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- images:
- properties:
- vtgate:
- type: string
- type: object
- lockserver:
- properties:
- cellInfoAddress:
- type: string
- etcd:
- properties:
- advertisePeerURLs:
- items:
- type: string
- maxItems: 3
- minItems: 3
- type: array
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- clientService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- createClientService:
- type: boolean
- createPDB:
- type: boolean
- createPeerService:
- type: boolean
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- localMemberIndex:
- format: int32
- maximum: 3
- minimum: 1
- type: integer
- peerService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- 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
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- external:
- properties:
- address:
- type: string
- implementation:
- type: string
- rootPath:
- type: string
- required:
- - address
- - implementation
- - rootPath
- type: object
- type: object
- name:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
- type: string
- topologyReconciliation:
- properties:
- pruneCells:
- type: boolean
- pruneKeyspaces:
- type: boolean
- pruneShardCells:
- type: boolean
- pruneShards:
- type: boolean
- pruneSrvKeyspaces:
- type: boolean
- pruneTablets:
- type: boolean
- registerCells:
- type: boolean
- registerCellsAliases:
- type: boolean
- type: object
- zone:
- type: string
- required:
- - allCells
- - globalLockserver
- - name
- type: object
- status:
- properties:
- gateway:
- properties:
- available:
- type: string
- labelSelector:
- type: string
- replicas:
- format: int32
- minimum: 0
- type: integer
- serviceName:
- type: string
- type: object
- idle:
- type: string
- keyspaces:
- additionalProperties:
- type: object
- type: object
- lockserver:
- properties:
- etcd:
- properties:
- available:
- type: string
- clientServiceName:
- type: string
- observedGeneration:
- format: int64
- type: integer
- type: object
- type: object
- observedGeneration:
- format: int64
- type: integer
- type: object
- type: object
- served: true
- storage: true
- subresources:
- scale:
- labelSelectorPath: .status.gateway.labelSelector
- specReplicasPath: .spec.gateway.replicas
- statusReplicasPath: .status.gateway.replicas
- status: {}
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitessclusters.planetscale.com
-spec:
- group: planetscale.com
- names:
- kind: VitessCluster
- listKind: VitessClusterList
- plural: vitessclusters
- shortNames:
- - vt
- singular: vitesscluster
- scope: Namespaced
- versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- backup:
- properties:
- engine:
- enum:
- - builtin
- - xtrabackup
- - mysqlshell
- type: string
- locations:
- items:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- azblob:
- properties:
- account:
- minLength: 1
- type: string
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- container:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - account
- - authSecret
- - container
- type: object
- ceph:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- required:
- - authSecret
- type: object
- gcs:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - bucket
- type: object
- name:
- maxLength: 63
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- s3:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- endpoint:
- type: string
- forcePathStyle:
- type: boolean
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- minPartSize:
- format: int64
- type: integer
- region:
- minLength: 1
- type: string
- required:
- - bucket
- - region
- type: object
- volume:
- x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
- type: string
- type: object
- minItems: 1
- type: array
- schedules:
- items:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- allowedMissedRun:
- minimum: 0
- type: integer
- annotations:
- additionalProperties:
- type: string
- type: object
- concurrencyPolicy:
- default: Forbid
- enum:
- - Allow
- - Forbid
- example: Forbid
- type: string
- failedJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- frequency:
- type: string
- jobTimeoutMinute:
- default: 10
- format: int32
- minimum: 0
- type: integer
- name:
- example: every-day
- minLength: 1
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$
- 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
- schedule:
- example: 0 0 * * *
- minLength: 0
- type: string
- startingDeadlineSeconds:
- format: int64
- minimum: 0
- type: integer
- strategies:
- items:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- keyspace:
- example: commerce
- type: string
- name:
- type: string
- scope:
- enum:
- - Shard
- - Keyspace
- - Cluster
- type: string
- shard:
- example: '-'
- type: string
- required:
- - name
- type: object
- minItems: 1
- type: array
- successfulJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- suspend:
- type: boolean
- required:
- - name
- - resources
- - strategies
- type: object
- type: array
- subcontroller:
- properties:
- serviceAccountName:
- type: string
- type: object
- required:
- - locations
- type: object
- cells:
- items:
- properties:
- gateway:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- authentication:
- properties:
- static:
- properties:
- secret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- type: object
- type: object
- autoscaler:
- properties:
- behavior:
- properties:
- scaleDown:
- properties:
- policies:
- items:
- properties:
- periodSeconds:
- format: int32
- type: integer
- type:
- type: string
- value:
- format: int32
- type: integer
- required:
- - periodSeconds
- - type
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- selectPolicy:
- type: string
- stabilizationWindowSeconds:
- format: int32
- type: integer
- tolerance:
- anyOf:
- - type: integer
- - type: 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
- scaleUp:
- properties:
- policies:
- items:
- properties:
- periodSeconds:
- format: int32
- type: integer
- type:
- type: string
- value:
- format: int32
- type: integer
- required:
- - periodSeconds
- - type
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- selectPolicy:
- type: string
- stabilizationWindowSeconds:
- format: int32
- type: integer
- tolerance:
- anyOf:
- - type: integer
- - type: 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
- maxReplicas:
- format: int32
- minimum: 0
- type: integer
- metrics:
- items:
- properties:
- containerResource:
- properties:
- container:
- type: string
- name:
- type: string
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - container
- - name
- - target
- type: object
- external:
- properties:
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- required:
- - name
- type: object
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - metric
- - target
- type: object
- object:
- properties:
- describedObject:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- required:
- - name
- type: object
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - describedObject
- - metric
- - target
- type: object
- pods:
- properties:
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- required:
- - name
- type: object
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - metric
- - target
- type: object
- resource:
- properties:
- name:
- type: string
- target:
- properties:
- averageUtilization:
- format: int32
- type: integer
- averageValue:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type:
- type: string
- value:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- required:
- - type
- type: object
- required:
- - name
- - target
- type: object
- type:
- type: string
- required:
- - type
- type: object
- type: array
- x-kubernetes-list-type: atomic
- minReplicas:
- format: int32
- minimum: 0
- type: integer
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
- type: string
- optional:
- default: false
- type: boolean
- path:
- type: string
- volumeName:
- type: string
- required:
- - key
- - path
- - volumeName
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- lifecycle:
- properties:
- postStart:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- required:
- - port
- type: object
- sleep:
- properties:
- seconds:
- format: int64
- type: integer
- required:
- - seconds
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- required:
- - port
- type: object
- type: object
- preStop:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- x-kubernetes-list-type: atomic
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- required:
- - port
- type: object
- sleep:
- properties:
- seconds:
- format: int64
- type: integer
- required:
- - seconds
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- required:
- - port
- type: object
- type: object
- stopSignal:
- type: string
- type: object
- replicas:
- format: int32
- minimum: 0
- type: integer
- 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
- secureTransport:
- properties:
- required:
- type: boolean
- tls:
- properties:
- certSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- clientCACertSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- keySecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- type: object
- type: object
- service:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- strategy:
- properties:
- rollingUpdate:
- properties:
- maxSurge:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- maxUnavailable:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type:
- type: string
- type: object
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- lockserver:
- properties:
- cellInfoAddress:
- type: string
- etcd:
- properties:
- advertisePeerURLs:
- items:
- type: string
- maxItems: 3
- minItems: 3
- type: array
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- clientService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- createClientService:
- type: boolean
- createPDB:
- type: boolean
- createPeerService:
- type: boolean
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
- type: string
- optional:
- default: false
- type: boolean
- path:
- type: string
- volumeName:
- type: string
- required:
- - key
- - path
- - volumeName
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- localMemberIndex:
- format: int32
- maximum: 3
- minimum: 1
- type: integer
- peerService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- 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
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- external:
- properties:
- address:
- type: string
- implementation:
- type: string
- rootPath:
- type: string
- required:
- - address
- - implementation
- - rootPath
- type: object
- type: object
- name:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
- type: string
- zone:
- type: string
- required:
- - name
- type: object
- type: array
- extraVitessFlags:
- additionalProperties:
- type: string
- type: object
- gatewayService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- globalLockserver:
- properties:
- cellInfoAddress:
- type: string
- etcd:
- properties:
- advertisePeerURLs:
- items:
- type: string
- maxItems: 3
- minItems: 3
- type: array
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- clientService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- createClientService:
- type: boolean
- createPDB:
- type: boolean
- createPeerService:
- type: boolean
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
- type: string
- optional:
- default: false
- type: boolean
- path:
- type: string
- volumeName:
- type: string
- required:
- - key
- - path
- - volumeName
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- localMemberIndex:
- format: int32
- maximum: 3
- minimum: 1
- type: integer
- peerService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- 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
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- external:
- properties:
- address:
- type: string
- implementation:
- type: string
- rootPath:
- type: string
- required:
- - address
- - implementation
- - rootPath
- type: object
- type: object
- imagePullPolicies:
- properties:
- mysqld:
- type: string
- mysqldExporter:
- type: string
- vtadmin:
- type: string
- vtbackup:
- type: string
- vtctld:
- type: string
- vtgate:
- type: string
- vtorc:
- type: string
- vttablet:
- type: string
- type: object
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- images:
- properties:
- mysqld:
- properties:
- mariadb103Compatible:
- type: string
- mariadbCompatible:
- type: string
- mysql56Compatible:
- type: string
- mysql80Compatible:
- type: string
- type: object
- mysqldExporter:
- type: string
- vtadmin:
- type: string
- vtbackup:
- type: string
- vtctld:
- type: string
- vtgate:
- type: string
- vtorc:
- type: string
- vttablet:
- type: string
- type: object
- keyspaces:
- items:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- databaseName:
- type: string
- durabilityPolicy:
- type: string
- images:
- properties:
- mysqld:
- properties:
- mysql56Compatible:
- type: string
- mysql80Compatible:
- type: string
- type: object
- mysqldExporter:
- type: string
- vtbackup:
- type: string
- vtorc:
- type: string
- vttablet:
- type: string
- type: object
- name:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- partitionings:
- items:
- properties:
- custom:
- properties:
- shards:
- items:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- databaseInitScriptSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- keyRange:
- properties:
- end:
- pattern: ^([0-9a-f][0-9a-f])*$
- type: string
- start:
- pattern: ^([0-9a-f][0-9a-f])*$
- type: string
- type: object
- replication:
- properties:
- initializeBackup:
- type: boolean
- initializeMaster:
- type: boolean
- recoverRestartedMaster:
- type: boolean
- type: object
- tabletPools:
- items:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- backupLocationName:
- type: string
- cell:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
- type: string
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- externalDatastore:
- properties:
- credentialsSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- database:
- type: string
- host:
- type: string
- port:
- format: int32
- maximum: 65535
- minimum: 1
- type: integer
- serverCACertSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- user:
- type: string
- required:
- - credentialsSecret
- - database
- - host
- - port
- - user
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
- type: string
- optional:
- default: false
- type: boolean
- path:
- type: string
- volumeName:
- type: string
- required:
- - key
- - path
- - volumeName
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
+ keyspace:
+ example: commerce
+ type: string
+ name:
+ type: string
+ scope:
+ enum:
+ - Shard
+ - Keyspace
+ - Cluster
+ type: string
+ shard:
+ example: '-'
+ type: string
+ required:
+ - name
+ type: object
+ minItems: 1
+ type: array
+ successfulJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ suspend:
+ type: boolean
+ required:
+ - cluster
+ - name
+ - resources
+ - strategies
+ type: object
+ status:
+ properties:
+ active:
+ items:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ resourceVersion:
+ type: string
+ uid:
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ generatedSchedules:
+ additionalProperties:
+ type: string
+ type: object
+ lastScheduledTime:
+ format: date-time
+ type: string
+ lastScheduledTimes:
+ additionalProperties:
+ format: date-time
+ type: string
+ type: object
+ nextScheduledTimes:
+ additionalProperties:
+ format: date-time
+ type: string
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitessbackupstorages.planetscale.com
+spec:
+ group: planetscale.com
+ names:
+ kind: VitessBackupStorage
+ listKind: VitessBackupStorageList
+ plural: vitessbackupstorages
+ shortNames:
+ - vtbs
+ singular: vitessbackupstorage
+ scope: Namespaced
+ versions:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ location:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ azblob:
+ properties:
+ account:
+ minLength: 1
+ type: string
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ container:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - account
+ - authSecret
+ - container
+ type: object
+ ceph:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ required:
+ - authSecret
+ type: object
+ gcs:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - bucket
+ type: object
+ name:
+ maxLength: 63
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
+ type: string
+ s3:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ endpoint:
+ type: string
+ forcePathStyle:
+ type: boolean
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ minPartSize:
+ format: int64
+ type: integer
+ region:
+ minLength: 1
+ type: string
+ required:
+ - bucket
+ - region
+ type: object
+ volume:
+ x-kubernetes-preserve-unknown-fields: true
+ volumeSubPath:
+ type: string
+ type: object
+ subcontroller:
+ properties:
+ serviceAccountName:
+ type: string
+ type: object
+ required:
+ - location
+ type: object
+ status:
+ properties:
+ observedGeneration:
+ format: int64
+ type: integer
+ totalBackupCount:
+ format: int32
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitesscells.planetscale.com
+spec:
+ group: planetscale.com
+ names:
+ kind: VitessCell
+ listKind: VitessCellList
+ plural: vitesscells
+ shortNames:
+ - vtc
+ singular: vitesscell
+ scope: Namespaced
+ versions:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ allCells:
+ items:
+ type: string
+ type: array
+ extraVitessFlags:
+ additionalProperties:
+ type: string
+ type: object
+ gateway:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ authentication:
+ properties:
+ static:
+ properties:
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ autoscaler:
+ properties:
+ behavior:
+ properties:
+ scaleDown:
+ properties:
+ policies:
+ items:
+ properties:
+ periodSeconds:
+ format: int32
+ type: integer
+ type:
+ type: string
+ value:
+ format: int32
+ type: integer
+ required:
+ - periodSeconds
+ - type
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ selectPolicy:
+ type: string
+ stabilizationWindowSeconds:
+ format: int32
+ type: integer
+ tolerance:
+ anyOf:
+ - type: integer
+ - type: 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
+ scaleUp:
+ properties:
+ policies:
+ items:
+ properties:
+ periodSeconds:
+ format: int32
+ type: integer
+ type:
+ type: string
+ value:
+ format: int32
+ type: integer
+ required:
+ - periodSeconds
+ - type
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ selectPolicy:
+ type: string
+ stabilizationWindowSeconds:
+ format: int32
+ type: integer
+ tolerance:
+ anyOf:
+ - type: integer
+ - type: 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
+ maxReplicas:
+ format: int32
+ minimum: 0
+ type: integer
+ metrics:
+ items:
+ properties:
+ containerResource:
+ properties:
+ container:
+ type: string
+ name:
+ type: string
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - container
+ - name
+ - target
+ type: object
+ external:
+ properties:
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- mysqld:
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - name
+ type: object
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - metric
+ - target
+ type: object
+ object:
+ properties:
+ describedObject:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
+ properties:
+ matchExpressions:
+ items:
properties:
- configOverrides:
+ key:
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
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
required:
- - resources
+ - key
+ - operator
type: object
- mysqldExporter:
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - name
+ type: object
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - describedObject
+ - metric
+ - target
+ type: object
+ pods:
+ properties:
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
+ properties:
+ matchExpressions:
+ items:
properties:
- extraFlags:
- additionalProperties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
type: string
- type: object
- 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
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
type: object
- name:
- default: ""
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - name
+ type: object
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - metric
+ - target
+ type: object
+ resource:
+ properties:
+ name:
+ type: string
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - name
+ - target
+ type: object
+ type:
+ type: string
+ required:
+ - type
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ minReplicas:
+ format: int32
+ minimum: 0
+ type: integer
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ lifecycle:
+ properties:
+ postStart:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ required:
+ - port
+ type: object
+ type: object
+ preStop:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ required:
+ - port
+ type: object
+ type: object
+ stopSignal:
+ type: string
+ type: object
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ 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
+ secureTransport:
+ properties:
+ required:
+ type: boolean
+ tls:
+ properties:
+ certSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ clientCACertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ keySecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ service:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ strategy:
+ properties:
+ rollingUpdate:
+ properties:
+ maxSurge:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ maxUnavailable:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type:
+ type: string
+ type: object
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ globalLockserver:
+ properties:
+ address:
+ type: string
+ implementation:
+ type: string
+ rootPath:
+ type: string
+ required:
+ - address
+ - implementation
+ - rootPath
+ type: object
+ imagePullPolicies:
+ properties:
+ mysqld:
+ type: string
+ mysqldExporter:
+ type: string
+ vtadmin:
+ type: string
+ vtbackup:
+ type: string
+ vtctld:
+ type: string
+ vtgate:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
+ type: object
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ images:
+ properties:
+ vtgate:
+ type: string
+ type: object
+ lockserver:
+ properties:
+ cellInfoAddress:
+ type: string
+ etcd:
+ properties:
+ advertisePeerURLs:
+ items:
+ type: string
+ maxItems: 3
+ minItems: 3
+ type: array
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clientService:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ createClientService:
+ type: boolean
+ createPDB:
+ type: boolean
+ createPeerService:
+ type: boolean
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ localMemberIndex:
+ format: int32
+ maximum: 3
+ minimum: 1
+ type: integer
+ peerService:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ 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
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ external:
+ properties:
+ address:
+ type: string
+ implementation:
+ type: string
+ rootPath:
+ type: string
+ required:
+ - address
+ - implementation
+ - rootPath
+ type: object
+ type: object
+ name:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ type: string
+ topologyReconciliation:
+ properties:
+ pruneCells:
+ type: boolean
+ pruneKeyspaces:
+ type: boolean
+ pruneShardCells:
+ type: boolean
+ pruneShards:
+ type: boolean
+ pruneSrvKeyspaces:
+ type: boolean
+ pruneTablets:
+ type: boolean
+ registerCells:
+ type: boolean
+ registerCellsAliases:
+ type: boolean
+ type: object
+ zone:
+ type: string
+ required:
+ - allCells
+ - globalLockserver
+ - name
+ type: object
+ status:
+ properties:
+ gateway:
+ properties:
+ available:
+ type: string
+ labelSelector:
+ type: string
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ serviceName:
+ type: string
+ type: object
+ idle:
+ type: string
+ keyspaces:
+ additionalProperties:
+ type: object
+ type: object
+ lockserver:
+ properties:
+ etcd:
+ properties:
+ available:
+ type: string
+ clientServiceName:
+ type: string
+ observedGeneration:
+ format: int64
+ type: integer
+ type: object
+ type: object
+ observedGeneration:
+ format: int64
+ type: integer
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ scale:
+ labelSelectorPath: .status.gateway.labelSelector
+ specReplicasPath: .spec.gateway.replicas
+ statusReplicasPath: .status.gateway.replicas
+ status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitessclusters.planetscale.com
+spec:
+ group: planetscale.com
+ names:
+ kind: VitessCluster
+ listKind: VitessClusterList
+ plural: vitessclusters
+ shortNames:
+ - vt
+ singular: vitesscluster
+ scope: Namespaced
+ versions:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ backup:
+ properties:
+ engine:
+ enum:
+ - builtin
+ - xtrabackup
+ - mysqlshell
+ type: string
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ locations:
+ items:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ azblob:
+ properties:
+ account:
+ minLength: 1
+ type: string
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ container:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - account
+ - authSecret
+ - container
+ type: object
+ ceph:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ required:
+ - authSecret
+ type: object
+ gcs:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - bucket
+ type: object
+ name:
+ maxLength: 63
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
+ type: string
+ s3:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ endpoint:
+ type: string
+ forcePathStyle:
+ type: boolean
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ minPartSize:
+ format: int64
+ type: integer
+ region:
+ minLength: 1
+ type: string
+ required:
+ - bucket
+ - region
+ type: object
+ volume:
+ x-kubernetes-preserve-unknown-fields: true
+ volumeSubPath:
+ type: string
+ type: object
+ minItems: 1
+ type: array
+ schedules:
+ items:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ allowedMissedRun:
+ minimum: 0
+ type: integer
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ concurrencyPolicy:
+ default: Forbid
+ enum:
+ - Allow
+ - Forbid
+ example: Forbid
+ type: string
+ failedJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ frequency:
+ type: string
+ jobTimeoutMinute:
+ default: 10
+ format: int32
+ minimum: 0
+ type: integer
+ name:
+ example: every-day
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$
+ 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
+ schedule:
+ example: 0 0 * * *
+ minLength: 0
+ type: string
+ startingDeadlineSeconds:
+ format: int64
+ minimum: 0
+ type: integer
+ strategies:
+ items:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ keyspace:
+ example: commerce
+ type: string
+ name:
+ type: string
+ scope:
+ enum:
+ - Shard
+ - Keyspace
+ - Cluster
+ type: string
+ shard:
+ example: '-'
+ type: string
+ required:
+ - name
+ type: object
+ minItems: 1
+ type: array
+ successfulJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ suspend:
+ type: boolean
+ required:
+ - name
+ - resources
+ - strategies
+ type: object
+ type: array
+ subcontroller:
+ properties:
+ serviceAccountName:
+ type: string
+ type: object
+ required:
+ - locations
+ type: object
+ cells:
+ items:
+ properties:
+ gateway:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ authentication:
+ properties:
+ static:
+ properties:
+ secret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ autoscaler:
+ properties:
+ behavior:
+ properties:
+ scaleDown:
+ properties:
+ policies:
+ items:
+ properties:
+ periodSeconds:
+ format: int32
+ type: integer
+ type:
type: string
- replicas:
+ value:
+ format: int32
+ type: integer
+ required:
+ - periodSeconds
+ - type
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ selectPolicy:
+ type: string
+ stabilizationWindowSeconds:
+ format: int32
+ type: integer
+ tolerance:
+ anyOf:
+ - type: integer
+ - type: 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
+ scaleUp:
+ properties:
+ policies:
+ items:
+ properties:
+ periodSeconds:
format: int32
- minimum: 0
type: integer
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
type:
- enum:
- - replica
- - rdonly
- - externalmaster
- - externalreplica
- - externalrdonly
type: string
- vttablet:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- lifecycle:
- x-kubernetes-preserve-unknown-fields: true
- 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
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- vtbackupExtraFlags:
- additionalProperties:
- type: string
- type: object
- required:
- - resources
- type: object
+ value:
+ format: int32
+ type: integer
required:
- - cell
- - replicas
+ - periodSeconds
- type
- - vttablet
+ - value
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- - cell
- - name
- x-kubernetes-list-type: map
- required:
- - databaseInitScriptSecret
- - keyRange
+ x-kubernetes-list-type: atomic
+ selectPolicy:
+ type: string
+ stabilizationWindowSeconds:
+ format: int32
+ type: integer
+ tolerance:
+ anyOf:
+ - type: integer
+ - type: 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: array
- required:
- - shards
- type: object
- equal:
- properties:
- hexWidth:
- default: 0
- format: int32
- maximum: 65536
- minimum: 0
- type: integer
- parts:
- format: int32
- maximum: 65536
- minimum: 1
- type: integer
- shardTemplate:
+ type: object
+ maxReplicas:
+ format: int32
+ minimum: 0
+ type: integer
+ metrics:
+ items:
properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- databaseInitScriptSecret:
+ containerResource:
properties:
- key:
+ container:
type: string
name:
type: string
- volumeName:
- type: string
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - container
+ - name
+ - target
+ type: object
+ external:
+ properties:
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - name
+ type: object
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
required:
- - key
+ - metric
+ - target
type: object
- replication:
+ object:
properties:
- initializeBackup:
- type: boolean
- initializeMaster:
- type: boolean
- recoverRestartedMaster:
- type: boolean
- type: object
- tabletPools:
- items:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
+ describedObject:
+ properties:
+ apiVersion:
type: string
- type: object
- backupLocationName:
- type: string
- cell:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
- type: string
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- externalDatastore:
- properties:
- credentialsSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- database:
- type: string
- host:
- type: string
- port:
- format: int32
- maximum: 65535
- minimum: 1
- type: integer
- serverCACertSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- user:
- type: string
- required:
- - credentialsSecret
- - database
- - host
- - port
- - user
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
- type: string
- optional:
- default: false
- type: boolean
- path:
- type: string
- volumeName:
- type: string
- required:
- - key
- - path
- - volumeName
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
type: object
- required:
- - name
type: object
- type: array
- extraLabels:
- additionalProperties:
+ x-kubernetes-map-type: atomic
+ required:
+ - name
+ type: object
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
type: string
- type: object
- extraVolumeMounts:
- items:
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - describedObject
+ - metric
+ - target
+ type: object
+ pods:
+ properties:
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- mysqld:
- properties:
- configOverrides:
- 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
- required:
- - resources
- type: object
- mysqldExporter:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- 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
- type: object
- name:
- default: ""
- type: string
- replicas:
- format: int32
- minimum: 0
- type: integer
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
- type:
- enum:
- - replica
- - rdonly
- - externalmaster
- - externalreplica
- - externalrdonly
- type: string
- vttablet:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- lifecycle:
- x-kubernetes-preserve-unknown-fields: true
- 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
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
type: object
- type: object
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- vtbackupExtraFlags:
- additionalProperties:
- type: string
- type: object
- required:
- - resources
- type: object
- required:
- - cell
- - replicas
- - type
- - vttablet
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- - cell
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - name
+ type: object
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
+ - metric
+ - target
+ type: object
+ resource:
+ properties:
+ name:
+ type: string
+ target:
+ properties:
+ averageUtilization:
+ format: int32
+ type: integer
+ averageValue:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type:
+ type: string
+ value:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ required:
+ - type
+ type: object
+ required:
- name
- x-kubernetes-list-type: map
+ - target
+ type: object
+ type:
+ type: string
required:
- - databaseInitScriptSecret
+ - type
type: object
- required:
- - parts
- type: object
- type: object
- maxItems: 2
- minItems: 1
- type: array
- sidecarDbName:
- type: string
- turndownPolicy:
- enum:
- - RequireIdle
- - Immediate
- type: string
- vitessOrchestrator:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ minReplicas:
+ format: int32
+ minimum: 0
+ type: integer
type: object
extraEnv:
items:
@@ -4703,32 +2716,161 @@ spec:
additionalProperties:
type: string
type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ lifecycle:
+ properties:
+ postStart:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ required:
+ - port
+ type: object
+ type: object
+ preStop:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ required:
+ - port
+ type: object
+ type: object
+ stopSignal:
+ type: string
+ type: object
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
resources:
properties:
claims:
@@ -4762,1290 +2904,2763 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
- service:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- required:
- - name
- - partitionings
- type: object
- type: array
- tabletService:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- topologyReconciliation:
- properties:
- pruneCells:
- type: boolean
- pruneKeyspaces:
- type: boolean
- pruneShardCells:
- type: boolean
- pruneShards:
- type: boolean
- pruneSrvKeyspaces:
- type: boolean
- pruneTablets:
- type: boolean
- registerCells:
- type: boolean
- registerCellsAliases:
- type: boolean
- type: object
- updateStrategy:
- properties:
- external:
- properties:
- allowResourceChanges:
- items:
- type: string
- type: array
- type: object
- type:
- enum:
- - External
- - Immediate
- type: string
- type: object
- vitessDashboard:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- cells:
- items:
- type: string
- type: array
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
+ secureTransport:
properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
- type: string
- optional:
- default: false
- type: boolean
- path:
- type: string
- volumeName:
- type: string
- required:
- - key
- - path
- - volumeName
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
+ required:
+ type: boolean
+ tls:
properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- replicas:
- format: int32
- type: integer
- resources:
- properties:
- claims:
- items:
+ certSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ clientCACertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ keySecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ type: object
+ type: object
+ service:
properties:
- name:
- type: string
- request:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
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
- service:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- vtadmin:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- apiAddresses:
- items:
- type: string
- type: array
- apiResources:
- properties:
- claims:
- items:
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ strategy:
properties:
- name:
- type: string
- request:
+ rollingUpdate:
+ properties:
+ maxSurge:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ maxUnavailable:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type:
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
- cells:
- items:
- type: string
- type: array
- extraEnv:
- items:
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ lockserver:
properties:
- name:
- type: string
- value:
+ cellInfoAddress:
type: string
- valueFrom:
+ etcd:
properties:
- configMapKeyRef:
+ advertisePeerURLs:
+ items:
+ type: string
+ maxItems: 3
+ minItems: 3
+ type: array
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clientService:
properties:
- key:
- type: string
- name:
- default: ""
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
type: string
- optional:
- type: boolean
- required:
- - key
type: object
- x-kubernetes-map-type: atomic
- fieldRef:
+ createClientService:
+ type: boolean
+ createPDB:
+ type: boolean
+ createPeerService:
+ type: boolean
+ dataVolumeClaimTemplate:
properties:
- apiVersion:
- type: string
- fieldPath:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- fileKeyRef:
- properties:
- key:
+ volumeAttributesClassName:
type: string
- optional:
- default: false
- type: boolean
- path:
+ volumeMode:
type: string
volumeName:
type: string
- required:
- - key
- - path
- - volumeName
type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ localMemberIndex:
+ format: int32
+ maximum: 3
+ minimum: 1
+ type: integer
+ peerService:
properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
type: string
- required:
- - resource
type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
+ resources:
properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
+ 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
- x-kubernetes-map-type: atomic
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ external:
+ properties:
+ address:
+ type: string
+ implementation:
+ type: string
+ rootPath:
+ type: string
+ required:
+ - address
+ - implementation
+ - rootPath
type: object
- required:
- - name
type: object
- type: array
- extraFlags:
- additionalProperties:
+ name:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
type: string
- type: object
- extraLabels:
+ zone:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ extraVitessFlags:
+ additionalProperties:
+ type: string
+ type: object
+ gatewayService:
+ properties:
+ annotations:
additionalProperties:
type: string
type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- fetchCredentials:
+ clusterIP:
type: string
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- rbac:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- readOnly:
- type: boolean
- replicas:
- format: int32
- type: integer
- service:
+ type: object
+ globalLockserver:
+ properties:
+ cellInfoAddress:
+ type: string
+ etcd:
properties:
+ advertisePeerURLs:
+ items:
+ type: string
+ maxItems: 3
+ minItems: 3
+ type: array
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
annotations:
additionalProperties:
type: string
type: object
- clusterIP:
- type: string
- type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- webResources:
- properties:
- claims:
+ clientService:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ createClientService:
+ type: boolean
+ createPDB:
+ type: boolean
+ createPeerService:
+ type: boolean
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
items:
properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
name:
type: string
- request:
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
type: string
required:
+ - mountPath
- 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
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ localMemberIndex:
+ format: int32
+ maximum: 3
+ minimum: 1
+ type: integer
+ peerService:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
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
+ 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
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
type: object
- required:
- - apiAddresses
- type: object
- required:
- - cells
- type: object
- status:
- properties:
- cells:
- additionalProperties:
- properties:
- gatewayAvailable:
- type: string
- pendingChanges:
- type: string
- type: object
- type: object
- gatewayServiceName:
- type: string
- globalLockserver:
- properties:
- etcd:
+ external:
properties:
- available:
+ address:
type: string
- clientServiceName:
+ implementation:
type: string
- observedGeneration:
- format: int64
- type: integer
- type: object
- type: object
- keyspaces:
- additionalProperties:
- properties:
- cells:
- items:
+ rootPath:
type: string
- type: array
- desiredShards:
- format: int32
- type: integer
- desiredTablets:
- format: int32
- type: integer
- pendingChanges:
- type: string
- readyShards:
- format: int32
- type: integer
- readyTablets:
- format: int32
- type: integer
- shards:
- format: int32
- type: integer
- tablets:
- format: int32
- type: integer
- updatedShards:
- format: int32
- type: integer
- updatedTablets:
- format: int32
- type: integer
- type: object
+ required:
+ - address
+ - implementation
+ - rootPath
+ type: object
type: object
- observedGeneration:
- format: int64
- type: integer
- orphanedCells:
- additionalProperties:
- properties:
- message:
- type: string
- reason:
- type: string
- required:
- - message
- - reason
- type: object
+ imagePullPolicies:
+ properties:
+ mysqld:
+ type: string
+ mysqldExporter:
+ type: string
+ vtadmin:
+ type: string
+ vtbackup:
+ type: string
+ vtctld:
+ type: string
+ vtgate:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
type: object
- orphanedKeyspaces:
- additionalProperties:
+ imagePullSecrets:
+ items:
properties:
- message:
- type: string
- reason:
+ name:
+ default: ""
type: string
- required:
- - message
- - reason
type: object
- type: object
- vitessDashboard:
+ x-kubernetes-map-type: atomic
+ type: array
+ images:
properties:
- available:
+ mysqld:
+ properties:
+ mariadb103Compatible:
+ type: string
+ mariadbCompatible:
+ type: string
+ mysql56Compatible:
+ type: string
+ mysql80Compatible:
+ type: string
+ type: object
+ mysqldExporter:
+ type: string
+ vtadmin:
+ type: string
+ vtbackup:
type: string
- serviceName:
+ vtctld:
type: string
- type: object
- vtadmin:
- properties:
- available:
+ vtgate:
type: string
- serviceName:
+ vtorc:
type: string
- type: object
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitesskeyspaces.planetscale.com
-spec:
- group: planetscale.com
- names:
- kind: VitessKeyspace
- listKind: VitessKeyspaceList
- plural: vitesskeyspaces
- shortNames:
- - vtk
- singular: vitesskeyspace
- scope: Namespaced
- versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- annotations:
- additionalProperties:
+ vttablet:
type: string
- type: object
- backupEngine:
- type: string
- backupLocations:
- items:
- properties:
- annotations:
- additionalProperties:
+ type: object
+ keyspaces:
+ items:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ databaseName:
+ type: string
+ durabilityPolicy:
+ type: string
+ images:
+ properties:
+ mysqld:
+ properties:
+ mysql56Compatible:
+ type: string
+ mysql80Compatible:
+ type: string
+ type: object
+ mysqldExporter:
type: string
- type: object
- azblob:
- properties:
- account:
- minLength: 1
- type: string
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- container:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - account
- - authSecret
- - container
- type: object
- ceph:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- required:
- - authSecret
- type: object
- gcs:
+ vtbackup:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
+ type: object
+ name:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
+ type: string
+ partitionings:
+ items:
properties:
- authSecret:
+ custom:
properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
+ shards:
+ items:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ databaseInitScriptSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ keyRange:
+ properties:
+ end:
+ pattern: ^([0-9a-f][0-9a-f])*$
+ type: string
+ start:
+ pattern: ^([0-9a-f][0-9a-f])*$
+ type: string
+ type: object
+ replication:
+ properties:
+ initializeBackup:
+ type: boolean
+ initializeMaster:
+ type: boolean
+ recoverRestartedMaster:
+ type: boolean
+ type: object
+ tabletPools:
+ items:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ backupLocationName:
+ type: string
+ cell:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ type: string
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ externalDatastore:
+ properties:
+ credentialsSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ database:
+ type: string
+ host:
+ type: string
+ port:
+ format: int32
+ maximum: 65535
+ minimum: 1
+ type: integer
+ serverCACertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ user:
+ type: string
+ required:
+ - credentialsSecret
+ - database
+ - host
+ - port
+ - user
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ mysqld:
+ properties:
+ configOverrides:
+ 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
+ required:
+ - resources
+ type: object
+ mysqldExporter:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ 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
+ type: object
+ name:
+ default: ""
+ type: string
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type:
+ enum:
+ - replica
+ - rdonly
+ - externalmaster
+ - externalreplica
+ - externalrdonly
+ type: string
+ vttablet:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ lifecycle:
+ x-kubernetes-preserve-unknown-fields: true
+ 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
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ vtbackupExtraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - resources
+ type: object
+ required:
+ - cell
+ - replicas
+ - type
+ - vttablet
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ - cell
+ - name
+ x-kubernetes-list-type: map
+ required:
+ - databaseInitScriptSecret
+ - keyRange
+ type: object
+ type: array
required:
- - key
+ - shards
type: object
- bucket:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - bucket
- type: object
- name:
- maxLength: 63
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- s3:
- properties:
- authSecret:
+ equal:
properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- endpoint:
- type: string
- forcePathStyle:
- type: boolean
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- minPartSize:
- format: int64
- type: integer
- region:
- minLength: 1
- type: string
- required:
- - bucket
- - region
- type: object
- volume:
- x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
- type: string
- type: object
- type: array
- databaseName:
- type: string
- durabilityPolicy:
- type: string
- extraVitessFlags:
- additionalProperties:
- type: string
- type: object
- globalLockserver:
- properties:
- address:
- type: string
- implementation:
- type: string
- rootPath:
- type: string
- required:
- - address
- - implementation
- - rootPath
- type: object
- imagePullPolicies:
- properties:
- mysqld:
- type: string
- mysqldExporter:
- type: string
- vtadmin:
- type: string
- vtbackup:
- type: string
- vtctld:
- type: string
- vtgate:
- type: string
- vtorc:
- type: string
- vttablet:
- type: string
- type: object
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- images:
- properties:
- mysqld:
- properties:
- mariadb103Compatible:
- type: string
- mariadbCompatible:
- type: string
- mysql56Compatible:
- type: string
- mysql80Compatible:
- type: string
- type: object
- mysqldExporter:
- type: string
- vtbackup:
- type: string
- vtorc:
- type: string
- vttablet:
- type: string
- type: object
- name:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- partitionings:
- items:
- properties:
- custom:
- properties:
- shards:
- items:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- databaseInitScriptSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- keyRange:
- properties:
- end:
- pattern: ^([0-9a-f][0-9a-f])*$
- type: string
- start:
- pattern: ^([0-9a-f][0-9a-f])*$
+ hexWidth:
+ default: 0
+ format: int32
+ maximum: 65536
+ minimum: 0
+ type: integer
+ parts:
+ format: int32
+ maximum: 65536
+ minimum: 1
+ type: integer
+ shardTemplate:
+ properties:
+ annotations:
+ additionalProperties:
type: string
- type: object
- replication:
- properties:
- initializeBackup:
- type: boolean
- initializeMaster:
- type: boolean
- recoverRestartedMaster:
- type: boolean
- type: object
- tabletPools:
- items:
+ type: object
+ databaseInitScriptSecret:
properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- backupLocationName:
+ key:
type: string
- cell:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ name:
type: string
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ replication:
+ properties:
+ initializeBackup:
+ type: boolean
+ initializeMaster:
+ type: boolean
+ recoverRestartedMaster:
+ type: boolean
+ type: object
+ tabletPools:
+ items:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ backupLocationName:
+ type: string
+ cell:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ type: string
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
type: string
- required:
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
- kind
- name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
- type: integer
- type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
- type: integer
- type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
- key
- operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ externalDatastore:
+ properties:
+ credentialsSecret:
+ properties:
+ key:
type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- externalDatastore:
- properties:
- credentialsSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
- key
- type: object
- database:
- type: string
- host:
- type: string
- port:
- format: int32
- maximum: 65535
- minimum: 1
- type: integer
- serverCACertSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
+ type: object
+ database:
+ type: string
+ host:
+ type: string
+ port:
+ format: int32
+ maximum: 65535
+ minimum: 1
+ type: integer
+ serverCACertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
- key
- type: object
- user:
- type: string
- required:
+ type: object
+ user:
+ type: string
+ required:
- credentialsSecret
- database
- host
- port
- user
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
- key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
- fieldPath
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
- type: integer
- type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
- key
- type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
- name
+ type: object
+ type: array
+ extraLabels:
+ additionalProperties:
+ type: string
type: object
- type: array
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
- mountPath
- name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- mysqld:
- properties:
- configOverrides:
- type: string
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
- type: string
- required:
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ mysqld:
+ properties:
+ configOverrides:
+ type: string
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ request:
+ type: string
+ required:
- name
- type: object
- type: array
- x-kubernetes-list-map-keys:
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
- name
- x-kubernetes-list-type: map
- limits:
- additionalProperties:
- anyOf:
+ 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:
+ 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
- required:
+ 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
+ required:
- resources
- type: object
- mysqldExporter:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
- type: string
- required:
+ type: object
+ mysqldExporter:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ request:
+ type: string
+ required:
- name
- type: object
- type: array
- x-kubernetes-list-map-keys:
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
- name
- x-kubernetes-list-type: map
- limits:
- additionalProperties:
- anyOf:
+ 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:
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
- type: integer
- type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- type: object
- name:
- default: ""
- type: string
- replicas:
- format: int32
- minimum: 0
- type: integer
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
- type:
- enum:
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ type: object
+ name:
+ default: ""
+ type: string
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type:
+ enum:
- replica
- rdonly
- externalmaster
- externalreplica
- externalrdonly
- type: string
- vttablet:
- properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- vtbackupExtraFlags:
- additionalProperties:
- type: string
- type: object
- lifecycle:
- x-kubernetes-preserve-unknown-fields: true
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
- type: string
- required:
+ type: string
+ vttablet:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ lifecycle:
+ x-kubernetes-preserve-unknown-fields: true
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ request:
+ type: string
+ required:
- name
- type: object
- type: array
- x-kubernetes-list-map-keys:
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
- name
- x-kubernetes-list-type: map
- limits:
- additionalProperties:
- anyOf:
+ 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: 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
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- required:
+ 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
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ vtbackupExtraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ required:
- resources
- type: object
- required:
+ type: object
+ required:
- cell
- replicas
- type
- vttablet
- type: object
- type: array
- x-kubernetes-list-map-keys:
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
- type
- cell
- name
- x-kubernetes-list-type: map
+ x-kubernetes-list-type: map
+ required:
+ - databaseInitScriptSecret
+ type: object
+ required:
+ - parts
+ type: object
+ type: object
+ maxItems: 2
+ minItems: 1
+ type: array
+ sidecarDbName:
+ type: string
+ turndownPolicy:
+ enum:
+ - RequireIdle
+ - Immediate
+ type: string
+ vitessOrchestrator:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ 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
+ service:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ required:
+ - name
+ - partitionings
+ type: object
+ type: array
+ tabletService:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ topologyReconciliation:
+ properties:
+ pruneCells:
+ type: boolean
+ pruneKeyspaces:
+ type: boolean
+ pruneShardCells:
+ type: boolean
+ pruneShards:
+ type: boolean
+ pruneSrvKeyspaces:
+ type: boolean
+ pruneTablets:
+ type: boolean
+ registerCells:
+ type: boolean
+ registerCellsAliases:
+ type: boolean
+ type: object
+ updateStrategy:
+ properties:
+ external:
+ properties:
+ allowResourceChanges:
+ items:
+ type: string
+ type: array
+ type: object
+ type:
+ enum:
+ - External
+ - Immediate
+ type: string
+ type: object
+ vitessDashboard:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ cells:
+ items:
+ type: string
+ type: array
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ replicas:
+ format: int32
+ type: integer
+ 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
+ service:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ vtadmin:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ apiAddresses:
+ items:
+ type: string
+ type: array
+ apiResources:
+ 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
+ cells:
+ items:
+ type: string
+ type: array
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
required:
- - databaseInitScriptSecret
- - keyRange
+ - key
type: object
- type: array
- required:
- - shards
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ fetchCredentials:
+ type: string
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ rbac:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ readOnly:
+ type: boolean
+ replicas:
+ format: int32
+ type: integer
+ service:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
type: object
- equal:
- properties:
- hexWidth:
- default: 0
- format: int32
- maximum: 65536
- minimum: 0
- type: integer
- parts:
- format: int32
- maximum: 65536
- minimum: 1
- type: integer
- shardTemplate:
+ clusterIP:
+ type: string
+ type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ webResources:
+ 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
+ required:
+ - apiAddresses
+ type: object
+ required:
+ - cells
+ type: object
+ status:
+ properties:
+ cells:
+ additionalProperties:
+ properties:
+ gatewayAvailable:
+ type: string
+ pendingChanges:
+ type: string
+ type: object
+ type: object
+ gatewayServiceName:
+ type: string
+ globalLockserver:
+ properties:
+ etcd:
+ properties:
+ available:
+ type: string
+ clientServiceName:
+ type: string
+ observedGeneration:
+ format: int64
+ type: integer
+ type: object
+ type: object
+ keyspaces:
+ additionalProperties:
+ properties:
+ cells:
+ items:
+ type: string
+ type: array
+ desiredShards:
+ format: int32
+ type: integer
+ desiredTablets:
+ format: int32
+ type: integer
+ pendingChanges:
+ type: string
+ readyShards:
+ format: int32
+ type: integer
+ readyTablets:
+ format: int32
+ type: integer
+ shards:
+ format: int32
+ type: integer
+ tablets:
+ format: int32
+ type: integer
+ updatedShards:
+ format: int32
+ type: integer
+ updatedTablets:
+ format: int32
+ type: integer
+ type: object
+ type: object
+ observedGeneration:
+ format: int64
+ type: integer
+ orphanedCells:
+ additionalProperties:
+ properties:
+ message:
+ type: string
+ reason:
+ type: string
+ required:
+ - message
+ - reason
+ type: object
+ type: object
+ orphanedKeyspaces:
+ additionalProperties:
+ properties:
+ message:
+ type: string
+ reason:
+ type: string
+ required:
+ - message
+ - reason
+ type: object
+ type: object
+ vitessDashboard:
+ properties:
+ available:
+ type: string
+ serviceName:
+ type: string
+ type: object
+ vtadmin:
+ properties:
+ available:
+ type: string
+ serviceName:
+ type: string
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitesskeyspaces.planetscale.com
+spec:
+ group: planetscale.com
+ names:
+ kind: VitessKeyspace
+ listKind: VitessKeyspaceList
+ plural: vitesskeyspaces
+ shortNames:
+ - vtk
+ singular: vitesskeyspace
+ scope: Namespaced
+ versions:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ backupEngine:
+ type: string
+ backupLocations:
+ items:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ azblob:
+ properties:
+ account:
+ minLength: 1
+ type: string
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ container:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - account
+ - authSecret
+ - container
+ type: object
+ ceph:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ required:
+ - authSecret
+ type: object
+ gcs:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - bucket
+ type: object
+ name:
+ maxLength: 63
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
+ type: string
+ s3:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ endpoint:
+ type: string
+ forcePathStyle:
+ type: boolean
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ minPartSize:
+ format: int64
+ type: integer
+ region:
+ minLength: 1
+ type: string
+ required:
+ - bucket
+ - region
+ type: object
+ volume:
+ x-kubernetes-preserve-unknown-fields: true
+ volumeSubPath:
+ type: string
+ type: object
+ type: array
+ databaseName:
+ type: string
+ durabilityPolicy:
+ type: string
+ extraVitessFlags:
+ additionalProperties:
+ type: string
+ type: object
+ globalLockserver:
+ properties:
+ address:
+ type: string
+ implementation:
+ type: string
+ rootPath:
+ type: string
+ required:
+ - address
+ - implementation
+ - rootPath
+ type: object
+ imagePullPolicies:
+ properties:
+ mysqld:
+ type: string
+ mysqldExporter:
+ type: string
+ vtadmin:
+ type: string
+ vtbackup:
+ type: string
+ vtctld:
+ type: string
+ vtgate:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
+ type: object
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ images:
+ properties:
+ mysqld:
+ properties:
+ mariadb103Compatible:
+ type: string
+ mariadbCompatible:
+ type: string
+ mysql56Compatible:
+ type: string
+ mysql80Compatible:
+ type: string
+ type: object
+ mysqldExporter:
+ type: string
+ vtbackup:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
+ type: object
+ name:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
+ type: string
+ partitionings:
+ items:
+ properties:
+ custom:
+ properties:
+ shards:
+ items:
properties:
annotations:
additionalProperties:
@@ -6060,7 +5675,16 @@ spec:
volumeName:
type: string
required:
- - key
+ - key
+ type: object
+ keyRange:
+ properties:
+ end:
+ pattern: ^([0-9a-f][0-9a-f])*$
+ type: string
+ start:
+ pattern: ^([0-9a-f][0-9a-f])*$
+ type: string
type: object
replication:
properties:
@@ -6103,8 +5727,8 @@ spec:
name:
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
@@ -6118,24 +5742,24 @@ spec:
namespace:
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
resources:
properties:
limits:
additionalProperties:
anyOf:
- - type: integer
- - type: string
+ - type: integer
+ - type: 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
+ - type: integer
+ - type: 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
@@ -6154,9 +5778,9 @@ spec:
type: string
type: array
x-kubernetes-list-type: atomic
- required:
- - key
- - operator
+ required:
+ - key
+ - operator
type: object
type: array
x-kubernetes-list-type: atomic
@@ -6186,7 +5810,7 @@ spec:
volumeName:
type: string
required:
- - key
+ - key
type: object
database:
type: string
@@ -6206,16 +5830,16 @@ spec:
volumeName:
type: string
required:
- - key
+ - key
type: object
user:
type: string
required:
- - credentialsSecret
- - database
- - host
- - port
- - user
+ - credentialsSecret
+ - database
+ - host
+ - port
+ - user
type: object
extraEnv:
items:
@@ -6236,7 +5860,7 @@ spec:
optional:
type: boolean
required:
- - key
+ - key
type: object
x-kubernetes-map-type: atomic
fieldRef:
@@ -6246,7 +5870,24 @@ spec:
fieldPath:
type: string
required:
- - fieldPath
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
type: object
x-kubernetes-map-type: atomic
resourceFieldRef:
@@ -6255,14 +5896,14 @@ spec:
type: string
divisor:
anyOf:
- - type: integer
- - type: string
+ - type: integer
+ - type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
type: string
required:
- - resource
+ - resource
type: object
x-kubernetes-map-type: atomic
secretKeyRef:
@@ -6275,12 +5916,12 @@ spec:
optional:
type: boolean
required:
- - key
+ - key
type: object
x-kubernetes-map-type: atomic
type: object
required:
- - name
+ - name
type: object
type: array
extraLabels:
@@ -6305,8 +5946,8 @@ spec:
subPathExpr:
type: string
required:
- - mountPath
- - name
+ - mountPath
+ - name
type: object
type: array
extraVolumes:
@@ -6327,1198 +5968,1382 @@ spec:
request:
type: string
required:
- - name
+ - name
type: object
type: array
x-kubernetes-list-map-keys:
- - name
+ - name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- - type: integer
- - type: string
+ - type: integer
+ - type: 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
+ - type: integer
+ - type: 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
required:
- - resources
+ - resources
type: object
mysqldExporter:
properties:
extraFlags:
additionalProperties:
type: string
- type: object
- resources:
+ type: object
+ 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
+ type: object
+ name:
+ default: ""
+ type: string
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type:
+ enum:
+ - replica
+ - rdonly
+ - externalmaster
+ - externalreplica
+ - externalrdonly
+ type: string
+ vttablet:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ lifecycle:
+ x-kubernetes-preserve-unknown-fields: true
+ 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
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ vtbackupExtraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - resources
+ type: object
+ required:
+ - cell
+ - replicas
+ - type
+ - vttablet
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ - cell
+ - name
+ x-kubernetes-list-type: map
+ required:
+ - databaseInitScriptSecret
+ - keyRange
+ type: object
+ type: array
+ required:
+ - shards
+ type: object
+ equal:
+ properties:
+ hexWidth:
+ default: 0
+ format: int32
+ maximum: 65536
+ minimum: 0
+ type: integer
+ parts:
+ format: int32
+ maximum: 65536
+ minimum: 1
+ type: integer
+ shardTemplate:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ databaseInitScriptSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ replication:
+ properties:
+ initializeBackup:
+ type: boolean
+ initializeMaster:
+ type: boolean
+ recoverRestartedMaster:
+ type: boolean
+ type: object
+ tabletPools:
+ items:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ backupLocationName:
+ type: string
+ cell:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ type: string
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
+ - name
+ type: object
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ externalDatastore:
+ properties:
+ credentialsSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ database:
+ type: string
+ host:
+ type: string
+ port:
+ format: int32
+ maximum: 65535
+ minimum: 1
+ type: integer
+ serverCACertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ user:
+ type: string
+ required:
+ - credentialsSecret
+ - database
+ - host
+ - port
+ - user
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
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
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
type: object
- requests:
- additionalProperties:
- anyOf:
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
- type: integer
- type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
type: object
+ x-kubernetes-map-type: atomic
type: object
+ required:
+ - name
type: object
- name:
- default: ""
- type: string
- replicas:
- format: int32
- minimum: 0
- type: integer
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
- type:
- enum:
- - replica
- - rdonly
- - externalmaster
- - externalreplica
- - externalrdonly
+ type: array
+ extraLabels:
+ additionalProperties:
type: string
- vttablet:
+ type: object
+ extraVolumeMounts:
+ items:
properties:
- extraFlags:
- additionalProperties:
- type: string
- type: object
- vtbackupExtraFlags:
- additionalProperties:
- type: string
- type: object
- lifecycle:
- x-kubernetes-preserve-unknown-fields: true
- 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
- terminationGracePeriodSeconds:
- format: int64
- type: integer
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
required:
- - resources
+ - mountPath
+ - name
type: object
- required:
- - cell
- - replicas
- - type
- - vttablet
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- - cell
- - name
- x-kubernetes-list-type: map
- required:
- - databaseInitScriptSecret
- type: object
- required:
- - hexWidth
- - parts
- type: object
- type: object
- maxItems: 2
- minItems: 1
- type: array
- sidecarDbName:
- type: string
- topologyReconciliation:
- properties:
- pruneCells:
- type: boolean
- pruneKeyspaces:
- type: boolean
- pruneShardCells:
- type: boolean
- pruneShards:
- type: boolean
- pruneSrvKeyspaces:
- type: boolean
- pruneTablets:
- type: boolean
- registerCells:
- type: boolean
- registerCellsAliases:
- type: boolean
- type: object
- turndownPolicy:
- enum:
- - RequireIdle
- - Immediate
- type: string
- updateStrategy:
- properties:
- external:
- properties:
- allowResourceChanges:
- items:
- type: string
- type: array
- type: object
- type:
- enum:
- - External
- - Immediate
- type: string
- type: object
- vitessOrchestrator:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- extraEnv:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ mysqld:
+ properties:
+ configOverrides:
+ 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
+ required:
+ - resources
+ type: object
+ mysqldExporter:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ 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
+ type: object
name:
default: ""
type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type:
+ enum:
+ - replica
+ - rdonly
+ - externalmaster
+ - externalreplica
+ - externalrdonly
type: string
- optional:
- type: boolean
+ vttablet:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ lifecycle:
+ x-kubernetes-preserve-unknown-fields: true
+ 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
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ vtbackupExtraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - resources
+ type: object
required:
- - key
+ - cell
+ - replicas
+ - type
+ - vttablet
type: object
- x-kubernetes-map-type: atomic
- type: object
- required:
- - name
- type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
- type: string
- required:
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ - cell
- 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
+ x-kubernetes-list-type: map
+ required:
+ - databaseInitScriptSecret
type: object
+ required:
+ - parts
type: object
- service:
+ type: object
+ maxItems: 2
+ minItems: 1
+ type: array
+ sidecarDbName:
+ type: string
+ topologyReconciliation:
+ properties:
+ pruneCells:
+ type: boolean
+ pruneKeyspaces:
+ type: boolean
+ pruneShardCells:
+ type: boolean
+ pruneShards:
+ type: boolean
+ pruneSrvKeyspaces:
+ type: boolean
+ pruneTablets:
+ type: boolean
+ registerCells:
+ type: boolean
+ registerCellsAliases:
+ type: boolean
+ type: object
+ turndownPolicy:
+ enum:
+ - RequireIdle
+ - Immediate
+ type: string
+ updateStrategy:
+ properties:
+ external:
+ properties:
+ allowResourceChanges:
+ items:
+ type: string
+ type: array
+ type: object
+ type:
+ enum:
+ - External
+ - Immediate
+ type: string
+ type: object
+ vitessOrchestrator:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ extraEnv:
+ items:
properties:
- annotations:
- additionalProperties:
- type: string
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
type: object
- clusterIP:
- type: string
+ required:
+ - name
type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- zoneMap:
- additionalProperties:
- type: string
- type: object
- required:
- - globalLockserver
- - name
- - partitionings
- - zoneMap
- type: object
- status:
- properties:
- conditions:
- items:
- properties:
- lastTransitionTime:
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- type: string
- required:
- - status
- - type
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
type: object
- type: array
- idle:
- type: string
- observedGeneration:
- format: int64
- type: integer
- orphanedShards:
- additionalProperties:
- properties:
- message:
- type: string
- reason:
- type: string
- required:
- - message
- - reason
+ extraLabels:
+ additionalProperties:
+ type: string
type: object
- type: object
- partitionings:
- items:
- properties:
- desiredShards:
- format: int32
- type: integer
- desiredTablets:
- format: int32
- type: integer
- readyShards:
- format: int32
- type: integer
- readyTablets:
- format: int32
- type: integer
- servingWrites:
- type: string
- shardNames:
- items:
+ extraVolumeMounts:
+ items:
+ properties:
+ mountPath:
type: string
- type: array
- tablets:
- format: int32
- type: integer
- updatedTablets:
- format: int32
- type: integer
- type: object
- type: array
- resharding:
- properties:
- copyProgress:
- type: integer
- sourceShards:
- items:
- type: string
- type: array
- state:
- type: string
- targetShards:
- items:
- type: string
- type: array
- workflow:
- type: string
- required:
- - state
- - workflow
- type: object
- shards:
- additionalProperties:
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
+ type: object
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ resources:
properties:
- cells:
+ claims:
items:
- type: string
+ properties:
+ name:
+ type: string
+ request:
+ type: string
+ required:
+ - name
+ type: object
type: array
- desiredTablets:
- format: int32
- type: integer
- hasMaster:
- type: string
- pendingChanges:
- type: string
- readyTablets:
- format: int32
- type: integer
- servingWrites:
- type: string
- tablets:
- format: int32
- type: integer
- updatedTablets:
- format: int32
- type: integer
+ 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
- type: object
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
----
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- controller-gen.kubebuilder.io/version: v0.17.2
- name: vitessshards.planetscale.com
-spec:
- group: planetscale.com
- names:
- kind: VitessShard
- listKind: VitessShardList
- plural: vitessshards
- shortNames:
- - vts
- singular: vitessshard
- scope: Namespaced
- versions:
- - name: v2
- schema:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- backupEngine:
- type: string
- backupLocations:
- items:
+ service:
properties:
annotations:
additionalProperties:
type: string
type: object
- azblob:
- properties:
- account:
- minLength: 1
- type: string
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- container:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - account
- - authSecret
- - container
- type: object
- ceph:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- required:
- - authSecret
- type: object
- gcs:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- required:
- - bucket
- type: object
- name:
- maxLength: 63
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- s3:
- properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- endpoint:
- type: string
- forcePathStyle:
- type: boolean
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- minPartSize:
- format: int64
- type: integer
- region:
- minLength: 1
- type: string
- required:
- - bucket
- - region
- type: object
- volume:
- x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
+ clusterIP:
type: string
type: object
- type: array
- databaseInitScriptSecret:
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ zoneMap:
+ additionalProperties:
+ type: string
+ type: object
+ required:
+ - globalLockserver
+ - name
+ - partitionings
+ - zoneMap
+ type: object
+ status:
+ properties:
+ conditions:
+ items:
properties:
- key:
+ lastTransitionTime:
+ format: date-time
type: string
- name:
- type: string
- volumeName:
+ message:
type: string
- required:
- - key
- type: object
- databaseName:
- type: string
- extraVitessFlags:
- additionalProperties:
- type: string
- type: object
- globalLockserver:
- properties:
- address:
+ reason:
type: string
- implementation:
+ status:
+ enum:
+ - "True"
+ - "False"
+ - Unknown
type: string
- rootPath:
+ type:
type: string
required:
- - address
- - implementation
- - rootPath
+ - status
+ - type
type: object
- imagePullPolicies:
+ type: array
+ idle:
+ type: string
+ observedGeneration:
+ format: int64
+ type: integer
+ orphanedShards:
+ additionalProperties:
properties:
- mysqld:
- type: string
- mysqldExporter:
- type: string
- vtadmin:
- type: string
- vtbackup:
- type: string
- vtctld:
- type: string
- vtgate:
- type: string
- vtorc:
+ message:
type: string
- vttablet:
+ reason:
type: string
+ required:
+ - message
+ - reason
type: object
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- images:
+ type: object
+ partitionings:
+ items:
properties:
- mysqld:
- properties:
- mariadb103Compatible:
- type: string
- mariadbCompatible:
- type: string
- mysql56Compatible:
- type: string
- mysql80Compatible:
- type: string
- type: object
- mysqldExporter:
- type: string
- vtbackup:
+ desiredShards:
+ format: int32
+ type: integer
+ desiredTablets:
+ format: int32
+ type: integer
+ readyShards:
+ format: int32
+ type: integer
+ readyTablets:
+ format: int32
+ type: integer
+ servingWrites:
type: string
- vtorc:
+ shardNames:
+ items:
+ type: string
+ type: array
+ tablets:
+ format: int32
+ type: integer
+ updatedTablets:
+ format: int32
+ type: integer
+ type: object
+ type: array
+ resharding:
+ properties:
+ copyProgress:
+ type: integer
+ sourceShards:
+ items:
type: string
- vttablet:
+ type: array
+ state:
+ type: string
+ targetShards:
+ items:
type: string
- type: object
- keyRange:
+ type: array
+ workflow:
+ type: string
+ required:
+ - state
+ - workflow
+ type: object
+ shards:
+ additionalProperties:
properties:
- end:
- pattern: ^([0-9a-f][0-9a-f])*$
+ cells:
+ items:
+ type: string
+ type: array
+ desiredTablets:
+ format: int32
+ type: integer
+ hasMaster:
+ type: string
+ pendingChanges:
type: string
- start:
- pattern: ^([0-9a-f][0-9a-f])*$
+ readyTablets:
+ format: int32
+ type: integer
+ servingWrites:
type: string
+ tablets:
+ format: int32
+ type: integer
+ updatedTablets:
+ format: int32
+ type: integer
type: object
- name:
- type: string
- replication:
- properties:
- initializeBackup:
- type: boolean
- initializeMaster:
- type: boolean
- recoverRestartedMaster:
- type: boolean
- type: object
- tabletPools:
- items:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- backupLocationName:
- type: string
- cell:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
- type: string
- dataVolumeClaimTemplate:
- properties:
- accessModes:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- dataSource:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- required:
- - kind
- - name
- type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
- properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- type: string
- required:
- - kind
- - name
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- type: object
- type: object
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- required:
- - key
- - operator
- type: object
- type: array
- x-kubernetes-list-type: atomic
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
- type: object
- externalDatastore:
- properties:
- credentialsSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- database:
- type: string
- host:
- type: string
- port:
- format: int32
- maximum: 65535
- minimum: 1
- type: integer
- serverCACertSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- user:
- type: string
- required:
- - credentialsSecret
- - database
- - host
- - port
- - user
- type: object
- extraEnv:
- items:
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+ annotations:
+ controller-gen.kubebuilder.io/version: v0.20.1
+ name: vitessshards.planetscale.com
+spec:
+ group: planetscale.com
+ names:
+ kind: VitessShard
+ listKind: VitessShardList
+ plural: vitessshards
+ shortNames:
+ - vts
+ singular: vitessshard
+ scope: Namespaced
+ versions:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ backupEngine:
+ type: string
+ backupLocations:
+ items:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ azblob:
+ properties:
+ account:
+ minLength: 1
+ type: string
+ authSecret:
properties:
+ key:
+ type: string
name:
type: string
- value:
+ volumeName:
type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
- x-kubernetes-int-or-string: true
- resource:
- type: string
- required:
- - resource
- type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- x-kubernetes-map-type: atomic
- type: object
required:
- - name
+ - key
type: object
- type: array
- extraLabels:
- additionalProperties:
+ container:
+ minLength: 1
type: string
- type: object
- extraVolumeMounts:
- items:
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - account
+ - authSecret
+ - container
+ type: object
+ ceph:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ required:
+ - authSecret
+ type: object
+ gcs:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ required:
+ - bucket
+ type: object
+ name:
+ maxLength: 63
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
+ type: string
+ s3:
+ properties:
+ authSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ endpoint:
+ type: string
+ forcePathStyle:
+ type: boolean
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ minPartSize:
+ format: int64
+ type: integer
+ region:
+ minLength: 1
+ type: string
+ required:
+ - bucket
+ - region
+ type: object
+ volume:
+ x-kubernetes-preserve-unknown-fields: true
+ volumeSubPath:
+ type: string
+ type: object
+ type: array
+ databaseInitScriptSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ databaseName:
+ type: string
+ extraVitessFlags:
+ additionalProperties:
+ type: string
+ type: object
+ globalLockserver:
+ properties:
+ address:
+ type: string
+ implementation:
+ type: string
+ rootPath:
+ type: string
+ required:
+ - address
+ - implementation
+ - rootPath
+ type: object
+ imagePullPolicies:
+ properties:
+ mysqld:
+ type: string
+ mysqldExporter:
+ type: string
+ vtadmin:
+ type: string
+ vtbackup:
+ type: string
+ vtctld:
+ type: string
+ vtgate:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
+ type: object
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ default: ""
+ type: string
+ type: object
+ x-kubernetes-map-type: atomic
+ type: array
+ images:
+ properties:
+ mysqld:
+ properties:
+ mariadb103Compatible:
+ type: string
+ mariadbCompatible:
+ type: string
+ mysql56Compatible:
+ type: string
+ mysql80Compatible:
+ type: string
+ type: object
+ mysqldExporter:
+ type: string
+ vtbackup:
+ type: string
+ vtorc:
+ type: string
+ vttablet:
+ type: string
+ type: object
+ keyRange:
+ properties:
+ end:
+ pattern: ^([0-9a-f][0-9a-f])*$
+ type: string
+ start:
+ pattern: ^([0-9a-f][0-9a-f])*$
+ type: string
+ type: object
+ name:
+ type: string
+ replication:
+ properties:
+ initializeBackup:
+ type: boolean
+ initializeMaster:
+ type: boolean
+ recoverRestartedMaster:
+ type: boolean
+ type: object
+ tabletPools:
+ items:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ backupLocationName:
+ type: string
+ cell:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ type: string
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
properties:
- mountPath:
+ apiGroup:
type: string
- mountPropagation:
+ kind:
type: string
name:
type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
type: string
- subPath:
+ kind:
type: string
- subPathExpr:
+ name:
+ type: string
+ namespace:
type: string
required:
- - mountPath
- - name
+ - kind
+ - name
type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- mysqld:
- properties:
- configOverrides:
- type: string
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
+ resources:
+ properties:
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
type: string
- 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: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
type: object
- type: object
- required:
- - resources
- type: object
- mysqldExporter:
- properties:
- extraFlags:
- additionalProperties:
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ storageClassName:
+ type: string
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ externalDatastore:
+ properties:
+ credentialsSecret:
+ properties:
+ key:
type: string
- type: object
- 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
- type: object
- name:
- default: ""
- type: string
- replicas:
- format: int32
- minimum: 0
- type: integer
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- topologySpreadConstraints:
- x-kubernetes-preserve-unknown-fields: true
- type:
- enum:
- - replica
- - rdonly
- - externalmaster
- - externalreplica
- - externalrdonly
- type: string
- vttablet:
- properties:
- extraFlags:
- additionalProperties:
+ name:
type: string
- type: object
- vtbackupExtraFlags:
- additionalProperties:
+ volumeName:
type: string
- type: object
- lifecycle:
- x-kubernetes-preserve-unknown-fields: true
- 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
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- required:
- - resources
- type: object
- required:
- - cell
- - replicas
- - type
- - vttablet
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- - cell
- - name
- x-kubernetes-list-type: map
- topologyReconciliation:
- properties:
- pruneCells:
- type: boolean
- pruneKeyspaces:
- type: boolean
- pruneShardCells:
- type: boolean
- pruneShards:
- type: boolean
- pruneSrvKeyspaces:
- type: boolean
- pruneTablets:
- type: boolean
- registerCells:
- type: boolean
- registerCellsAliases:
- type: boolean
- type: object
- updateStrategy:
- properties:
- external:
- properties:
- allowResourceChanges:
- items:
- type: string
- type: array
- type: object
- type:
- enum:
- - External
- - Immediate
- type: string
- type: object
- vitessOrchestrator:
- properties:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
+ required:
+ - key
+ type: object
+ database:
+ type: string
+ host:
+ type: string
+ port:
+ format: int32
+ maximum: 65535
+ minimum: 1
+ type: integer
+ serverCACertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ user:
+ type: string
+ required:
+ - credentialsSecret
+ - database
+ - host
+ - port
+ - user
type: object
extraEnv:
items:
@@ -7539,7 +7364,7 @@ spec:
optional:
type: boolean
required:
- - key
+ - key
type: object
x-kubernetes-map-type: atomic
fieldRef:
@@ -7549,7 +7374,24 @@ spec:
fieldPath:
type: string
required:
- - fieldPath
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
type: object
x-kubernetes-map-type: atomic
resourceFieldRef:
@@ -7558,14 +7400,14 @@ spec:
type: string
divisor:
anyOf:
- - type: integer
- - type: string
+ - type: integer
+ - type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
resource:
type: string
required:
- - resource
+ - resource
type: object
x-kubernetes-map-type: atomic
secretKeyRef:
@@ -7578,18 +7420,14 @@ spec:
optional:
type: boolean
required:
- - key
+ - key
type: object
x-kubernetes-map-type: atomic
type: object
required:
- - name
+ - name
type: object
type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
extraLabels:
additionalProperties:
type: string
@@ -7612,181 +7450,504 @@ spec:
subPathExpr:
type: string
required:
- - mountPath
- - name
+ - mountPath
+ - name
type: object
type: array
extraVolumes:
x-kubernetes-preserve-unknown-fields: true
initContainers:
x-kubernetes-preserve-unknown-fields: true
- resources:
+ mysqld:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
- type: string
- required:
+ configOverrides:
+ 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
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
- limits:
+ 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
+ required:
+ - resources
+ type: object
+ mysqldExporter:
+ properties:
+ extraFlags:
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: string
+ type: object
+ 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
+ type: object
+ name:
+ default: ""
+ type: string
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
+ type:
+ enum:
+ - replica
+ - rdonly
+ - externalmaster
+ - externalreplica
+ - externalrdonly
+ type: string
+ vttablet:
+ properties:
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ lifecycle:
+ x-kubernetes-preserve-unknown-fields: true
+ 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
- requests:
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ vtbackupExtraFlags:
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: string
+ type: object
+ required:
+ - resources
+ type: object
+ required:
+ - cell
+ - replicas
+ - type
+ - vttablet
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ - cell
+ - name
+ x-kubernetes-list-type: map
+ topologyReconciliation:
+ properties:
+ pruneCells:
+ type: boolean
+ pruneKeyspaces:
+ type: boolean
+ pruneShardCells:
+ type: boolean
+ pruneShards:
+ type: boolean
+ pruneSrvKeyspaces:
+ type: boolean
+ pruneTablets:
+ type: boolean
+ registerCells:
+ type: boolean
+ registerCellsAliases:
+ type: boolean
+ type: object
+ updateStrategy:
+ properties:
+ external:
+ properties:
+ allowResourceChanges:
+ items:
+ type: string
+ type: array
+ type: object
+ type:
+ enum:
+ - External
+ - Immediate
+ type: string
+ type: object
+ vitessOrchestrator:
+ properties:
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ required:
+ - fieldPath
+ type: object
+ x-kubernetes-map-type: atomic
+ fileKeyRef:
+ properties:
+ key:
+ type: string
+ optional:
+ default: false
+ type: boolean
+ path:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ - path
+ - volumeName
+ type: object
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ required:
+ - resource
+ type: object
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
type: object
+ required:
+ - name
type: object
- service:
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
type: string
+ subPath:
+ type: string
+ subPathExpr:
+ type: string
+ required:
+ - mountPath
+ - name
type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- type: object
- zoneMap:
- additionalProperties:
- type: string
- type: object
- required:
- - databaseInitScriptSecret
- - globalLockserver
- - images
- - keyRange
- - name
- - zoneMap
- type: object
- status:
- properties:
- backupLocations:
- items:
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ resources:
properties:
- completeBackups:
- format: int32
- type: integer
- incompleteBackups:
- format: int32
- type: integer
- latestCompleteBackupTime:
- format: date-time
- type: string
- name:
- type: string
- required:
- - completeBackups
- - incompleteBackups
+ 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
- type: array
- cells:
- items:
- type: string
- type: array
- conditions:
- additionalProperties:
+ service:
properties:
- lastTransitionTime:
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- enum:
- - "True"
- - "False"
- - Unknown
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
type: string
- required:
- - status
type: object
- type: object
- hasInitialBackup:
- type: string
- hasMaster:
- type: string
- idle:
- type: string
- lowestPodGeneration:
- format: int64
- type: integer
- masterAlias:
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ type: object
+ zoneMap:
+ additionalProperties:
type: string
- observedGeneration:
- format: int64
- type: integer
- orphanedTablets:
- additionalProperties:
- properties:
- message:
- type: string
- reason:
- type: string
- required:
- - message
- - reason
- type: object
+ type: object
+ required:
+ - databaseInitScriptSecret
+ - globalLockserver
+ - images
+ - keyRange
+ - name
+ - zoneMap
+ type: object
+ status:
+ properties:
+ backupLocations:
+ items:
+ properties:
+ completeBackups:
+ format: int32
+ type: integer
+ incompleteBackups:
+ format: int32
+ type: integer
+ latestCompleteBackupTime:
+ format: date-time
+ type: string
+ name:
+ type: string
+ required:
+ - completeBackups
+ - incompleteBackups
type: object
- servingWrites:
+ type: array
+ cells:
+ items:
type: string
- tablets:
- additionalProperties:
- properties:
- available:
- type: string
- dataVolumeBound:
- type: string
- index:
- format: int32
- type: integer
- pendingChanges:
- type: string
- poolType:
- type: string
- ready:
- type: string
- running:
- type: string
- type:
- type: string
- type: object
+ type: array
+ conditions:
+ additionalProperties:
+ properties:
+ lastTransitionTime:
+ format: date-time
+ type: string
+ message:
+ type: string
+ reason:
+ type: string
+ status:
+ enum:
+ - "True"
+ - "False"
+ - Unknown
+ type: string
+ required:
+ - status
+ type: object
+ type: object
+ hasInitialBackup:
+ type: string
+ hasMaster:
+ type: string
+ idle:
+ type: string
+ lowestPodGeneration:
+ format: int64
+ type: integer
+ masterAlias:
+ type: string
+ observedGeneration:
+ format: int64
+ type: integer
+ orphanedTablets:
+ additionalProperties:
+ properties:
+ message:
+ type: string
+ reason:
+ type: string
+ required:
+ - message
+ - reason
type: object
- vitessOrchestrator:
+ type: object
+ servingWrites:
+ type: string
+ tablets:
+ additionalProperties:
properties:
available:
type: string
- serviceName:
+ dataVolumeBound:
+ type: string
+ index:
+ format: int32
+ type: integer
+ pendingChanges:
+ type: string
+ poolType:
+ type: string
+ ready:
+ type: string
+ running:
+ type: string
+ type:
type: string
type: object
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
+ type: object
+ vitessOrchestrator:
+ properties:
+ available:
+ type: string
+ serviceName:
+ type: string
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
---
apiVersion: v1
kind: ServiceAccount
@@ -7805,108 +7966,108 @@ metadata:
name: vitess-operator-backup-storage
namespace: example
rules:
- - apiGroups:
- - planetscale.com
- resources:
- - vitessshards
- - vitessshards/status
- - vitessshards/finalizers
- - vitessbackups
- - vitessbackups/status
- - vitessbackups/finalizers
- - vitessbackupstorages
- - vitessbackupstorages/status
- - vitessbackupstorages/finalizers
- verbs:
- - '*'
+- apiGroups:
+ - planetscale.com
+ resources:
+ - vitessshards
+ - vitessshards/status
+ - vitessshards/finalizers
+ - vitessbackups
+ - vitessbackups/status
+ - vitessbackups/finalizers
+ - vitessbackupstorages
+ - vitessbackupstorages/status
+ - vitessbackupstorages/finalizers
+ verbs:
+ - '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: vitess-operator
rules:
- - apiGroups:
- - ""
- resources:
- - pods
- - services
- - endpoints
- - persistentvolumeclaims
- - events
- - configmaps
- - secrets
- verbs:
- - '*'
- - apiGroups:
- - ""
- resources:
- - namespaces
- verbs:
- - get
- - apiGroups:
- - apps
- resources:
- - deployments
- - daemonsets
- - replicasets
- - statefulsets
- verbs:
- - '*'
- - apiGroups:
- - policy
- resources:
- - poddisruptionbudgets
- verbs:
- - '*'
- - apiGroups:
- - apps
- resourceNames:
- - vitess-operator
- resources:
- - deployments/finalizers
- verbs:
- - update
- - apiGroups:
- - planetscale.com
- resources:
- - vitessclusters
- - vitessclusters/status
- - vitessclusters/finalizers
- - vitesscells
- - vitesscells/status
- - vitesscells/finalizers
- - vitesskeyspaces
- - vitesskeyspaces/status
- - vitesskeyspaces/finalizers
- - vitessshards
- - vitessshards/status
- - vitessshards/finalizers
- - etcdlockservers
- - etcdlockservers/status
- - etcdlockservers/finalizers
- - vitessbackups
- - vitessbackups/status
- - vitessbackups/finalizers
- - vitessbackupstorages
- - vitessbackupstorages/status
- - vitessbackupstorages/finalizers
- - vitessbackupschedules
- - vitessbackupschedules/status
- - vitessbackupschedules/finalizers
- verbs:
- - '*'
- - apiGroups:
- - batch
- resources:
- - jobs
- verbs:
- - '*'
- - apiGroups:
- - autoscaling
- resources:
- - horizontalpodautoscalers
- verbs:
- - '*'
+- apiGroups:
+ - ""
+ resources:
+ - pods
+ - services
+ - endpoints
+ - persistentvolumeclaims
+ - events
+ - configmaps
+ - secrets
+ verbs:
+ - '*'
+- apiGroups:
+ - ""
+ resources:
+ - namespaces
+ verbs:
+ - get
+- apiGroups:
+ - apps
+ resources:
+ - deployments
+ - daemonsets
+ - replicasets
+ - statefulsets
+ verbs:
+ - '*'
+- apiGroups:
+ - policy
+ resources:
+ - poddisruptionbudgets
+ verbs:
+ - '*'
+- apiGroups:
+ - apps
+ resourceNames:
+ - vitess-operator
+ resources:
+ - deployments/finalizers
+ verbs:
+ - update
+- apiGroups:
+ - planetscale.com
+ resources:
+ - vitessclusters
+ - vitessclusters/status
+ - vitessclusters/finalizers
+ - vitesscells
+ - vitesscells/status
+ - vitesscells/finalizers
+ - vitesskeyspaces
+ - vitesskeyspaces/status
+ - vitesskeyspaces/finalizers
+ - vitessshards
+ - vitessshards/status
+ - vitessshards/finalizers
+ - etcdlockservers
+ - etcdlockservers/status
+ - etcdlockservers/finalizers
+ - vitessbackups
+ - vitessbackups/status
+ - vitessbackups/finalizers
+ - vitessbackupstorages
+ - vitessbackupstorages/status
+ - vitessbackupstorages/finalizers
+ - vitessbackupschedules
+ - vitessbackupschedules/status
+ - vitessbackupschedules/finalizers
+ verbs:
+ - '*'
+- apiGroups:
+ - batch
+ resources:
+ - jobs
+ verbs:
+ - '*'
+- apiGroups:
+ - autoscaling
+ resources:
+ - horizontalpodautoscalers
+ verbs:
+ - '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
@@ -7918,9 +8079,9 @@ roleRef:
kind: Role
name: vitess-operator-backup-storage
subjects:
- - kind: ServiceAccount
- name: vitess-operator
- namespace: example
+- kind: ServiceAccount
+ name: vitess-operator
+ namespace: example
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
@@ -7931,9 +8092,9 @@ roleRef:
kind: ClusterRole
name: vitess-operator
subjects:
- - kind: ServiceAccount
- name: vitess-operator
- namespace: default
+- kind: ServiceAccount
+ name: vitess-operator
+ namespace: default
---
apiVersion: scheduling.k8s.io/v1
description: Vitess components (vttablet, vtgate, vtctld, etcd)
@@ -7966,37 +8127,37 @@ spec:
app: vitess-operator
spec:
containers:
- - args:
- - --logtostderr
- - -v=4
- command:
- - vitess-operator
- env:
- - name: WATCH_NAMESPACE
- value: "default,example"
- - name: POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: PS_OPERATOR_POD_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- - name: PS_OPERATOR_POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: OPERATOR_NAME
- value: vitess-operator
- image: vitess-operator-pr:latest
- imagePullPolicy: Never
- name: vitess-operator
- resources:
- limits:
- memory: 512Mi
- requests:
- cpu: 100m
- memory: 128Mi
+ - args:
+ - --logtostderr
+ - -v=4
+ command:
+ - vitess-operator
+ env:
+ - name: WATCH_NAMESPACE
+ value: "default,example"
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: PS_OPERATOR_POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - name: PS_OPERATOR_POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: OPERATOR_NAME
+ value: vitess-operator
+ image: vitess-operator-pr:latest
+ imagePullPolicy: Never
+ name: vitess-operator
+ resources:
+ limits:
+ memory: 512Mi
+ requests:
+ cpu: 100m
+ memory: 128Mi
priorityClassName: vitess-operator-control-plane
securityContext:
# The fsGroup needs to be set to the default fsGroup of Vitess.