nix: allow archive relay URL affinity override

This commit is contained in:
every.channel 2026-02-24 22:02:29 -08:00
parent 1197bb4baa
commit cc5cf0be3b
No known key found for this signature in database
2 changed files with 43 additions and 1 deletions

View file

@ -222,6 +222,12 @@ in
description = "Discovery poll interval for public streams.";
};
relayUrlOverride = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
description = "Optional fixed relay URL override for archive workers (bypasses per-stream relay_url from directory entries).";
};
streamPrefix = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
@ -669,6 +675,7 @@ in
output_dir=${lib.escapeShellArg cfg.archive.outputDir}
manifest_dir=${lib.escapeShellArg cfg.archive.manifestDir}
relay_fallback=${lib.escapeShellArg cfg.relayUrl}
relay_override=${lib.escapeShellArg (if cfg.archive.relayUrlOverride == null then "" else cfg.archive.relayUrlOverride)}
stream_prefix=${lib.escapeShellArg archivePrefix}
state_dir="/run/every-channel/archive"
pids_dir="$state_dir/pids"
@ -705,7 +712,9 @@ in
if [[ -n "$stream_prefix" && "$name" != "$stream_prefix"* ]]; then
continue
fi
if [[ -z "$relay" ]]; then
if [[ -n "$relay_override" ]]; then
relay="$relay_override"
elif [[ -z "$relay" ]]; then
relay="$relay_fallback"
fi