Keep serving the consumers postgres's grant file gives on its moved path (issue 937)
mesh/merge-gate head 41cdd032084e merged into trunk 6268f8f94bda — pass: builds keycloak, postgres, sent nowhere; no bus step; 3 wait(s) for a person; ever…
mesh/repo-check head 41cdd032084e merged into trunk 6268f8f94bda — pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-…
mesh/delivery delivered

Only a moved consumer's plan names postgres, so on the moved path every
consumer still given by the controller's grant file was counted unasked
and offered for retirement (ace 5 of 5, novox 7 of 9), and could have
been retired unasked where the bound allowed. The moved path now reads
MESH_RECEIVES again: its logins are asked, the ones no plan names are
made and checked by the harness's grant pass until R1 (issue 682), and
an unreadable grant file retires nothing (issue 241). The harness's
grant pass becomes apply, identically in keycloak's copy.
This commit is contained in:
2026-10-16 16:25:52 +00:00
parent 08188663fa
commit 41cdd03208
5 changed files with 216 additions and 39 deletions
@@ -35,10 +35,11 @@ func main() {
var h *Harness
if consumers := handedConsumersFile(os.Getenv, os.Stat); consumers != "" {
// Handed to the provisioner (novox/hq ADR 0373): the provider helper answers the consumers its
// machine's client fills the file with; the grant directory is not read. Retirement is the
// harness's, never run, so its guards and its tools stand (issue 780).
// machine's client fills the file with, and the grant file still gives the consumers not moved
// (issue 937). Retirement is the harness's, never run, so its guards and its tools stand (issue 780).
h = &Harness{
Resource: ProvisionName,
Receives: os.Getenv("MESH_RECEIVES"),
Adapter: provisioner{pg: pg, announce: announce},
Log: func(format string, args ...any) { fmt.Fprintf(os.Stderr, format+"\n", args...) },
Announce: func(event string, body map[string]any) {