RedisEnterpriseActiveActiveDatabase API Reference

Redis Enterprise for Kubernetes

apiVersion:

app.redislabs.com/v1alpha1

The schema for the redisenterpriseactiveactivedatabase API.

Name Type Description Required
apiVersion string app.redislabs.com/v1alpha1 true
kind string RedisEnterpriseActiveActiveDatabase true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object Defines the desired state of RedisEnterpriseActiveActiveDatabase.
false
status object Defines the observed state of RedisEnterpriseActiveActiveDatabase.
false

spec

↩ Parent

Defines the desired state of RedisEnterpriseActiveActiveDatabase.

Name Type Description Required
participatingClusters []object List of participating cluster specifications and configurations.
true
globalConfigurations object Global configurations for the Active-Active database. Contains the global properties for each participating cluster database within the Active-Active database.
false
redisEnterpriseCluster object Connection to the Redis Enterprise Cluster.
false

spec.participatingClusters[]

↩ Parent

Specifies the configuration for a participating cluster in the Active-Active database.

Name Type Description Required
name string Name of the remote cluster custom resource to link.
true
externalReplicationPort integer Port number for the replication endpoint. Use this field when you use LoadBalancers for synchronization between Active-Active replicas and need to specify the port number that the LoadBalancer listens on.
false
namespace string Namespace where the REAADB object is deployed within the corresponding participating cluster. Ensure that the Redis Enterprise operator is configured to watch this namespace in the corresponding cluster and that the required RBAC configuration is properly set up. For more information about setting up multiple namespaces, see https://redis.io/docs/latest/operate/kubernetes/re-clusters/multi-namespace/. If you don't specify a namespace, the REAADB is deployed to the REC's namespace in the corresponding cluster.
false

spec.globalConfigurations

↩ Parent

Global configurations for the Active-Active database. Contains the global properties for each participating cluster database within the Active-Active database.

Name Type Description Required
activeActive object Connection/ association to the Active-Active database.
false
alertSettings object Settings for database alerts.
false
auditing object Database auditing configuration.
false
backup object Target for automatic database backups.
false
clientAuthenticationCertificates []string The Secrets containing TLS Client Certificate to use for Authentication
false
connectionSettings object Connection-related settings such as proxy connections and scheduling policy.
false
dataInternodeEncryption boolean Internode encryption (INE) setting. An optional boolean setting, overriding a similar cluster-wide policy. If set to False, INE is guaranteed to be turned off for this DB (regardless of cluster-wide policy). If set to True, INE will be turned on, unless the capability is not supported by the DB ( in such a case we will get an error and database creation will fail). If left unspecified, will be disabled if internode encryption is not supported by the DB (regardless of cluster default). Deleting this property after explicitly setting its value shall have no effect.
false
databasePort integer Database port number. TCP port on which the database is available. Will be generated automatically if omitted. can not be changed after creation
false
databaseSecretName string The name of the secret that holds the password to the database (redis databases only). If secret does not exist, it will be created. To define the password, create an opaque secret and set the name in the spec. The password will be taken from the value of the 'password' key. Use an empty string as value within the secret to disable authentication for the database. Notes - For Active-Active databases this secret will not be automatically created, and also, memcached databases must not be set with a value, and a secret/password will not be automatically created for them. Use the memcachedSaslSecretName field to set authentication parameters for memcached databases.
false
databaseServicePort integer A custom port to be exposed by the database services. Can be be modified/added/removed after REDB creation. If set, it'll replace the default service port (namely, databasePort or defaultRedisPort).
false
defaultUser boolean Is connecting with a default user allowed? If disabled, the DatabaseSecret will not be created or updated
false
evictionPolicy string Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/
false
isRof boolean Whether it is an RoF database or not. Applicable only for databases of type "REDIS". Assumed to be false if left blank.
false
memcachedSaslSecretName string Credentials used for binary authentication in memcached databases. The credentials should be saved as an opaque secret and the name of that secret should be configured using this field. For username, use 'username' as the key and the actual username as the value. For password, use 'password' as the key and the actual password as the value. Note that connections are not encrypted.
false
memorySize string memory size of database. use formats like 100MB, 0.1GB. minimum value in 100MB. When redis on flash (RoF) is enabled, this value refers to RAM+Flash memory, and it must not be below 1GB.
false
modulesList []object List of modules associated with the database. The list of valid modules for the specific cluster can be retrieved from the status of the REC object. Use the "name" and "versions" fields for the specific module configuration. If specifying an explicit version for a module, automatic modules versions upgrade must be disabled by setting the '.upgradeSpec.upgradeModulesToLatest' field in the REC to 'false'. Note that the option to specify module versions is deprecated, and will be removed in future releases.
false
ossCluster boolean OSS Cluster mode option. Note that not all client libraries support OSS cluster mode.
false
ossClusterSettings object Additional OSS cluster settings that may be provided to tweak OSS cluster behavior.
false
persistence enum Database on-disk persistence policy

Enum: disabled, aofEverySecond, aofAlways, snapshotEvery1Hour, snapshotEvery6Hour, snapshotEvery12Hour
false
proxyPolicy string The policy used for proxy binding to the endpoint. Supported proxy policies are: single/all-master-shards/all-nodes When left blank, the default value will be chosen according to the value of ossCluster - single if disabled, all-master-shards when enabled
false
rackAware boolean Whether database should be rack aware. This improves availability - more information: https://docs.redislabs.com/latest/rs/concepts/high-availability/rack-zone-awareness/
false
redisEnterpriseCluster object Connection to Redis Enterprise Cluster
false
redisVersion string Redis OSS version. Version can be specified via prefix, or via channels - for existing databases - Upgrade Redis OSS version. For new databases - the version which the database will be created with. If set to 'major' - will always upgrade to the most recent major Redis version. If set to 'latest' - will always upgrade to the most recent Redis version. Depends on 'redisUpgradePolicy' - if you want to set the value to 'latest' for some databases, you must set redisUpgradePolicy on the cluster before. Possible values are 'major' or 'latest' When using upgrade - make sure to backup the database before. This value is used only for database type 'redis'. Note - Specifying Redis version is currently not supported for Active-Active database.
false
replicaSources []object What databases to replicate from
false
replication boolean In-memory database replication. When enabled, database will have replica shard for every master - leading to higher availability. Defaults to false.
false
resp3 boolean Whether this database supports RESP3 protocol. Note - Deleting this property after explicitly setting its value shall have no effect. Please view the corresponding field in RS doc for more info.
false
rofRamRatio integer RAM allocation ratio for Redis Flex (v2) databases as a percentage of total data size. Valid range 0-100. When omitted, RS uses the default value of 50%. Controls how much RAM is allocated per unit of data (e.g., 30% means 3MB RAM per 10MB data). RAM grows proportionally with data until rofRamSize limit is reached (if specified). Only applicable when isRof=true and Redis version >= 8.0 (BigStore v2 - Redis Flex).

Minimum: 0
Maximum: 100
false
rofRamSize string The size of the RAM portion of an RoF database. Similarly to "memorySize" use formats like 100MB, 0.1GB It must be at least 10% of combined memory size (RAM+Flash), as specified by "memorySize".
false
rolesPermissions []object List of Redis Enteprise ACL and Role bindings to apply
false
searchOnBigstore boolean Enables search module indexing on flash storage for Redis Flex (v2) databases. Only applicable when isRof=true and Redis version >= 8.6. Defaults to false.
false
shardCount integer Number of database server-side shards
false
shardingEnabled boolean Toggles database sharding for REAADBs (Active Active databases) and enabled by default. This field is blocked for REDB (non-Active Active databases) and sharding is toggled via the shardCount field - when shardCount is 1 this is disabled otherwise enabled.
false
shardsPlacement string Control the density of shards - should they reside on as few or as many nodes as possible. Available options are "dense" or "sparse". If left unset, defaults to "dense".
false
tlsMode enum Require SSL authenticated and encrypted connections to the database. enabled - all incoming connections to the Database must use SSL. disabled - no incoming connection to the Database should use SSL. replica_ssl - databases that replicate from this one need to use SSL.

Enum: disabled, enabled, replica_ssl
false
type enum The type of the database.

Enum: redis, memcached
false
upgradeSpec object Specifications for DB upgrade.
false

spec.globalConfigurations.activeActive

↩ Parent

Connection/ association to the Active-Active database.

Name Type Description Required
name string The the corresponding Active-Active database name, Redis Enterprise Active Active Database custom resource name, this Resource is associated with. In case this resource is created manually at the active active database creation this field must be filled via the user, otherwise, the operator will assign this field automatically. Note: this feature is currently unsupported.
true
participatingClusterName string The corresponding participating cluster name, Redis Enterprise Remote Cluster custom resource name, in the Active-Active database, In case this resource is created manually at the active active database creation this field must be filled via the user, otherwise, the operator will assign this field automatically. Note: this feature is currently unsupported.
true

spec.globalConfigurations.alertSettings

↩ Parent

Settings for database alerts.

Name Type Description Required
bdb_backup_delayed object Periodic backup has been delayed for longer than specified threshold value [minutes]
false
bdb_crdt_src_high_syncer_lag object Active-active source - sync lag is higher than specified threshold value [seconds]
false
bdb_crdt_src_syncer_connection_error object Active-active source - sync has connection error while trying to connect replica source
false
bdb_crdt_src_syncer_general_error object Active-active source - sync encountered in general error
false
bdb_high_latency object Latency is higher than specified threshold value [micro-sec]
false
bdb_high_throughput object Throughput is higher than specified threshold value [requests / sec.]
false
bdb_long_running_action object An alert for state-machines that are running for too long
false
bdb_low_throughput object Throughput is lower than specified threshold value [requests / sec.]
false
bdb_proxy_cert_expiring_soon object Proxy certificate will expire in less than specified threshold value [days]
false
bdb_ram_dataset_overhead object Dataset RAM overhead of a shard has reached the threshold value [% of its RAM limit]
false
bdb_ram_values object Percent of values kept in a shard's RAM is lower than [% of its key count]
false
bdb_replica_src_high_syncer_lag object Replica-of source - sync lag is higher than specified threshold value [seconds]
false
bdb_replica_src_syncer_connection_error object Replica-of source - sync has connection error while trying to connect replica source
false
bdb_shard_num_ram_values object Number of values kept in a shard's RAM is lower than [values]
false
bdb_size object Dataset size has reached the threshold value [% of the memory limit]
false

spec.globalConfigurations.alertSettings.bdb_backup_delayed

↩ Parent

Periodic backup has been delayed for longer than specified threshold value [minutes]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_crdt_src_high_syncer_lag

↩ Parent

Active-active source - sync lag is higher than specified threshold value [seconds]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_crdt_src_syncer_connection_error

↩ Parent

Active-active source - sync has connection error while trying to connect replica source

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_crdt_src_syncer_general_error

↩ Parent

Active-active source - sync encountered in general error

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_high_latency

↩ Parent

Latency is higher than specified threshold value [micro-sec]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_high_throughput

↩ Parent

Throughput is higher than specified threshold value [requests / sec.]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_long_running_action

↩ Parent

An alert for state-machines that are running for too long

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_low_throughput

↩ Parent

Throughput is lower than specified threshold value [requests / sec.]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_proxy_cert_expiring_soon

↩ Parent

Proxy certificate will expire in less than specified threshold value [days]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_ram_dataset_overhead

↩ Parent

Dataset RAM overhead of a shard has reached the threshold value [% of its RAM limit]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_ram_values

↩ Parent

Percent of values kept in a shard's RAM is lower than [% of its key count]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_replica_src_high_syncer_lag

↩ Parent

Replica-of source - sync lag is higher than specified threshold value [seconds]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_replica_src_syncer_connection_error

↩ Parent

Replica-of source - sync has connection error while trying to connect replica source

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_shard_num_ram_values

↩ Parent

Number of values kept in a shard's RAM is lower than [values]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.alertSettings.bdb_size

↩ Parent

Dataset size has reached the threshold value [% of the memory limit]

Name Type Description Required
enabled boolean Alert enabled or disabled
true
threshold string Threshold for alert going on/off
true

spec.globalConfigurations.auditing

↩ Parent

Database auditing configuration.

Name Type Description Required
dbConnsAuditing boolean Enables auditing of database connection and authentication events. When enabled, connection, authentication, and disconnection events are tracked and sent to the configured audit listener (configured at the cluster level). The cluster-level auditing configuration must be set before enabling this on a database.
false

spec.globalConfigurations.backup

↩ Parent

Target for automatic database backups.

Name Type Description Required
abs object
false
ftp object
false
gcs object GoogleStorage
false
interval integer Backup Interval in seconds. Specifies the time interval in seconds at which periodic backup is performed.
false
intervalOffset integer Backup Interval Offset in seconds. Specifies a time offset in seconds at which the periodic backup job starts. This can only be used if the backup interval is 24 hours (86400 seconds) or 12 hours (43200 seconds). The offset is relative to 00:00 UTC for 24-hour mode, and 00:00 + 12:00 UTC for 12-hour mode. If not specified, a random starting time (offset) is automatically chosen. The offset must be less than the backup interval.
false
mount object MountPointStorage
false
s3 object
false
sftp object
false
swift object
false

spec.globalConfigurations.backup.abs

↩ Parent

Name Type Description Required
absSecretName string The name of the secret that holds ABS credentials. The secret must contain the keys "AccountName" and "AccountKey", and these must hold the corresponding credentials
true
container string Azure Blob Storage container name.
true
subdir string Optional. Azure Blob Storage subdir under container.
false

spec.globalConfigurations.backup.ftp

↩ Parent

Name Type Description Required
url string a URI of the "ftps://[USER[:PASSWORD]@]HOST[:PORT]/PATH[/]" format
true

spec.globalConfigurations.backup.gcs

↩ Parent

GoogleStorage

Name Type Description Required
bucketName string Google Storage bucket name.
true
gcsSecretName string The name of the secret that holds the Google Cloud Storage credentials. The secret must contain the keys "CLIENT_ID", "PRIVATE_KEY", "PRIVATE_KEY_ID", "CLIENT_EMAIL" and these must hold the corresponding credentials. The keys should correspond to the values in the key JSON.
true
subdir string Optional. Google Storage subdir under bucket.
false

spec.globalConfigurations.backup.mount

↩ Parent

MountPointStorage

Name Type Description Required
path string Path to the local mount point. You must create the mount point on all nodes, and the redislabs:redislabs user must have read and write permissions on the local mount point.
true

spec.globalConfigurations.backup.s3

↩ Parent

Name Type Description Required
awsSecretName string The name of the secret that holds the AWS credentials. The secret must contain the keys "AWS_ACCESS_KEY_ID" and "AWS_SECRET_ACCESS_KEY", and these must hold the corresponding credentials.
true
bucketName string Amazon S3 bucket name.
true
regionName string Optional. Amazon S3 region name. If not specified, the region is auto-detected using a HEAD request to the bucket. For AWS GovCloud or other regions where auto-detection may not work, specify the region explicitly (e.g., "us-gov-east-1").
false
subdir string Optional. Amazon S3 subdir under bucket.
false

spec.globalConfigurations.backup.sftp

↩ Parent

Name Type Description Required
sftpSecretName string The name of the secret that holds SFTP credentials. The secret must contain the "Key" key, which is the SSH private key for connecting to the sftp server.
true
sftp_url string SFTP url
true

spec.globalConfigurations.backup.swift

↩ Parent

Name Type Description Required
auth_url string Swift service authentication URL.
true
container string Swift object store container for storing the backup files.
true
swiftSecretName string The name of the secret that holds Swift credentials. The secret must contain the keys "Key" and "User", and these must hold the corresponding credentials: service access key and service user name (pattern for the latter does not allow special characters &,<,>,")
true
prefix string Optional. Prefix (path) of backup files in the swift container.
false

spec.globalConfigurations.connectionSettings

↩ Parent

Connection-related settings such as proxy connections and scheduling policy.

Name Type Description Required
connectionLimitType enum Connections limit type.

Enum: per-thread, per-shard
false
connectionSchedulingPolicy enum Controls how server-side connections are used when forwarding traffic to shards. Values: cmp: Closest to max_pipelined policy. Pick the connection with the most pipelined commands that has not reached the max_pipelined limit. mru: Try to use most recently used connections. spread: Try to use all connections. mnp: Minimal pipeline policy. Pick the connection with the least pipelined commands.

Enum: cmp, mru, spread, mnp
false
globalMaxDedicatedConnections integer Defines the maximum number of dedicated server connections for a given database. The total number across all workers. The default is 0 for unlimited. Defaults to 0, which means unlimited.
false
internalConnections integer The number of internal proxy connections. Defaults to 5 if unspecified.
false
minDedicatedConnections integer Number of dedicated server connections the DMC has per worker per shard. Defaults to 2 if unspecified.
false

spec.globalConfigurations.modulesList[]

↩ Parent

Redis Enterprise module (see https://redis.io/docs/latest/develop/reference/modules/)

Name Type Description Required
name string The name of the module, e.g. "search" or "ReJSON". The complete list of modules available in the cluster can be retrieved from the '.status.modules' field in the REC.
true
config string Module command line arguments e.g. VKEY_MAX_ENTITY_COUNT 30 30
false
version string The semantic version of the module, e.g. '1.6.12'. Optional for REDB, must be set for REAADB. Note that this field is deprecated, and will be removed in future releases.
false

spec.globalConfigurations.ossClusterSettings

↩ Parent

Additional OSS cluster settings that may be provided to tweak OSS cluster behavior.

Name Type Description Required
enableExternalAccess boolean Toggles whether this database supports external access in OSS cluster mode. When enabled, advertised database topology includes the external endpoints for the Redis Enterprise nodes hosting the database shards. The external access mechanism (e.g., LoadBalancer services) is configured via the ossClusterSettings.externalAccessType field of the RedisEnterpriseCluster. When external access is enabled, the corresponding database secret will have the list of primary shard IPs in the oss_startup_nodes field. Currently enabling OSS cluster API in conjunction with external access is not supported for active active databases.
false

spec.globalConfigurations.redisEnterpriseCluster

↩ Parent

Connection to Redis Enterprise Cluster

Name Type Description Required
name string The name of the Redis Enterprise Cluster where the database should be stored.
true

spec.globalConfigurations.replicaSources[]

↩ Parent

Name Type Description Required
replicaSourceName string The name of the resource from which the source database URI is derived. The type of resource must match the type specified in the ReplicaSourceType field.
true
replicaSourceType string The type of resource from which the source database URI is derived. If set to 'SECRET', the source database URI is derived from the secret named in the ReplicaSourceName field. The secret must have a key named 'uri' that defines the URI of the source database in the form of 'redis://...'. The type of secret (kubernetes, vault, ...) is determined by the secret mechanism used by the underlying REC object. If set to 'REDB', the source database URI is derived from the RedisEnterpriseDatabase resource named in the ReplicaSourceName field.
true
clientKeySecret string Secret that defines the client certificate and key used by the syncer in the target database cluster. The secret must have 2 keys in its map: "cert" which is the PEM encoded certificate, and "key" which is the PEM encoded private key.
false
compression integer GZIP compression level (0-6) to use for replication.
false
serverCertSecret string Secret that defines the server certificate used by the proxy in the source database cluster. The secret must have 1 key in its map: "cert" which is the PEM encoded certificate.
false
tlsSniName string TLS SNI name to use for the replication link.
false

spec.globalConfigurations.rolesPermissions[]

↩ Parent

Redis Enterprise Role and ACL Binding

Name Type Description Required
acl string Acl Name of RolePermissionType (note: use exact name of the ACL from the Redis Enterprise ACL list, case sensitive)
true
role string Role Name of RolePermissionType (note: use exact name of the role from the Redis Enterprise role list, case sensitive)
true
type enum Type of Redis Enterprise Database Role Permission. Currently, only "redis-enterprise" is supported, which uses roles and ACLs defined within Redis Enterprise directly.

Enum: redis-enterprise
Default: redis-enterprise
true

spec.globalConfigurations.upgradeSpec

↩ Parent

Specifications for DB upgrade.

Name Type Description Required
upgradeModulesToLatest boolean Upgrades the modules to the latest version that supports the DB version during a DB upgrade action, to upgrade the DB version view the 'redisVersion' field. Note - This field is currently not supported for Active-Active databases.
true

spec.redisEnterpriseCluster

↩ Parent

Connection to the Redis Enterprise Cluster.

Name Type Description Required
name string The name of the Redis Enterprise Cluster where the database should be stored.
true

status

↩ Parent

Defines the observed state of RedisEnterpriseActiveActiveDatabase.

Name Type Description Required
clusterCertificatesGeneration integer Certificate generation number from the participating cluster's REC.Status.CertificatesStatus.Generation. The operator monitors this field to detect when proxy or syncer certificates are updated on the local participating cluster. When the operator detects a change, it automatically runs a CRDB force update (equivalent to 'crdb-cli crdb update --force'), which synchronizes the certificate changes to all participating clusters and prevents sync issues. This eliminates the manual step of running crdb-cli commands when you rotate certificates in Active-Active deployments on Kubernetes.

Format: int64
false
guid string GUID of the Active-Active database.
false
lastTaskUid string UID of the last Active-Active database task.
false
linkedRedbs []string List of linked REDBs.
false
participatingClusters []object List of participating cluster statuses.
false
redisEnterpriseCluster string Name of the Redis Enterprise Cluster that this resource is associated with.
false
replicationStatus enum Overall replication status.

Enum: up, down
false
secretsStatus []object Status of the secrets.
false
specStatus string Indicates whether the desired specification is valid.
false
status string Status of the Active-Active database. This status doesn't include the replication link (data path) status. To view the replication link status, see the ReplicationStatus field or status.replicationStatus on the custom resource.
false

status.participatingClusters[]

↩ Parent

The status of a participating cluster.

Name Type Description Required
name string Name of the linked remote cluster custom resource.
true
id integer ID of the instance in the Active-Active database.

Format: int64
false
replicationStatus enum Replication status of the participating cluster.

Enum: up, down
false

status.secretsStatus[]

↩ Parent

The status of a secret.

Name Type Description Required
name string Name of the secret.
true
status enum Status of the secret.

Enum: Valid, Invalid
false
RATE THIS PAGE
Back to top ↑