jschoubben
7914fd74c6
The two-node bed joins its second machine through the tunnel
...
A token carries the bus's address, and at genesis that is the anchor's
loopback, which no other machine reaches. The anchor joins locally and
becomes the hub; the laptop makes its tunnel key, is issued a token for
it and joins over the tunnel (novox/hq ADR 0169, issue 146).
2026-10-02 16:41:00 +02:00
jschoubben
91ba825975
The two-node bed places the bus's users as genesis must
...
This bed raises genesis by hand, so it places the composed user list
after each token and each enrolment, as the trust bed does (novox/hq
issue 146); without it the first join was refused.
2026-10-02 16:29:21 +02:00
jschoubben
1a4f570e54
The two-node bed proves a machine joins through the tunnel with the bus closed to it
...
A third machine makes its tunnel key, is issued a token for it, and
enrols while the anchor drops its packets to the bus at the first hook;
it can only have arrived over the tunnel (novox/hq ADR 0169).
2026-10-02 15:11:18 +02:00
mesh-admin
a4f6bb8ce0
Merge pull request 'The trust bed raises a mesh, and places the bus's users as genesis must' ( #53 ) from feat/the-trust-bed-raises-a-mesh into main
2026-10-01 11:18:12 +00:00
jschoubben
a734d427c0
A bed says what it actually needs to be pointed at
...
The instructions in every bed named the bundle that raises the predecessor's
broker, so a first attempt ends in a control plane crash-looping on a missing
MESH_BUS_NATS — which reads like a broken lab. They name the bundle that works
now, and the README says the host binary needs SYSTEM=arch, because one built
without it refuses everything with an empty system name.
And the three habits that each cost a run before they were adopted:
MESH_LAB_KEEP to leave the machine standing, MESH_LAB_WARM while iterating,
and rebuilding all three repositories the bed places rather than the one that
changed.
2026-09-29 17:45:09 +02:00
jschoubben
f2d6ab3bf9
The trust bed raises a mesh, and places the bus's users as genesis must
...
novox/hq 04-ISSUES/146. The bed now does what raising a first node actually
takes: the private network so the authority can certify the address it holds,
and the composed user list placed beside the bus at the two moments an account
comes into existence — when the token is issued, and when the machine enrols.
Neither can arrive in a declaration, because a machine that has not enrolled
gets none.
MESH_LAB_KEEP leaves the machine standing, which is where every answer in this
sequence came from. No 'module issue' for the authority: that delivers a bus
account and it declares none.
The bed still fails, at the machine being enrolled twice from one attempt.
2026-09-29 17:37:08 +02:00
jschoubben
f94ee2dd0e
Merge pull request 'A bed for the trust anchor, and the bundle rewrite its foundation needs' ( #52 ) from feat/ca-trust into main
2026-09-29 14:06:38 +00:00
jschoubben
62a02d7e94
A bed for the trust anchor, and the bundle rewrite its foundation needs
...
novox/hq ADR 0147. The bed dials the authority itself — step-ca serves its
own API with a leaf it issued — so a plain client verifying that handshake is
verifying one thing: the mesh's root is in this machine's trust store. The
negative half runs twice, before the module is assigned and after it is
unassigned; an anchor bed that only checks the success would pass on a machine
that trusted everything.
foundationBundle learns the new bundle's bus reference, the way it already
knows the store's and the previous broker's. The bed does not run yet: raising
a foundation fails before any module is reached (novox/hq issue 146).
2026-09-29 15:26:05 +02:00
jschoubben
08e3aa04e7
Merge pull request 'Adoption bed: a machine in use raised adopted, held, taken and converged (hq ADR 0100–0103)' ( #51 ) from feat/adoption-mode into main
2026-09-22 21:02:12 +02:00
jschoubben
d93dc2628f
Adoption bed: the anchor keeps its host service, so a machine that reboots comes back holding itself; only the fresh-machine dry run goes without
2026-09-22 20:52:42 +02:00
jschoubben
23ca9cadad
Adoption bed: the machine the predecessor leaves also runs a container with no restart policy
2026-09-22 20:05:21 +02:00
jschoubben
204a226e36
Adoption bed: prove the guard rather than the found firewall, the runtime's own settings and a container with no restart policy, a held file not reverted once its writer stops, and the operator's rule outliving the mesh's opening
2026-09-22 19:53:47 +02:00
jschoubben
8d9e4bdb77
Adoption bed: the container probe asks the guard's promise, admitting the container interface through the found firewall for itself alone
2026-09-22 19:00:39 +02:00
jschoubben
3f224c2876
Adoption bed: an opening the operator's own rule answers is satisfied, and a failed container probe records its evidence
2026-09-22 18:49:06 +02:00
jschoubben
a53dc8c586
Adoption bed (in progress): a machine in use raised adopted, held, opened through its firewall, taken and converged (hq ADR 0100-0103)
2026-09-22 18:19:36 +02:00
jschoubben
bb746505dc
Merge pull request 'The store-window bed: a machine enrols and a report arrives while the store is away (issue 083)' ( #50 ) from multiple-fixes into main
2026-09-22 14:42:59 +02:00
jschoubben
514f7a46cd
The store-window bed holds a report through the gap, asserts the enrolment is answered meanwhile, and compares the keys the mesh recorded with the ones the machine generated
2026-09-22 14:24:01 +02:00
jschoubben
c9fd6d7887
A bed that takes the store away while a machine enrols, and holds the enrolment to completing on its own (novox/hq issue 083)
2026-09-22 14:08:45 +02:00
jschoubben
4d2ec6e6a8
Merge pull request 'A cache consumer must present its login; the two-node bed runs green again' ( #49 ) from multiple-fixes into main
2026-09-22 13:53:15 +02:00
jschoubben
dba95f7e27
The two-node bed's baserow data directory is 0755, as the catalogue's
2026-09-22 13:46:04 +02:00
jschoubben
3ce66e8369
The two-node bed's copies declare the secrets they take through the environment, as the catalogue does (ADR 0086)
2026-09-22 13:30:01 +02:00
jschoubben
3f71b91fb8
The two-node bed's timeout report shows the node that did not answer, not always the second one
2026-09-22 12:59:28 +02:00
jschoubben
2dfffd6dac
Review of 081: the bed asserts baserow chose its own cache and it challenges for its password; the check reads only what a module hands its software; stale comments
2026-09-22 12:34:59 +02:00
jschoubben
36f2fd1c2c
A cache consumer presents the login it was granted, checked over the catalogue; the two-node bed's baserow keeps its own cache and the bed asserts it answers (issue 081)
2026-09-22 12:26:34 +02:00
jschoubben
7a5d670e4e
Merge pull request 'The large mesh bed runs end to end again: 21/21' ( #48 ) from multiple-fixes into main
2026-09-22 02:19:15 +02:00
jschoubben
8a85e2d02e
The grant bed's tenancy assertions are scoped to the login's keyspace, as redis scopes the ACL
2026-09-22 01:41:16 +02:00
jschoubben
146d7da9ef
The large bed starts the hand-started builder where a build is asked for: it does not outlive the broker's first reconcile
2026-09-22 01:30:53 +02:00
jschoubben
10cfbd094a
Review: the cache grant's tenancy assertions move into the grant bed; retirement notes say what the beds prove; the builder binary is pushed on a warm return; the large bed needs the catalogue
2026-09-22 01:27:52 +02:00
jschoubben
353cf88a4b
The large mesh bed catches up with the mesh: the anchor's filter derived, ports declared, an image awaited, one host and builder on a warm return, resolvers from the catalogue; four tests retired for the beds that prove them
2026-09-22 01:16:13 +02:00
jschoubben
9eaa3a623d
node_modules is not tracked: the link committed by mistake goes, and the ignore covers a link too
2026-09-22 00:38:07 +02:00
jschoubben
a964ec287d
Merge pull request 'Issue 074 closed: the last WEARING fixtures renamed or retired; a stale delivery fixed' ( #47 ) from multiple-fixes into main
2026-09-21 23:58:49 +02:00
jschoubben
2da442729f
Review: the node_modules link is not committed; two beds no longer issue modules with no broker secret; a stale header
2026-09-21 23:56:02 +02:00
jschoubben
03bbc37572
Beds issue only modules with a broker secret: an own secret is minted at resolve
2026-09-21 23:46:27 +02:00
jschoubben
484fafe799
mesh.test.ts: the consumer's login carries its slug
2026-09-21 23:43:01 +02:00
jschoubben
7c81902571
mesh.test.ts: meshboard gets a slug (ADR 0049); the builder-as-module test is retired, genesis proves it
2026-09-21 23:38:58 +02:00
jschoubben
080150addb
provider-on-backend-network: no longer names a retired bed
2026-09-21 23:35:17 +02:00
jschoubben
fd1e5499d0
Retire provider-uses-mesh-credential: the grant end-to-end bed proves it against the catalogue's redis, with the mesh writing the contributions; its no-seal-key assertion moves there (issue 074)
2026-09-21 23:35:01 +02:00
jschoubben
0d8eac88c3
whole-mesh-full delivers amqp-email-forwarder's smtp-password under the name the module declares (found by issue 078's refusal)
2026-09-21 23:31:34 +02:00
jschoubben
2e0f11dfc2
Three beds give their fixtures names that are no catalogue module's (issue 074)
2026-09-21 23:25:36 +02:00
jschoubben
e1739b1caf
Merge pull request 'The route-forwarding bed installs the catalogue's authority, proxy and consumer; the whole-mesh bed installs the vault first' ( #46 ) from multiple-fixes into main
2026-09-21 22:58:25 +02:00
jschoubben
b0eddd28d8
build-route-proxy-image.sh builds FROM the bases the manifest declares
2026-09-21 22:56:25 +02:00
jschoubben
2ce130c256
whole-mesh-full: an own-secret is declared under own-secrets
2026-09-21 22:55:00 +02:00
jschoubben
e64d296c80
whole-mesh-full: issue a module with an own-secret, not only one with a broker account
2026-09-21 22:54:09 +02:00
jschoubben
acb8d3da88
whole-mesh-full: the vault before the modules that keep secrets in it; no operator root or app secrets delivered (ADRs 0094, 0098)
2026-09-21 22:53:28 +02:00
jschoubben
f785f5892a
The route-forwarding bed converges the overlay before the modules: the proxy fetches the roots at the private-network address at first start
2026-09-21 22:41:36 +02:00
jschoubben
d95174da02
The route-forwarding bed places its machine on the overlay: the authority certifies its private-network address
2026-09-21 22:35:33 +02:00
jschoubben
2530ca762e
The lab stands in for the builder on an upstream artifact too: the reference the manifest pins
...
hello-web's server is somebody else's image the mesh would copy in (ADR 0096); the
loader refused it as an artifact nobody stocked.
2026-09-21 22:33:44 +02:00
jschoubben
107257faf4
The route-forwarding bed installs the catalogue's authority, proxy and consumer
...
step-ca beside the proxy, the proxy fetching the authority's root through its gate,
hello-web routed under the node's public domain by its label (ADR 0066). The last
declared mesh test but one reads the catalogue (novox/hq 04-ISSUES/074, 076).
2026-09-21 22:27:17 +02:00
jschoubben
690596d33b
The whole-mesh bed installs the vault before the modules that keep a secret from it; route-forwarding waits on issue 076
2026-09-21 22:16:15 +02:00
jschoubben
31163865d2
Merge pull request 'Multiple fixes: six beds retired (074), the certificate bed against Pebble and step-ca (020), a coupled-pair spike (066)' ( #45 ) from multiple-fixes into main
2026-09-21 22:13:19 +02:00