March 30, 2025
+ 12

CouchbaseAutoscaler provides an interface for the Kubernetes Horizontal Pod Autoscaler to interact with the Couchbase cluster and provide autoscaling. This resource is not defined by the end user, and is managed by the Operator.

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.):

yaml
apiVersion: v2 kind: CouchbaseAutoscaler metadata: name: "" spec: servers: "" size: 0 status: labelSelector: "" size: 0

couchbaseautoscalers.apiVersion

Constraints

Type: string

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.

couchbaseautoscalers.kind

Constraints

Type: string

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.

couchbaseautoscalers.metadata

Constraints

Required

Type: object

Description

Standard object metadata as defined for all Kubernetes types.

For additional details see the Kubernetes reference documentation.

couchbaseautoscalers.metadata.name

Constraints

Type: string

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.

couchbaseautoscalers.metadata.namespace

Constraints

Type: string

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.

couchbaseautoscalers.metadata.labels

Constraints

Type: map[string]string

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.

couchbaseautoscalers.metadata.annotations

Constraints

Type: map[string]string

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.

couchbaseautoscalers.spec

Constraints

Required

Type: object

Description

CouchbaseAutoscalerSpec allows control over an autoscaling group.

couchbaseautoscalers.spec.servers

Constraints

Required

Type: string

Minimum Length: 1

Description

Servers specifies the server group that this autoscaler belongs to.

couchbaseautoscalers.spec.size

Constraints

Required

Type: integer

Minimum: 0

Description

Size allows the server group to be dynamically scaled.

couchbaseautoscalers.status

Constraints

Type: object

Description

CouchbaseAutoscalerStatus provides information to the HPA to assist with scaling server groups.

couchbaseautoscalers.status.labelSelector

Constraints

Required

Type: string

Description

LabelSelector allows the HPA to select resources to monitor for resource utilization in order to trigger scaling.

couchbaseautoscalers.status.size

Constraints

Required

Type: integer

Minimum: 1

Description

Size is the current size of the server group.