A newer version of this documentation is available.

View Latest

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.