terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "4.2.0"
    }
  }

  backend "s3" {
    profile    = "tabnews"
    region     = "sa-east-1"
    key        = "terraform.tfstate"
    encrypt    = true
    kms_key_id = "alias/production-terraform-state"
  }
}

provider "aws" {
  region  = "sa-east-1"
  profile = "tabnews"
}

module "state" {
  source      = "../modules/state"
  environment = var.environment
}

module "vpc" {
  source      = "../modules/vpc"
  environment = var.environment
}

module "database" {
  source         = "../modules/database"
  environment    = var.environment
  vpc_id         = module.vpc.vpc_id
  vpc_cidr_block = module.vpc.vpc_cidr_block
  route_table_id = module.vpc.route_table_id

  engine_version           = "14.3"
  instance_class           = "db.t4g.medium"
  allocated_storage        = 20
  max_allocated_storage    = 100
  backup_retention_period  = 7
  skip_final_snapshot      = false
  deletion_protection      = true
  delete_automated_backups = false
}
