Restore
k8s.mariadb.com / v1alpha1
apiVersion: k8s.mariadb.com/v1alpha1
kind: Restore
metadata:
name: example
apiVersion
string
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
kind
string
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
metadata
object
spec object
RestoreSpec defines the desired state of restore
affinity object
Affinity to be used in the Pod.
antiAffinityEnabled
boolean
AntiAffinityEnabled configures PodAntiAffinity so each Pod is scheduled in a different Node, enabling HA.
Make sure you have at least as many Nodes available as the replicas to not end up with unscheduled Pods.
nodeAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeaffinity-v1-core
preferredDuringSchedulingIgnoredDuringExecution []object
preference object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselectorterm-v1-core
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nodeselector-v1-core
nodeSelectorTerms []object required
matchExpressions []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
matchFields []object
key
string required
operator
string required
A node selector operator is the set of operators that can be used in
a node selector requirement.
values
[]string
podAntiAffinity object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podantiaffinity-v1-core.
preferredDuringSchedulingIgnoredDuringExecution []object
podAffinityTerm object required
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#podaffinityterm-v1-core.
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
weight
integer required
format:
int32requiredDuringSchedulingIgnoredDuringExecution []object
labelSelector object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#labelselector-v1-meta
matchExpressions []object
key
string required
operator
string required
A label selector operator is the set of operators that can be used in a selector requirement.
values
[]string
matchLabels
object
topologyKey
string required
args
[]string
Args to be used in the Container.
backoffLimit
integer
BackoffLimit defines the maximum number of attempts to successfully perform a Backup.
format:
int32backupRef object
BackupRef is a reference to a Backup object. It has priority over S3 and Volume.
name
string
database
string
Database defines the logical database to be restored. If not provided, all databases available in the backup are restored.
IMPORTANT: The database must previously exist.
imagePullSecrets []object
ImagePullSecrets is the list of pull Secrets to be used to pull the image.
name
string
inheritMetadata object
InheritMetadata defines the metadata to be inherited by children resources.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
logLevel
string
LogLevel to be used n the Backup Job. It defaults to 'info'.
mariaDbRef object required
MariaDBRef is a reference to a MariaDB object.
name
string
namespace
string
waitForIt
boolean
WaitForIt indicates whether the controller using this reference should wait for MariaDB to be ready.
nodeSelector
object
NodeSelector to be used in the Pod.
podMetadata object
PodMetadata defines extra metadata for the Pod.
annotations
object
Annotations to be added to children resources.
labels
object
Labels to be added to children resources.
podSecurityContext object
SecurityContext holds pod-level security attributes and common container settings.
appArmorProfile object
AppArmorProfile defines a pod or container's AppArmor settings.
localhostProfile
string
localhostProfile indicates a profile loaded on the node that should be used.
The profile must be preconfigured on the node to work.
Must match the loaded name of the profile.
Must be set if and only if type is "Localhost".
type
string required
type indicates which kind of AppArmor profile will be applied.
Valid options are:
Localhost - a profile pre-loaded on the node.
RuntimeDefault - the container runtime's default profile.
Unconfined - no AppArmor enforcement.
fsGroup
integer
format:
int64
fsGroupChangePolicy
string
PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
when volume is mounted.
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64seLinuxOptions object
SELinuxOptions are the labels to be applied to the container
level
string
Level is SELinux level label that applies to the container.
role
string
Role is a SELinux role label that applies to the container.
type
string
Type is a SELinux type label that applies to the container.
user
string
User is a SELinux user label that applies to the container.
seccompProfile object
SeccompProfile defines a pod/container's seccomp profile settings.
Only one profile source may be set.
localhostProfile
string
localhostProfile indicates a profile defined in a file on the node should be used.
The profile must be preconfigured on the node to work.
Must be a descending path, relative to the kubelet's configured seccomp profile location.
Must be set if type is "Localhost". Must NOT be set for any other type.
type
string required
type indicates which kind of seccomp profile will be applied.
Valid options are:
Localhost - a profile defined in a file on the node should be used.
RuntimeDefault - the container runtime default profile should be used.
Unconfined - no profile should be applied.
supplementalGroups
[]integer
priorityClassName
string
PriorityClassName to be used in the Pod.
resources object
Resources describes the compute resource requirements.
limits
object
ResourceList is a set of (resource name, quantity) pairs.
requests
object
ResourceList is a set of (resource name, quantity) pairs.
restartPolicy
string
RestartPolicy to be added to the Backup Job.
enum:
Always, OnFailure, Nevers3 object
S3 defines the configuration to restore backups from a S3 compatible storage. It has priority over Volume.
accessKeyIdSecretKeyRef object
AccessKeyIdSecretKeyRef is a reference to a Secret key containing the S3 access key id.
key
string required
name
string
bucket
string required
Bucket is the name Name of the bucket to store backups.
endpoint
string required
Endpoint is the S3 API endpoint without scheme.
prefix
string
Prefix indicates a folder/subfolder in the bucket. For example: mariadb/ or mariadb/backups. A trailing slash '/' is added if not provided.
region
string
Region is the S3 region name to use.
secretAccessKeySecretKeyRef object
AccessKeyIdSecretKeyRef is a reference to a Secret key containing the S3 secret key.
key
string required
name
string
sessionTokenSecretKeyRef object
SessionTokenSecretKeyRef is a reference to a Secret key containing the S3 session token.
key
string required
name
string
tls object
TLS provides the configuration required to establish TLS connections with S3.
caSecretKeyRef object
CASecretKeyRef is a reference to a Secret key containing a CA bundle in PEM format used to establish TLS connections with S3.
By default, the system trust chain will be used, but you can use this field to add more CAs to the bundle.
key
string required
name
string
enabled
boolean
Enabled is a flag to enable TLS.
securityContext object
SecurityContext holds security configuration that will be applied to a container.
allowPrivilegeEscalation
boolean
capabilities object
Adds and removes POSIX capabilities from running containers.
add
[]string
Added capabilities
drop
[]string
Removed capabilities
privileged
boolean
readOnlyRootFilesystem
boolean
runAsGroup
integer
format:
int64
runAsNonRoot
boolean
runAsUser
integer
format:
int64
serviceAccountName
string
ServiceAccountName is the name of the ServiceAccount to be used by the Pods.
stagingStorage object
StagingStorage defines the temporary storage used to keep external backups (i.e. S3) while they are being processed.
It defaults to an emptyDir volume, meaning that the backups will be temporarily stored in the node where the Restore Job is scheduled.
persistentVolumeClaim object
PersistentVolumeClaim is a Kubernetes PVC specification.
accessModes
[]string
resources object
VolumeResourceRequirements describes the storage resource requirements for a volume.
limits
object
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
requests
object
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
selector object
A label selector is a label query over a set of resources. The result of matchLabels and
matchExpressions are ANDed. An empty label selector matches all objects. A null
label selector matches no objects.
matchExpressions []object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
matchLabels
object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
storageClassName
string
volume object
Volume is a Kubernetes volume specification.
csi object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#csivolumesource-v1-core.
driver
string required
fsType
string
nodePublishSecretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
readOnly
boolean
volumeAttributes
object
emptyDir object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#emptydirvolumesource-v1-core.
medium
string
StorageMedium defines ways that storage can be allocated to a volume.
sizeLimit
string | integer
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$hostPath object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#hostpathvolumesource-v1-core
path
string required
type
string
nfs object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nfsvolumesource-v1-core.
path
string required
readOnly
boolean
server
string required
persistentVolumeClaim object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#persistentvolumeclaimvolumesource-v1-core.
claimName
string required
readOnly
boolean
targetRecoveryTime
string
TargetRecoveryTime is a RFC3339 (1970-01-01T00:00:00Z) date and time that defines the point in time recovery objective.
It is used to determine the closest restoration source in time.
format:
date-timetolerations []object
Tolerations to be used in the Pod.
effect
string
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
key
string
Key is the taint key that the toleration applies to. Empty means match all taint keys.
If the key is empty, operator must be Exists; this combination means to match all values and all keys.
operator
string
Operator represents a key's relationship to the value.
Valid operators are Exists and Equal. Defaults to Equal.
Exists is equivalent to wildcard for value, so that a pod can
tolerate all taints of a particular category.
tolerationSeconds
integer
TolerationSeconds represents the period of time the toleration (which must be
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do not evict). Zero and
negative values will be treated as 0 (evict immediately) by the system.
format:
int64
value
string
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string.
volume object
Volume is a Kubernetes Volume object that contains a backup.
csi object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#csivolumesource-v1-core.
driver
string required
fsType
string
nodePublishSecretRef object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#localobjectreference-v1-core.
name
string
readOnly
boolean
volumeAttributes
object
emptyDir object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#emptydirvolumesource-v1-core.
medium
string
StorageMedium defines ways that storage can be allocated to a volume.
sizeLimit
string | integer
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$hostPath object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#hostpathvolumesource-v1-core
path
string required
type
string
nfs object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#nfsvolumesource-v1-core.
path
string required
readOnly
boolean
server
string required
persistentVolumeClaim object
Refer to the Kubernetes docs: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.33/#persistentvolumeclaimvolumesource-v1-core.
claimName
string required
readOnly
boolean
status object
RestoreStatus defines the observed state of restore
conditions []object
Conditions for the Restore object.
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$maxLength:
316No matches. Try .spec.affinity for an exact path