locals {
  victoria_metrics_operator_additional_args = {
    imageRegistry = var.image_registry
  }
}

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

  kubeconfig_path = module.kubeconfig.path
  workflow        = "deploy-new-region-next-gen-kube-prometheus.yaml"
  parameters = {
    cloud             = "azure"
    env               = var.env
    region            = var.cloud_region
    logicalRegionName = var.logical_region_name
    cluster           = module.argocd_cluster.name
  }
  services = [
    {
      name      = "deploy/kube-prometheus-stack-operator"
      namespace = "monitoring"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    },
    {
      name      = "deploy/kube-prometheus-stack-kube-state-metrics"
      namespace = "monitoring"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    }
  ]
}

module "victoria_metrics_operator" {
  depends_on = [module.external_secrets_operator]
  source     = "../../../modules/app"

  kubeconfig_path = module.kubeconfig.path
  workflow        = "deploy-new-region-next-gen-victoria-metrics-operator.yaml"
  parameters = {
    cloud             = "azure"
    env               = var.env
    region            = var.cloud_region
    logicalRegionName = var.logical_region_name
    cluster           = module.argocd_cluster.name
    additionalArgs    = jsonencode(local.victoria_metrics_operator_additional_args)
  }
  services = [
    {
      name      = "deploy/o11ystack-seed-victoria-metrics-operator"
      namespace = "monitoring"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    },
  ]
}
