Skip to content

Instantly share code, notes, and snippets.

@lstellway
Created February 4, 2022 21:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lstellway/be6b7145032a0cb6dfad2996cbd9e62a to your computer and use it in GitHub Desktop.
Save lstellway/be6b7145032a0cb6dfad2996cbd9e62a to your computer and use it in GitHub Desktop.
PlanetScale.com - Vitess Operator for Kubernetes `v1.21.1`
# Version: 20200918: 25ca1bc881f433d2a42c3b5f59da416f4ef6dc44
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: etcdlockservers.planetscale.com
spec:
group: planetscale.com
names:
kind: EtcdLockserver
listKind: EtcdLockserverList
plural: etcdlockservers
shortNames:
- etcdls
singular: etcdlockserver
scope: Namespaced
versions:
- name: v2
served: true
storage: true
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:
type: object
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
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
extraEnv:
items:
properties:
name:
type: string
value:
type: string
valueFrom:
properties:
configMapKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
image:
type: string
imagePullPolicy:
type: string
imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
localMemberIndex:
format: int32
maximum: 3
minimum: 1
type: integer
peerService:
properties:
annotations:
additionalProperties:
type: string
type: object
clusterIP:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
zone:
type: string
type: object
status:
properties:
available:
type: string
clientServiceName:
type: string
observedGeneration:
format: int64
type: integer
type: object
type: object
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: vitessbackups.planetscale.com
spec:
group: planetscale.com
names:
kind: VitessBackup
listKind: VitessBackupList
plural: vitessbackups
shortNames:
- vtb
singular: vitessbackup
scope: Namespaced
versions:
- name: v2
served: true
storage: true
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
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: vitessbackupstorages.planetscale.com
spec:
group: planetscale.com
names:
kind: VitessBackupStorage
listKind: VitessBackupStorageList
plural: vitessbackupstorages
shortNames:
- vtbs
singular: vitessbackupstorage
scope: Namespaced
versions:
- name: v2
served: true
storage: true
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
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: 25
pattern: ^[a-z0-9]([a-z0-9]*[a-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
keyPrefix:
maxLength: 256
pattern: ^[^\r\n]*$
type: string
region:
minLength: 1
type: string
required:
- bucket
- region
type: object
volume:
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
required:
- location
type: object
status:
properties:
observedGeneration:
format: int64
type: integer
totalBackupCount:
format: int32
type: integer
type: object
type: object
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: vitesscells.planetscale.com
spec:
group: planetscale.com
names:
kind: VitessCell
listKind: VitessCellList
plural: vitesscells
shortNames:
- vtc
singular: vitesscell
scope: Namespaced
versions:
- name: v2
served: true
storage: true
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:
type: object
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
extraEnv:
items:
properties:
name:
type: string
value:
type: string
valueFrom:
properties:
configMapKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
replicas:
format: int32
minimum: 0
type: integer
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
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:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
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
vtbackup:
type: string
vtctld:
type: string
vtgate:
type: string
vttablet:
type: string
type: object
imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
images:
properties:
vtgate:
type: string
type: object
lockserver:
properties:
etcd:
properties:
advertisePeerURLs:
items:
type: string
maxItems: 3
minItems: 3
type: array
affinity:
type: object
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
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
extraEnv:
items:
properties:
name:
type: string
value:
type: string
valueFrom:
properties:
configMapKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
image:
type: string
imagePullPolicy:
type: string
imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
localMemberIndex:
format: int32
maximum: 3
minimum: 1
type: integer
peerService:
properties:
annotations:
additionalProperties:
type: string
type: object
clusterIP:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type: object
external:
properties:
address:
type: string
implementation:
type: string
rootPath:
type: string
required:
- address
- implementation
- rootPath
type: object
type: object
name:
maxLength: 25
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-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
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
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: vitessclusters.planetscale.com
spec:
group: planetscale.com
names:
kind: VitessCluster
listKind: VitessClusterList
plural: vitessclusters
shortNames:
- vt
singular: vitesscluster
scope: Namespaced
versions:
- name: v2
served: true
storage: true
schema:
openAPIV3Schema:
properties:
apiVersion:
type: string
kind:
type: string
metadata:
type: object
spec:
properties:
backup:
properties:
engine:
enum:
- builtin
- xtrabackup
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
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: 25
pattern: ^[a-z0-9]([a-z0-9]*[a-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
keyPrefix:
maxLength: 256
pattern: ^[^\r\n]*$
type: string
region:
minLength: 1
type: string
required:
- bucket
- region
type: object
volume:
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
minItems: 1
type: array
required:
- locations
type: object
cells:
items:
properties:
gateway:
properties:
affinity:
type: object
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
extraEnv:
items:
properties:
name:
type: string
value:
type: string
valueFrom:
properties:
configMapKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
replicas:
format: int32
minimum: 0
type: integer
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
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:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type: object
lockserver:
properties:
etcd:
properties:
advertisePeerURLs:
items:
type: string
maxItems: 3
minItems: 3
type: array
affinity:
type: object
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
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
extraEnv:
items:
properties:
name:
type: string
value:
type: string
valueFrom:
properties:
configMapKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
image:
type: string
imagePullPolicy:
type: string
imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
localMemberIndex:
format: int32
maximum: 3
minimum: 1
type: integer
peerService:
properties:
annotations:
additionalProperties:
type: string
type: object
clusterIP:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type: object
external:
properties:
address:
type: string
implementation:
type: string
rootPath:
type: string
required:
- address
- implementation
- rootPath
type: object
type: object
name:
maxLength: 25
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-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:
etcd:
properties:
advertisePeerURLs:
items:
type: string
maxItems: 3
minItems: 3
type: array
affinity:
type: object
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
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
extraEnv:
items:
properties:
name:
type: string
value:
type: string
valueFrom:
properties:
configMapKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
image:
type: string
imagePullPolicy:
type: string
imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
localMemberIndex:
format: int32
maximum: 3
minimum: 1
type: integer
peerService:
properties:
annotations:
additionalProperties:
type: string
type: object
clusterIP:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
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
vtbackup:
type: string
vtctld:
type: string
vtgate:
type: string
vttablet:
type: string
type: object
imagePullSecrets:
items:
properties:
name:
type: string
type: object
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
vtctld:
type: string
vtgate:
type: string
vttablet:
type: string
type: object
keyspaces:
items:
properties:
annotations:
additionalProperties:
type: string
type: object
databaseName:
type: string
name:
maxLength: 25
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
partitionings:
items:
properties:
custom:
properties:
shards:
items:
properties:
annotations:
additionalProperties:
type: string
type: object
databaseInitScriptSecret:
properties:
key:
type: string
name:
type: string
volumeName:
type: string
required:
- key
type: object
keyRange:
properties:
end:
pattern: ^([0-9a-f][0-9a-f])*$
type: string
start:
pattern: ^([0-9a-f][0-9a-f])*$
type: string
type: object
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
type: boolean
recoverRestartedMaster:
type: boolean
type: object
tabletPools:
items:
properties:
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
annotations:
additionalProperties:
type: string
type: object
backupLocationName:
type: string
cell:
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
dataVolumeClaimTemplate:
properties:
accessModes:
items:
type: string
type: array
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
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:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
extraLabels:
additionalProperties:
type: string
type: object
extraVolumeMounts:
items:
properties:
mountPath:
type: string
mountPropagation:
type: string
name:
type: string
readOnly:
type: boolean
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
mysqld:
properties:
configOverrides:
type: string
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
replicas:
format: int32
minimum: 0
type: integer
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type:
enum:
- replica
- rdonly
- externalmaster
- externalreplica
- externalrdonly
type: string
vttablet:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
required:
- cell
- replicas
- type
- vttablet
type: object
type: array
required:
- databaseInitScriptSecret
- keyRange
type: object
type: array
required:
- shards
type: object
equal:
properties:
parts:
format: int32
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:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
type: boolean
recoverRestartedMaster:
type: boolean
type: object
tabletPools:
items:
properties:
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
annotations:
additionalProperties:
type: string
type: object
backupLocationName:
type: string
cell:
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
dataVolumeClaimTemplate:
properties:
accessModes:
items:
type: string
type: array
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
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:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
extraLabels:
additionalProperties:
type: string
type: object
extraVolumeMounts:
items:
properties:
mountPath:
type: string
mountPropagation:
type: string
name:
type: string
readOnly:
type: boolean
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
mysqld:
properties:
configOverrides:
type: string
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
replicas:
format: int32
minimum: 0
type: integer
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type:
enum:
- replica
- rdonly
- externalmaster
- externalreplica
- externalrdonly
type: string
vttablet:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
required:
- cell
- replicas
- type
- vttablet
type: object
type: array
required:
- databaseInitScriptSecret
type: object
required:
- parts
type: object
type: object
maxItems: 2
minItems: 1
type: array
turndownPolicy:
enum:
- RequireIdle
- Immediate
type: string
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:
type: object
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:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
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
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
replicas:
format: int32
type: integer
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
service:
properties:
annotations:
additionalProperties:
type: string
type: object
clusterIP:
type: string
type: object
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
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
type: object
type: object
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: vitesskeyspaces.planetscale.com
spec:
group: planetscale.com
names:
kind: VitessKeyspace
listKind: VitessKeyspaceList
plural: vitesskeyspaces
shortNames:
- vtk
singular: vitesskeyspace
scope: Namespaced
versions:
- name: v2
served: true
storage: true
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
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: 25
pattern: ^[a-z0-9]([a-z0-9]*[a-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
keyPrefix:
maxLength: 256
pattern: ^[^\r\n]*$
type: string
region:
minLength: 1
type: string
required:
- bucket
- region
type: object
volume:
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
type: array
databaseName:
type: string
extraVitessFlags:
additionalProperties:
type: string
type: object
globalLockserver:
properties:
address:
type: string
implementation:
type: string
rootPath:
type: string
required:
- address
- implementation
- rootPath
type: object
imagePullPolicies:
properties:
mysqld:
type: string
mysqldExporter:
type: string
vtbackup:
type: string
vtctld:
type: string
vtgate:
type: string
vttablet:
type: string
type: object
imagePullSecrets:
items:
properties:
name:
type: string
type: object
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
vttablet:
type: string
type: object
name:
maxLength: 25
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
partitionings:
items:
properties:
custom:
properties:
shards:
items:
properties:
annotations:
additionalProperties:
type: string
type: object
databaseInitScriptSecret:
properties:
key:
type: string
name:
type: string
volumeName:
type: string
required:
- key
type: object
keyRange:
properties:
end:
pattern: ^([0-9a-f][0-9a-f])*$
type: string
start:
pattern: ^([0-9a-f][0-9a-f])*$
type: string
type: object
replication:
properties:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
type: boolean
recoverRestartedMaster:
type: boolean
type: object
tabletPools:
items:
properties:
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
annotations:
additionalProperties:
type: string
type: object
backupLocationName:
type: string
cell:
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
dataVolumeClaimTemplate:
properties:
accessModes:
items:
type: string
type: array
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
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:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
extraLabels:
additionalProperties:
type: string
type: object
extraVolumeMounts:
items:
properties:
mountPath:
type: string
mountPropagation:
type: string
name:
type: string
readOnly:
type: boolean
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
mysqld:
properties:
configOverrides:
type: string
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
replicas:
format: int32
minimum: 0
type: integer
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type:
enum:
- replica
- rdonly
- externalmaster
- externalreplica
- externalrdonly
type: string
vttablet:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
required:
- cell
- replicas
- type
- vttablet
type: object
type: array
required:
- databaseInitScriptSecret
- keyRange
type: object
type: array
required:
- shards
type: object
equal:
properties:
parts:
format: int32
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:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
type: boolean
recoverRestartedMaster:
type: boolean
type: object
tabletPools:
items:
properties:
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
annotations:
additionalProperties:
type: string
type: object
backupLocationName:
type: string
cell:
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
dataVolumeClaimTemplate:
properties:
accessModes:
items:
type: string
type: array
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
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:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
extraLabels:
additionalProperties:
type: string
type: object
extraVolumeMounts:
items:
properties:
mountPath:
type: string
mountPropagation:
type: string
name:
type: string
readOnly:
type: boolean
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
mysqld:
properties:
configOverrides:
type: string
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
replicas:
format: int32
minimum: 0
type: integer
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type:
enum:
- replica
- rdonly
- externalmaster
- externalreplica
- externalrdonly
type: string
vttablet:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
required:
- cell
- replicas
- type
- vttablet
type: object
type: array
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
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
type: array
idle:
type: string
observedGeneration:
format: int64
type: integer
orphanedShards:
additionalProperties:
properties:
message:
type: string
reason:
type: string
required:
- message
- reason
type: object
type: object
partitionings:
items:
properties:
servingWrites:
type: string
shardNames:
items:
type: string
type: array
type: object
type: array
resharding:
properties:
sourceShards:
items:
type: string
type: array
state:
type: string
targetShards:
items:
type: string
type: array
workflow:
type: string
required:
- state
- workflow
type: object
shards:
additionalProperties:
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
type: object
type: object
type: object
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.2.4
creationTimestamp: null
name: vitessshards.planetscale.com
spec:
group: planetscale.com
names:
kind: VitessShard
listKind: VitessShardList
plural: vitessshards
shortNames:
- vts
singular: vitessshard
scope: Namespaced
versions:
- name: v2
served: true
storage: true
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
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: 25
pattern: ^[a-z0-9]([a-z0-9]*[a-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
keyPrefix:
maxLength: 256
pattern: ^[^\r\n]*$
type: string
region:
minLength: 1
type: string
required:
- bucket
- region
type: object
volume:
type: object
x-kubernetes-preserve-unknown-fields: true
type: object
type: array
databaseInitScriptSecret:
properties:
key:
type: string
name:
type: string
volumeName:
type: string
required:
- key
type: object
databaseName:
type: string
extraVitessFlags:
additionalProperties:
type: string
type: object
globalLockserver:
properties:
address:
type: string
implementation:
type: string
rootPath:
type: string
required:
- address
- implementation
- rootPath
type: object
imagePullPolicies:
properties:
mysqld:
type: string
mysqldExporter:
type: string
vtbackup:
type: string
vtctld:
type: string
vtgate:
type: string
vttablet:
type: string
type: object
imagePullSecrets:
items:
properties:
name:
type: string
type: object
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
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:
enforceSemiSync:
type: boolean
initializeBackup:
type: boolean
initializeMaster:
type: boolean
recoverRestartedMaster:
type: boolean
type: object
tabletPools:
items:
properties:
affinity:
type: object
x-kubernetes-preserve-unknown-fields: true
annotations:
additionalProperties:
type: string
type: object
backupLocationName:
type: string
cell:
minLength: 1
pattern: ^[a-z0-9]([a-z0-9]*[a-z0-9])?$
type: string
dataVolumeClaimTemplate:
properties:
accessModes:
items:
type: string
type: array
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
selector:
properties:
matchExpressions:
items:
properties:
key:
type: string
operator:
type: string
values:
items:
type: string
type: array
required:
- key
- operator
type: object
type: array
matchLabels:
additionalProperties:
type: string
type: object
type: object
storageClassName:
type: string
volumeMode:
type: string
volumeName:
type: string
type: object
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:
type: string
optional:
type: boolean
required:
- key
type: object
fieldRef:
properties:
apiVersion:
type: string
fieldPath:
type: string
required:
- fieldPath
type: object
resourceFieldRef:
properties:
containerName:
type: string
divisor:
type: string
resource:
type: string
required:
- resource
type: object
secretKeyRef:
properties:
key:
type: string
name:
type: string
optional:
type: boolean
required:
- key
type: object
type: object
required:
- name
type: object
type: array
extraLabels:
additionalProperties:
type: string
type: object
extraVolumeMounts:
items:
properties:
mountPath:
type: string
mountPropagation:
type: string
name:
type: string
readOnly:
type: boolean
subPath:
type: string
subPathExpr:
type: string
required:
- mountPath
- name
type: object
type: array
extraVolumes:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
initContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
mysqld:
properties:
configOverrides:
type: string
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
replicas:
format: int32
minimum: 0
type: integer
sidecarContainers:
items:
required:
- name
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
type:
enum:
- replica
- rdonly
- externalmaster
- externalreplica
- externalrdonly
type: string
vttablet:
properties:
extraFlags:
additionalProperties:
type: string
type: object
resources:
properties:
limits:
additionalProperties:
type: string
type: object
requests:
additionalProperties:
type: string
type: object
type: object
required:
- resources
type: object
required:
- cell
- replicas
- type
- vttablet
type: object
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
updateStrategy:
properties:
external:
properties:
allowResourceChanges:
items:
type: string
type: array
type: object
type:
enum:
- External
- Immediate
type: string
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
type: array
cells:
items:
type: string
type: array
conditions:
additionalProperties:
properties:
lastTransitionTime:
format: date-time
type: string
message:
type: string
reason:
type: string
status:
enum:
- "True"
- "False"
- Unknown
type: string
required:
- status
type: object
type: object
hasInitialBackup:
type: string
hasMaster:
type: string
idle:
type: string
lowestPodGeneration:
format: int64
type: integer
masterAlias:
type: string
observedGeneration:
format: int64
type: integer
orphanedTablets:
additionalProperties:
properties:
message:
type: string
reason:
type: string
required:
- message
- reason
type: object
type: object
servingWrites:
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: object
type: object
type: object
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: vitess-operator
---
apiVersion: rbac.authorization.k8s.io/v1
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
verbs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: vitess-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: vitess-operator
subjects:
- kind: ServiceAccount
name: vitess-operator
---
apiVersion: scheduling.k8s.io/v1
description: Vitess components (vttablet, vtgate, vtctld, etcd)
globalDefault: false
kind: PriorityClass
metadata:
name: vitess
value: 1000
---
apiVersion: scheduling.k8s.io/v1
description: The vitess-operator control plane.
globalDefault: false
kind: PriorityClass
metadata:
name: vitess-operator-control-plane
value: 5000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: vitess-operator
spec:
replicas: 1
selector:
matchLabels:
app: vitess-operator
template:
metadata:
labels:
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: planetscale/vitess-operator
imagePullPolicy: IfNotPresent
name: vitess-operator
resources:
limits:
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
priorityClassName: vitess-operator-control-plane
serviceAccountName: vitess-operator
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment