hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 6f248a12be grafana: a forge board, honest about being an inventory board
Adds the fourth per-service board. Unlike its three siblings it answers
"what does the forge CONTAIN", not "is the forge healthy" -- forgejo's
exporter publishes a census of stored objects and no request, error or
latency series at all.

That distinction is the board's own description rather than something a
reader has to infer, because a fourth per-service board that silently
answers a different question than the other three is worse than no board:
someone checks it during an incident and reads a flat line as calm.

Panels: repositories, users, orgs, issues open/closed, releases, the
open-vs-closed pair over time, repos-and-users together (they move in
lockstep when an agent is created, so divergence is the signal),
discussion volume, and the webhook/hooktask pair.

One panel ships deliberately EMPTY: issues-by-label. The metric is
enabled in the forge's config but forgejo reads its [metrics] section at
startup, so the series does not exist until that process restarts -- and
a config merge alone does not restart it. The panel title says so, the
description says how to tell "not deployed" from "no labelled issues",
and `noValue` says it again in the graph itself. An empty panel with no
explanation is the failure this board is trying not to be.

Gated: every panel's metric confirmed to exist in the store, with a
bogus name checked absent in the same run so the check can fail, plus a
known-positive control against the label-values query itself -- a
download that silently returned nothing would otherwise report every
metric missing. Gate kept as verify-3494-forge-board.sh.
2026-08-28 13:23:25 +02:00
..
hive-c0re types: let nix own the reserved-name blacklist 2026-08-27 16:36:42 +02:00
hive-forge gateway: pin the Host header when dialing swarm services by name 2026-08-27 20:04:40 +02:00
hive-gateway gateway: move verifiedProxyTo's 42-line rationale comment to docs/gateway.md 2026-08-28 10:48:26 +02:00
lib fix(#3527): a missing source must report as zero, not as empty 2026-08-19 20:27:00 +02:00
swarm-grafana/dashboards grafana: a forge board, honest about being an inventory board 2026-08-28 13:23:25 +02:00
default.nix feat(swarm-victorialogs): a log store for the swarm 2026-08-24 16:36:18 +02:00
hive-ci.nix ci: let the runner execute what it builds 2026-08-27 14:48:47 +02:00
hive-matrix.nix forge, matrix: SSO is not optional 2026-08-24 23:06:25 +02:00
hive-network.nix docs(network): drop the otel reasoning instead of restating it 2026-08-19 02:04:57 +02:00
hive-priv.nix fix(#2573): also add /etc/tmpfiles.d to hive-priv ReadWritePaths (same EROFS class) 2026-07-18 16:39:20 +02:00
hive-tls.nix fix(#3462): apply the name check in the unit that runs on the deploy 2026-08-18 21:54:38 +02:00
hyperhive.nix refactor(nix): a hive's domain comes out of the swarm directory 2026-08-05 22:43:17 +02:00
local-defaults.nix fix(#3343): move the all-local queue derivations into the deployment mode 2026-08-16 19:37:49 +02:00
otel.nix otel: give host metrics a host identity via resourcedetection 2026-08-27 10:49:30 +02:00
stylix-theme.nix swarm-ui: apply the operator's stylix theme, same as the dashboard already does 2026-08-24 14:28:25 +02:00
swarm-authelia.nix swarm-authelia: stop answering machine callers with a 200 error page 2026-08-27 14:04:18 +02:00
swarm-ca.nix swarm-otel: collect only the units the swarm's services declare 2026-08-24 22:05:45 +02:00
swarm-container-resolver.nix fix(#3363): swarm containers write their own resolver file 2026-08-17 17:30:15 +02:00
swarm-controller.nix types: let nix own the reserved-name blacklist 2026-08-27 16:36:42 +02:00
swarm-grafana.nix grafana: a forge board, honest about being an inventory board 2026-08-28 13:23:25 +02:00
swarm-nats.nix swarm-nats: manual callout needs all four keys, not two 2026-08-24 23:06:59 +02:00
swarm-otel.nix types: let nix own the reserved-name blacklist 2026-08-27 16:36:42 +02:00
swarm-peers-removed.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm-required-services.nix feat(swarm): start the log store with the other required services 2026-08-24 17:00:38 +02:00
swarm-snapshot-store.nix refactor(#2862): keep the option at services.hyperhive.snapshotStore 2026-07-31 19:03:24 +02:00
swarm-ui.nix gateway: pin the Host header when dialing swarm services by name 2026-08-27 20:04:40 +02:00
swarm-victorialogs.nix gateway: pin the Host header when dialing swarm services by name 2026-08-27 20:04:40 +02:00
swarm-victoriametrics.nix swarm-otel: collect only the units the swarm's services declare 2026-08-24 22:05:45 +02:00
swarm-wireguard.nix docs+nix: fix stale certFingerprint/HYPERHIVE_PEERS references (hyperhive#3294) 2026-08-15 19:56:11 +02:00
swarm.nix swarm: publish an authenticated gateway vhost for VictoriaLogs 2026-08-24 18:43:26 +02:00