Redis with Sentinel
This module deploys a highly-available set of Redis nodes.
This is deployed in a single master, many replica configuration. Failover is handled by Redis Sentinel which is also deployed by this module.
Extra Redis Configuration
You can add extra Redis configuration flags via the redis_flags
module variable.
These flags are passed as commandline arguments to the redis servers. This ensures they will be of the highest precedence.
For more information about passing flags through the commandline and available options, see this documentation.
Providers
The following providers are needed by this module:
-
aws (5.39.1)
-
kubernetes (2.27.0)
-
random (3.6.0)
-
vault (3.25.0)
Required Inputs
The following input variables are required:
namespace
Description: The namespace to deploy to the redis instances into
Type: string
Optional Inputs
The following input variables are optional (have default values):
burstable_instances_enabled
Description: Whether the database nodes can be scheduled on burstable instances
Type: bool
Default: false
helm_version
Description: The version of the bitnami/redis helm chart to use
Type: string
Default: "19.0.2"
minimum_memory_mb
Description: The minimum memory in Mb to use for the redis nodes
Type: number
Default: 25
persistence_enabled
Description: Whether the redis data will be stored on disk
Type: bool
Default: false
persistence_size_gb
Description: How many GB to allocate for persistent storage
Type: number
Default: 5
pull_through_cache_enabled
Description: Whether to use the ECR pull through cache for the deployed images
Type: bool
Default: false
redis_flags
Description: Extra configuration flags to pass to each redis node
Type: list(string)
Default: []
replica_count
Description: The number of redis replicas to deploy
Type: number
Default: 3
spot_instances_enabled
Description: Whether the database nodes can be scheduled on spot instances
Type: bool
Default: false
vpa_enabled
Description: Whether the VPA resources should be enabled
Type: bool
Default: false
Outputs
The following outputs are exported:
admin_role
Description: n/a
reader_role
Description: n/a
redis_host
Description: A service address that points to all redis nodes
redis_master_host
Description: A service address that points to only the writable redis master
redis_port
Description: n/a
redis_sentinel_host
Description: A service address that points to the redis sentinels
redis_sentinel_port
Description: n/a
superuser_name
Description: The name of the superuser of the database
superuser_password
Description: The password for root user of the database
superuser_role
Description: n/a
Usage
No notes