# mesh-provisioner Holds the `mesh-provisioner` seat once for the mesh: the provisioner's server (novox/hq ADR 0349 clause 3, design 57 P4). Go, one binary (`cmd/mesh-provisioner`), served by a runtime of its own on its own bus account (`runs-as`), so that its account alone writes the registry. The provisioner client on each node (`node-provisioner`, design 57 P5) is the module `mesh-provisioner-client`. ## What it keeps - `mesh-provisioner_registry`: which domain answers which kind of placeholder, keyed by the kind (`config`, `secret`, `bound` — the provider's own bucket, `_bound`, keyed `..[.]` (mesh-sdk `go/provider`) — `consumers` — a provider's consumers' credentials, asked of the vault by the provider machine's client (novox/hq ADR 0373) — `collected` — and `shell`, `environment` and `contribution`, read as collections of the same name (design 57 L1) — and the placement namespaces `dir`, `access`, `port`, `seat`, `machine`). Each answer names the owning module and where a client finds the values: a domain's bucket and its key shape (placement's is the controller's assignments mirror, whose value carries the provisioner's plan of a module handed to it), or a seat's verb asked on request and reply (a secret is never in a bucket). Compiled in `registry.go`, written at start and every hour, only where it differs; a kind no domain answers is deleted. - `mesh-provisioner_needs`: what each module on each node needs, `...`. - `mesh-provisioner_applied`: what is applied where, `.`. - `mesh-provisioner_collect`: the items of every collection, `..`, the collection with a character a key's token cannot hold written `=` (`shell=3Azsh=3Anormal` is `shell:zsh:normal`), and read back by its name. The last three are written by each node's provisioner client for its own node's keys alone: the controller grants the client `.>` of each and nothing wider (mesh-controller `internal/broker/provisioner.go`), and a provider reads the needs without writing them. This module writes only the registry. ## The verb `mesh-provisioner.provisioning` with `what` `registry` (the default), `needs`, `applied` or `collect`, narrowed by `node` and `module` (for `collect`, the contributor) and, for `collect`, `collection`. Reads only. A key out of its bucket's shape is said in the answer, never dropped quietly.