Couchbase · Schema
Couchbase Cluster Configuration
Schema representing a Couchbase cluster including nodes, services, server groups, and configuration settings.
AnalyticsApp ServicesBackupCapellaCloudDatabaseDBaaSEventingFull-Text SearchGatewayJSONMobileNoSQLReplicationSQL++SyncVector SearchXDCR
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Human-readable name for the cluster |
| uuid | string | Unique identifier for the cluster |
| nodes | array | List of nodes in the cluster |
| serverGroups | array | Server groups for rack-zone awareness |
| ramQuota | object | RAM quota allocations per service in megabytes |
| autoCompaction | object | |
| autoFailover | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://couchbase.com/schemas/couchbase/cluster.json",
"title": "Couchbase Cluster Configuration",
"description": "Schema representing a Couchbase cluster including nodes, services, server groups, and configuration settings.",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Human-readable name for the cluster"
},
"uuid": {
"type": "string",
"description": "Unique identifier for the cluster"
},
"nodes": {
"type": "array",
"description": "List of nodes in the cluster",
"items": {
"$ref": "#/$defs/Node"
}
},
"serverGroups": {
"type": "array",
"description": "Server groups for rack-zone awareness",
"items": {
"$ref": "#/$defs/ServerGroup"
}
},
"ramQuota": {
"type": "object",
"description": "RAM quota allocations per service in megabytes",
"properties": {
"dataService": {
"type": "integer",
"description": "RAM quota for the Data service in megabytes",
"minimum": 256
},
"indexService": {
"type": "integer",
"description": "RAM quota for the Index service in megabytes",
"minimum": 256
},
"searchService": {
"type": "integer",
"description": "RAM quota for the Search service in megabytes",
"minimum": 256
},
"analyticsService": {
"type": "integer",
"description": "RAM quota for the Analytics service in megabytes",
"minimum": 1024
},
"eventingService": {
"type": "integer",
"description": "RAM quota for the Eventing service in megabytes",
"minimum": 256
}
}
},
"autoCompaction": {
"$ref": "#/$defs/AutoCompactionSettings"
},
"autoFailover": {
"$ref": "#/$defs/AutoFailoverSettings"
}
},
"$defs": {
"Node": {
"type": "object",
"description": "A node in the Couchbase cluster",
"required": [
"hostname"
],
"properties": {
"hostname": {
"type": "string",
"description": "Hostname or IP address with port"
},
"status": {
"type": "string",
"description": "Health status of the node",
"enum": [
"healthy",
"unhealthy",
"warmup"
]
},
"clusterMembership": {
"type": "string",
"description": "Cluster membership state of the node",
"enum": [
"active",
"inactiveAdded",
"inactiveFailed"
]
},
"services": {
"type": "array",
"description": "Services running on the node",
"items": {
"type": "string",
"enum": [
"kv",
"n1ql",
"index",
"fts",
"cbas",
"eventing",
"backup"
]
},
"minItems": 1
},
"version": {
"type": "string",
"description": "Couchbase Server version installed on the node"
},
"os": {
"type": "string",
"description": "Operating system of the node"
},
"cpuCount": {
"type": "integer",
"description": "Number of CPU cores on the node",
"minimum": 1
},
"memoryTotal": {
"type": "integer",
"description": "Total memory on the node in bytes"
},
"memoryFree": {
"type": "integer",
"description": "Free memory on the node in bytes"
},
"addressFamily": {
"type": "string",
"description": "Network address family",
"enum": [
"inet",
"inet6",
"inet6only"
]
},
"nodeEncryption": {
"type": "boolean",
"description": "Whether node-to-node encryption is enabled"
}
}
},
"ServerGroup": {
"type": "object",
"description": "A server group for rack-zone awareness",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the server group"
},
"uri": {
"type": "string",
"description": "URI path to the server group resource"
},
"nodes": {
"type": "array",
"description": "Nodes assigned to this server group",
"items": {
"$ref": "#/$defs/Node"
}
}
}
},
"AutoCompactionSettings": {
"type": "object",
"description": "Auto-compaction settings for the cluster",
"properties": {
"databaseFragmentationThreshold": {
"type": "object",
"properties": {
"percentage": {
"type": "integer",
"description": "Fragmentation percentage trigger",
"minimum": 2,
"maximum": 100
},
"size": {
"type": "integer",
"description": "Fragmentation size trigger in bytes",
"minimum": 1048576
}
}
},
"viewFragmentationThreshold": {
"type": "object",
"properties": {
"percentage": {
"type": "integer",
"description": "View fragmentation percentage trigger",
"minimum": 2,
"maximum": 100
},
"size": {
"type": "integer",
"description": "View fragmentation size trigger in bytes",
"minimum": 1048576
}
}
},
"parallelDBAndViewCompaction": {
"type": "boolean",
"description": "Whether to run database and view compaction in parallel"
},
"allowedTimePeriod": {
"type": "object",
"description": "Time window during which compaction is allowed",
"properties": {
"fromHour": {
"type": "integer",
"minimum": 0,
"maximum": 23
},
"fromMinute": {
"type": "integer",
"minimum": 0,
"maximum": 59
},
"toHour": {
"type": "integer",
"minimum": 0,
"maximum": 23
},
"toMinute": {
"type": "integer",
"minimum": 0,
"maximum": 59
},
"abortOutside": {
"type": "boolean",
"description": "Whether to abort compaction outside the time window"
}
}
}
}
},
"AutoFailoverSettings": {
"type": "object",
"description": "Auto-failover settings for the cluster",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether auto-failover is enabled"
},
"timeout": {
"type": "integer",
"description": "Number of seconds to wait before auto-failover triggers",
"minimum": 5,
"maximum": 3600
},
"maxCount": {
"type": "integer",
"description": "Maximum number of auto-failovers before requiring manual reset",
"minimum": 1
},
"failoverOnDataDiskIssues": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to failover on data disk issues"
},
"timePeriod": {
"type": "integer",
"description": "Time period in seconds to wait for disk issue resolution",
"minimum": 5
}
}
}
}
}
}
}