Skip to content

Latest commit

 

History

History
312 lines (256 loc) · 19.8 KB

redis_enterprise_database_api.md

File metadata and controls

312 lines (256 loc) · 19.8 KB

Redis Enterprise Database API

This document describes the parameters for the Redis Enterprise Database custom resource

Note this document is auto-generated from code comments. To contribute a change please change the code comments.

Table of Contents

Objects

AzureBlobStorage

Field Description Scheme Default Value Required
absSecretName The name of the K8s secret that holds ABS credentials. The secret must contain the keys "AccountName" and "AccountKey", and these must hold the corresponding credentials string true
container Azure Blob Storage container name. string true
subdir Optional. Azure Blob Storage subdir under container. string empty false
Back to Table of Contents

BackupSpec

The various backup storage options are validated to be mutually exclusive, although for technical reasons, the relevant error is not very clear and indicates a conflict in the specified storage type.

Field Description Scheme Default Value Required
interval Backup Interval in seconds int 86400 false
ftp *FtpStorage false
s3 *S3Storage false
abs *AzureBlobStorage false
swift *SwiftStorage false
sftp *SftpStorage false
gcs *GoogleStorage false
mount *MountPointStorage false
Back to Table of Contents

BdbAlertSettingsWithThreshold

Threshold for database alert

Field Description Scheme Default Value Required
enabled Alert enabled or disabled bool true
threshold Threshold for alert going on/off string true
Back to Table of Contents

DbAlertsSettings

DbAlertsSettings An API object that represents the database alerts configuration.

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

DbModule

Redis Enterprise Module: https://redislabs.com/redis-enterprise/modules/

Field Description Scheme Default Value Required
name The module's name e.g "ft" for redissearch string true
version Module's semantic version e.g "1.6.12" string true
config Module command line arguments e.g. VKEY_MAX_ENTITY_COUNT 30 string false
Back to Table of Contents

FtpStorage

Field Description Scheme Default Value Required
url a URI of the "ftps://[USER[:PASSWORD]@]HOST[:PORT]/PATH[/]" format string true
Back to Table of Contents

GoogleStorage

GoogleStorage

Field Description Scheme Default Value Required
gcsSecretName The name of the K8s 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. string true
bucketName Google Storage bucket name. string true
subdir Optional. Google Storage subdir under bucket. string empty false
Back to Table of Contents

InternalEndpoint

Field Description Scheme Default Value Required
host Hostname assigned to the database string false
port Database port name int false
Back to Table of Contents

MountPointStorage

MountPointStorage

Field Description Scheme Default Value Required
path 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. string true
Back to Table of Contents

RedisEnterpriseConnection

Connection between a database, and Its Redis Enterprise Cluster

Field Description Scheme Default Value Required
name The name of the Redis Enterprise Cluster where the database should be stored. string true
Back to Table of Contents

RedisEnterpriseDatabase

RedisEnterpriseDatabase is the Schema for the redisenterprisedatabases API

Field Description Scheme Default Value Required
metadata metav1.ObjectMeta false
spec RedisEnterpriseDatabaseSpec false
status RedisEnterpriseDatabaseStatus false
Back to Table of Contents

RedisEnterpriseDatabaseList

RedisEnterpriseDatabaseList contains a list of RedisEnterpriseDatabase

Field Description Scheme Default Value Required
metadata metav1.ListMeta false
items []RedisEnterpriseDatabase true
Back to Table of Contents

RedisEnterpriseDatabaseSpec

RedisEnterpriseDatabaseSpec defines the desired state of RedisEnterpriseDatabase

Field Description Scheme Default Value Required
redisEnterpriseCluster Connection to Redis Enterprise Cluster *RedisEnterpriseConnection false
memorySize memory size of database. use formats like 100MB, 0.1GB. minimum value in 100MB. string 100MB false
rackAware Whether database should be rack aware. This improves availability - more information: https://docs.redislabs.com/latest/rs/concepts/high-availability/rack-zone-awareness/ *bool false
shardCount Number of database server-side shards uint16 1 false
replication In-memory database replication. When enabled, database will have replica shard for every master - leading to higher availability. *bool false false
persistence Database on-disk persistence policy *DatabasePersistence disabled false
databaseSecretName The name of the K8s secret that holds the password to the database. string false
evictionPolicy Database eviction policy. see more https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/ string volatile-lru false
tlsMode 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. string disabled false
clientAuthenticationCertificates The Secrets containing TLS Client Certificate to use for Authentication []string false
replicaSources What databases to replicate from []ReplicaSource false
alertSettings Settings for database alerts *DbAlertsSettings false
backup Target for automatic database backups. *BackupSpec false
modulesList List of modules associated with database *[]DbModule false
rolesPermissions List of Redis Enteprise ACL and Role bindings to apply []RolePermission false
defaultUser Is connecting with a default user allowed? If disabled, the DatabaseSecret will not be created or updated *bool true false
Back to Table of Contents

RedisEnterpriseDatabaseStatus

RedisEnterpriseDatabaseStatus defines the observed state of RedisEnterpriseDatabase

Field Description Scheme Default Value Required
databaseUID Database UID provided by redis enterprise string false
specStatus Whether the desired specification is valid SpecStatusName false
status The status of the database DatabaseStatus false
createdTime Time when the database was created string false
lastUpdated Time when the database was last updated string false
shardStatuses Aggregated statuses of shards map[string]uint16 false
lastActionUid UID of the last action done by operator on this database string false
lastActionStatus Status of the last action done by operator on this database string false
version Database compatibility version string false
replicaSourceStatuses ReplicaSource statuses []ReplicaSourceStatus false
internalEndpoints Endpoints listed internally by the Redis Enterprise Cluster. Can be used to correlate a ReplicaSourceStatus entry. []InternalEndpoint false
redisEnterpriseCluster The Redis Enterprise Cluster Object this Resource is associated with string false
observedGeneration The generation (built in update counter of K8s) of the REDB resource that was fully acted upon, meaning that all changes were handled and sent as an API call to the Redis Enterprise Cluster (REC). This field value should equal the current generation when the resource changes were handled. Note: the lastActionStatus field tracks actions handled asynchronously by the Redis Enterprise Cluster. int64 false
Back to Table of Contents

ReplicaSource

Field Description Scheme Default Value Required
replicaSourceType Determines what Kuberetes resource ReplicaSourceName refers to SECRET - Get URI from secret named in ReplicaSourceName. The secret will have a uri key that defines the complete, redis:// URI REDB - Determine URI from Kubernetes REDB resource named in ReplicaSourceName RepliceSourceType true
replicaSourceName Kubernetes resource (SECRET/REDB) name of type ReplicaSourceType string true
compression GZIP Compression level (0-9) to use for replication int false
clientKeySecret Secret that defines what client key to use. The secret needs 2 keys in its map, "cert" that is the PEM encoded certificate and "key" that is the PEM encoded private key *string false
serverCertSecret Secret that defines the Server's certificate. The secret needs 1 key in its map, "cert" that is the PEM encoded certificate *string false
tlsSniName TLS SNI Name to use *string false
Back to Table of Contents

ReplicaSourceStatus

Field Description Scheme Default Value Required
lag Lag in millisec between source and destination (while synced). int false
lastError Last error encountered when syncing from the source. string false
lastUpdate Time when we last receive an update from the source. string false
rdbSize The source’s RDB size to be transferred during the syncing phase. int false
rdbTransferred Number of bytes transferred from the source’s RDB during the syncing phase. int false
status Sync status of this source string false
endpointHost The internal host name of the replica source database. Can be used as an identifier. See the internalEndpoints list on the REDB status. string true
Back to Table of Contents

RolePermission

Redis Enterprise Role and ACL Binding

Field Description Scheme Default Value Required
type Type of Redis Enterprise Database Role Permission RolePermissionType true
role Role Name of RolePermissionType (note: use exact name of the role from the Redis Enterprise role list, case sensitive) string true
acl Acl Name of RolePermissionType (note: use exact name of the ACL from the Redis Enterprise ACL list, case sensitive) string true
Back to Table of Contents

S3Storage

Field Description Scheme Default Value Required
awsSecretName The name of the K8s 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. string true
bucketName Amazon S3 bucket name. string true
subdir Optional. Amazon S3 subdir under bucket. string empty false
Back to Table of Contents

SftpStorage

Field Description Scheme Default Value Required
sftpSecretName The name of the K8s secret that holds SFTP credentials. The secret must contain the "Key" key, which is the SSH private key for connecting to the sftp server. string true
sftp_url SFTP url string true
Back to Table of Contents

SwiftStorage

Field Description Scheme Default Value Required
swiftSecretName The name of the K8s 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 &,<,>,") string true
auth_url Swift service authentication URL. string true
container Swift object store container for storing the backup files. string true
prefix Optional. Prefix (path) of backup files in the swift container. string empty false
Back to Table of Contents

Enums

DatabasePersistence

Database persistence policy. see https://docs.redislabs.com/latest/rs/concepts/data-access/persistence/

Value Description
"disabled" Data is not persisted
"aofEverySecond" Data is synced to disk every second
"aofAlways" Data is synced to disk with every write.
"snapshotEvery1Hour" A snapshot of the database is created every hour
"snapshotEvery6Hour" A snapshot of the database is created every 6 hours.
"snapshotEvery12Hour" A snapshot of the database is created every 12 hours.
Back to Table of Contents

DatabaseStatus

State of the Redis Enterprise Database

Value Description
"pending" Database is pending creation
"active" Database is ready to be used
"active-change-pending" Database is ready to be used, but a change is pending
"delete-pending" Database will be deleted soon
"import-pending" Database will be imported soon
"creation-failed" Database creation has failed
"recovery" Database creation has failed
"" Database status unknown
Back to Table of Contents

RepliceSourceType

Value Description
"SECRET" Information on DB to Replicate from stored in a secret
"REDB" Replicate from a DB created via the RedisEnterpriseDatabase Controller. Note - specify only names of REDBs created on the same namespace. To configure replicaof with a database configured on another namespace, use "SECRET".
Back to Table of Contents

RolePermissionType

Value Description
"redis-enterprise" Use Roles and ACLs defined within Redis Enterprise directly
Back to Table of Contents