{
  "_meta": {
    "description": "MSK cluster catalog. Each entry maps an environment + cluster to: the topics dir (relative to terraform-infra/<env>/kafka-infra/), the AKHQ connection key (akhq.connections.<key>), and the env-stripped MSK cluster name (msk_cluster_name_short).",
    "broker_resolution": "ALL connectors resolve Kafka brokers at plan time via a data source — NEVER a hardcoded broker list:\n  data \"aws_msk_cluster\" \"kafka_infra\" { cluster_name = \"${var.environment}-${var.msk_cluster_name}\" }\n  ... CONNECT_BOOTSTRAP_SERVERS = data.aws_msk_cluster.kafka_infra.bootstrap_brokers_tls\nThe template's `var.msk_cluster_name` is the env-stripped name below (msk_cluster_name_short). The `bootstrap_servers*` fields here are INFORMATIONAL only (for humans/AKHQ debugging) and are NOT injected into generated terraform.",
    "validation_note": "The data source requires the EXACT MSK cluster name (<env>-<msk_cluster_name_short>). Verified for the cdc-destination clusters; for artist-diy / db-deploy / others, confirm the real MSK cluster name before relying on the short name (a wrong name fails `terraform plan`)."
  },
  "clusters": {
    "prod-managed-kafka-cdc-destination": {
      "environment": "prod",
      "msk_cluster_name_short": "managed-kafka-cdc-destination",
      "topics_dir": "kafka-cluster/topics",
      "akhq_connection_key": "prod-cdc",
      "bootstrap_servers_informational": "b-1.prod-managed-kafka-cdc.40dsdw.c6.kafka.us-east-1.amazonaws.com:9094,b-2...,b-3... (resolved via data source at apply time)",
      "purpose": "General-purpose CDC + analytics streams"
    },
    "prod-managed-kafka-artist-diy": {
      "environment": "prod",
      "msk_cluster_name_short": "managed-kafka-artist-diy",
      "topics_dir": "kafka-cluster-artist-diy/topics",
      "akhq_connection_key": "prod-artist-diy",
      "purpose": "Artist DIY (KNR/AWAL+) account creation pipeline"
    },
    "prod-managed-kafka-db-deploy": {
      "environment": "prod",
      "msk_cluster_name_short": "managed-kafka-db-deploy",
      "topics_dir": "kafka-cluster-db-deploy/topics",
      "akhq_connection_key": "prod-db-deploy",
      "purpose": "Database deploy / schema-registry-related streams"
    },
    "qa-managed-kafka-cdc-destination": {
      "environment": "qa",
      "msk_cluster_name_short": "managed-kafka-cdc-destination",
      "topics_dir": "kafka-cluster/topics",
      "akhq_connection_key": "qa-cdc",
      "purpose": "QA general-purpose CDC + analytics streams"
    },
    "qa-managed-kafka-artist-diy": {
      "environment": "qa",
      "msk_cluster_name_short": "managed-kafka-artist-diy",
      "topics_dir": "kafka-cluster-artist-diy/topics",
      "akhq_connection_key": "qa-artist-diy",
      "purpose": "QA Artist DIY"
    },
    "dev-managed-kafka-cdc": {
      "environment": "dev",
      "msk_cluster_name_short": "managed-kafka-cdc",
      "topics_dir": "kafka-cluster/topics",
      "akhq_connection_key": "dev-cdc",
      "purpose": "Dev general-purpose"
    }
  },
  "akhq_terraform_path": {
    "description": "Path to the AKHQ main.tf per environment. The connect-list under `akhq.connections.<akhq_connection_key>.connect:` must be updated when a new connector is generated, so it shows up in AKHQ UI.",
    "prod": "terraform-infra/prod/kafka-infra/akhq/main.tf",
    "qa":   "terraform-infra/qa/kafka-infra/akhq/main.tf",
    "dev":  "terraform-infra/dev/kafka-infra/akhq/main.tf"
  },
  "default_cluster_per_environment": {
    "prod": "prod-managed-kafka-cdc-destination",
    "qa": "qa-managed-kafka-cdc-destination",
    "dev": "dev-managed-kafka-cdc"
  }
}
