data "external" "metering_server_start_time" {
  program = ["bash", "-lc", "printf '{\"unix\":\"%s\"}\\n' \"$(date +%s)\""]
}

module "metering-server" {
  source = "../../../modules/app"
  depends_on = [
    module.victoria-metrics-operator,
    module.iam-dataplane-manager,
    aws_iam_role_policy.metering_read_write,
  ]

  kubeconfig_path = module.kubeconfig.path
  workflow        = "deploy-new-region-next-gen-metering-server.yaml"
  parameters = {
    env               = var.env
    cloud             = "aws"
    region            = var.aws_region
    cluster           = module.argocd_cluster.name
    logicalRegionName = var.logical_region_name
    additionalArgs = jsonencode({
      imageRegistry   = "${local.seed_account}.dkr.ecr.us-west-2.amazonaws.com"
      imageTag        = "503d43e4506024d403d9da5eb37e199737784dee"
      bucket          = aws_s3_bucket.metering.bucket
      startTime       = data.external.metering_server_start_time.result.unix
      irsaRoleArn     = module.iam-dataplane-manager.role_arn
      meteringRoleArn = aws_iam_role.metering_read_write.arn
    })
  }
  services = [
    {
      name      = "statefulset/nextgen-metering-server"
      namespace = "metering"
      wait_for  = "jsonpath='{.status.availableReplicas}'=REPLICAS"
    }
  ]
}
