
resource "aws_rds_cluster_parameter_group" "publishing_compositions_rds_cluster_parameter_group" {
  family = "aurora-mysql8.0"
  name   = "${var.environment}-${var.pub_compositions_rds_name}-aurora-mysql80"

  parameter {
    name         = "auto_increment_increment"
    value        = "10"
    apply_method = "immediate"
  }

  parameter {
    name         = "slow_query_log"
    value        = "1"
    apply_method = "immediate"
  }
}

module "publishing_compositions_rds" {
  source = "git@github.com:theorchard/terraform-rds.git//?ref=6.3.0"

  providers = {
    aws.dns = aws.networking
  }

  environment        = var.environment
  service_name       = var.pub_compositions_rds_name
  application_family = var.application_family

  rds_master_username = "publishing_compositions_admin"
  rds_master_password = "s0mePass!changme"

  rds_cluster_instance_class          = "db.t4g.medium"
  rds_cluster_instance_count          = "1"
  rds_db_cluster_parameter_group_name = aws_rds_cluster_parameter_group.publishing_compositions_rds_cluster_parameter_group.name
  rds_engine                          = "aurora-mysql"
  rds_engine_version                  = "8.0.mysql_aurora.3.08.2"
  rds_db_subnet_group_name            = "prod-orchard-private-subnet-group"
  rds_availability_zones              = ["us-east-1a", "us-east-1c"]
  rds_performance_insights_enabled    = true
  enabled_cloudwatch_logs_exports     = ["audit", "error", "general", "slowquery"]

  custom_kms_key_enabled = false

  vpc_id          = module.vpc_info.vpc_id
  route53_zone_id = data.aws_route53_zone.route53_zone.zone_id
}

module "publishing_compositions_rds_dashboard" {
  source = "git@github.com:theorchard/terraform-datadog.git//modules/rds?ref=6.10.7"

  application_family = var.application_family
  environment        = var.environment
  service_name       = var.pub_compositions_rds_name

  notification_endpoints            = var.slack_alert_channel
  escalation_notification_endpoints = var.slack_alert_channel
}
