metropolis/node/core/metrics: implement http_sd discovery endpoint
We provide prometheus metrics but dont have a way to discover all nodes,
this change implements a new http endpoint: /discovery. It implements the
http_sd api and returns all current cluster nodes including their roles as
label.
Change-Id: I931a88e2afb285482d122dd059c96f9ebfab4052
Reviewed-on: https://review.monogon.dev/c/monogon/+/1934
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/metropolis/node/core/metrics/BUILD.bazel b/metropolis/node/core/metrics/BUILD.bazel
index 3317719..9233ee2 100644
--- a/metropolis/node/core/metrics/BUILD.bazel
+++ b/metropolis/node/core/metrics/BUILD.bazel
@@ -10,9 +10,12 @@
visibility = ["//visibility:public"],
deps = [
"//metropolis/node",
+ "//metropolis/node/core/curator/proto/api",
"//metropolis/node/core/identity",
+ "//metropolis/pkg/event/memory",
"//metropolis/pkg/logtree",
"//metropolis/pkg/supervisor",
+ "//metropolis/proto/common",
],
)
@@ -27,7 +30,11 @@
deps = [
"//metropolis/cli/pkg/datafile",
"//metropolis/node",
+ "//metropolis/node/core/curator/proto/api",
+ "//metropolis/pkg/event/memory",
"//metropolis/pkg/supervisor",
+ "//metropolis/proto/common",
"//metropolis/test/util",
+ "@com_zx2c4_golang_wireguard_wgctrl//wgtypes",
],
)