aboutsummaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-03 00:06:24 +0100
committertv <tv@krebsco.de>2026-11-03 00:06:24 +0100
commit01e3d8564a6307a7af2b5f4afe6a466bf45d7307 (patch)
treee78e9b49cbb9d3c293b8753b2b26306c1fed377f /src/config
parent3663da2cf80c94d3303b93a689cb873c58be47aa (diff)
config: dashboard-url requires dashboard feature
Diffstat (limited to 'src/config')
-rw-r--r--src/config/mod.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index a1011ee..628f0ff 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -247,7 +247,7 @@ pub(crate) const OPTIONS: &[OptionSpec] = &[
Kind::Text,
"URL",
None,
- "Where people reach this node's dashboard (http:// or https://, e.g. behind a reverse proxy). Published in the swarm's member list: the other nodes' dashboards open it on a double-click on this node.",
+ "Where people reach this node's dashboard (http:// or https://, e.g. behind a reverse proxy). Published in the swarm's member list: the other nodes' dashboards open it on a double-click on this node. A build without the dashboard feature warns and publishes none (removing one published before).",
),
option(
"keepalive",
@@ -1544,6 +1544,16 @@ fn resolve(merged: Layer, files: Vec<PathBuf>) -> Result<Loaded> {
settings.alias = settings.alias.map(|alias| alias.trim().to_owned());
settings.transports = settings.ordered_transports();
settings.check().context("invalid configuration")?;
+ // No dashboard to be reached there: none is published (and one published before is
+ // removed, `swarm::members`).
+ if !cfg!(feature = "dashboard")
+ && let Some(url) = settings.dashboard_url.take()
+ {
+ warn!(
+ url = %url,
+ "dashboard-url is set, but this build has no dashboard (the dashboard feature); not publishing it"
+ );
+ }
Ok(Loaded {
settings,
origins: merged