CouchbaseReplication Resource
The CouchbaseReplication resource represents a Couchbase-to-Couchbase, XDCR replication stream from a source bucket to a destination bucket. This provides off-site backup, migration, and disaster recovery.
The following is an example resource, depicting the overall structure and any defaults (consult the field reference for valid values for "empty" values, such as empty strings etc.):
apiVersion: v2
explicitMapping:
allowRules:
- sourceKeyspace:
collection: ""
scope: ""
targetKeyspace:
collection: ""
scope: ""
denyRules:
- sourceKeyspace:
collection: ""
scope: ""
kind: CouchbaseReplication
metadata:
name: ""
spec:
bucket: ""
checkpointInterval: 0
collectionsOSOMode: false
compressionType: ""
conflictLogging:
enabled: false
logCollection:
bucket: ""
collection: ""
scope: ""
loggingRules:
customCollectionRules:
- collection: ""
logCollection:
bucket: ""
collection: ""
scope: ""
scope: ""
defaultCollectionRules:
- collection: ""
scope: ""
noLoggingRules:
- collection: ""
scope: ""
desiredLatency: 0
docBatchSizeKb: 0
failureRestartInterval: 0
filterBinary: false
filterBypassExpiry: false
filterBypassUncommittedTxn: false
filterDeletion: false
filterExpiration: false
filterExpression: ""
filterSkipRestream: false
hlvPruningWindowSec: 0
jsFunctionTimeoutMs: 0
logLevel: ""
mergeFunctionMapping:
mobile: ""
networkUsageLimit: 0
optimisticReplicationThreshold: 0
paused: false
priority: ""
remoteBucket: ""
retryOnRemoteAuthErr: false
retryOnRemoteAuthErrMaxWaitSec: 0
sourceNozzlePerNode: 0
statsInterval: 0
targetNozzlePerNode: 0
workerBatchSize: 0
couchbasereplications.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.
couchbasereplications.explicitMapping
Description
The explicit mappings to use for replication which are optional. For Scopes and Collection replication support we can specify a set of implicit and explicit mappings to use. If none is specified then it is assumed to be existing bucket level replication. https://docs.couchbase.com/server/current/learn/clusters-and-availability/xdcr-with-scopes-and-collections.html#explicit-mapping.
couchbasereplications.explicitMapping.allowRules
Description
The list of explicit replications to carry out including any nested implicit replications: specifying a scope implicitly replicates all collections within it. There should be no duplicates, including more-specific duplicates, e.g. if you specify replication of a scope then you can only deny replication of collections within it.
couchbasereplications.explicitMapping.allowRules.sourceKeyspace.collection
couchbasereplications.explicitMapping.allowRules.sourceKeyspace.scope
couchbasereplications.explicitMapping.allowRules.targetKeyspace.collection
couchbasereplications.explicitMapping.allowRules.targetKeyspace.scope
couchbasereplications.explicitMapping.denyRules
Description
The list of explicit replications to prevent including any nested implicit denials: specifying a scope implicitly denies all collections within it. There should be no duplicates, including more-specific duplicates, e.g. if you specify denial of replication of a scope then you can only specify replication of collections within it.
couchbasereplications.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.
couchbasereplications.metadata
Description
Standard object metadata as defined for all Kubernetes types.
For additional details see the Kubernetes reference documentation.
couchbasereplications.metadata.name
Description
The name of a resource. This must be unique for the kind of resource within the namespace.
All resources must have a name.
The name may be omitted and metadata.generateName used instead to generate a unique resource name.
For additional details on resource names, see the Kubernetes reference documentation.
couchbasereplications.metadata.namespace
Description
The namespace the resource resides in. All resources reside in a namespace.
The namespace is optional and may be specified in YAML configuration to override the namespace supplied by kubectl.
For additional details on namespaces, see the Kubernetes reference documentation.
couchbasereplications.metadata.labels
Description
Labels allow resources to be labeled with key/value pairs of data. Labels are indexed and allow resources to be selected based upon specified labels.
Labels are relevant for certain types when using label selection within your resources.
For additional details on labels and selectors, see the Kubernetes reference documentation.
couchbasereplications.metadata.annotations
Description
Annotations allow resources to be annotated with key/value pairs of data. Annotations are arbitrary, and not indexed, so cannot be used to select resources, however may be used to add context or accounting to your resources.
For additional details on annotations, see the Kubernetes reference documentation.
couchbasereplications.spec
couchbasereplications.spec.bucket
Constraints
Required
Type: string
Maximum Length: 100
Pattern (Regular Expression): ^[a-zA-Z0-9-_%\.]{1,100}$
Description
Bucket is the source bucket to replicate from. This refers to the Couchbase bucket name, not the resource name of the bucket. A bucket with this name must be defined on this cluster. Legal bucket names have a maximum length of 100 characters and may be composed of any character from "a-z", "A-Z", "0-9" and "-_%\.".
couchbasereplications.spec.conflictLogging.logCollection.bucket
couchbasereplications.spec.conflictLogging.logCollection.collection
couchbasereplications.spec.conflictLogging.logCollection.scope
couchbasereplications.spec.conflictLogging.loggingRules
Description
LoggingRules defines the list of logging rules for conflict logging.
The rules can
be scoped to a specific scope or a specific collection in a scope.
The rules can disable
logging, log to the default collection defined at spec.conflictLogging.logCollection, or
log to a different collection.
couchbasereplications.spec.conflictLogging.loggingRules.customCollectionRules.collection
couchbasereplications.spec.conflictLogging.loggingRules.customCollectionRules.logCollection.bucket
couchbasereplications.spec.conflictLogging.loggingRules.customCollectionRules.logCollection.collection
couchbasereplications.spec.conflictLogging.loggingRules.customCollectionRules.logCollection.scope
couchbasereplications.spec.conflictLogging.loggingRules.customCollectionRules.scope
couchbasereplications.spec.conflictLogging.loggingRules.defaultCollectionRules.collection
couchbasereplications.spec.conflictLogging.loggingRules.defaultCollectionRules.scope
couchbasereplications.spec.conflictLogging.loggingRules.noLoggingRules.collection
couchbasereplications.spec.conflictLogging.loggingRules.noLoggingRules.scope
couchbasereplications.spec.filterBinary
Description
FilterBinary specifies whether binary documents should be replicated. The value can be true or false (the default). If the value is true, binary documents are not replicated, regardless of whether a filterExpression is applied. If the value is false: The behavior is identical to that of all Couchbase-Server versions prior to 7.2.1 (with the exception of 7.1.5), where the filterBinary flag did not exist. If a filter expression is not provided, binary documents are replicated. If a filter expression is provided, and the expression refers only to either the document’s key, or its xattr, or to both, the expression is applied, and the document is replicated if the expression permits. If a filter expression is provided, and the expression refers only to the document’s body, the document is replicated. If a filter expression is provided, and the expression refers to the document’s key, or its xattr, or to both; and also refers to the document’s body; the document is not replicated (regardless of whether the key or xattr might appear to permit replication).
couchbasereplications.spec.filterSkipRestream
Description
FilterSkipRestream controls whether replication restarts after filterExpression changes. When false (default), replication restarts after filter changes. When true, continues without restart. Note: Server requires this field when filterExpression is set. If not specified, operator defaults to false.