Binding is built except for the secret

Which turned out to be the useful way to cut it. A provider says what a
consumer needs in order to use it; a consumer says where it wants to be
told; the mesh adds which machine and what that machine is called on the
private network. So an app on one node reaches its database on another,
by a name the mesh also created.

The file says it carries no credential and why, because a missing field
looks like a bug and a stated absence looks like a boundary.

What remains is the secret itself, and the shape it will arrive in now
exists.

Also: two machines wired together across no private network is refused,
and that only became checkable when the network stopped being something a
machine has by virtue of holding an address.
This commit is contained in:
2026-08-30 00:02:36 +02:00
parent 80b74d32d6
commit cc872a58ce
+22 -3
View File
@@ -162,10 +162,29 @@ software *on* the mesh rather than *of* it. It also costs the host nothing: a re
file, which was checked by putting the control plane's output through the host's own parser rather
than by asserting it.
**Binding is not built**, and it is the larger half. It needs a secret to exist, be stored, be
delivered to one node and not the others, and be rotated with every holder informed — which is
**Binding is built except for the secret**, and that turned out to be the useful way to cut it.
A provider says what a consumer needs in order to use it — a port, a driver, a realm — and a
consumer says where it wants to be told. The mesh adds the half only it has: **which machine, and
what that machine is called on the private network.** So an application on one node is handed the
address of its database on another, as a file, and reaches it by a name the mesh also created.
**The file states that it carries no credential, and why.** A missing field looks like a bug; a
stated absence looks like a boundary, and somebody wiring this up should not spend an afternoon
looking for a password that was never going to be there.
**What remains is the secret itself**, and it is the larger half: it must exist, be stored, reach
one node and not the others, and rotate with every holder informed — which is
[the invariant set](0001-mesh-brokers-nodes-host-agents-think.md) that was found violated three
ways at once, and the reason it is not something to add in passing.
ways at once, and the reason it is not something to add in passing. What is built is the shape it
will arrive in.
**One check that only became possible now.** Two machines wired together across no private network
is a mesh that reports itself configured and does not work, and the failure surfaces as a
connection timing out — the slowest place to find anything. It is refused, and it is only
*checkable* because the network became [something a machine is
given](#what-a-domain-module-turns-out-to-be-and-why-it-is-not-the-one-refused-above) rather than
something it has by virtue of holding an address.
**What the absence cost, measured.** Exactly two modules opened a direct connection to the control
plane's database — the proxy and the VPN — and they are the reason every node permanently holds a