Skip to content

Commit

Permalink
Add CRDs for Bitpoke MySQL Operator (#295)
Browse files Browse the repository at this point in the history
  • Loading branch information
vpoggi24 authored Jun 1, 2024
1 parent 43b267d commit e944ff7
Show file tree
Hide file tree
Showing 5 changed files with 6,509 additions and 0 deletions.
93 changes: 93 additions & 0 deletions mysql.presslabs.org/mysqlbackup_v1alpha1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
{
"description": "MysqlBackup is the Schema for the mysqlbackups API",
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"type": "object"
},
"spec": {
"description": "MysqlBackupSpec defines the desired state of MysqlBackup",
"properties": {
"backupSecretName": {
"description": "BackupSecretName the name of secrets that contains the credentials to access the bucket. Default is used the secret specified in cluster.",
"type": "string"
},
"backupURL": {
"description": "BackupURL represents the URL to the backup location, this can be partially specifyied. Default is used the one specified in the cluster.",
"type": "string"
},
"clusterName": {
"description": "ClustterName represents the cluster for which to take backup",
"type": "string"
},
"remoteDeletePolicy": {
"description": "RemoteDeletePolicy the deletion policy that specify how to treat the data from remote storage. By default it's used softDelete.",
"type": "string"
}
},
"required": [
"clusterName"
],
"type": "object",
"additionalProperties": false
},
"status": {
"description": "MysqlBackupStatus defines the observed state of MysqlBackup",
"properties": {
"completed": {
"description": "Completed indicates whether the backup is in a final state, no matter whether its' corresponding job failed or succeeded",
"type": "boolean"
},
"conditions": {
"description": "Conditions represents the backup resource conditions list.",
"items": {
"description": "BackupCondition defines condition struct for backup resource",
"properties": {
"lastTransitionTime": {
"description": "LastTransitionTime",
"format": "date-time",
"type": "string"
},
"message": {
"description": "Message",
"type": "string"
},
"reason": {
"description": "Reason",
"type": "string"
},
"status": {
"description": "Status of the condition, one of (\\\"True\\\", \\\"False\\\", \\\"Unknown\\\")",
"type": "string"
},
"type": {
"description": "type of cluster condition, values in (\\\"Ready\\\")",
"type": "string"
}
},
"required": [
"lastTransitionTime",
"message",
"reason",
"status",
"type"
],
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object"
}
187 changes: 187 additions & 0 deletions mysql.presslabs.org/mysqlbackup_v2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
{
"properties": {
"spec": {
"properties": {
"addTimestampToBackupDirectory": {
"default": true,
"type": "boolean"
},
"backupProfile": {
"description": "backupProfile specification if backupProfileName is not specified",
"properties": {
"dumpInstance": {
"properties": {
"dumpOptions": {
"description": "A dictionary of key-value pairs passed directly to MySQL Shell's DumpInstance()",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"storage": {
"properties": {
"azure": {
"properties": {
"config": {
"description": "Name of a Secret with Azure BLOB Storage configuration and credentials",
"type": "string"
},
"containerName": {
"description": "Name of the Azure BLOB Storage container where the dump is stored",
"type": "string"
},
"prefix": {
"description": "Path in the container where the dump files are stored",
"type": "string"
}
},
"required": [
"containerName",
"config"
],
"type": "object",
"additionalProperties": false
},
"ociObjectStorage": {
"properties": {
"bucketName": {
"description": "Name of the OCI bucket where backup is stored",
"type": "string"
},
"credentials": {
"description": "Name of a Secret with data for accessing the bucket",
"type": "string"
},
"prefix": {
"description": "Path in bucket where backup is stored",
"type": "string"
}
},
"required": [
"bucketName",
"credentials"
],
"type": "object",
"additionalProperties": false
},
"persistentVolumeClaim": {
"description": "Specification of the PVC to be used. Used 'as is' in pod executing the backup.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"s3": {
"properties": {
"bucketName": {
"description": "Name of the S3 bucket where the dump is stored",
"type": "string"
},
"config": {
"description": "Name of a Secret with S3 configuration and credentials",
"type": "string"
},
"endpoint": {
"description": "Override endpoint URL",
"type": "string"
},
"prefix": {
"description": "Path in the bucket where the dump files are stored",
"type": "string"
},
"profile": {
"default": "",
"description": "Profile being used in configuration files",
"type": "string"
}
},
"required": [
"bucketName",
"config"
],
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"podAnnotations": {
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
},
"podLabels": {
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
},
"backupProfileName": {
"type": "string"
},
"clusterName": {
"type": "string"
},
"deleteBackupData": {
"default": false,
"type": "boolean"
}
},
"required": [
"clusterName"
],
"type": "object",
"additionalProperties": false
},
"status": {
"properties": {
"bucket": {
"type": "string"
},
"completionTime": {
"type": "string"
},
"container": {
"type": "string"
},
"elapsedTime": {
"type": "string"
},
"message": {
"type": "string"
},
"method": {
"type": "string"
},
"ociTenancy": {
"type": "string"
},
"output": {
"type": "string"
},
"size": {
"type": "string"
},
"source": {
"type": "string"
},
"spaceAvailable": {
"type": "string"
},
"startTime": {
"type": "string"
},
"status": {
"type": "string"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object"
}
Loading

0 comments on commit e944ff7

Please sign in to comment.