From f91604095e6f0978c61f66d0b937e36271637e6b Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 17:07:03 +0000 Subject: 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. --- src/state/mod.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/state/mod.rs') diff --git a/src/state/mod.rs b/src/state/mod.rs index 6e25336..ed93fda 100644 --- a/src/state/mod.rs +++ b/src/state/mod.rs @@ -161,10 +161,8 @@ pub(crate) struct AppState { /// may make within it (`access::challenge`). pub(crate) challenge_lifetime: Duration, pub(crate) key_logins_per_user: usize, - /// Whose signature on a strict remake's manifest this node takes, and whether it - /// takes any without (`access::strict`). + /// Whose signature on a strict remake's manifest this node takes (`access::strict`). pub(crate) strict_keys: Arc>, - pub(crate) follow_strict_remakes: bool, /// Origins whose pages may call this node's open endpoints (`api::cors`). pub(crate) cors_origins: Arc>, /// This node's own files, and how much it read and wrote them. -- cgit v1.3.1