GATEWAY_API_VERSION := "v1.1.0"
PROMETHEUS_CRDS_VERSION := "main"

default:
  @just --list

modules-cluster-manifests:
  @rm -rf modules/cluster/manifests
  @mkdir -p modules/cluster/manifests
  @curl -L -o modules/cluster/manifests/gateway-api.crds.yaml \
    "https://github.com/kubernetes-sigs/gateway-api/releases/download/{{GATEWAY_API_VERSION}}/experimental-install.yaml"

module-cluster-core-manifests:
  @rm -rf modules/cluster-core/manifests
  @mkdir -p modules/cluster-core/manifests
  @curl -L -o modules/cluster-core/manifests/crd-podmonitors.yaml \
    "https://raw.githubusercontent.com/prometheus-community/helm-charts/{{PROMETHEUS_CRDS_VERSION}}/charts/kube-prometheus-stack/charts/crds/crds/crd-podmonitors.yaml"
  @curl -L -o modules/cluster-core/manifests/crd-servicemonitors.yaml \
    "https://raw.githubusercontent.com/prometheus-community/helm-charts/{{PROMETHEUS_CRDS_VERSION}}/charts/kube-prometheus-stack/charts/crds/crds/crd-servicemonitors.yaml"

destroy:
  tofu destroy -target module.cluster

apply: modules-cluster-manifests module-cluster-core-manifests
  tofu init
  tofu apply -target module.cluster
  tofu apply -target module.cluster-core
  tofu apply