# Mattermost DB

#############
# RDS Aurora
#############

data aws_secretsmanager_secret mattermost-ex-dbpassword {
  name = "mattermost-ex-dbpassword"
}

data aws_secretsmanager_secret_version mattermost-ex-dbpassword {
  secret_id = data.aws_secretsmanager_secret.mattermost-ex-dbpassword.id
}

module "aurora_ex" {
  version                         = "~> 2.29.0"
  source                          = "terraform-aws-modules/rds-aurora/aws"
  name                            = "mattermostdb-ex"
  database_name                   = "mattermost"
  username                        = "mattermost"
  password                        = data.aws_secretsmanager_secret_version.mattermost-ex-dbpassword.secret_string
  engine                          = "aurora-mysql"
  engine_version                  = "8.0.mysql_aurora.3.04.1"
  subnets                         = flatten([module.network.private_subnets])
  vpc_id                          = module.network.vpc_id
  vpc_security_group_ids          = [aws_security_group.app_servers.id]
  replica_count                   = 1
  instance_type                   = "db.t3.medium"
  apply_immediately               = true
  skip_final_snapshot             = true
  enabled_cloudwatch_logs_exports = ["audit", "error", "general", "slowquery"]
  deletion_protection             = true
  backup_retention_period         = 30
  tags                            = {
    "Name"        = "mattermostDB"
    "cost_environment" = "non-production"
    "cost_category" = "CORP"
    "cost_team_owner" = "CUST"
  }

}


output aurora_ex_cluster_endpoint {
  value = module.aurora_ex.this_rds_cluster_endpoint
}
