feat(#3265): feed the store from the collector, and derive the pair
Review feedback: the metrics pair had nothing writing into it, and it sat outside the switch that turns on every other swarm-wide service. The collector now exports to VictoriaMetrics as well as upstream — a fan-out, not a choice: a local store is for looking at this swarm, an upstream is for whoever aggregates across swarms. That makes a local store a complete destination on its own, so `otel.endpoint` is no longer required when it runs here; a hive with neither is still refused. The assertion only ever relaxes, so every config that evaluated before still does. `enableRequiredServices` now derives both halves, alongside matrix, authelia and nats. They derive together because a store with no UI is unreadable and a UI with no store is empty.
This commit is contained in:
parent
f6870c6a85
commit
c364d262e5
3 changed files with 82 additions and 13 deletions
|
|
@ -58,5 +58,17 @@ in
|
|||
# mode was minting the queue's callout nkeys and then never starting
|
||||
# the queue they authenticate against.
|
||||
nats.enable = lib.mkDefault swarmCfg.enableRequiredServices;
|
||||
|
||||
# The metrics pair. Once per swarm and optional, so they meet the rule
|
||||
# in the option's description the same way the three above do — a hive
|
||||
# that is not the service host is a *client* of this Grafana, not a
|
||||
# second one.
|
||||
#
|
||||
# They derive together on purpose: a store with no UI is unreadable and
|
||||
# a UI with no store is empty, so there is no sensible deployment that
|
||||
# takes one and not the other from this switch. An operator who wants
|
||||
# exactly one still sets it directly, which `mkDefault` allows.
|
||||
victoriametrics.enable = lib.mkDefault swarmCfg.enableRequiredServices;
|
||||
grafana.enable = lib.mkDefault swarmCfg.enableRequiredServices;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue