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
commita9838a756fa7730e887598592a2f1b5b294e68a7 (patch)
treeaa1f75eafadd7e89a6b5679fc10a918bad55ac03 /src/config
parent75f34a6b1c1c77e92aaf95f3ddb0751b190a9fce (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"