aboutsummaryrefslogtreecommitdiffstats
path: root/docs
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 /docs
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 'docs')
-rw-r--r--docs/access.md11
-rw-r--r--docs/example.toml8
2 files changed, 8 insertions, 11 deletions
diff --git a/docs/access.md b/docs/access.md
index 9bd99cc..458c2dd 100644
--- a/docs/access.md
+++ b/docs/access.md
@@ -411,11 +411,12 @@ before, plain or signed by a key its planter put there itself, is gone unless th
operator kept it.
Every node is given the keys whose signature it takes on such a remake, out of the
-document (`--strict-keys`, `authorized_keys` lines): one an operator holds. A node
-votes for a strict remake only with its manifest signed by one of them; without any,
-it votes for none (logged, `Not voting for a strict remake`), unless
-`--follow-strict-remakes`. Once a majority commits one, every node switches, as with
-any remake.
+document (`--strict-keys`, `authorized_keys` lines): one an operator holds, the same
+on a majority of the members at least. A node votes for a strict remake only with its
+manifest signed by one of them; without any, for none (logged, `Not voting for a
+strict remake`). Once a majority commits one, every node switches, as with any
+remake. One that gets no majority aborts, its reason naming the members that didn't
+vote: those whose `--strict-keys` don't take the manifest's signer, or that were away.
```sh
continuum-signed strict
diff --git a/docs/example.toml b/docs/example.toml
index 2c3a2ab..d5af848 100644
--- a/docs/example.toml
+++ b/docs/example.toml
@@ -107,14 +107,10 @@ htpasswd = "/etc/continuum/htpasswd"
# SSH keys, as authorized_keys lines (ssh-ed25519 <base64> [comment]), whose signature
# on a strict remake's manifest this node takes: the values kept when the swarm turns
-# strict (docs/access.md). Without, it votes for no strict remake, unless
-# follow-strict-remakes.
+# strict (docs/access.md). Without, it votes for no strict remake; a majority of the
+# members must take the manifest's signer for one to commit.
# strict-keys = ["ssh-ed25519 AAAA… alice"]
-# Without strict-keys: vote for strict remakes all the same, taking the manifests as
-# the members proposing them sign them.
-# follow-strict-remakes = false
-
# Where the reverse proxies whose user-header is believed connect from: IP addresses (or
# ranges, as ADDRESS/BITS), and unix for the API's Unix sockets (bind-addr). On a host
# with other users, leave out the addresses and have the proxy use a Unix socket: others