diff --git a/deploy/crds/planetscale.com_etcdlockservers.yaml b/deploy/crds/planetscale.com_etcdlockservers.yaml
index 065de789..f54bca0e 100644
--- a/deploy/crds/planetscale.com_etcdlockservers.yaml
+++ b/deploy/crds/planetscale.com_etcdlockservers.yaml
@@ -307,6 +307,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
zone:
type: string
type: object
diff --git a/deploy/crds/planetscale.com_vitesscells.yaml b/deploy/crds/planetscale.com_vitesscells.yaml
index 68c9887a..a4a0ca0a 100644
--- a/deploy/crds/planetscale.com_vitesscells.yaml
+++ b/deploy/crds/planetscale.com_vitesscells.yaml
@@ -1047,6 +1047,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
external:
properties:
diff --git a/deploy/crds/planetscale.com_vitessclusters.yaml b/deploy/crds/planetscale.com_vitessclusters.yaml
index f04b0e5e..6a4c7112 100644
--- a/deploy/crds/planetscale.com_vitessclusters.yaml
+++ b/deploy/crds/planetscale.com_vitessclusters.yaml
@@ -1238,6 +1238,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
external:
properties:
@@ -1562,6 +1564,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
external:
properties:
@@ -2718,6 +2722,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
required:
- name
@@ -2928,6 +2934,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
vtadmin:
properties:
@@ -3107,6 +3115,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
webResources:
properties:
claims:
diff --git a/deploy/crds/planetscale.com_vitesskeyspaces.yaml b/deploy/crds/planetscale.com_vitesskeyspaces.yaml
index 674e4588..5bce408b 100644
--- a/deploy/crds/planetscale.com_vitesskeyspaces.yaml
+++ b/deploy/crds/planetscale.com_vitesskeyspaces.yaml
@@ -1310,6 +1310,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
zoneMap:
additionalProperties:
diff --git a/deploy/crds/planetscale.com_vitessshards.yaml b/deploy/crds/planetscale.com_vitessshards.yaml
index ea951365..ac372924 100644
--- a/deploy/crds/planetscale.com_vitessshards.yaml
+++ b/deploy/crds/planetscale.com_vitessshards.yaml
@@ -837,6 +837,8 @@ spec:
x-kubernetes-preserve-unknown-fields: true
tolerations:
x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
type: object
zoneMap:
additionalProperties:
diff --git a/docs/api.md b/docs/api.md
index a43f0b7d..89987d3e 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -1227,6 +1227,20 @@ ServiceOverrides
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread etcd pods among the given topology
+ |
+
ExternalDatastore
@@ -4883,6 +4897,20 @@ ServiceOverrides
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread vtctld pods among the given topology
+ |
+
VitessDashboardStatus
@@ -6999,6 +7027,20 @@ ServiceOverrides
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread vtorc pods among the given topology
+ |
+
VitessOrchestratorStatus
@@ -8638,6 +8680,20 @@ ServiceOverrides
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread vtadmin pods among the given topology
+ |
+
VtadminStatus
diff --git a/docs/api/index.html b/docs/api/index.html
index 76c1abe0..2c1a5c77 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -1229,6 +1229,20 @@ EtcdLockserverTemplate
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread etcd pods among the given topology
+ |
+
ExternalDatastore
@@ -4885,6 +4899,20 @@ VitessDashboardSpec
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread vtctld pods among the given topology
+ |
+
VitessDashboardStatus
@@ -7001,6 +7029,20 @@ VitessOrchestratorSpec
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread vtorc pods among the given topology
+ |
+
VitessOrchestratorStatus
@@ -8640,6 +8682,20 @@ VtAdminSpec
Tolerations allow you to schedule pods onto nodes with matching taints.
+
+
+topologySpreadConstraints
+
+
+[]Kubernetes core/v1.TopologySpreadConstraint
+
+
+ |
+
+ TopologySpreadConstraint can optionally be used to
+specify how to spread vtadmin pods among the given topology
+ |
+
VtadminStatus
diff --git a/pkg/apis/planetscale/v2/etcdlockserver_types.go b/pkg/apis/planetscale/v2/etcdlockserver_types.go
index d3589087..3ab996b9 100644
--- a/pkg/apis/planetscale/v2/etcdlockserver_types.go
+++ b/pkg/apis/planetscale/v2/etcdlockserver_types.go
@@ -197,6 +197,12 @@ type EtcdLockserverTemplate struct {
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
+
+ // TopologySpreadConstraint can optionally be used to
+ // specify how to spread etcd pods among the given topology
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
// EtcdLockserverStatus defines the observed state of an EtcdLockserver.
diff --git a/pkg/apis/planetscale/v2/vitesscluster_types.go b/pkg/apis/planetscale/v2/vitesscluster_types.go
index c19ebc5a..3121b307 100644
--- a/pkg/apis/planetscale/v2/vitesscluster_types.go
+++ b/pkg/apis/planetscale/v2/vitesscluster_types.go
@@ -450,6 +450,12 @@ type VitessDashboardSpec struct {
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
+
+ // TopologySpreadConstraint can optionally be used to
+ // specify how to spread vtctld pods among the given topology
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
// VtAdminSpec specifies deployment parameters for vtadmin.
@@ -547,6 +553,12 @@ type VtAdminSpec struct {
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
+
+ // TopologySpreadConstraint can optionally be used to
+ // specify how to spread vtadmin pods among the given topology
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
// ServiceOverrides allows customization of an arbitrary Service object.
diff --git a/pkg/apis/planetscale/v2/vitesskeyspace_types.go b/pkg/apis/planetscale/v2/vitesskeyspace_types.go
index 1d8dbdd0..07c63aec 100644
--- a/pkg/apis/planetscale/v2/vitesskeyspace_types.go
+++ b/pkg/apis/planetscale/v2/vitesskeyspace_types.go
@@ -285,6 +285,12 @@ type VitessOrchestratorSpec struct {
// +kubebuilder:validation:Schemaless
// +kubebuilder:pruning:PreserveUnknownFields
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
+
+ // TopologySpreadConstraint can optionally be used to
+ // specify how to spread vtorc pods among the given topology
+ // +kubebuilder:validation:Schemaless
+ // +kubebuilder:pruning:PreserveUnknownFields
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
}
// VitessKeyspaceTurndownPolicy is the policy for turning down a keyspace.
diff --git a/pkg/apis/planetscale/v2/zz_generated.deepcopy.go b/pkg/apis/planetscale/v2/zz_generated.deepcopy.go
index ace6b890..70c3033a 100644
--- a/pkg/apis/planetscale/v2/zz_generated.deepcopy.go
+++ b/pkg/apis/planetscale/v2/zz_generated.deepcopy.go
@@ -311,6 +311,13 @@ func (in *EtcdLockserverTemplate) DeepCopyInto(out *EtcdLockserverTemplate) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.TopologySpreadConstraints != nil {
+ in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
+ *out = make([]v1.TopologySpreadConstraint, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdLockserverTemplate.
@@ -1729,6 +1736,13 @@ func (in *VitessDashboardSpec) DeepCopyInto(out *VitessDashboardSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.TopologySpreadConstraints != nil {
+ in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
+ *out = make([]v1.TopologySpreadConstraint, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VitessDashboardSpec.
@@ -2364,6 +2378,13 @@ func (in *VitessOrchestratorSpec) DeepCopyInto(out *VitessOrchestratorSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.TopologySpreadConstraints != nil {
+ in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
+ *out = make([]v1.TopologySpreadConstraint, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VitessOrchestratorSpec.
@@ -2866,6 +2887,13 @@ func (in *VtAdminSpec) DeepCopyInto(out *VtAdminSpec) {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
+ if in.TopologySpreadConstraints != nil {
+ in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
+ *out = make([]v1.TopologySpreadConstraint, len(*in))
+ for i := range *in {
+ (*in)[i].DeepCopyInto(&(*out)[i])
+ }
+ }
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VtAdminSpec.
diff --git a/pkg/controller/etcdlockserver/reconcile_members.go b/pkg/controller/etcdlockserver/reconcile_members.go
index 41e56b9f..723ff117 100644
--- a/pkg/controller/etcdlockserver/reconcile_members.go
+++ b/pkg/controller/etcdlockserver/reconcile_members.go
@@ -142,26 +142,27 @@ func memberSpecs(ls *planetscalev2.EtcdLockserver, parentLabels map[string]strin
}
members = append(members, &etcd.Spec{
- LockserverName: ls.Name,
- Image: ls.Spec.Image,
- ImagePullPolicy: ls.Spec.ImagePullPolicy,
- ImagePullSecrets: ls.Spec.ImagePullSecrets,
- Resources: ls.Spec.Resources,
- Labels: labels,
- Zone: ls.Spec.Zone,
- Index: i,
- DataVolumePVCSpec: &ls.Spec.DataVolumeClaimTemplate,
- ExtraFlags: ls.Spec.ExtraFlags,
- ExtraEnv: ls.Spec.ExtraEnv,
- ExtraVolumes: ls.Spec.ExtraVolumes,
- ExtraVolumeMounts: ls.Spec.ExtraVolumeMounts,
- ExtraLabels: ls.Spec.ExtraLabels,
- InitContainers: ls.Spec.InitContainers,
- SidecarContainers: ls.Spec.SidecarContainers,
- Affinity: ls.Spec.Affinity,
- Annotations: ls.Spec.Annotations,
- AdvertisePeerURLs: ls.Spec.AdvertisePeerURLs,
- Tolerations: ls.Spec.Tolerations,
+ LockserverName: ls.Name,
+ Image: ls.Spec.Image,
+ ImagePullPolicy: ls.Spec.ImagePullPolicy,
+ ImagePullSecrets: ls.Spec.ImagePullSecrets,
+ Resources: ls.Spec.Resources,
+ Labels: labels,
+ Zone: ls.Spec.Zone,
+ Index: i,
+ DataVolumePVCSpec: &ls.Spec.DataVolumeClaimTemplate,
+ ExtraFlags: ls.Spec.ExtraFlags,
+ ExtraEnv: ls.Spec.ExtraEnv,
+ ExtraVolumes: ls.Spec.ExtraVolumes,
+ ExtraVolumeMounts: ls.Spec.ExtraVolumeMounts,
+ ExtraLabels: ls.Spec.ExtraLabels,
+ InitContainers: ls.Spec.InitContainers,
+ SidecarContainers: ls.Spec.SidecarContainers,
+ Affinity: ls.Spec.Affinity,
+ Annotations: ls.Spec.Annotations,
+ AdvertisePeerURLs: ls.Spec.AdvertisePeerURLs,
+ Tolerations: ls.Spec.Tolerations,
+ TopologySpreadConstraints: ls.Spec.TopologySpreadConstraints,
})
}
return members
diff --git a/pkg/controller/vitesscluster/reconcile_vtadmin.go b/pkg/controller/vitesscluster/reconcile_vtadmin.go
index f458c327..6d8a2410 100644
--- a/pkg/controller/vitesscluster/reconcile_vtadmin.go
+++ b/pkg/controller/vitesscluster/reconcile_vtadmin.go
@@ -200,28 +200,29 @@ func (r *ReconcileVitessCluster) vtadminSpecs(ctx context.Context, vt *planetsca
}
specs = append(specs, &vtadmin.Spec{
- Cell: cell,
- Discovery: discoverySecret,
- ClusterConfig: clusterConfigSecret,
- Rbac: vt.Spec.VtAdmin.Rbac,
- WebConfig: webConfigSecret,
- Image: vt.Spec.Images.Vtadmin,
- ImagePullPolicy: vt.Spec.ImagePullPolicies.Vtadmin,
- ImagePullSecrets: vt.Spec.ImagePullSecrets,
- Labels: labels,
- Replicas: *vt.Spec.VtAdmin.Replicas,
- APIResources: vt.Spec.VtAdmin.APIResources,
- WebResources: vt.Spec.VtAdmin.WebResources,
- Affinity: vt.Spec.VtAdmin.Affinity,
- ExtraFlags: extraFlags,
- ExtraEnv: vt.Spec.VtAdmin.ExtraEnv,
- ExtraVolumes: vt.Spec.VtAdmin.ExtraVolumes,
- ExtraVolumeMounts: vt.Spec.VtAdmin.ExtraVolumeMounts,
- InitContainers: vt.Spec.VtAdmin.InitContainers,
- SidecarContainers: vt.Spec.VtAdmin.SidecarContainers,
- Annotations: vt.Spec.VtAdmin.Annotations,
- ExtraLabels: vt.Spec.VtAdmin.ExtraLabels,
- Tolerations: vt.Spec.VtAdmin.Tolerations,
+ Cell: cell,
+ Discovery: discoverySecret,
+ ClusterConfig: clusterConfigSecret,
+ Rbac: vt.Spec.VtAdmin.Rbac,
+ WebConfig: webConfigSecret,
+ Image: vt.Spec.Images.Vtadmin,
+ ImagePullPolicy: vt.Spec.ImagePullPolicies.Vtadmin,
+ ImagePullSecrets: vt.Spec.ImagePullSecrets,
+ Labels: labels,
+ Replicas: *vt.Spec.VtAdmin.Replicas,
+ APIResources: vt.Spec.VtAdmin.APIResources,
+ WebResources: vt.Spec.VtAdmin.WebResources,
+ Affinity: vt.Spec.VtAdmin.Affinity,
+ ExtraFlags: extraFlags,
+ ExtraEnv: vt.Spec.VtAdmin.ExtraEnv,
+ ExtraVolumes: vt.Spec.VtAdmin.ExtraVolumes,
+ ExtraVolumeMounts: vt.Spec.VtAdmin.ExtraVolumeMounts,
+ InitContainers: vt.Spec.VtAdmin.InitContainers,
+ SidecarContainers: vt.Spec.VtAdmin.SidecarContainers,
+ Annotations: vt.Spec.VtAdmin.Annotations,
+ ExtraLabels: vt.Spec.VtAdmin.ExtraLabels,
+ Tolerations: vt.Spec.VtAdmin.Tolerations,
+ TopologySpreadConstraints: vt.Spec.VtAdmin.TopologySpreadConstraints,
})
}
return specs, nil
diff --git a/pkg/controller/vitesscluster/reconcile_vtctld.go b/pkg/controller/vitesscluster/reconcile_vtctld.go
index 3520544f..627311e4 100644
--- a/pkg/controller/vitesscluster/reconcile_vtctld.go
+++ b/pkg/controller/vitesscluster/reconcile_vtctld.go
@@ -171,26 +171,27 @@ func (r *ReconcileVitessCluster) vtctldSpecs(vt *planetscalev2.VitessCluster, pa
}
specs = append(specs, &vtctld.Spec{
- GlobalLockserver: glsParams,
- Image: vt.Spec.Images.Vtctld,
- ImagePullPolicy: vt.Spec.ImagePullPolicies.Vtctld,
- ImagePullSecrets: vt.Spec.ImagePullSecrets,
- Cell: cell,
- Labels: labels,
- Replicas: *vt.Spec.VitessDashboard.Replicas,
- Resources: vt.Spec.VitessDashboard.Resources,
- Affinity: vt.Spec.VitessDashboard.Affinity,
- ExtraFlags: extraFlags,
- ExtraEnv: vt.Spec.VitessDashboard.ExtraEnv,
- ExtraVolumes: vt.Spec.VitessDashboard.ExtraVolumes,
- ExtraVolumeMounts: vt.Spec.VitessDashboard.ExtraVolumeMounts,
- InitContainers: vt.Spec.VitessDashboard.InitContainers,
- SidecarContainers: vt.Spec.VitessDashboard.SidecarContainers,
- Annotations: vt.Spec.VitessDashboard.Annotations,
- ExtraLabels: vt.Spec.VitessDashboard.ExtraLabels,
- Tolerations: vt.Spec.VitessDashboard.Tolerations,
- BackupEngine: backupEngine,
- BackupLocation: backupLocation,
+ GlobalLockserver: glsParams,
+ Image: vt.Spec.Images.Vtctld,
+ ImagePullPolicy: vt.Spec.ImagePullPolicies.Vtctld,
+ ImagePullSecrets: vt.Spec.ImagePullSecrets,
+ Cell: cell,
+ Labels: labels,
+ Replicas: *vt.Spec.VitessDashboard.Replicas,
+ Resources: vt.Spec.VitessDashboard.Resources,
+ Affinity: vt.Spec.VitessDashboard.Affinity,
+ ExtraFlags: extraFlags,
+ ExtraEnv: vt.Spec.VitessDashboard.ExtraEnv,
+ ExtraVolumes: vt.Spec.VitessDashboard.ExtraVolumes,
+ ExtraVolumeMounts: vt.Spec.VitessDashboard.ExtraVolumeMounts,
+ InitContainers: vt.Spec.VitessDashboard.InitContainers,
+ SidecarContainers: vt.Spec.VitessDashboard.SidecarContainers,
+ Annotations: vt.Spec.VitessDashboard.Annotations,
+ ExtraLabels: vt.Spec.VitessDashboard.ExtraLabels,
+ Tolerations: vt.Spec.VitessDashboard.Tolerations,
+ TopologySpreadConstraints: vt.Spec.VitessDashboard.TopologySpreadConstraints,
+ BackupEngine: backupEngine,
+ BackupLocation: backupLocation,
})
}
diff --git a/pkg/controller/vitessshard/reconcile_backup_job.go b/pkg/controller/vitessshard/reconcile_backup_job.go
index f580ce91..2064b7ab 100644
--- a/pkg/controller/vitessshard/reconcile_backup_job.go
+++ b/pkg/controller/vitessshard/reconcile_backup_job.go
@@ -229,27 +229,28 @@ func vtbackupSpec(key client.ObjectKey, vts *planetscalev2.VitessShard, parentLa
// Fill in the parts of a vttablet spec that make sense for vtbackup.
tabletSpec := &vttablet.Spec{
- GlobalLockserver: vts.Spec.GlobalLockserver,
- Labels: labels,
- Images: vts.Spec.Images,
- KeyRange: vts.Spec.KeyRange,
- Vttablet: &pool.Vttablet,
- Mysqld: pool.Mysqld,
- MysqldExporter: pool.MysqldExporter,
- DataVolumePVCName: key.Name,
- DataVolumePVCSpec: pool.DataVolumeClaimTemplate,
- KeyspaceName: keyspaceName,
- DatabaseName: vts.Spec.DatabaseName,
- DatabaseInitScriptSecret: vts.Spec.DatabaseInitScriptSecret,
- BackupLocation: backupLocation,
- BackupEngine: vts.Spec.BackupEngine,
- InitContainers: pool.InitContainers,
- SidecarContainers: pool.SidecarContainers,
- ExtraEnv: pool.ExtraEnv,
- Annotations: annotations,
- Affinity: pool.Affinity,
- Tolerations: pool.Tolerations,
- ImagePullSecrets: vts.Spec.ImagePullSecrets,
+ GlobalLockserver: vts.Spec.GlobalLockserver,
+ Labels: labels,
+ Images: vts.Spec.Images,
+ KeyRange: vts.Spec.KeyRange,
+ Vttablet: &pool.Vttablet,
+ Mysqld: pool.Mysqld,
+ MysqldExporter: pool.MysqldExporter,
+ DataVolumePVCName: key.Name,
+ DataVolumePVCSpec: pool.DataVolumeClaimTemplate,
+ KeyspaceName: keyspaceName,
+ DatabaseName: vts.Spec.DatabaseName,
+ DatabaseInitScriptSecret: vts.Spec.DatabaseInitScriptSecret,
+ BackupLocation: backupLocation,
+ BackupEngine: vts.Spec.BackupEngine,
+ InitContainers: pool.InitContainers,
+ SidecarContainers: pool.SidecarContainers,
+ ExtraEnv: pool.ExtraEnv,
+ Annotations: annotations,
+ Affinity: pool.Affinity,
+ Tolerations: pool.Tolerations,
+ TopologySpreadConstraints: pool.TopologySpreadConstraints,
+ ImagePullSecrets: vts.Spec.ImagePullSecrets,
}
return &vttablet.BackupSpec{
diff --git a/pkg/controller/vitessshard/reconcile_vtorc.go b/pkg/controller/vitessshard/reconcile_vtorc.go
index 05d6886d..cdce15be 100644
--- a/pkg/controller/vitessshard/reconcile_vtorc.go
+++ b/pkg/controller/vitessshard/reconcile_vtorc.go
@@ -136,26 +136,27 @@ func (r *ReconcileVitessShard) vtorcSpecs(vts *planetscalev2.VitessShard, parent
update.StringMap(&extraFlags, vts.Spec.VitessOrchestrator.ExtraFlags)
specs = append(specs, &vtorc.Spec{
- GlobalLockserver: vts.Spec.GlobalLockserver,
- Image: vts.Spec.Images.Vtorc,
- ImagePullPolicy: vts.Spec.ImagePullPolicies.Vtorc,
- ImagePullSecrets: vts.Spec.ImagePullSecrets,
- Keyspace: parentLabels[planetscalev2.KeyspaceLabel],
- Shard: vts.Spec.KeyRange.String(),
- Cell: tabletPool.Cell,
- Zone: vts.Spec.ZoneMap[tabletPool.Cell],
- Labels: labels,
- Resources: vts.Spec.VitessOrchestrator.Resources,
- Affinity: vts.Spec.VitessOrchestrator.Affinity,
- ExtraFlags: extraFlags,
- ExtraEnv: vts.Spec.VitessOrchestrator.ExtraEnv,
- ExtraVolumes: vts.Spec.VitessOrchestrator.ExtraVolumes,
- ExtraVolumeMounts: vts.Spec.VitessOrchestrator.ExtraVolumeMounts,
- InitContainers: vts.Spec.VitessOrchestrator.InitContainers,
- SidecarContainers: vts.Spec.VitessOrchestrator.SidecarContainers,
- Annotations: vts.Spec.VitessOrchestrator.Annotations,
- ExtraLabels: vts.Spec.VitessOrchestrator.ExtraLabels,
- Tolerations: vts.Spec.VitessOrchestrator.Tolerations,
+ GlobalLockserver: vts.Spec.GlobalLockserver,
+ Image: vts.Spec.Images.Vtorc,
+ ImagePullPolicy: vts.Spec.ImagePullPolicies.Vtorc,
+ ImagePullSecrets: vts.Spec.ImagePullSecrets,
+ Keyspace: parentLabels[planetscalev2.KeyspaceLabel],
+ Shard: vts.Spec.KeyRange.String(),
+ Cell: tabletPool.Cell,
+ Zone: vts.Spec.ZoneMap[tabletPool.Cell],
+ Labels: labels,
+ Resources: vts.Spec.VitessOrchestrator.Resources,
+ Affinity: vts.Spec.VitessOrchestrator.Affinity,
+ ExtraFlags: extraFlags,
+ ExtraEnv: vts.Spec.VitessOrchestrator.ExtraEnv,
+ ExtraVolumes: vts.Spec.VitessOrchestrator.ExtraVolumes,
+ ExtraVolumeMounts: vts.Spec.VitessOrchestrator.ExtraVolumeMounts,
+ InitContainers: vts.Spec.VitessOrchestrator.InitContainers,
+ SidecarContainers: vts.Spec.VitessOrchestrator.SidecarContainers,
+ Annotations: vts.Spec.VitessOrchestrator.Annotations,
+ ExtraLabels: vts.Spec.VitessOrchestrator.ExtraLabels,
+ Tolerations: vts.Spec.VitessOrchestrator.Tolerations,
+ TopologySpreadConstraints: vts.Spec.VitessOrchestrator.TopologySpreadConstraints,
})
}
return specs
diff --git a/pkg/operator/contenthash/topology_spread_constraints.go b/pkg/operator/contenthash/topology_spread_constraints.go
index 505a8c93..13891bc9 100644
--- a/pkg/operator/contenthash/topology_spread_constraints.go
+++ b/pkg/operator/contenthash/topology_spread_constraints.go
@@ -20,6 +20,7 @@ package contenthash
import (
"crypto/md5"
"encoding/hex"
+ "strings"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -42,7 +43,16 @@ func TopologySpreadConstraints(in []corev1.TopologySpreadConstraint) string {
labelSelectors = map[string]string{}
}
writeStringHash(h, StringMap(labelSelectors))
-
+ writeStringHash(h, strings.Join(tsc.MatchLabelKeys, ""))
+ if tsc.MinDomains != nil {
+ writeStringHash(h, string(*tsc.MinDomains))
+ }
+ if tsc.NodeAffinityPolicy != nil {
+ writeStringHash(h, string(*tsc.NodeAffinityPolicy))
+ }
+ if tsc.NodeTaintsPolicy != nil {
+ writeStringHash(h, string(*tsc.NodeTaintsPolicy))
+ }
}
sum := h.Sum(nil)
diff --git a/pkg/operator/contenthash/topology_spread_constraints_test.go b/pkg/operator/contenthash/topology_spread_constraints_test.go
new file mode 100644
index 00000000..723bc347
--- /dev/null
+++ b/pkg/operator/contenthash/topology_spread_constraints_test.go
@@ -0,0 +1,64 @@
+/*
+Copyright 2024 PlanetScale Inc.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package contenthash
+
+import (
+ "testing"
+
+ corev1 "k8s.io/api/core/v1"
+ "k8s.io/utils/ptr"
+)
+
+func TestTopologySpreadConstraintMinDomainsSecondsNil(t *testing.T) {
+ // Make sure nil is distinguishable from 0.
+ nilHash := TopologySpreadConstraints([]corev1.TopologySpreadConstraint{
+ {MinDomains: nil},
+ })
+ zeroHash := TopologySpreadConstraints([]corev1.TopologySpreadConstraint{
+
+ {MinDomains: ptr.To(int32(0))},
+ })
+ if nilHash == zeroHash {
+ t.Errorf("nilHash = zeroHash = %v; expected different values", nilHash)
+ }
+}
+
+func TestTopologySpreadConstraintNodeAffinityPolicysNil(t *testing.T) {
+ // Make sure nil is distinguishable from 0.
+ nilHash := TopologySpreadConstraints([]corev1.TopologySpreadConstraint{
+ {NodeAffinityPolicy: nil},
+ })
+ honorHash := TopologySpreadConstraints([]corev1.TopologySpreadConstraint{
+ {NodeAffinityPolicy: ptr.To(corev1.NodeInclusionPolicyHonor)},
+ })
+ if nilHash == honorHash {
+ t.Errorf("nilHash = zeroHash = %v; expected different values", nilHash)
+ }
+}
+
+func TestTopologySpreadConstraintNodeTaintsPolicysNil(t *testing.T) {
+ // Make sure nil is distinguishable from 0.
+ nilHash := TopologySpreadConstraints([]corev1.TopologySpreadConstraint{
+ {NodeTaintsPolicy: nil},
+ })
+ honorHash := TopologySpreadConstraints([]corev1.TopologySpreadConstraint{
+ {NodeTaintsPolicy: ptr.To(corev1.NodeInclusionPolicyHonor)},
+ })
+ if nilHash == honorHash {
+ t.Errorf("nilHash = zeroHash = %v; expected different values", nilHash)
+ }
+}
diff --git a/pkg/operator/desiredstatehash/builder_test.go b/pkg/operator/desiredstatehash/builder_test.go
index 3181cae5..8f5ddd11 100644
--- a/pkg/operator/desiredstatehash/builder_test.go
+++ b/pkg/operator/desiredstatehash/builder_test.go
@@ -46,6 +46,8 @@ func TestEmptyValues(t *testing.T) {
b.AddContainersUpdates("empty ContainersUpdates", []corev1.Container{})
b.AddTolerations("nil Tolerations", nil)
b.AddTolerations("empty Tolerations", []corev1.Toleration{})
+ b.AddTopologySpreadConstraints("nil TopologySpreadConstraints", nil)
+ b.AddTopologySpreadConstraints("empty TopologySpreadConstraints", []corev1.TopologySpreadConstraint{})
b.AddVolumeNames("nil VolumeNames", nil)
b.AddVolumeNames("empty VolumeNames", []corev1.Volume{})
diff --git a/pkg/operator/etcd/pod.go b/pkg/operator/etcd/pod.go
index 657775db..17fe8d7d 100644
--- a/pkg/operator/etcd/pod.go
+++ b/pkg/operator/etcd/pod.go
@@ -66,27 +66,28 @@ func PodName(lockserverName string, index int) string {
// Spec specifies all the internal parameters needed to deploy an etcd instance.
type Spec struct {
- LockserverName string
- Image string
- ImagePullPolicy corev1.PullPolicy
- ImagePullSecrets []corev1.LocalObjectReference
- Resources corev1.ResourceRequirements
- Labels map[string]string
- Zone string
- Index int
- DataVolumePVCName string
- DataVolumePVCSpec *corev1.PersistentVolumeClaimSpec
- ExtraFlags map[string]string
- ExtraEnv []corev1.EnvVar
- ExtraVolumes []corev1.Volume
- ExtraVolumeMounts []corev1.VolumeMount
- InitContainers []corev1.Container
- SidecarContainers []corev1.Container
- Affinity *corev1.Affinity
- Annotations map[string]string
- ExtraLabels map[string]string
- AdvertisePeerURLs []string
- Tolerations []corev1.Toleration
+ LockserverName string
+ Image string
+ ImagePullPolicy corev1.PullPolicy
+ ImagePullSecrets []corev1.LocalObjectReference
+ Resources corev1.ResourceRequirements
+ Labels map[string]string
+ Zone string
+ Index int
+ DataVolumePVCName string
+ DataVolumePVCSpec *corev1.PersistentVolumeClaimSpec
+ ExtraFlags map[string]string
+ ExtraEnv []corev1.EnvVar
+ ExtraVolumes []corev1.Volume
+ ExtraVolumeMounts []corev1.VolumeMount
+ InitContainers []corev1.Container
+ SidecarContainers []corev1.Container
+ Affinity *corev1.Affinity
+ Annotations map[string]string
+ ExtraLabels map[string]string
+ AdvertisePeerURLs []string
+ Tolerations []corev1.Toleration
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint
}
// NewPod creates a new etcd Pod.
@@ -300,6 +301,7 @@ func UpdatePod(obj *corev1.Pod, spec *Spec) {
}
update.Tolerations(&obj.Spec.Tolerations, spec.Tolerations)
+ update.TopologySpreadConstraints(&obj.Spec.TopologySpreadConstraints, spec.TopologySpreadConstraints)
// Use the PriorityClass we defined for etcd in deploy/priority.yaml,
// or a custom value if overridden in the operator command line.
@@ -329,6 +331,10 @@ func UpdatePod(obj *corev1.Pod, spec *Spec) {
// one disappears from the desired list.
desiredStateHash.AddTolerations("tolerations", spec.Tolerations)
+ // Record a hash of desired topologySpreadConstraints to force the Pod to be
+ // recreated if one disappears from the desired list.
+ desiredStateHash.AddTopologySpreadConstraints("topologySpreadConstraints", spec.TopologySpreadConstraints)
+
// Add the final desired state hash annotation.
update.Annotations(&obj.Annotations, map[string]string{
desiredstatehash.Annotation: desiredStateHash.String(),
diff --git a/pkg/operator/update/podspec.go b/pkg/operator/update/podspec.go
index 4742d9ed..702e4e62 100644
--- a/pkg/operator/update/podspec.go
+++ b/pkg/operator/update/podspec.go
@@ -20,7 +20,6 @@ import (
"reflect"
corev1 "k8s.io/api/core/v1"
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// Volumes updates entries in 'dst' based on the values in 'src'.
@@ -302,21 +301,10 @@ func TopologySpreadConstraints(dst *[]corev1.TopologySpreadConstraint, src []cor
srcLoop:
for srcIndex := range src {
srcObj := &src[srcIndex]
- srcMap, srcErr := metav1.LabelSelectorAsMap(srcObj.LabelSelector)
- if srcErr != nil {
- // There is no return of error for this function
- // or its callers, which makes this a bit of a hack
- srcMap = map[string]string{}
- }
// If this item is already there, update it.
for dstIndex := range *dst {
dstObj := &(*dst)[dstIndex]
- dstMap, dstErr := metav1.LabelSelectorAsMap(dstObj.LabelSelector)
- if dstErr != nil {
- dstMap = map[string]string{}
- }
- if reflect.DeepEqual(dstMap, srcMap) {
- *dstObj = *srcObj
+ if reflect.DeepEqual(srcObj, dstObj) {
continue srcLoop
}
}
diff --git a/pkg/operator/update/podspec_test.go b/pkg/operator/update/podspec_test.go
index 2198e8a9..b0113ce1 100644
--- a/pkg/operator/update/podspec_test.go
+++ b/pkg/operator/update/podspec_test.go
@@ -21,6 +21,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/equality"
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func TestTolerations(t *testing.T) {
@@ -41,3 +42,98 @@ func TestTolerations(t *testing.T) {
t.Errorf("val = %#v; want %#v", val, want)
}
}
+
+func TestTopologySpreadConstraints(t *testing.T) {
+ // Make sure we don't touch topology spread constraints that were already there.
+ val := []corev1.TopologySpreadConstraint{
+ {
+ MaxSkew: 1,
+ TopologyKey: "existing-retain",
+ WhenUnsatisfiable: corev1.DoNotSchedule,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-existing": "test",
+ },
+ },
+ },
+ {
+ MaxSkew: 1,
+ TopologyKey: "existing-do-not-override",
+ WhenUnsatisfiable: corev1.DoNotSchedule,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-override": "test",
+ },
+ },
+ },
+ }
+ want := []corev1.TopologySpreadConstraint{
+ {
+ MaxSkew: 1,
+ TopologyKey: "existing-retain",
+ WhenUnsatisfiable: corev1.DoNotSchedule,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-existing": "test",
+ },
+ },
+ },
+ {
+ MaxSkew: 1,
+ TopologyKey: "existing-do-not-override",
+ WhenUnsatisfiable: corev1.DoNotSchedule,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-override": "test",
+ },
+ },
+ },
+ {
+ MaxSkew: 2,
+ TopologyKey: "new-1",
+ WhenUnsatisfiable: corev1.ScheduleAnyway,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-new": "new-1",
+ },
+ },
+ },
+ {
+ MaxSkew: 2,
+ TopologyKey: "new-2",
+ WhenUnsatisfiable: corev1.DoNotSchedule,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-override": "test",
+ },
+ },
+ },
+ }
+
+ TopologySpreadConstraints(&val, []corev1.TopologySpreadConstraint{
+ {
+ MaxSkew: 2,
+ TopologyKey: "new-1",
+ WhenUnsatisfiable: corev1.ScheduleAnyway,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-new": "new-1",
+ },
+ },
+ },
+ {
+ MaxSkew: 2,
+ TopologyKey: "new-2",
+ WhenUnsatisfiable: corev1.DoNotSchedule,
+ LabelSelector: &metav1.LabelSelector{
+ MatchLabels: map[string]string{
+ "example-override": "test",
+ },
+ },
+ },
+ })
+
+ if !equality.Semantic.DeepEqual(val, want) {
+ t.Errorf("val = %#v; want %#v", val, want)
+ }
+}
diff --git a/pkg/operator/vtadmin/deployment.go b/pkg/operator/vtadmin/deployment.go
index 76132da6..540d77b6 100644
--- a/pkg/operator/vtadmin/deployment.go
+++ b/pkg/operator/vtadmin/deployment.go
@@ -87,26 +87,27 @@ type Spec struct {
ClusterConfig *planetscalev2.SecretSource
// Discovery holds the secret information for the vtctld and vtgate
// endpoints to use by vtadmin
- Discovery *planetscalev2.SecretSource
- Rbac *planetscalev2.SecretSource
- WebConfig *planetscalev2.SecretSource
- Image string
- ImagePullPolicy corev1.PullPolicy
- ImagePullSecrets []corev1.LocalObjectReference
- Labels map[string]string
- Replicas int32
- APIResources corev1.ResourceRequirements
- WebResources corev1.ResourceRequirements
- Affinity *corev1.Affinity
- ExtraFlags map[string]string
- ExtraEnv []corev1.EnvVar
- ExtraVolumes []corev1.Volume
- ExtraVolumeMounts []corev1.VolumeMount
- InitContainers []corev1.Container
- SidecarContainers []corev1.Container
- Annotations map[string]string
- ExtraLabels map[string]string
- Tolerations []corev1.Toleration
+ Discovery *planetscalev2.SecretSource
+ Rbac *planetscalev2.SecretSource
+ WebConfig *planetscalev2.SecretSource
+ Image string
+ ImagePullPolicy corev1.PullPolicy
+ ImagePullSecrets []corev1.LocalObjectReference
+ Labels map[string]string
+ Replicas int32
+ APIResources corev1.ResourceRequirements
+ WebResources corev1.ResourceRequirements
+ Affinity *corev1.Affinity
+ ExtraFlags map[string]string
+ ExtraEnv []corev1.EnvVar
+ ExtraVolumes []corev1.Volume
+ ExtraVolumeMounts []corev1.VolumeMount
+ InitContainers []corev1.Container
+ SidecarContainers []corev1.Container
+ Annotations map[string]string
+ ExtraLabels map[string]string
+ Tolerations []corev1.Toleration
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint
}
// NewDeployment creates a new Deployment object for vtadmin.
@@ -175,6 +176,7 @@ func UpdateDeployment(obj *appsv1.Deployment, spec *Spec) {
obj.Spec.Template.Spec.PriorityClassName = planetscalev2.DefaultVitessPriorityClass
obj.Spec.Template.Spec.ServiceAccountName = planetscalev2.DefaultVitessServiceAccount
obj.Spec.Template.Spec.Tolerations = spec.Tolerations
+ obj.Spec.Template.Spec.TopologySpreadConstraints = spec.TopologySpreadConstraints
update.Volumes(&obj.Spec.Template.Spec.Volumes, spec.ExtraVolumes)
securityContext := &corev1.SecurityContext{}
diff --git a/pkg/operator/vtctld/deployment.go b/pkg/operator/vtctld/deployment.go
index 43b628ff..0c831e05 100644
--- a/pkg/operator/vtctld/deployment.go
+++ b/pkg/operator/vtctld/deployment.go
@@ -52,26 +52,27 @@ func DeploymentName(clusterName, cellName string) string {
// Spec specifies all the internal parameters needed to deploy vtctld,
// as opposed to the API type planetscalev2.VitessDashboardSpec, which is the public API.
type Spec struct {
- GlobalLockserver *planetscalev2.VitessLockserverParams
- Cell *planetscalev2.VitessCellTemplate
- Image string
- ImagePullPolicy corev1.PullPolicy
- ImagePullSecrets []corev1.LocalObjectReference
- Labels map[string]string
- Replicas int32
- Resources corev1.ResourceRequirements
- Affinity *corev1.Affinity
- ExtraFlags map[string]string
- ExtraEnv []corev1.EnvVar
- ExtraVolumes []corev1.Volume
- ExtraVolumeMounts []corev1.VolumeMount
- InitContainers []corev1.Container
- SidecarContainers []corev1.Container
- Annotations map[string]string
- ExtraLabels map[string]string
- Tolerations []corev1.Toleration
- BackupLocation *planetscalev2.VitessBackupLocation
- BackupEngine planetscalev2.VitessBackupEngine
+ GlobalLockserver *planetscalev2.VitessLockserverParams
+ Cell *planetscalev2.VitessCellTemplate
+ Image string
+ ImagePullPolicy corev1.PullPolicy
+ ImagePullSecrets []corev1.LocalObjectReference
+ Labels map[string]string
+ Replicas int32
+ Resources corev1.ResourceRequirements
+ Affinity *corev1.Affinity
+ ExtraFlags map[string]string
+ ExtraEnv []corev1.EnvVar
+ ExtraVolumes []corev1.Volume
+ ExtraVolumeMounts []corev1.VolumeMount
+ InitContainers []corev1.Container
+ SidecarContainers []corev1.Container
+ Annotations map[string]string
+ ExtraLabels map[string]string
+ Tolerations []corev1.Toleration
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint
+ BackupLocation *planetscalev2.VitessBackupLocation
+ BackupEngine planetscalev2.VitessBackupEngine
}
// NewDeployment creates a new Deployment object for vtctld.
@@ -141,6 +142,7 @@ func UpdateDeployment(obj *appsv1.Deployment, spec *Spec, mysqldImage string) {
obj.Spec.Template.Spec.PriorityClassName = planetscalev2.DefaultVitessPriorityClass
obj.Spec.Template.Spec.ServiceAccountName = planetscalev2.DefaultVitessServiceAccount
obj.Spec.Template.Spec.Tolerations = spec.Tolerations
+ obj.Spec.Template.Spec.TopologySpreadConstraints = spec.TopologySpreadConstraints
volumes := spec.ExtraVolumes
volumeMounts := spec.ExtraVolumeMounts
env := spec.ExtraEnv
diff --git a/pkg/operator/vtorc/deployment.go b/pkg/operator/vtorc/deployment.go
index 01332817..3e38deb1 100644
--- a/pkg/operator/vtorc/deployment.go
+++ b/pkg/operator/vtorc/deployment.go
@@ -51,26 +51,27 @@ func DeploymentName(clusterName, keyspace string, shardKeyRange planetscalev2.Vi
// Spec specifies all the internal parameters needed to deploy VTOrc,
// as opposed to the API type planetscalev2.VitessDashboardSpec, which is the public API.
type Spec struct {
- GlobalLockserver planetscalev2.VitessLockserverParams
- Keyspace string
- Shard string
- Cell string
- Zone string
- Image string
- ImagePullPolicy corev1.PullPolicy
- ImagePullSecrets []corev1.LocalObjectReference
- Labels map[string]string
- Resources corev1.ResourceRequirements
- Affinity *corev1.Affinity
- ExtraFlags map[string]string
- ExtraEnv []corev1.EnvVar
- ExtraVolumes []corev1.Volume
- ExtraVolumeMounts []corev1.VolumeMount
- InitContainers []corev1.Container
- SidecarContainers []corev1.Container
- Annotations map[string]string
- ExtraLabels map[string]string
- Tolerations []corev1.Toleration
+ GlobalLockserver planetscalev2.VitessLockserverParams
+ Keyspace string
+ Shard string
+ Cell string
+ Zone string
+ Image string
+ ImagePullPolicy corev1.PullPolicy
+ ImagePullSecrets []corev1.LocalObjectReference
+ Labels map[string]string
+ Resources corev1.ResourceRequirements
+ Affinity *corev1.Affinity
+ ExtraFlags map[string]string
+ ExtraEnv []corev1.EnvVar
+ ExtraVolumes []corev1.Volume
+ ExtraVolumeMounts []corev1.VolumeMount
+ InitContainers []corev1.Container
+ SidecarContainers []corev1.Container
+ Annotations map[string]string
+ ExtraLabels map[string]string
+ Tolerations []corev1.Toleration
+ TopologySpreadConstraints []corev1.TopologySpreadConstraint
}
// NewDeployment creates a new Deployment object for vtorc.
@@ -136,6 +137,7 @@ func UpdateDeployment(obj *appsv1.Deployment, spec *Spec) {
obj.Spec.Template.Spec.PriorityClassName = planetscalev2.DefaultVitessPriorityClass
obj.Spec.Template.Spec.ServiceAccountName = planetscalev2.DefaultVitessServiceAccount
obj.Spec.Template.Spec.Tolerations = spec.Tolerations
+ obj.Spec.Template.Spec.TopologySpreadConstraints = spec.TopologySpreadConstraints
update.Volumes(&obj.Spec.Template.Spec.Volumes, spec.ExtraVolumes)
securityContext := &corev1.SecurityContext{}
diff --git a/pkg/operator/vttablet/vtbackup_pod.go b/pkg/operator/vttablet/vtbackup_pod.go
index 813257f9..e3f17132 100644
--- a/pkg/operator/vttablet/vtbackup_pod.go
+++ b/pkg/operator/vttablet/vtbackup_pod.go
@@ -143,12 +143,13 @@ func NewBackupPod(key client.ObjectKey, backupSpec *BackupSpec, mysqldImage stri
Annotations: tabletAnnotations.Get(tabletSpec),
},
Spec: corev1.PodSpec{
- ImagePullSecrets: tabletSpec.ImagePullSecrets,
- RestartPolicy: corev1.RestartPolicyOnFailure,
- Volumes: tabletVolumes.Get(tabletSpec),
- SecurityContext: podSecurityContext,
- Affinity: tabletSpec.Affinity,
- Tolerations: tabletSpec.Tolerations,
+ ImagePullSecrets: tabletSpec.ImagePullSecrets,
+ RestartPolicy: corev1.RestartPolicyOnFailure,
+ Volumes: tabletVolumes.Get(tabletSpec),
+ SecurityContext: podSecurityContext,
+ Affinity: tabletSpec.Affinity,
+ Tolerations: tabletSpec.Tolerations,
+ TopologySpreadConstraints: tabletSpec.TopologySpreadConstraints,
InitContainers: []corev1.Container{
{
Name: "init-vt-root",
diff --git a/test/endtoend/operator/operator-latest.yaml b/test/endtoend/operator/operator-latest.yaml
index e7e3d6b9..baa437b1 100644
--- a/test/endtoend/operator/operator-latest.yaml
+++ b/test/endtoend/operator/operator-latest.yaml
@@ -11,319 +11,321 @@ 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
+ pattern: ^(\+|-)?(([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
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- tolerations:
- x-kubernetes-preserve-unknown-fields: true
- zone:
- type: string
- type: object
- status:
- properties:
- available:
+ type: array
+ extraFlags:
+ additionalProperties:
type: string
- clientServiceName:
+ type: object
+ extraLabels:
+ additionalProperties:
type: string
- observedGeneration:
- format: int64
- type: integer
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
+ 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
+ topologySpreadConstraints:
+ 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
@@ -338,44 +340,44 @@ spec:
listKind: VitessBackupList
plural: vitessbackups
shortNames:
- - vtb
+ - 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
+ - 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
@@ -392,162 +394,162 @@ spec:
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:
- additionalProperties:
- type: string
- type: object
- cluster:
- type: string
- concurrencyPolicy:
- enum:
- - Allow
- - Forbid
- example: Forbid
- type: string
- failedJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- image:
- type: string
- imagePullPolicy:
+ - 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
- 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: object
+ cluster:
+ type: string
+ concurrencyPolicy:
+ enum:
+ - Allow
+ - Forbid
+ example: Forbid
+ type: string
+ failedJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ 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
- type: object
- keyspace:
- example: commerce
- type: string
- name:
- enum:
- - BackupShard
- type: string
- shard:
- example: '-'
- type: string
- required:
- - keyspace
+ request:
+ type: string
+ required:
- name
- - shard
+ 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
- minItems: 1
- type: array
- successfulJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- suspend:
- type: boolean
- required:
- - cluster
- - name
- - resources
- - schedule
- - 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
+ 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
- x-kubernetes-map-type: atomic
- type: array
- lastScheduledTime:
- format: date-time
- type: string
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
+ 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:
+ enum:
+ - BackupShard
+ type: string
+ shard:
+ example: '-'
+ type: string
+ required:
+ - keyspace
+ - name
+ - shard
+ type: object
+ minItems: 1
+ type: array
+ successfulJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ suspend:
+ type: boolean
+ required:
+ - cluster
+ - name
+ - resources
+ - schedule
+ - 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
+ lastScheduledTime:
+ format: date-time
+ type: string
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
@@ -562,157 +564,157 @@ spec:
listKind: VitessBackupStorageList
plural: vitessbackupstorages
shortNames:
- - vtbs
+ - vtbs
singular: vitessbackupstorage
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
- region:
- minLength: 1
- type: string
- required:
- - bucket
- - region
- type: object
- volume:
- x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ location:
+ properties:
+ annotations:
+ additionalProperties:
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: {}
+ 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
+ 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
@@ -727,5074 +729,4636 @@ spec:
listKind: VitessCellList
plural: vitesscells
shortNames:
- - vtc
+ - 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:
+ - 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
+ 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:
- secret:
+ 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:
- - key
+ - container
+ - name
+ - target
type: object
- type: object
- type: object
- autoscaler:
- properties:
- behavior:
- properties:
- scaleDown:
+ external:
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
+ 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
- scaleUp:
+ object:
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
+ describedObject:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ required:
+ - kind
- name
- - target
- type: object
- external:
- properties:
- metric:
- properties:
- name:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
+ type: object
+ metric:
+ properties:
+ name:
+ type: string
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
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: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
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: 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
- 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: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
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:
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ 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: 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
- 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
+ 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:
- - seconds
+ - metric
+ - target
type: object
- tcpSocket:
+ resource:
properties:
- host:
+ name:
type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
+ 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:
- - port
+ - name
+ - target
type: object
+ type:
+ type: string
+ required:
+ - type
type: object
- preStop:
+ 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:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- x-kubernetes-list-type: atomic
- type: object
- httpGet:
+ configMapKeyRef:
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:
+ key:
type: string
- required:
- - port
- type: object
- sleep:
- properties:
- seconds:
- format: int64
- type: integer
- required:
- - seconds
- type: object
- tcpSocket:
- properties:
- host:
+ name:
+ default: ""
type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
+ optional:
+ type: boolean
required:
- - port
+ - key
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:
+ x-kubernetes-map-type: atomic
+ fieldRef:
properties:
- key:
- type: string
- name:
+ apiVersion:
type: string
- volumeName:
+ fieldPath:
type: string
required:
- - key
+ - fieldPath
type: object
- clientCACertSecret:
+ x-kubernetes-map-type: atomic
+ resourceFieldRef:
properties:
- key:
+ containerName:
type: string
- name:
- type: string
- volumeName:
+ 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:
- - key
+ - resource
type: object
- keySecret:
+ x-kubernetes-map-type: atomic
+ secretKeyRef:
properties:
key:
type: string
name:
+ default: ""
type: string
- volumeName:
- type: string
+ optional:
+ type: boolean
required:
- - key
+ - key
type: object
+ x-kubernetes-map-type: atomic
type: object
+ required:
+ - name
type: object
- service:
- properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
- type: string
- type: object
- sidecarContainers:
- x-kubernetes-preserve-unknown-fields: true
- 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: array
+ extraFlags:
+ additionalProperties:
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:
+ extraLabels:
+ additionalProperties:
type: string
- type: object
- lockserver:
- properties:
- cellInfoAddress:
- type: string
- etcd:
+ type: object
+ extraVolumeMounts:
+ items:
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:
+ mountPath:
+ type: string
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
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:
+ 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
- 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:
+ type: array
+ x-kubernetes-list-type: atomic
+ type: object
+ httpGet:
properties:
- name:
+ host:
type: string
- value:
+ 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
- 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
+ - port
type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
- type: string
- type: object
- extraVolumeMounts:
- items:
+ sleep:
properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
+ tcpSocket:
+ properties:
+ host:
type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
+ 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
- subPath:
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ path:
type: string
- subPathExpr:
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
type: string
required:
- - mountPath
- - name
+ - port
type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
+ sleep:
properties:
- name:
- default: ""
+ 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
- x-kubernetes-map-type: atomic
- type: array
- initContainers:
- x-kubernetes-preserve-unknown-fields: true
- localMemberIndex:
- format: int32
- maximum: 3
- minimum: 1
- type: integer
- peerService:
+ type: object
+ type: object
+ replicas:
+ format: int32
+ minimum: 0
+ type: integer
+ resources:
+ properties:
+ claims:
+ items:
properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- clusterIP:
+ name:
type: string
+ request:
+ type: string
+ required:
+ - name
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: 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
- 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.16.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
- locations:
- items:
+ secureTransport:
+ properties:
+ required:
+ type: boolean
+ tls:
properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- azblob:
+ certSecret:
properties:
- account:
- minLength: 1
+ key:
type: string
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- container:
- minLength: 1
+ name:
type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
+ volumeName:
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
+ - key
type: object
- gcs:
+ clientCACertSecret:
properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
+ key:
+ type: string
+ name:
type: string
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
+ volumeName:
type: string
required:
- - bucket
+ - key
type: object
- name:
- maxLength: 63
- pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
- type: string
- s3:
+ keySecret:
properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
- type: object
- bucket:
- minLength: 1
- type: string
- endpoint:
+ key:
type: string
- forcePathStyle:
- type: boolean
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
+ name:
type: string
- region:
- minLength: 1
+ volumeName:
type: string
required:
- - bucket
- - region
+ - key
type: object
- volume:
- x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
- type: string
type: object
- minItems: 1
- type: array
- schedules:
- items:
+ type: object
+ service:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
+ type: string
+ type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ 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:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- allowedMissedRun:
- minimum: 0
- type: integer
annotations:
additionalProperties:
type: string
type: object
- concurrencyPolicy:
- enum:
- - Allow
- - Forbid
- example: Forbid
+ clusterIP:
type: string
- failedJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- 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:
+ 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:
- 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:
+ 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
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([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
+ 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
- startingDeadlineSeconds:
- format: int64
- minimum: 0
- type: integer
- strategies:
- items:
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ extraEnv:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
properties:
- extraFlags:
- additionalProperties:
- type: string
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
type: object
- keyspace:
- example: commerce
- type: string
- name:
- enum:
- - BackupShard
- type: string
- shard:
- example: '-'
- type: string
- required:
- - keyspace
- - name
- - shard
+ 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
- minItems: 1
- type: array
- successfulJobsHistoryLimit:
- format: int32
- minimum: 0
- type: integer
- suspend:
- type: boolean
- required:
+ required:
- name
- - resources
- - schedule
- - strategies
+ type: object
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
type: object
- type: array
- subcontroller:
- properties:
- serviceAccountName:
+ extraLabels:
+ additionalProperties:
type: string
- type: object
- required:
- - locations
- type: object
- cells:
- items:
- properties:
- gateway:
+ 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:
- 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
+ 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
- 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
- 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
- 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
- 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
+ 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
- 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
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ x-kubernetes-preserve-unknown-fields: true
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:
+ external:
properties:
- annotations:
- additionalProperties:
- type: string
- type: object
- databaseName:
+ address:
type: string
- durabilityPolicy:
+ implementation:
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])?$
+ rootPath:
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
- 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:
- 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
- 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
- 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:
+ - 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.16.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
+ 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:
- - shards
+ - key
+ type: object
+ bucket:
+ minLength: 1
+ type: string
+ endpoint:
+ type: string
+ forcePathStyle:
+ type: boolean
+ keyPrefix:
+ maxLength: 256
+ pattern: ^[^\r\n]*$
+ type: string
+ 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:
+ enum:
+ - Allow
+ - Forbid
+ example: Forbid
+ type: string
+ failedJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ 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
- equal:
+ 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:
+ enum:
+ - BackupShard
+ type: string
+ shard:
+ example: '-'
+ type: string
+ required:
+ - keyspace
+ - name
+ - shard
+ type: object
+ minItems: 1
+ type: array
+ successfulJobsHistoryLimit:
+ format: int32
+ minimum: 0
+ type: integer
+ suspend:
+ type: boolean
+ required:
+ - name
+ - resources
+ - schedule
+ - 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:
- parts:
- format: int32
- maximum: 65536
- minimum: 1
- type: integer
- shardTemplate:
+ secret:
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:
+ 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:
- affinity:
- x-kubernetes-preserve-unknown-fields: true
- annotations:
- additionalProperties:
- type: string
- type: object
- backupLocationName:
+ 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
- cell:
- maxLength: 63
- minLength: 1
- pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
+ 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
- dataVolumeClaimTemplate:
+ selector:
properties:
- accessModes:
+ matchExpressions:
items:
- type: string
+ 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
- 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
+ matchLabels:
+ additionalProperties:
+ type: string
type: object
- x-kubernetes-map-type: atomic
- storageClassName:
- type: string
- volumeAttributesClassName:
- type: string
- volumeMode:
- type: string
- volumeName:
- type: string
type: object
- externalDatastore:
+ 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:
- 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
- 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
+ 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
- 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: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
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:
+ 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:
- 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
+ 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
- required:
- - resources
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:
- 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
+ value:
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
- required:
- - resources
- type: object
required:
- - cell
- - replicas
- - type
- - vttablet
+ - name
+ - value
type: object
type: array
- x-kubernetes-list-map-keys:
- - type
- - cell
+ 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
- x-kubernetes-list-type: map
+ - 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:
- - databaseInitScriptSecret
+ - key
type: object
- required:
- - parts
type: object
type: object
- maxItems: 2
- minItems: 1
- type: array
- 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
- 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
+ service:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
type: object
- type: array
- extraFlags:
- additionalProperties:
- type: string
- type: object
- extraLabels:
- additionalProperties:
+ clusterIP:
type: string
- type: object
- extraVolumeMounts:
- items:
+ type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ 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:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
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:
+ createClientService:
+ type: boolean
+ createPDB:
+ type: boolean
+ createPeerService:
+ type: boolean
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
properties:
- name:
+ apiGroup:
+ type: string
+ kind:
type: string
- request:
+ name:
type: string
required:
- - name
+ - kind
+ - name
type: object
- type: array
- x-kubernetes-list-map-keys:
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
+ name:
+ type: string
+ namespace:
+ type: string
+ required:
+ - kind
- 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: 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
- 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:
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ extraEnv:
+ items:
properties:
- apiVersion:
+ name:
type: string
- fieldPath:
+ 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:
- - fieldPath
+ - name
type: object
- x-kubernetes-map-type: atomic
- resourceFieldRef:
+ type: array
+ extraFlags:
+ additionalProperties:
+ type: string
+ type: object
+ extraLabels:
+ additionalProperties:
+ type: string
+ type: object
+ extraVolumeMounts:
+ items:
properties:
- containerName:
+ mountPath:
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:
+ mountPropagation:
+ type: string
+ name:
+ type: string
+ readOnly:
+ type: boolean
+ recursiveReadOnly:
+ type: string
+ subPath:
+ type: string
+ subPathExpr:
type: string
required:
- - resource
+ - mountPath
+ - name
type: object
- x-kubernetes-map-type: atomic
- secretKeyRef:
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ image:
+ type: string
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
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: 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
+ topologySpreadConstraints:
+ 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
- extraVolumeMounts:
- items:
+ 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:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
- type: string
- subPath:
- type: string
- subPathExpr:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
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:
+ createClientService:
+ type: boolean
+ createPDB:
+ type: boolean
+ createPeerService:
+ type: boolean
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
properties:
- name:
+ apiGroup:
+ type: string
+ kind:
type: string
- request:
+ name:
type: string
required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
+ - kind
- 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:
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
name:
type: string
- request:
+ namespace:
type: string
required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
+ - kind
- 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:
+ type: object
+ resources:
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
+ 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
- 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
+ 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
- x-kubernetes-map-type: atomic
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- default: ""
- type: string
- optional:
- type: boolean
- required:
+ 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
- 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:
+ x-kubernetes-map-type: atomic
+ storageClassName:
type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
+ volumeAttributesClassName:
type: string
- subPath:
+ volumeMode:
type: string
- subPathExpr:
+ volumeName:
type: string
- required:
- - mountPath
- - name
type: object
- type: array
- extraVolumes:
- x-kubernetes-preserve-unknown-fields: true
- 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
- 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
+ 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: 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: array
+ extraFlags:
+ additionalProperties:
type: string
- clientServiceName:
+ type: object
+ extraLabels:
+ additionalProperties:
type: string
- observedGeneration:
- format: int64
- type: integer
- type: object
- type: object
- keyspaces:
- additionalProperties:
- properties:
- cells:
+ type: object
+ extraVolumeMounts:
items:
- type: string
+ 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
- desiredShards:
- format: int32
- type: integer
- desiredTablets:
- format: int32
- type: integer
- pendingChanges:
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ image:
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:
+ 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
- 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.16.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:
+ peerService:
properties:
- account:
- minLength: 1
- type: string
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- required:
- - key
+ annotations:
+ additionalProperties:
+ type: string
type: object
- container:
- minLength: 1
+ clusterIP:
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:
+ resources:
properties:
- authSecret:
- properties:
- key:
- type: string
- name:
- type: string
- volumeName:
- type: string
- 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
- 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
+ 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
- bucket:
- minLength: 1
- type: string
- endpoint:
- type: string
- forcePathStyle:
- type: boolean
- keyPrefix:
- maxLength: 256
- pattern: ^[^\r\n]*$
- type: string
- region:
- minLength: 1
- type: string
- required:
- - bucket
- - region
type: object
- volume:
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
x-kubernetes-preserve-unknown-fields: true
- volumeSubPath:
+ topologySpreadConstraints:
+ 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: array
- databaseName:
- type: string
- durabilityPolicy:
- type: string
- extraVitessFlags:
- additionalProperties:
+ type: object
+ imagePullPolicies:
+ properties:
+ mysqld:
type: string
- type: object
- globalLockserver:
+ 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:
- address:
- type: string
- implementation:
- type: string
- rootPath:
+ name:
+ default: ""
type: string
- required:
- - address
- - implementation
- - rootPath
type: object
- imagePullPolicies:
+ 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:
- mysqld:
- type: string
- mysqldExporter:
- type: string
- vtadmin:
- type: string
- vtbackup:
- type: string
- vtctld:
- type: string
- vtgate:
- type: string
- vtorc:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ databaseName:
type: string
- vttablet:
+ durabilityPolicy:
type: string
- type: object
- imagePullSecrets:
- items:
- properties:
- name:
- default: ""
- type: string
- type: object
- x-kubernetes-map-type: atomic
- type: array
- images:
- properties:
- mysqld:
+ images:
properties:
- mariadb103Compatible:
+ mysqld:
+ properties:
+ mysql56Compatible:
+ type: string
+ mysql80Compatible:
+ type: string
+ type: object
+ mysqldExporter:
type: string
- mariadbCompatible:
+ vtbackup:
type: string
- mysql56Compatible:
+ vtorc:
type: string
- mysql80Compatible:
+ vttablet:
type: string
type: object
- mysqldExporter:
- type: string
- vtbackup:
- type: string
- vtorc:
- type: string
- vttablet:
+ name:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([A-Za-z0-9-_.]*[A-Za-z0-9])?$
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:
+ partitionings:
+ items:
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:
+ custom:
+ properties:
+ shards:
+ items:
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])?$
+ annotations:
+ additionalProperties:
type: string
- dataVolumeClaimTemplate:
+ 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:
- accessModes:
+ 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
+ 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
- x-kubernetes-list-type: atomic
- dataSource:
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ mysqld:
properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
+ 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:
- - kind
- - name
+ - resources
type: object
- x-kubernetes-map-type: atomic
- dataSourceRef:
+ mysqldExporter:
properties:
- apiGroup:
- type: string
- kind:
- type: string
- name:
- type: string
- namespace:
- 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
+ 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
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:
+ 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
- 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
+ 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:
+ 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:
+ 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:
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- request:
- type: string
- required:
+ type: object
+ mysqldExporter:
+ properties:
+ 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
- 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:
+ 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:
+ 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:
+ pattern: ^(\+|-)?(([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
+ 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
+ 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
+ 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
+ topologySpreadConstraints:
+ 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:
- - 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
+ 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
+ topologySpreadConstraints:
+ 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:
+ - 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
+ 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:
- 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
+ topologySpreadConstraints:
+ 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.16.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
+ 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:
@@ -5809,7 +5373,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:
@@ -5852,8 +5425,8 @@ spec:
name:
type: string
required:
- - kind
- - name
+ - kind
+ - name
type: object
x-kubernetes-map-type: atomic
dataSourceRef:
@@ -5867,24 +5440,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
+ anyOf:
+ - type: integer
+ - type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
@@ -5904,8 +5477,8 @@ spec:
type: array
x-kubernetes-list-type: atomic
required:
- - key
- - operator
+ - key
+ - operator
type: object
type: array
x-kubernetes-list-type: atomic
@@ -5935,7 +5508,7 @@ spec:
volumeName:
type: string
required:
- - key
+ - key
type: object
database:
type: string
@@ -5955,16 +5528,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:
@@ -5985,7 +5558,7 @@ spec:
optional:
type: boolean
required:
- - key
+ - key
type: object
x-kubernetes-map-type: atomic
fieldRef:
@@ -5995,7 +5568,7 @@ spec:
fieldPath:
type: string
required:
- - fieldPath
+ - fieldPath
type: object
x-kubernetes-map-type: atomic
resourceFieldRef:
@@ -6004,14 +5577,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:
@@ -6024,12 +5597,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:
@@ -6054,8 +5627,8 @@ spec:
subPathExpr:
type: string
required:
- - mountPath
- - name
+ - mountPath
+ - name
type: object
type: array
extraVolumes:
@@ -6076,31 +5649,31 @@ 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:
@@ -6114,450 +5687,893 @@ spec:
request:
type: string
required:
- - name
+ - 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
+ 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
+ - type: integer
+ - type: string
+ pattern: ^(\+|-)?(([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
- requests:
- additionalProperties:
- anyOf:
+ 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
+ required:
+ - databaseInitScriptSecret
+ - keyRange
+ type: object
+ type: array
+ required:
+ - shards
+ type: object
+ equal:
+ properties:
+ 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:
+ 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
+ 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:
- - resources
+ - 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
- 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:
- - parts
- type: object
- type: object
- maxItems: 2
- minItems: 1
- type: array
- 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
- 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
+ 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:
+ 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
name:
default: ""
type: string
- optional:
- type: boolean
+ 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
+ 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
+ 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
+ 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:
+ 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
- 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:
+ type: array
+ extraVolumes:
+ x-kubernetes-preserve-unknown-fields: true
+ initContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ resources:
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
+ 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
- idle:
- type: string
- observedGeneration:
- format: int64
- type: integer
- orphanedShards:
- additionalProperties:
+ service:
properties:
- message:
- type: string
- reason:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
type: string
- required:
- - message
- - reason
type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ 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: 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:
- type: string
- type: array
- tablets:
- format: int32
- type: integer
- updatedTablets:
- format: int32
- type: integer
- type: object
- type: array
- resharding:
+ type: array
+ idle:
+ type: string
+ observedGeneration:
+ format: int64
+ type: integer
+ orphanedShards:
+ additionalProperties:
properties:
- copyProgress:
+ message:
+ type: string
+ reason:
+ type: string
+ required:
+ - message
+ - reason
+ type: object
+ type: object
+ partitionings:
+ items:
+ properties:
+ desiredShards:
+ format: int32
+ type: integer
+ desiredTablets:
+ format: int32
type: integer
- sourceShards:
+ readyShards:
+ format: int32
+ type: integer
+ readyTablets:
+ format: int32
+ type: integer
+ servingWrites:
+ type: string
+ shardNames:
items:
type: string
type: array
- state:
+ 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
- targetShards:
+ type: array
+ workflow:
+ type: string
+ required:
+ - state
+ - workflow
+ type: object
+ shards:
+ additionalProperties:
+ properties:
+ cells:
items:
type: string
type: array
- workflow:
+ desiredTablets:
+ format: int32
+ type: integer
+ hasMaster:
type: string
- required:
- - state
- - workflow
- type: object
- shards:
- additionalProperties:
- properties:
- cells:
- items:
- type: string
- 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
- type: object
+ pendingChanges:
+ type: string
+ readyTablets:
+ format: int32
+ type: integer
+ servingWrites:
+ type: string
+ tablets:
+ format: int32
+ type: integer
+ updatedTablets:
+ format: int32
+ type: integer
type: object
- type: object
- type: object
- served: true
- storage: true
- subresources:
- status: {}
+ type: object
+ type: object
+ type: object
+ served: true
+ storage: true
+ subresources:
+ status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
@@ -6572,684 +6588,388 @@ spec:
listKind: VitessShardList
plural: vitessshards
shortNames:
- - vts
+ - 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:
+ - name: v2
+ schema:
+ openAPIV3Schema:
+ properties:
+ apiVersion:
+ type: string
+ kind:
+ type: string
+ metadata:
+ type: object
+ spec:
+ properties:
+ annotations:
+ additionalProperties:
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
- 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:
+ type: object
+ backupEngine:
+ type: string
+ backupLocations:
+ items:
properties:
- key:
- type: string
+ 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
- volumeName:
+ 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
+ region:
+ minLength: 1
+ type: string
+ required:
+ - bucket
+ - region
+ type: object
+ volume:
+ x-kubernetes-preserve-unknown-fields: true
+ volumeSubPath:
type: string
- required:
- - key
type: object
- databaseName:
+ type: array
+ databaseInitScriptSecret:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ volumeName:
+ type: string
+ required:
+ - key
+ type: object
+ databaseName:
+ type: string
+ extraVitessFlags:
+ additionalProperties:
type: string
- extraVitessFlags:
- additionalProperties:
+ type: object
+ globalLockserver:
+ properties:
+ address:
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:
+ 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
- imagePullSecrets:
- items:
+ x-kubernetes-map-type: atomic
+ type: array
+ images:
+ properties:
+ mysqld:
properties:
- name:
- default: ""
+ mariadb103Compatible:
+ type: string
+ mariadbCompatible:
+ type: string
+ mysql56Compatible:
+ type: string
+ mysql80Compatible:
type: string
type: object
- x-kubernetes-map-type: atomic
- type: array
- images:
+ 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:
- mysqld:
- properties:
- mariadb103Compatible:
- type: string
- mariadbCompatible:
- type: string
- mysql56Compatible:
- type: string
- mysql80Compatible:
- type: string
+ affinity:
+ x-kubernetes-preserve-unknown-fields: true
+ annotations:
+ additionalProperties:
+ 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])*$
+ backupLocationName:
type: string
- start:
- pattern: ^([0-9a-f][0-9a-f])*$
+ cell:
+ maxLength: 63
+ minLength: 1
+ pattern: ^[A-Za-z0-9]([_.A-Za-z0-9]*[A-Za-z0-9])?$
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:
- 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:
+ dataVolumeClaimTemplate:
+ properties:
+ accessModes:
+ items:
type: string
- required:
- - credentialsSecret
- - database
- - host
- - port
- - user
- type: object
- extraEnv:
- items:
+ type: array
+ x-kubernetes-list-type: atomic
+ dataSource:
properties:
+ apiGroup:
+ type: string
+ kind:
+ type: string
name:
type: string
- value:
+ required:
+ - kind
+ - name
+ type: object
+ x-kubernetes-map-type: atomic
+ dataSourceRef:
+ properties:
+ apiGroup:
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: ""
+ 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
- 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
+ storageClassName:
type: string
- type: object
- extraVolumeMounts:
- items:
+ volumeAttributesClassName:
+ type: string
+ volumeMode:
+ type: string
+ volumeName:
+ type: string
+ type: object
+ externalDatastore:
+ properties:
+ credentialsSecret:
properties:
- mountPath:
- type: string
- mountPropagation:
+ key:
type: string
name:
type: string
- readOnly:
- type: boolean
- recursiveReadOnly:
+ volumeName:
type: string
- subPath:
+ required:
+ - key
+ type: object
+ database:
+ type: string
+ host:
+ type: string
+ port:
+ format: int32
+ maximum: 65535
+ minimum: 1
+ type: integer
+ serverCACertSecret:
+ properties:
+ key:
type: string
- subPathExpr:
+ name:
+ type: string
+ volumeName:
type: string
required:
- - mountPath
- - name
+ - key
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:
- 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
- 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
- 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
+ user:
+ type: string
+ required:
+ - credentialsSecret
+ - database
+ - host
+ - port
+ - user
type: object
extraEnv:
items:
@@ -7270,7 +6990,7 @@ spec:
optional:
type: boolean
required:
- - key
+ - key
type: object
x-kubernetes-map-type: atomic
fieldRef:
@@ -7280,7 +7000,7 @@ spec:
fieldPath:
type: string
required:
- - fieldPath
+ - fieldPath
type: object
x-kubernetes-map-type: atomic
resourceFieldRef:
@@ -7289,14 +7009,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:
@@ -7309,18 +7029,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
@@ -7343,181 +7059,483 @@ 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:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- pattern: ^(\+|-)?(([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
+ 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
- service:
+ mysqldExporter:
properties:
- annotations:
- additionalProperties:
- 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
- clusterIP:
- type: string
+ required:
+ - resources
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
+ required:
+ - resources
+ type: object
+ required:
+ - cell
+ - replicas
+ - type
+ - vttablet
type: object
- zoneMap:
- additionalProperties:
- type: string
- type: object
- required:
- - databaseInitScriptSecret
- - globalLockserver
- - images
- - keyRange
+ type: array
+ x-kubernetes-list-map-keys:
+ - type
+ - cell
- name
- - zoneMap
- type: object
- status:
- properties:
- backupLocations:
- items:
+ 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:
- completeBackups:
- format: int32
- type: integer
- incompleteBackups:
- format: int32
- type: integer
- latestCompleteBackupTime:
- format: date-time
- type: string
- name:
- type: string
- required:
- - completeBackups
- - incompleteBackups
+ allowResourceChanges:
+ items:
+ type: string
+ type: array
type: object
- type: array
- cells:
- items:
+ type:
+ enum:
+ - External
+ - Immediate
type: string
- type: array
- conditions:
- additionalProperties:
+ 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
+ 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:
- lastTransitionTime:
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- required:
- - status
+ 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
- hasInitialBackup:
- type: string
- hasMaster:
- type: string
- idle:
- type: string
- lowestPodGeneration:
- format: int64
- type: integer
- masterAlias:
- type: string
- observedGeneration:
- format: int64
- type: integer
- orphanedTablets:
- additionalProperties:
+ service:
properties:
- message:
- type: string
- reason:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ clusterIP:
type: string
- required:
- - message
- - reason
type: object
+ sidecarContainers:
+ x-kubernetes-preserve-unknown-fields: true
+ tolerations:
+ x-kubernetes-preserve-unknown-fields: true
+ topologySpreadConstraints:
+ 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:
+ 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
- vitessOrchestrator:
+ 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
+ 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
@@ -7529,88 +7547,88 @@ kind: Role
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
@@ -7621,8 +7639,8 @@ roleRef:
kind: Role
name: vitess-operator
subjects:
- - kind: ServiceAccount
- name: vitess-operator
+- kind: ServiceAccount
+ name: vitess-operator
---
apiVersion: scheduling.k8s.io/v1
description: Vitess components (vttablet, vtgate, vtctld, etcd)
@@ -7655,38 +7673,37 @@ spec:
app: vitess-operator
spec:
containers:
- - args:
- - --logtostderr
- - -v=4
- command:
- - vitess-operator
- env:
- - name: WATCH_NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- - 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
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ - 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: planetscale/vitess-operator:latest
+ name: vitess-operator
+ resources:
+ limits:
+ memory: 128Mi
+ requests:
+ cpu: 100m
+ memory: 128Mi
priorityClassName: vitess-operator-control-plane
serviceAccountName: vitess-operator