module "cert-manager" {
  source = "../../modules/app"

  kubeconfig_path = module.kubeconfig.path
  workflow        = "deploy-new-region-next-gen-cert-manager.yaml"
  parameters = {
    env               = var.env
    logicalRegionName = var.logical_region_name
    cluster           = module.argocd_cluster.name
    region            = var.aws_region
    cloud             = "aws"
    awsIrsaRoleArn    = module.iam-cert-manager.role_arn
  }
  services = [
    {
      name      = "deploy/cert-manager"
      namespace = "cert-manager"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    }
  ]
}

module "issuers" {
  source = "../../modules/app"

  depends_on = [module.cert-manager]

  kubeconfig_path = module.kubeconfig.path
  workflow        = "deploy-new-region-next-gen-issuers.yaml"
  parameters = {
    env               = var.env
    logicalRegionName = var.logical_region_name
    cluster           = module.argocd_cluster.name
    region            = var.aws_region
    cloud             = "aws"
    additionalArgs = jsonencode({
      dnsZone      = local.hosted_zone_name
      hostedZoneID = local.hosted_zone_id
    })
  }
  services = [
    {
      name     = "ClusterIssuer/letsencrypt-issuer"
      wait_for = "condition=Ready"
    }
  ]
}
