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.