CouchbaseBackupRestore allows the restoration of all Couchbase cluster data from a CouchbaseBackup resource.
5 top-level fields, 1 required · last changed in Couchbase Operator 2.9.0
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 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
CouchbaseBackupRestoreSpec allows the specification of data restoration to be configured. This includes the backup and repository to restore data from, and the time range of data to be restored.
Number of times the restore job should try to execute.
The backup resource name associated with this restore, or the backup PVC name to restore from.
DEPRECATED - by spec.data. Specific buckets can be explicitly included or excluded in the restore, as well as bucket mappings. This field is now ignored.
Data allows control over what key-value/document data is included in the restore. By default, all data is included.
Exclude defines the buckets, scopes or collections that are excluded from the backup. When this field is set, it implies that by default everything will be backed up, and data items can be explicitly excluded. You may define an exclusion as a bucket -- `my-bucket`, a scope -- `my-bucket.my-scope`, or a collection -- `my-bucket.my-scope.my-collection`. Buckets may contain periods, and therefore must be escaped -- `my\.bucket.my-scope`, as period is the separator used to delimit scopes and collections. Excluded data cannot overlap e.g. specifying `my-bucket` and `my-bucket.my-scope` is illegal. This field cannot be used at the same time as included items.
FilterKeys only restores documents whose names match the provided regular expression.
FilterValues only restores documents whose values match the provided regular expression.
Include defines the buckets, scopes or collections that are included in the restore. When this field is set, it implies that by default nothing will be restored, and data items must be explicitly included. You may define an inclusion as a bucket -- `my-bucket`, a scope -- `my-bucket.my-scope`, or a collection -- `my-bucket.my-scope.my-collection`. Buckets may contain periods, and therefore must be escaped -- `my\.bucket.my-scope`, as period is the separator used to delimit scopes and collections. Included data cannot overlap e.g. specifying `my-bucket` and `my-bucket.my-scope` is illegal. This field cannot be used at the same time as excluded items.
Map allows data items in the restore to be remapped to a different named container. Buckets can be remapped to other buckets e.g. "source=target", scopes and collections can be remapped to other scopes and collections within the same bucket only e.g. "bucket.scope=bucket.other" or "bucket.scope.collection=bucket.scope.other". Map sources may only be specified once, and may not overlap.
Source defines the data source of the mapping, this may be either a bucket, scope or collection.
Target defines the data target of the mapping, this may be either a bucket, scope or collection, and must refer to the same type as the restore source.
DefaultRecoveryMethod specifies how cbbackupmgr should recover from broken backup/restore attempts.
End denotes the last backup to restore from. Omitting this field will only restore the backup referenced by start. This may be specified as an integer index (starting from 1), a string specifying a short date DD-MM-YYYY, the backup name, or one of either `end` or `latest` keywords.
Int references a relative backup by index.
Str references an absolute backup by name.
Env defines environment variables to be set on the restore container. These can be used to configure cbbackupmgr behavior via environment variables.
Name of the environment variable. Must be a C_IDENTIFIER.
Variable references $(VAR_NAME) are expanded using the previously defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
Source for the environment variable's value. Cannot be used if value is not empty.
Selects a key of a ConfigMap.
The key to select.
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Specify whether the ConfigMap or its key must be defined
Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
Version of the schema the FieldPath is written in terms of, defaults to "v1".
Path of the field to select in the specified API version.
Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
Container name: required for volumes, optional for env vars
Specifies the output format of the exposed resources, defaults to "1"
Required: resource to select
Selects a key of a secret in the pod's namespace
The key of the secret to select from. Must be a valid secret key.
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
Specify whether the Secret or its key must be defined
Forces data in the Couchbase cluster to be overwritten even if the data in the cluster is newer. By default, the system does not force updates, and all updates use Couchbase's conflict resolution mechanism to ensure that if newer data exists on the cluster, older restored data does not overwrite it. However, if `couchbasebackuprestores.spec.forceUpdates` is true, then the backup record will _always_ overwrite the cluster record, regardless of Couchbase's conflict resolution.
Number of hours to hold restore script logs for, everything older will be deleted. More info: https://golang.org/pkg/time/#ParseDuration
The remote destination for backup.
Endpoint contains the configuration for connecting to a custom Azure/S3/GCP compliant object store. If set will override `CouchbaseCluster.spec.backup.objectEndpoint` See https://docs.couchbase.com/server/current/backup-restore/cbbackupmgr-cloud.html#compatible-object-stores
The name of the secret, in this namespace, that contains the CA certificate for verification of a TLS endpoint The secret must have the key with the name "tls.crt"
The host/address of the custom object endpoint.
UseVirtualPath will force the AWS SDK to use the new virtual style paths which are often required by S3 compatible object stores.
ObjStoreSecret must contain two fields, access-key-id, secret-access-key and optionally either region or refresh-token. These correspond to the fields used by cbbackupmgr https://docs.couchbase.com/server/current/backup-restore/cbbackupmgr-backup.html#optional-2
URI is a reference to a remote object store. This is the prefix of the object store and the bucket name. i.e s3://bucket, az://bucket or gs://bucket.
Whether to allow the backup SDK to attempt to authenticate using the instance metadata api. If set, will override `CouchbaseCluster.spec.backup.useIAM`.
Overwrites the already existing users in the cluster when user restoration is enabled (spec.services.users). The default behavior of backup/restore of users is to skip already existing users. This is only available for Couchbase Server 7.6 and later. This field defaults to `false`.
PreserveRestoreRecord indicates whether the restore record should be preserved after the restore job has completed.
Repo is the backup folder to restore from. If no repository is specified, the backup container will choose the latest.
DEPRECATED - by spec.objectStore.uri Name of S3 bucket to restore from. If non-empty this overrides local backup.
This list accepts a certain set of parameters that will disable that data and prevent it being restored.
Analytics restores analytics datasets from the backup. This field defaults to true.
BucketConfig restores all bucket configuration settings. If you are restoring to cluster with managed buckets, then this option may conflict with existing bucket settings, and the results are undefined, so avoid use. This option is intended for use with unmanaged buckets. Note that bucket durability settings are not restored in versions less than and equal to 1.1.0, and will need to be manually applied. This field defaults to false.
BucketQuery enables the backup of query metadata for all buckets. This field defaults to `true`.
ClusterAnalytics enables the backup of cluster-wide analytics data, for example synonyms. This field defaults to `true`.
ClusterQuery enables the backup of cluster level query metadata. This field defaults to `true`.
Data restores document data from the backup. This field defaults to true.
Eventing restores eventing functions from the backup. This field defaults to true.
FTAlias restores full-text search aliases from the backup. This field defaults to true.
FTIndex restores full-text search indexes from the backup. This field defaults to true.
GSIIndex restores document indexes from the backup. This field defaults to true.
Users restores cluster level users, including their roles and permissions. This is only available for Couchbase Server 7.6 and later. This field defaults to `false`.
Views restores views from the backup. This field defaults to true.
StagingVolume contains configuration related to the ephemeral volume used as staging when restoring from a cloud backup.
Size allows the specification of a staging volume. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes The ephemeral volume will only be used when restoring from a cloud provider, if the backup job was created using ephemeral storage. Otherwise the restore job will share a staging volume with the backup job.
Name of StorageClass to use.
Start denotes the first backup to restore from. This may be specified as an integer index (starting from 1), a string specifying a short date DD-MM-YYYY, the backup name, or one of either `start` or `oldest` keywords.
Int references a relative backup by index.
Str references an absolute backup by name.
How many threads to use during the restore.
Number of seconds to elapse before a completed job is deleted.
CouchbaseBackupRestoreStatus provides status indications of a restore from backup. This includes whether or not the restore is running, whether the restore succeed or not, and the duration the restore took.
Location of Backup Archive.
Backups gives us a full list of all backups and their respective repository locations.
Full backup inside the repository.
Incremental backups inside the repository.
Name of the repository.
Completed indicates whether the restore has been successfully completed.
Duration tells us how long the last restore took. More info: https://golang.org/pkg/time/#ParseDuration
Failed indicates whether the most recent restore has failed.
DEPRECATED - field may no longer be populated. Job tells us which job is running/ran last.
LastFailure tells us the time the last failed restore failed.
LastRun tells us the time the last restore job started.
LastSuccess gives us the time the last successful restore finished.
DEPRECATED - field may no longer be populated. Output reports useful information from the backup process.
DEPRECATED - field may no longer be populated. Pod tells us which pod is running/ran last.
Repo is where we are currently performing operations.
Running indicates whether a restore is currently being performed.
Source: couchbase.crds.yaml
Changes to CouchbaseBackupRestore (couchbase.com/v2) in each Couchbase Operator version, compared to the version before it.
4 properties have been added
1 property has changed the description
Released · View CouchbaseBackupRestore in 2.9.0
2 properties have been added
The description of CouchbaseBackupRestore has changed
41 properties have changed the description
Released · View CouchbaseBackupRestore in 2.7.0
1 property is no longer required
Released · View CouchbaseBackupRestore in 2.6.0
3 properties have been added
1 property has changed the description
Released · View CouchbaseBackupRestore in 2.4.0
CouchbaseBackupRestore was already present in this version of Couchbase Operator, the oldest one on kubespec.dev
Released · View CouchbaseBackupRestore in 2.3.1
No examples of CouchbaseBackupRestore yet. Contribute one on GitHub.