couchbaselabs.couchbase_server
Couchbase Server Ansible 角色
#####################
###########################
###############################
###################################
#####################################
###### ############# ######
###### ############# ######
###### ######
###### ######
######\ /######
#####################################
###################################
###############################
###########################
###################
与 Ansible Galaxy 兼容
您可以使用 ansible-galaxy
命令安装此角色,并可以直接从 git 仓库运行它。
您应该这样安装它:
ansible-galaxy install couchbaselabs.couchbase_server
确保您对 /etc/ansible/roles/
具有写访问权限,因为这是默认的 Ansible 角色安装路径,或者通过创建一个包含以下内容的 $HOME/.ansible.cfg
文件来定义自己的 Ansible 角色路径:
[defaults]
roles_path = <path_to_your_preferred_role_location>
将 <path_to_your_preferred_role_location>
更改为您有写权限的目录。
有关更多详细信息,请参见 ansible-galaxy 文档。
角色变量
在需要用于开发或其他非生产用途的简单集群的情况下,Couchbase Server 角色的默认变量值可以保持不变。唯一的必需变量是 couchbase_nodes:
如果您需要特定的性能,或者希望为特定目的调整它们,本节将详细描述所有角色变量,包括它们的默认值。
couchbase_server_edition
Couchbase Server 的版本,可以是 enterprise
或 community
。默认值为 enterprise
。
couchbase_server_version
您要安装的版本和构建,默认值为 latest
。如果您想使用特定版本,可以指定 6.6.0-7909
。要查找可用版本,请运行以下命令:
yum list --showduplicates couchbase-server
couchbase_server_download_url
要从中安装 Couchbase Server 的 *.rpm
或 *.deb
文件的完整 URL。
couchbase_os
couchbase_os
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。
变量 | 默认 | 说明 |
---|---|---|
firewalld | false | 是否安装 firewalld 并将 Couchbase 端口添加到公共区域 |
disable_thp | true | 是否安装 disable-thp 脚本。这将创建一个位于 /etc/init.d/disable-thp 的新启动脚本 |
common_tools | false | 是否安装常用工具,包括:epel-release、git、jq、ntp、nmap、lshw、sysstat、lvm2、htop、iotop、wireshark、dstat、nmon |
kernel_tunings | true | 是否应用 sysctl.conf 调整,例如 vm.swappiness = 1 。这将在 /etc/sysctl.d/couchbase-server.conf 中创建一个新文件 |
user_limits | true | 是否为 couchbase 用户设置用户限制。这将在 /etc/security/limits.d/couchbase-server.conf 中创建一个新文件 |
示例
couchbase_os:
firewalld: true
disable_thp: true
common_tools: true
kernel_tunings: true
user_limits: true
couchbase_nodes
couchbase_nodes
变量中的所有属性都是可选的,除了必需的 hostname
属性。如果未指定 services:
属性,将使用 couchbase_server.default_services
中的值(如果已定义),如果未定义,则默认值为 data,index,query
。附加文档
变量 | 默认 | 说明 |
---|---|---|
*hostname | null | 要添加的节点的主机名。此属性在任何安装/配置中都是必需的 |
group | null | 分配给节点的组名,如果未指定,节点将添加到默认组。 |
services | - data - index - query |
节点上要运行的服务,有效值包括: - data - index - query - fts - eventing - analytics |
示例
couchbase_nodes:
- hostname: host1.couchbase.example.com
group: AZA
services:
- data
- hostname: host2.couchbase.example.com
group: AZA
services:
- data
- hostname: host3.couchbase.example.com
group: AZB
services:
- data
- hostname: host4.couchbase.example.com
group: AZB
services:
- data
- hostname: host5.couchbase.example.com
group: AZA
services:
- index
- query
- hostname: host6.couchbase.example.com
group: AZB
services:
- index
- query
couchbase_cluster
couchbase_cluster
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
name | My Cluster | Couchbase 集群的名称 |
rest_protocol | http | 使用的 REST 协议 |
port | 8091 | 集群使用的默认端口 |
notifications | true | 是否启用控制台通知 |
index_storage | default | 指定索引服务的索引存储模式。接受的存储模式为 "default"(标准索引后端)或 "memopt"(内存优化索引)。 |
default_services | - data - index - query |
初始化集群或将新节点添加到集群时使用的默认服务 |
示例
couchbase_cluster:
name: Demo
rest_protocol: http
port: 8091
notifications: true
index_storage: default
default_services:
- data
- index
- query
couchbase_memory_quotas
couchbase_memory_quotas
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
analytics | 1024 | 设置分析服务的内存配额(以MB为单位)。此配额将分配给以分析服务添加到集群的所有未来节点。 |
data | 4098 | 指定数据服务的内存配额(以MB为单位)。此配额将分配给以数据服务添加到集群的所有未来节点。 |
eventing | 256 | 设置事件服务的内存配额(以MB为单位)。此配额将分配给以事件服务添加到集群的所有未来节点。 |
fts | 512 | 设置全文搜索服务的内存配额(以MB为单位)。此配额将分配给以全文搜索服务添加到集群的所有未来节点。 |
index | 512 | 设置索引服务的内存配额(以MB为单位)。此配额将分配给以索引服务添加到集群的所有未来节点。 |
示例
couchbase_memory_quotas:
analytics: 1024
data: 16000
eventing: 256
fts: 512
index: 512
couchbase_security
couchbase_security
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
admin_user | Administrator | 集群管理员的用户名 |
admin_password | password | 集群管理员的密码 |
disable_http_ui | false | 指定 Couchbase Web 控制台是否可以通过 HTTP 访问。 |
disable_www_authenticate | false | 指定 Couchbase Server 是否会对未经身份验证的请求响应 WWW-Authenticate。 |
cluster_encryption_level | control | 指定集群的加密级别。该级别在启用集群加密时使用。如果级别为 "all",则集群节点之间的数据和控制消息将通过加密的连接发送。如果级别为 "control",则仅控制消息将被加密发送。 |
tls_min_version | tlsv1 | 指定所有 Couchbase 服务使用的最小 TLS 协议版本。 |
tls_honor_cipher_order | true | 指定所有服务是否必须遵循密码顺序。当设置为 true 时,这允许较弱的密码包含在密码列表中以便与较旧的客户端/浏览器向后兼容,同时仍然强制较新的客户端使用更强的密码。 |
示例
couchbase_security:
admin_user: Administrator
admin_password: password
disable_http_ui: false
disable_www_authenticate: false
cluster_encryption_level: control
tls_min_version: tlsv1
tls_honor_cipher_order: true
couchbase_paths
couchbase_paths
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
data | /opt/couchbase/var/lib/couchbase/data | 存储 Couchbase 数据服务创建的数据文件的路径。请注意,此路径也是视图索引在本服务器上写入的地方。 |
index | /opt/couchbase/var/lib/couchbase/data | 存储 Couchbase 索引服务创建的文件的路径。 |
analytics | /opt/couchbase/var/lib/couchbase/data | 存储 Couchbase 分析服务创建的文件的路径。 |
eventing | /opt/couchbase/var/lib/couchbase/data | 存储 Couchbase 事件服务创建的文件的路径。 |
示例
couchbase_paths:
data: /opt/couchbase/var/lib/couchbase/data
index: /opt/couchbase/var/lib/couchbase/index
analytics: /opt/couchbase/var/lib/couchbase/analytics
eventing: /opt/couchbase/var/lib/couchbase/eventing
couchbase_rebalance_settings
couchbase_rebalance_settings
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
rebalance_retry | false | 启用或禁用自动重平衡重试 |
wait_for | 300 | 指定在失败的重平衡后重试前要等待的时间。时间必须是 5 到 3600 秒之间的值 |
max_attempts | 1 | 指定将失败重平衡重试的次数。提供的值必须在 1 到 3 之间。 |
moves_per_node | 4 | 在重平衡期间每个节点要移动的并发 vBucket 数。提供的值必须在 1 到 64 之间。配置较高的设置可能会提高重平衡性能,但会消耗更多资源;而较低的设置可能会降低重平衡性能。请注意,重平衡性能可能会受到许多其他因素的影响,因此更改此参数可能不会总是产生预期的效果。 |
示例
couchbase_rebalance_settings:
rebalance_retry: false
wait_for: 300
max_attempts: 1
moves_per_node: 4
couchbase_audit
couchbase_audit
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
enabled | true | 指定是否启用审计。 |
log_path | /opt/couchbase/var/lib/couchbase/logs | 指定审计日志路径。此路径应是保留审计日志的文件夹的路径。该文件夹必须存在于集群中的所有服务器上。 |
log_rotate_interval | 86400 | 指定审计日志轮换间隔。这是当前审计日志将被替换为新的空审计日志文件的间隔。日志文件在审计日志不占用太多磁盘空间的情况下进行轮换。最小审计日志轮换间隔为 15 分钟(900 秒)。 |
log_rotate_size | 20971520 | 指定审计日志轮换大小。当前审计日志将在达到此大小时被替换为新的空审计日志文件。 |
示例
couchbase_audit:
enabled: true
log_path: /opt/couchbase/var/lib/couchbase/logs
log_rotate_interval: 86400
log_rotate_size: 20971520
couchbase_password_policy
couchbase_password_policy
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
min_length | 6 | 指定新密码的最小长度。 |
uppercase | false | 指定新密码必须包含至少一个大写字母。 |
lowercase | false | 指定新密码必须包含至少一个小写字母。 |
digit | false | 指定新密码必须包含至少一个数字。 |
special_char | false | 指定新密码必须包含至少一个特殊字符。 |
示例
couchbase_password_policy:
min_length: 6
uppercase: false
lowercase: false
digit: false
special_char: false
couchbase_query_settings
couchbase_query_settings
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
pipeline_batch | 16 | 执行操作符可以批处理的项数 |
pipeline_cap | 512 | 每个执行操作符可以缓存的最大项数 |
scan_cap | 512 | 索引扫描的最大缓存大小;使用零或负值来禁用 |
timeout | 0 | 服务器执行超时;使用零或负值来禁用 |
prepared_limit | 16384 | 最大准备语句数 |
completed_limit | 4000 | 最大已完成请求数 |
completed_threshold | 1000 | 缓存持续时间超过此阈值(以毫秒为单位)的已完成查询 |
log_level | info | 设置查询服务的日志级别。有效的日志级别包括 "trace"、"debug"、"info"、"warn"、"error"、"server" 和 "none" |
max_parallelism | 1 | 每个查询的最大并行性;使用零或负值来禁用 |
示例
couchbase_query_settings:
pipeline_batch: 16
pipeline_cap: 512
scan_cap: 512
timeout: 0
prepared_limit: 16384
completed_limit: 4000
completed_threshold: 1000
log_level: info
max_parallelism: 1
couchbase_index_settings
couchbase_index_settings
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
max_rollback_points | 2 | 最大回滚点数。此选项的值必须大于或等于 1。 |
stable_snapshot_interval | 5000 | 指定恢复的持久化快照的频率(以秒为单位)。 |
memory_snapshot_interval | 200 | 指定内存快照的频率(以毫秒为单位)。 |
threads | 0 | 设置索引器可使用的 CPU 数。此选项的值必须在 0 到 1024 之间。 |
log_level | info | 设置索引服务的日志级别。有效的日志级别包括 "debug"、"silent"、"fatal"、"error"、"warn"、"info"、"verbose"、"timing" 和 "trace"。 |
示例
couchbase_index_settings:
max_rollback_points: 2
stable_snapshot_interval: 5000
memory_snapshot_interval: 200
threads: 0
log_level: info
couchbase_autofailover
couchbase_autofailover
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
enabled | true | 启用或禁用自动故障切换 |
failover_timeout | 120 | 指定自动故障切换超时。 |
max_failovers | 1 | 指定将处理的自动故障切换事件数量。 |
failover_of_server_groups | false | 指定是否可以对整个服务器组进行自动故障切换。 |
failover_on_data_disk_issues | true | 指定是否启用数据服务磁盘问题的自动故障切换。 |
failover_data_disk_period | 120 | 指定故障切换数据磁盘周期。 |
can_abort_rebalance | true | 使自动故障切换能够中止重平衡。 |
示例
couchbase_autofailover:
enabled: true
failover_timeout: 120
max_failovers: 1
failover_of_server_groups: false
failover_on_data_disk_issues: true
failover_data_disk_period: 120
can_abort_rebalance: true
couchbase_email_alerts
couchbase_email_alerts
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
enabled | false | 启用此集群的电子邮件警报。 |
username | null | 发送者电子邮件地址的电子邮件服务器用户名。 |
password | null | 发送者电子邮件地址的电子邮件服务器密码。 |
host | localhost | 托管发送者指定的电子邮件地址的电子邮件服务器主机名 |
port | 25 | 托管发送者指定的电子邮件地址的电子邮件服务器端口号 |
encrypt | false | 在连接到电子邮件服务器时启用 SSL 加密。 |
sender | couchbase@localhost | 如果启用电子邮件警报,则此选项将设置发送者电子邮件地址。 |
recipients | [] | 在服务器中引发警报时发送电子邮件的用户列表。 |
alerts | - alert-auto-failover-node - alert-auto-failover-max-reached - alert-auto-failover-node-down - alert-auto-failover-cluster-small - alert-auto-failover-disable - alert-ip-changed - alert-disk-space - alert-meta-overhead - alert-meta-oom - alert-write-failed - alert-audit-msg-dropped - alert-indexer-max-ram - alert-timestamp-drift-exceeded - alert-communication-issue |
各种警报类型 |
示例
couchbase_email_alerts:
enabled: true
host: localhost
port: 25
encrypt: false
sender: couchbase@localhost
recipients:
- [email protected]
alerts:
- alert-auto-failover-node
- alert-auto-failover-max-reached
- alert-auto-failover-node-down
- alert-auto-failover-cluster-small
- alert-auto-failover-disable
- alert-ip-changed
- alert-disk-space
- alert-meta-overhead
- alert-meta-oom
- alert-write-failed
- alert-audit-msg-dropped
- alert-indexer-max-ram
- alert-timestamp-drift-exceeded
- alert-communication-issue
couchbase_buckets[]
couchbase_buckets
变量默认是一个空列表。当指定时每个元素可用的属性如下,name
属性是必需的,所有其他属性都是可选的,如果未指定,将分配默认值。 附加文档
变量 | 默认 | 说明 |
---|---|---|
*name | null | 要创建的桶的名称。 |
type | couchbase | 要创建的桶类型。 |
storage_backend | couchstore | 与桶一起使用的存储类型。 |
ram_size | 100 | 分配给此桶缓存的内存量(以 MB 为单位)。 |
replicas | 1 | 数据被复制的服务器数量。 |
priority | low | 指定此桶的后台任务优先级。 |
eviction_policy | valueOnly | 此桶的内存缓存驱逐策略。 |
conflict_resolution | sequence | 指定此桶的冲突解决机制。 |
flush | false | 指定此桶是否允许执行清空操作。 |
durability_min_level | none | 为桶指定的最小持久性级别。 |
compression_mode | passive | 指定桶的压缩模式。 |
max_ttl | 0 | 指定桶中所有文档的最大 TTL(生存时间)。 |
enable_index_replica | false | 为当前桶启用视图索引复制。 |
示例
couchbase_buckets:
- name: baseball
type: couchbase
ram_size: 400
replicas: 1
compression_mode: active
- name: ecommerce
type: couchbase
ram_size: 700
replicas: 1
compression_mode: active
- name: movies
type: couchbase
ram_size: 450
replicas: 1
compression_mode: active
couchbase_sample_buckets[]
couchbase_sample_buckets
变量默认是一个空列表。仅支持以下值:"travel-sample"、"beer-sample" 或 "gamesim-sample"。
示例
couchbase_sample_buckets:
- travel-sample
couchbase_xdcr_remotes[]
couchbase_xdcr_remotes
变量默认是一个空列表。当指定时每个元素可用的属性如下,每四个属性在指定 XDCR 远程时都是必需的。附加文档
变量 | 默认 | 说明 |
---|---|---|
*name | null | 远程集群引用的名称。 |
*hostname | null | 远程集群引用的主机名。 |
*username | null | 远程集群引用的用户名。 |
*password | null | 远程集群引用的密码。 |
示例
couchbase_xdcr_remotes:
- name: My Cluster
hostname: remotehost.couchbase.example.com
username: Administrator
password: password
couchbase_xdcr_replications[]
couchbase_xdcr_replications
变量默认是一个空列表。当指定时每个元素可用的属性如下,from_bucket
、to_bucket
和 cluster_name
属性是必需的,所有其他属性都是可选的,如果未指定,将分配默认值。附加文档
变量 | 默认 | 说明 |
---|---|---|
*from_bucket | null | 要复制数据的桶的名称。 |
*to_bucket | null | 要复制数据到的桶的名称。 |
*cluster_name | null | 要复制到的集群引用的名称。 |
filter_expression | null | 用于过滤复制流的正则表达式。 |
checkpoint_interval | 600 | 检查点之间的间隔(以秒为单位)。 |
worker_batch_size | 500 | 工作者批处理大小。 |
doc_batch_size | 2048 | 文档批处理大小(以千字节为单位)。 |
failure_restart_interval | 10 | 在发生 XDCR 连接故障时的重启间隔(以秒为单位)。 |
optimistic_replication_threshold | 256 | 用于触发乐观复制的文档主体大小阈值(以字节为单位)。 |
source_nozzle_per_node | 2 | 每个目标集群节点的源喷嘴数量。 |
target_nozzle_per_node | 2 | 每个目标集群节点的输出喷嘴数量。 |
bandwidth_usage_limit | 0 | 此复制的带宽限制(以 MB 为单位)。 |
enable_compression | true | 指定是否启用 XDCR 压缩。 |
log_level | Info | XDCR 日志级别。 |
stats_interval | 1000 | 统计更新的间隔(以毫秒为单位)。 |
priority | High | 指定复制的优先级。 |
reset_expiry | false | 当设置为 true 时,发送到目标集群的所有变更将具有过期时间设置为零。 |
filter_deletion | false | 当设置为 true 时,将不会将删除变更发送到目标集群。 |
filter_expiration | false | 当设置为 true 时,将不会将过期变更发送到目标集群。 |
示例
couchbase_xdcr_replications:
- from_bucket: beer
to_bucket: demo
cluster_name: My Cluster
couchbase_ldap
couchbase_ldap
变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档
变量 | 默认 | 说明 |
---|---|---|
hosts | [] | LDAP 主机的列表。如果为空,则未配置 LDAP |
port | 389 | LDAP 端口。 |
encryption | none | 与 LDAP 服务器通信时使用的安全性。支持的选项有:tls、startTLS、none。 |
cacert | cacert | 用于服务器证书验证的 CA 证书路径。如果未禁用证书验证,则这是必需的。 |
server_cert_validation | false | 在连接到 LDAP 服务器时启用或禁用证书验证。 |
bind_dn | null | 以某个用户身份进行身份验证的用户 DN。 |
bind_password | null | 绑定用户的密码。 |
client_cert | null | 用于绑定到 LDAP 服务器的客户端 TLS 证书。 |
client_key | null | 客户端 TLS 密钥。 |
authentication_enabled | false | 启用使用 LDAP 验证用户 |
user_dn_query | null | 获取用户 DN 的 LDAP 查询。 |
authorization_enabled | false | 启用使用 LDAP 进行用户授权 |
group_query | null | LDAP 查询,用于按用户名获取用户组。 |
max_parallel_connections | 100 | 可以与 LDAP 服务器建立的最大并行连接数。 |
max_cache_size | 10000 | 可以缓存的最大请求数,默认为 10000。 |
cache_value_lifetime | 300000 | 缓存中值的生存时间(毫秒)。默认为 300000 ms。 |
enable_nested_groups | false | 如果启用,Couchbase 服务器将尝试递归搜索每个发现的 LDAP 组。 |
nested_groups_max_depth | 10 | 允许执行的递归组请求的最大深度。 |
request_timeout | 1000 | LDAP 请求的超时(毫秒)。 |
示例
couchbase_ldap:
hosts:
- ldap.example.com
port: 389
encryption: none
server_cert_validation: false
bind_dn: uid=aaronb,ou=People,dc=example,dc=com
bind_password: password
authentication_enabled: true
user_dn_query: ou=People,dc=example,dc=com??one?(uid=%u)
authorization_enabled: true
group_query: ou=People,dc=example,dc=com?(gidNumber=5000)?one
max_parallel_connections: 100
max_cache_size: 10000
cache_value_lifetime: 300000
enable_nested_groups: true
nested_groups_max_depth: 10
couchbase_user_groups[]
couchbase_user_groups
变量默认是一个空列表。当指定时每个元素可用的属性如下,name
属性是必需的,所有其他属性是可选的,如果未指定,将分配默认值。附加文档
变量 | 默认 | 说明 |
---|---|---|
*name | null | 指定组操作的目标组 |
description | null | 指定组描述 |
ldap_ref | null | 指定 LDAP 组的可分辨名称,以将 Couchbase 组与 LDAP 组链接。 |
roles | [] | 指定要分配给 RBAC 用户配置文件的角色。 |
示例
couchbase_user_groups:
- name: Demo
description: test
roles:
- cluster_admin
- replication_admin
- name: Test
description: test
roles:
- cluster_admin
- replication_admin
- name: admins
description: test
roles:
- cluster_admin
- replication_admin
couchbase_users[]
couchbase_users
变量默认是一个空列表。当指定时每个元素可用的属性如下,name
属性是必需的,所有其他属性是可选的,如果未指定,将分配默认值。附加文档
变量 | 默认 | 说明 |
---|---|---|
username | null | 要修改的 RBAC 用户的用户名。 |
password | null | 要用于 RBAC 用户配置文件的密码。 |
name | null | 要用于 RBAC 用户配置文件的名称,建议设定为用户的全名。 |
roles | [] | 指定要分配给 RBAC 用户配置文件的角色。 |
groups | null | 指定要添加用户的组。 |
domain | local | 指定用于 RBAC 用户配置文件的 auth_domain,可以设置为 local 或 external。 |
示例
couchbase_users:
- username: aaronb
name: Aaron B
roles:
- admin
- cluster_admin
groups:
- Demo
auth_domain: external
- username: jadt
password: password
name: Jad Talbert
roles:
- admin
- cluster_admin
groups:
- Demo
- Test
auth_domain: local
couchbase_indexes[]
couchbase_indexes
变量默认是一个空列表。当指定时每个元素可用的属性如下,bucket
和 definition
属性是必需的,所有其他属性是可选的,如果未指定,将分配默认值。
变量 | 默认 | 说明 |
---|---|---|
*bucket | null | 要在其上创建索引的桶的名称 |
*definition | null | 要创建的索引定义。 |
num_replicas | null | 要创建的副本数量 |
num_partitions | null | 使用 PARTITION BY 时要创建的索引分区数量 |
nodes | [] | 要将索引部署到的节点列表 |
sec_key_size | null | 组合索引键值的平均长度 |
doc_key_size | null | 文档键的平均长度 |
arr_size | null | 数组字段的平均长度。非数组字段将被忽略。 |
num_doc | null | 预计索引中将包含的文档数量 |
resident_ratio | null | 索引的估计常驻比 |
示例
couchbase_indexes:
- bucket: demo
definition: CREATE INDEX idx_test ON demo (username)
replicas: 1
- bucket: demo
definition: CREATE INDEX idx_test2 ON demo (email)
replicas: 1
- bucket: ecommerce
definition: CREATE INDEX idx_test3 ON demo (username)
replicas: 1