Inputs
The following input variables are supported:
arm_nodes_enabled
Description: Whether the database pods can be scheduled on arm64 nodes
Type: bool
Default: true
burstable_nodes_enabled
Description: Whether the database pods can be scheduled on burstable nodes
Type: bool
Default: true
controller_nodes_enabled
Description: Whether to allow pods to schedule on EKS Node Group nodes (controller nodes)
Type: bool
Default: false
creds_syncer_logging_enabled
Description: Whether to enable logging for the creds-syncer pods
Type: bool
Default: false
disabled_commands
Description: Commands that are disabled in Redis. This can be used to provide global protection against unsafe commands.
Type: list(string)
Default:
[ "FLUSHDB", "FLUSHALL"]helm_version
Description: The version of the bitnamilegacy/redis helm chart to use
Type: string
Default: "20.5.0"
instance_type_anti_affinity_required
Description: Whether to enable anti-affinity to prevent pods from being scheduled on the same instance type. Defaults to true iff sla_target == 3.
Type: bool
Default: null
lfu_cache_enabled
Description: Whether redis will be deployed as an LFU cache
Type: bool
Default: false
minimum_memory_mb
Description: The minimum memory in Mb to use for the redis nodes
Type: number
Default: 25
monitoring_enabled
Description: Whether to allow monitoring CRs to be deployed in the namespace
Type: bool
Default: false
namespace
Description: The namespace to deploy to the redis instances into
Type: string
Default: n/a
panfactum_scheduler_enabled
Description: Whether to use the Panfactum pod scheduler with enhanced bin-packing
Type: bool
Default: true
persistence_backups_enabled
Description: Whether to enable backups of the Redis durable storage.
Type: bool
Default: true
persistence_size_gb
Description: How many GB to initially allocate for persistent storage (will grow automatically as needed). Can not be changed after cluster creation.
Type: number
Default: 1
persistence_storage_increase_gb
Description: The amount of GB to increase storage by if free space drops below the threshold
Type: number
Default: 1
persistence_storage_increase_threshold_percent
Description: Dropping below this percent of free storage will trigger an automatic increase in storage size
Type: number
Default: 20
persistence_storage_limit_gb
Description: The maximum number of gigabytes of storage to provision for each redis node
Type: number
Default: null
pull_through_cache_enabled
Description: Whether to use the ECR pull through cache for the deployed images
Type: bool
Default: true
redis_flags
Description: Extra configuration flags to pass to each redis node
Type: list(string)
Default: []
redis_save
Description: Sets the save option for periodic snapshotting
Type: string
Default: "300 100"
replica_count
Description: The number of redis replicas to deploy
Type: number
Default: 3
spot_nodes_enabled
Description: Whether the database pods can be scheduled on spot nodes
Type: bool
Default: true
vault_credential_lifetime_hours
Description: The lifetime of database credentials generated by Vault
Type: number
Default: 16
voluntary_disruption_window_cron_schedule
Description: The times when disruption windows should start
Type: string
Default: "0 4 * * *"
voluntary_disruption_window_enabled
Description: Whether to confine voluntary disruptions of pods in this module to specific time windows
Type: bool
Default: false
voluntary_disruption_window_seconds
Description: The length of the disruption window in seconds
Type: number
Default: 3600
voluntary_disruptions_enabled
Description: Whether to enable voluntary disruptions of pods in this module.
Type: bool
Default: true
vpa_enabled
Description: Whether the VPA resources should be enabled
Type: bool
Default: true
wait
Description: Wait for resources to be in a ready state before proceeding. Disabling this flag will allow upgrades to proceed faster but will disable automatic rollbacks. As a result, manual intervention may be required for deployment failures.
Type: bool
Default: true
Outputs
The following outputs are exported:
admin_creds_secret
Description: The name of the Kubernetes Secret holding credentials for the admin role in the Redis database
admin_role
Description: The Vault role used to get admin credentials for the created Redis cluster
master_set
Description: The value for the master set to use when configuring Sentinel-aware Redis clients
match_labels
Description: A label selector that matches all Redis pods in the cluster
match_labels_master
Description: A label selector that matches only the Redis master pod in the cluster
namespace
Description: Kubernetes namespace where module resources are created
reader_creds_secret
Description: The name of the Kubernetes Secret holding credentials for the reader role in the Redis database
reader_role
Description: The Vault role used to get read-only credentials for the created Redis cluster
redis_host
Description: A service address that points to all Redis nodes
redis_host_list
Description: A list of domain names for every Redis pod in the cluster
redis_master_host
Description: A service address that points to only the writable redis master
redis_port
Description: The port that the Redis servers listen on
redis_sentinel_host
Description: A service address that points to the Redis Sentinels
redis_sentinel_port
Description: The port that the Sentinel servers listen on
root_name
Description: The name of the root user of the database
root_password
Description: The password for root user of the database
superuser_creds_secret
Description: The name of the Kubernetes Secret holding credentials for the superuser role in the Redis database
superuser_role
Description: The Vault role used to get superuser credentials for the created Redis cluster
Providers
The following providers are needed by this module: