chore(elasticache): add serverless redis (#5943)

This commit is contained in:
Piyush Jain
2025-06-09 12:31:51 +05:30
committed by GitHub
parent f2dae67813
commit eb4b2dde05
3 changed files with 51 additions and 5 deletions

View File

@@ -89,3 +89,50 @@ module "valkey" {
tags = local.tags_map[each.key]
}
module "elasticache_user_group" {
for_each = local.envs
source = "terraform-aws-modules/elasticache/aws//modules/user-group"
version = "1.4.1"
user_group_id = "${each.value}-valkey"
create_default_user = false
default_user = {
user_id = each.value
passwords = [random_password.valkey[each.key].result]
}
users = {
"${each.value}" = {
access_string = "on ~* +@all"
passwords = [random_password.valkey[each.key].result]
}
}
engine = "redis"
tags = merge(local.tags, {
terraform-aws-modules = "elasticache"
})
}
module "valkey_serverless" {
for_each = local.envs
source = "terraform-aws-modules/elasticache/aws//modules/serverless-cache"
version = "1.4.1"
engine = "valkey"
cache_name = "${each.value}-valkey-serverless"
major_engine_version = local.valkey_major_version
# cache_usage_limits = {
# data_storage = {
# maximum = 2
# }
# ecpu_per_second = {
# maximum = 1000
# }
# }
subnet_ids = module.vpc.database_subnets
security_group_ids = [
module.valkey_sg.security_group_id
]
user_group_id = module.elasticache_user_group[each.key].group_id
}

View File

@@ -3,7 +3,7 @@
################################################################################
data "aws_rds_engine_version" "postgresql" {
engine = "aurora-postgresql"
version = "16.4"
version = "16.6"
}
moved {
@@ -64,9 +64,8 @@ module "rds-aurora" {
enable_http_endpoint = true
serverlessv2_scaling_configuration = {
min_capacity = 0
max_capacity = 50
seconds_until_auto_pause = 3600
min_capacity = 0.5
max_capacity = 50
}
instance_class = "db.serverless"

View File

@@ -18,7 +18,7 @@ resource "aws_secretsmanager_secret_version" "formbricks_app_secrets" {
for_each = local.envs
secret_id = aws_secretsmanager_secret.formbricks_app_secrets[each.key].id
secret_string = jsonencode({
REDIS_URL = "rediss://:${random_password.valkey[each.key].result}@${module.valkey[each.key].replication_group_primary_endpoint_address}:6379"
REDIS_URL = "rediss://${each.value}:${random_password.valkey[each.key].result}@${module.valkey_serverless[each.key].serverless_cache_endpoint[0].address}:6379"
})
}