aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-08 17:07:03 +0000
committertv <tv@krebsco.de>2026-11-08 19:28:22 +0100
commitf91604095e6f0978c61f66d0b937e36271637e6b (patch)
treee05cd2a21dd4122c3a8a3a450b3605b5a094416b /src/node.rs
parent5f69ecf6284a8061a2b8fae5b8f98d67a67dad5f (diff)
remake: no --follow-strict-remakes; a strict remake failing says who
A strict remake takes a majority of members whose --strict-keys take its manifest's signer: no node votes for one without, so --follow-strict-remakes (1173) goes. A node that doesn't vote still switches once the others commit, as with any remake. So that an operator can tell why one fails: a strict remake aborted for want of a majority (the voting period over, or a majority out of reach) says in its reason (GET /admin/remakes/{id}, and the coordinator's log) which members didn't vote, and that a member votes for one only with its manifest signed by a key of its --strict-keys. Each of those logs why itself (`Not voting for a strict remake`). The sim a_strict_remake_too_few_take: only a takes the manifest; the remake aborts, naming b and c.
Diffstat (limited to 'src/node.rs')
-rw-r--r--src/node.rs4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/node.rs b/src/node.rs
index a097a3a..ddb9b7e 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -78,9 +78,8 @@ pub(crate) struct NodeConfig {
/// `--challenge-lifetime`, `--key-logins-per-user`.
pub(crate) challenge_lifetime: Duration,
pub(crate) key_logins_per_user: usize,
- /// `--strict-keys`, `--follow-strict-remakes`.
+ /// `--strict-keys`.
pub(crate) strict_keys: Vec<crate::access::sshsig::PublicKey>,
- pub(crate) follow_strict_remakes: bool,
/// `--cors-origins`.
pub(crate) cors_origins: Vec<String>,
pub(crate) files: Arc<Files>,
@@ -175,7 +174,6 @@ impl Node {
challenge_lifetime: config.challenge_lifetime,
key_logins_per_user: config.key_logins_per_user,
strict_keys: Arc::new(config.strict_keys),
- follow_strict_remakes: config.follow_strict_remakes,
cors_origins: Arc::new(config.cors_origins),
state_file: config.state_file,
document_file: config.document_file,