move the small per-service host options to deploy.<service>
This commit is contained in:
parent
400fdd7f0e
commit
525de62b06
1 changed files with 407 additions and 251 deletions
|
|
@ -109,9 +109,9 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
# What the store IS from any hive's point of view, the name it answers on and
|
||||
# the port, is `swarm.victorialogs` in ./swarm-victorialogs-service.nix.
|
||||
# `enable`, `package` and `retentionPeriod` are decisions of the host that
|
||||
# What the store IS from any hive's point of view, the name it answers on, is
|
||||
# `swarm.victorialogs` in ./swarm-victorialogs-service.nix.
|
||||
# `enable`, `package`, `port` and `retentionPeriod` are decisions of the host that
|
||||
# runs it and live under `deploy.*`.
|
||||
|
||||
# Retention is a property of the store this host runs, not something the
|
||||
|
|
@ -126,6 +126,22 @@ in
|
|||
description = "VictoriaLogs package to run.";
|
||||
};
|
||||
|
||||
options.services.hyperhive.deploy.victorialogs.port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 9428;
|
||||
description = ''
|
||||
Loopback port the store listens on. Upstream's default, kept
|
||||
because there is no reason to move it and a familiar number is
|
||||
one less thing an operator has to look up.
|
||||
|
||||
⚠️ Every swarm container shares the host's network namespace, so
|
||||
this is a swarm-wide claim rather than a per-container one — two
|
||||
modules picking the same number collide at runtime with no bind
|
||||
error and nothing in any log. No repo-wide
|
||||
check catches it.
|
||||
'';
|
||||
};
|
||||
|
||||
options.services.hyperhive.deploy.victorialogs.retentionPeriod = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "30d";
|
||||
|
|
@ -274,8 +290,8 @@ in
|
|||
assertion =
|
||||
!(lib.elem forwarderTelemetryPort [
|
||||
hyperhiveCfg.otel.telemetryPort
|
||||
hyperhiveCfg.swarm.bao.otel.telemetryPort
|
||||
hyperhiveCfg.swarm.nats.otel.telemetryPort
|
||||
hyperhiveCfg.deploy.bao.otel.telemetryPort
|
||||
hyperhiveCfg.deploy.nats.otel.telemetryPort
|
||||
]);
|
||||
message = ''
|
||||
The log store's journal forwarder's telemetry port (${toString forwarderTelemetryPort})
|
||||
|
|
@ -334,7 +350,7 @@ in
|
|||
forceSSL = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:${toString cfg.port}/";
|
||||
proxyPass = "http://127.0.0.1:${toString deployCfg.victorialogs.port}/";
|
||||
extraConfig = swarmAuthRequest;
|
||||
};
|
||||
|
||||
|
|
@ -353,7 +369,7 @@ in
|
|||
# note on `swarmAuthRequest` above), so naming it here is required
|
||||
# rather than redundant.
|
||||
"= /insert/opentelemetry/v1/logs" = {
|
||||
proxyPass = "http://127.0.0.1:${toString cfg.port}/insert/opentelemetry/v1/logs";
|
||||
proxyPass = "http://127.0.0.1:${toString deployCfg.victorialogs.port}/insert/opentelemetry/v1/logs";
|
||||
extraConfig = ''
|
||||
auth_request /__hive_authelia;
|
||||
'';
|
||||
|
|
@ -387,7 +403,7 @@ in
|
|||
"^~ /select/logsql/" = {
|
||||
# No URI part, so the request path and its query string reach
|
||||
# the store as the caller sent them.
|
||||
proxyPass = "http://127.0.0.1:${toString cfg.port}";
|
||||
proxyPass = "http://127.0.0.1:${toString deployCfg.victorialogs.port}";
|
||||
extraConfig = ''
|
||||
auth_request /__swarm_logs_auth;
|
||||
'';
|
||||
|
|
@ -404,7 +420,7 @@ in
|
|||
# authelia's rules for this URL admit the collector's client and
|
||||
# deny every other subject (see `metricsRules` in ./swarm-authelia.nix).
|
||||
"= /metrics" = {
|
||||
proxyPass = "http://127.0.0.1:${toString cfg.port}/metrics";
|
||||
proxyPass = "http://127.0.0.1:${toString deployCfg.victorialogs.port}/metrics";
|
||||
extraConfig = ''
|
||||
auth_request /__hive_authelia;
|
||||
'';
|
||||
|
|
@ -653,7 +669,7 @@ in
|
|||
# Nothing authenticates it either — upstream offers one basic-auth
|
||||
# pair (`-httpAuth.username` / `-httpAuth.password`) and this
|
||||
# module sets neither. The bind address is the boundary.
|
||||
listenAddress = "127.0.0.1:${toString cfg.port}";
|
||||
listenAddress = "127.0.0.1:${toString deployCfg.victorialogs.port}";
|
||||
|
||||
extraOptions = [ "-retentionPeriod=${deployCfg.victorialogs.retentionPeriod}" ];
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue