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:
consolekubectl 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
:
consolekubectl 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:
console$ 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.