# =============================================================================
# ArgoCD cluster registration (equivalent to deploy-cli RegisterK8s;
# destroy removes the cluster secret, equivalent to UnregisterK8s)
# =============================================================================

locals {
  argocd_config = jsonencode({
    execProviderConfig = {
      apiVersion = "client.authentication.k8s.io/v1beta1"
      command    = "argocd-k8s-auth"
      args = [
        "aws",
        "--cluster-name",
        local.eks.name,
      ]
      env = {
        AWS_ROLE_ARN = "arn:aws:iam::${local.o11y_account}:role/argocd-oidc-role"
      }
    }
    tlsClientConfig = {
      insecure = false
      caData   = local.eks.certificate_authority_data
    }
  })
}

module "argocd_cluster" {
  source = "../../modules/argocd_cluster"

  env    = var.env
  name   = local.cluster_name
  server = module.eks.cluster_endpoint
  data   = local.argocd_config
}
