variable "environment" {
  default = "prod"
}

variable "service_name" {
  default = "integrations"
}

provider "aws" {
  region = "us-east-1"
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "orcd-terraform-state"
    key     = "prod/integrations/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

data "aws_secretsmanager_secret" "rds_master_username" {
  name = "${var.environment}/${var.service_name}/rds_master_username"
}

data "aws_secretsmanager_secret_version" "rds_master_username" {
  secret_id = data.aws_secretsmanager_secret.rds_master_username.id
}

data "aws_secretsmanager_secret" "rds_master_password" {
  name = "${var.environment}/${var.service_name}/rds_master_password"
}

data "aws_secretsmanager_secret_version" "rds_master_password" {
  secret_id = data.aws_secretsmanager_secret.rds_master_password.id
}

module "rds_cluster" {
  source = "git@github.com:theorchard/terraform-rds//"

  environment                      = var.environment
  rds_engine                       = "aurora-mysql"
  rds_engine_version               = "5.7.mysql_aurora.2.04.6"
  rds_performance_insights_enabled = "false"
  service_name                     = var.service_name
  rds_cluster_instance_class       = "db.t3.medium"
  rds_vpc_security_group_ids       = ["sg-21f1ed44"]
  rds_cluster_instance_count       = "1"
  rds_db_subnet_group_name         = "prod-orchard-private-subnet-group"
  rds_availability_zones           = ["us-east-1a", "us-east-1c"]
  rds_master_username              = data.aws_secretsmanager_secret_version.rds_master_username.secret_string
  rds_master_password              = data.aws_secretsmanager_secret_version.rds_master_password.secret_string
}
