Resource Documentation
How to access documentation for Couchbase custom resources.
Online Resource Documentation
Couchbase resources are documented entirely using Kubernetes to reduce duplication of effort. Accessing the documentation requires the resource type and a JSON path.
The available resources can be listed with the following command:
kubectl api-resources | grep couchbase
couchbaseautoscalers cba couchbase.com true CouchbaseAutoscaler
couchbasebackuprestores cbrestore couchbase.com true CouchbaseBackupRestore
couchbasebackups cbbackup couchbase.com true CouchbaseBackup
couchbasebuckets couchbase.com true CouchbaseBucket
couchbaseclusters cbc couchbase.com true CouchbaseCluster
couchbaseephemeralbuckets couchbase.com true CouchbaseEphemeralBucket
couchbasegroups couchbase.com true CouchbaseGroup
couchbasememcachedbuckets couchbase.com true CouchbaseMemcachedBucket
couchbasereplications couchbase.com true CouchbaseReplication
couchbaserolebindings couchbase.com true CouchbaseRoleBinding
couchbaseusers couchbase.com true CouchbaseUser
Then to access documentation for a resource, take the name from the first column and use the "explain" functionality of kubectl
:
kubectl explain couchbasereplications
KIND: CouchbaseReplication
VERSION: couchbase.com/v2
DESCRIPTION:
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.
FIELDS:
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>
Standard object's metadata. More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec <Object> -required-
You can descend through the resource configuration by making the JSON path more specific. For example:
$ kubectl explain couchbasereplications.spec
in couchbasereplications.spec
KIND: CouchbaseReplication
VERSION: couchbase.com/v2
RESOURCE: spec <Object>
DESCRIPTION:
CouchbaseReplicationSpec allows configuration of an XDCR replication.
FIELDS:
bucket <string> -required-
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 "-_%\.".
compressionType <string>
CompressionType is the type of compression to apply to the replication.
When None, no compression will be applied to documents as they are
transferred between clusters. When Auto, Couchbase server will
automatically compress documents as they are transferred to reduce
bandwidth requirements. This field must be one of "None" or "Auto",
defaulting to "Auto".
filterExpression <string>
FilterExpression allows certain documents to be filtered out of the
replication.
paused <boolean>
Paused allows a replication to be stopped and restarted without having to
restart the replication from the beginning.
remoteBucket <string> -required-
RemoteBucket is the remote bucket name to synchronize to. This refers to
the Couchbase bucket name, not the resource name of the bucket. 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 "-_%\.".
Each field describes what it does, the expected type, and whether or not it is required in order to be accepted by Kubernetes.