From bef510fda29877ec44fb55902f38ce60003232b6 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 1 Oct 2026 12:27:39 +0200 Subject: [PATCH] ADR 0158: the controller's half is built (mesh-controller PR 184); the provider definitions remain --- ...vider-with-one-credential-shares-it-with-every-consumer.md | 2 ++ 03-DESIGN/01-to-be/24-the-secrets-vault.md | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/02-DECISIONS/0158-a-provider-with-one-credential-shares-it-with-every-consumer.md b/02-DECISIONS/0158-a-provider-with-one-credential-shares-it-with-every-consumer.md index bc07a24..8a5d64c 100644 --- a/02-DECISIONS/0158-a-provider-with-one-credential-shares-it-with-every-consumer.md +++ b/02-DECISIONS/0158-a-provider-with-one-credential-shares-it-with-every-consumer.md @@ -103,6 +103,8 @@ owns its whole lifecycle. | Rotating the provider's own secret remakes every holder's copy, and an accepted value is sealed to current consumers once and not remade | inventory tests | | Live: a library manager on the home server binds the download client with a value the mesh made, the client takes it at start, and a rotation through the console reaches both | done by hand after the media catalogue's providers apply the file at start | +*2026-10-01:* the first four rows pass in mesh-controller PR 184 (`make check` green); the live row waits for the first provider definition to say `credential` and `taken`. + ## References - [ADR 0048](0048-a-provider-creates-the-credential-the-mesh-minted.md) — extended: the per-consumer form stays the default; this is the form for one credential diff --git a/03-DESIGN/01-to-be/24-the-secrets-vault.md b/03-DESIGN/01-to-be/24-the-secrets-vault.md index 1f88d13..915ce80 100644 --- a/03-DESIGN/01-to-be/24-the-secrets-vault.md +++ b/03-DESIGN/01-to-be/24-the-secrets-vault.md @@ -130,7 +130,7 @@ recovery addresses both alike. ### A provider with one credential -*Decided 2026-10-01 ([ADR 0158](../../02-DECISIONS/0158-a-provider-with-one-credential-shares-it-with-every-consumer.md)); to be built.* +*Decided 2026-10-01 ([ADR 0158](../../02-DECISIONS/0158-a-provider-with-one-credential-shares-it-with-every-consumer.md)); the controller's half built the same day (mesh-controller PR 184): the offer's word, the need carrying the shared secret's name, the vault's one value under one generation stamp, remade for every holder on a later binding or a rotation, the rotate command sending every holder. What remains is each provider's definition saying `credential` and `taken`, with a start that applies the file — the media catalogue's work.* Software that holds one credential — a download client's web password, an indexer's one API key — cannot give each consumer a login, so ADR 0048's form does not fit it and its values were accepted @@ -142,7 +142,7 @@ plaintext it remakes the value for every holder at once when a consumer binds or rotation is asked, and the mesh sends every holding machine together. The provider takes it as it says it takes its own secret (`taken`, issue 180); consumers read it at start. An accepted value is sealed to the consumers of the moment and not remade; a consumer that binds later waits for the next -acceptance. *How it is checked:* the rows of ADR 0158's table, once built. +acceptance. *How it is checked:* the rows of ADR 0158's table; the controller's rows pass, the live row waits for the first provider. ## Beyond generate and hold -- 2.54.0