The mesh-broker seat delivers mesh-bus (novox/hq ADR 0120)
This commit is contained in:
@@ -35,11 +35,20 @@ type Seat struct {
|
||||
var seats = []Seat{
|
||||
{Name: "mesh-controller", Scope: ScopeMesh, Decision: "novox/hq ADR 0079"},
|
||||
{Name: "mesh-store", Scope: ScopeMesh, Delivers: "postgres-database", Decision: "novox/hq ADR 0079"},
|
||||
// The bus is the only broker (novox/hq ADR 0117): a module's messaging is subjects on it,
|
||||
// scoped by its own emits/consumes, not a server handed out as a provision. So this seat
|
||||
// delivers nothing, like mesh-controller and the-catalogue. The `amqp` interface — a private
|
||||
// broker per consumer — retires with the compatibility broker.
|
||||
{Name: "mesh-broker", Scope: ScopeMesh, Decision: "novox/hq ADR 0079"},
|
||||
// What holding this delivers is the mesh's own bus (novox/hq ADR 0120): a module that speaks
|
||||
// to the mesh requires `mesh-bus` and receives an address, a sealed credential and the trust
|
||||
// to verify the server. A module that requires nothing gets no account at all — 23 of the
|
||||
// catalogue's 72 never speak, and an ambient connection would mint a credential for each.
|
||||
//
|
||||
// Corrected twice in one day, which is worth the comment. It read `amqp`, which was the old
|
||||
// broker's interface and not this seat's; ADR 0117 emptied it, reasoning that a bus cannot be
|
||||
// provisioned; and it is neither. The bus's accounts are composed by the controller rather
|
||||
// than created by a provisioner, so nothing waits on a bus account in order to make one —
|
||||
// which is a fact about the *mechanism*, not a reason the connection cannot be required.
|
||||
//
|
||||
// `mesh-bus` is the mesh's own; `nats` is a private NATS server a module may provide as a
|
||||
// backing service, the way `amqp` is provided (ADR 0119). Never the same name.
|
||||
{Name: "mesh-broker", Scope: ScopeMesh, Delivers: "mesh-bus", Decision: "novox/hq ADR 0079"},
|
||||
{Name: "the-artifact-store", Scope: ScopeMesh, Delivers: "artifact-store", Decision: "novox/hq ADR 0075"},
|
||||
{Name: "the-catalogue", Scope: ScopeMesh, Decision: "novox/hq ADR 0110"},
|
||||
{Name: "npm-package-registry", Scope: ScopeMesh, Delivers: "npm-package-registry", Decision: "novox/hq ADR 0109"},
|
||||
|
||||
Reference in New Issue
Block a user