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

terraform {
  backend "s3" {
    bucket         = "orcd-terraform-state"
    key            = "prod/terraform-managed-kafka-neo4j-streams/terraform.tfstate"
    region         = "us-east-1"
    encrypt        = "true"
    dynamodb_table = "terraform-prod-managed-kafka-neo4j-streams"
  }
}

module "managed_kafka" {
  source = "git@github.com:theorchard/terraform-managed-kafka.git"

  environment      = "prod"
  cluster_name     = "managed-kafka-neo4j-streams"
  kafka_properties = "kafka_properties.conf"
  aws_subnet_ids = [
    "subnet-067a6b45b079d7296",
    "subnet-043d235081c966332",
    "subnet-cb4dbae0"
  ]
  vpc_id = "vpc-7f0e841a"
}

module "kafka_topics" {
  source = "../modules/kafka_provisioner"

  bootstrap_broker_tls = split(",", module.managed_kafka.bootstrap_brokers_tls)[0]
  kafka_topics         = "maxwell_art_relations_neo4j_dlq,maxwell_art_relations_neo4j_ddl,maxwell_art_relations_artist_info,maxwell_art_relations_multi_table"
  kafka_partitions     = 3
  kafka_replication    = 3
}

module "datadog_dashboard" {
  source       = "git@github.com:theorchard/terraform-datadog.git//modules/msk"
  environment  = "prod"
  cluster_name = "managed-kafka-neo4j-streams"
}
