provisioning/reflection/handlers/validate-observability.nu
2026-05-12 02:40:14 +01:00

30 lines
1.1 KiB
Text

#!/usr/bin/env nu
use lib/runner.nu [run-reflection-mode, print-summary-and-exit]
def main [
--workspace: string = "libre-wuji",
--kubeconfig: string = "",
--prometheus-url: string = "http://prometheus.observability.svc.cluster.local:9090",
--grafana-url: string = "http://grafana.observability.svc.cluster.local:3000",
--loki-url: string = "http://loki.observability.svc.cluster.local:3100",
--provisioning-root: string = "",
]: nothing -> nothing {
let root = if not ($provisioning_root | is-empty) {
$provisioning_root
} else {
$env | get -o PROVISIONING_ROOT | default ($env.FILE_PWD | path join ".." | path expand)
}
let results = with-env (
if not ($kubeconfig | is-empty) { { KUBECONFIG: $kubeconfig } } else { {} }
) {
run-reflection-mode $"($root)/reflection/modes/validate-observability.ncl" {
workspace: $workspace,
kubeconfig: $kubeconfig,
prometheus_url: $prometheus_url,
grafana_url: $grafana_url,
loki_url: $loki_url,
} $root
}
print-summary-and-exit $results
}