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:
@@ -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
|
file, which was checked by putting the control plane's output through the host's own parser rather
|
||||||
than by asserting it.
|
than by asserting it.
|
||||||
|
|
||||||
**Binding is not built**, and it is the larger half. It needs a secret to exist, be stored, be
|
**Binding is built except for the secret**, and that turned out to be the useful way to cut it.
|
||||||
delivered to one node and not the others, and be rotated with every holder informed — which is
|
|
||||||
|
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
|
[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
|
**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
|
plane's database — the proxy and the VPN — and they are the reason every node permanently holds a
|
||||||
|
|||||||
Reference in New Issue
Block a user