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

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "dev-orcd-terraform-state"
    key     = "dev/kafka-infra/kafka-cluster-artist-diy/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

module "vpc_info" {
  source = "git@github.com:theorchard/terraform-vpc-info.git?ref=3.2.1"

  environment = var.environment
}

data "aws_vpc" "main" {
  tags = {
    Name = "dev"
  }
}

# Amazon MSK cluster
module "artist_diy_managed_cluster" {
  source = "git@github.com:theorchard/terraform-managed-kafka.git?ref=3.1.1"

  environment           = var.environment
  cluster_name          = var.service_name
  application_family    = var.application_family
  kafka_version         = "3.9.x"
  kafka_instance_type   = "kafka.t3.small"
  kafka_num_nodes       = 3
  kafka_ebs_volume_size = 500
  kafka_properties      = "kafka_properties.conf"
  vpc_id                = module.vpc_info.vpc_id
  subnet_ids            = module.vpc_info.default_private_subnet_ids

  kafka_allowed_custom_prefix_list_names = [
    "shared-orcd-atlantis-private-subnet-prefix-list",
    "shared-orcd-private-subnet-prefix-list",
  ]

  datadog_enabled = true
}

module "datadog_dashboard" {
  source       = "git@github.com:theorchard/terraform-datadog.git//modules/msk?ref=6.18.2"
  environment  = var.environment
  cluster_name = var.service_name
}
