locals {
  ticdc_service_additional_args = {
    imageRegistry                 = var.image_registry
    tidbImageRegistry             = var.customer_acr_login_server
    azureWorkloadIdentityClientID = module.iam.dataplane_manager_client_id
    azureWorkloadIdentityTenantID = var.customer_tenant_id
  }
}

module "ticdc_service" {
  depends_on = [module.cluster_ng_server]
  source     = "../../../modules/app"

  kubeconfig_path = module.kubeconfig.path
  workflow        = "deploy-new-region-next-gen-ticdc-service.yaml"
  parameters = {
    cloud             = "azure"
    env               = var.env
    region            = var.cloud_region
    logicalRegionName = var.logical_region_name
    cluster           = module.argocd_cluster.name
    additionalArgs    = jsonencode(local.ticdc_service_additional_args)
  }
  services = [
    {
      name      = "deploy/ticdc-service-controller"
      namespace = "ticdc-service"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    },
    {
      name      = "deploy/ticdc-service-server"
      namespace = "ticdc-service"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    }
  ]
}
