Never make a credential only a person can give, and give it once per provider (hq issue 164, ADR 0337)
mesh/merge-gate head cfe63a4738ae merged into trunk 404b4409e70e — fail: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; head c…
mesh/repo-check head cfe63a4738ae merged into trunk 404b4409e70e — fail: head cfe63a4738ae does not merge cleanly into trunk 404b4409e70e: in conflict test…
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate head cfe63a4738ae merged into trunk 404b4409e70e — fail: builds build-agent, mesh-controller → ace, g14, novox, shanks; no bus step; head c…
mesh/repo-check head cfe63a4738ae merged into trunk 404b4409e70e — fail: head cfe63a4738ae does not merge cleanly into trunk 404b4409e70e: in conflict test…
mesh/delivery superseded: a newer head of the same pull request
A Servarr app's API key, an indexer's key and a downloader's password are values the provider's
software holds; the pair path made a random value for every consumer of them, sealed it to both ends
and reported success, and the provider refused it. An offer may now say `"credential": {"issued-by":
"outside"}`: SecretFor never makes a value for it, the plan reads such a pair as given or not given
and sends the consumer no credential file until a person gives it, without refusing its machine;
remakeShared and SharedSecretFor never make a provider's own secret issued outside either.
`secret accept <provider's node> <provider module> <provision>` seals one value to every consumer that
binds the provision from that provider, the provider and the operator, under one generation; the
per-pair form is refused for such a provision, and rotate names the accept. A consumer may wait for a
provision's credential: the controller excuses the wait only when the store bears it out, and its
needs-operator condition names the one accept line.
Adds the replay of issue 164 (TestReplay164), written with only what the controller had before.
This commit is contained in:
@@ -577,7 +577,10 @@ type Wait struct {
|
||||
Part string `json:"part"`
|
||||
Secret string `json:"secret,omitempty"`
|
||||
Setting string `json:"setting,omitempty"`
|
||||
What string `json:"what"`
|
||||
// Provision is a provision the module requires whose credential only a person can give and nobody gave yet
|
||||
// (novox/hq ADR 0337 §5): a wait names exactly one of Secret, Setting or Provision.
|
||||
Provision string `json:"provision,omitempty"`
|
||||
What string `json:"what"`
|
||||
}
|
||||
|
||||
// ResourceHealth is one long-running resource's state.
|
||||
|
||||
Reference in New Issue
Block a user