aboutsummaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-01 19:29:26 +0100
committertv <tv@krebsco.de>2026-11-01 19:29:26 +0100
commit266c0f57612e1930fe5d05768a18d87d4fe53977 (patch)
tree28e513f8ba05a908b713d61f8fc1c6ed397f91f4 /src/config
parent2f4f647e3d51e20bd20ab6e0c4a97c8feb428a22 (diff)
LWW everywhere, mostly
Diffstat (limited to 'src/config')
-rw-r--r--src/config/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index bb65b97..0101aa4 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -257,6 +257,13 @@ pub(crate) const OPTIONS: &[OptionSpec] = &[
"Members that renewed their alive stamp within this time vote on remakes (a majority of them must agree). At least 7h (members renew every seventh of their own window, hourly at most); the same on every node, or a coordinator with a shorter one counts fewer members.",
),
option(
+ "superseded-writes",
+ Kind::Text,
+ "drop|quarantine",
+ Some("drop"),
+ "What becomes of a write a remake or rejoin would carry over though a newer one touched its path (last writer wins, by the writers' clocks): drop leaves it out (logged), quarantine keeps it for an operator (/admin/quarantine).",
+ ),
+ option(
"clock-skew-warn",
Kind::Duration,
"DURATION",
@@ -528,6 +535,8 @@ pub(crate) struct Settings {
with = "crate::units::duration_option"
)]
pub(crate) electorate_window: Duration,
+ #[serde(default)]
+ pub(crate) superseded_writes: crate::remake::Superseded,
#[serde(
default = "default_clock_skew_warn",
with = "crate::units::duration_option"