Files
mesh-lab/one-node-mesh-report.json
T
jschoubben 475fd9a088 Register the firewall before assigning it
'no module of that name: firewall'. The networking family is computed by the
control plane, so the mesh knows those exist without anyone saying so; the
firewall is an ordinary catalogue module and has to be added like any other.

That is a second way for a module to be absent, and a less obvious one than
being present and placed nowhere — the mesh does not hold it at all, so nothing
can even report it unassigned.

Claude-Session: https://claude.ai/code/session_01D6qtiYU3P9jk3pnAXyAFyx
2026-09-14 22:52:26 +02:00

154 lines
4.3 KiB
JSON

{
"scenario": "one-node-mesh",
"established": 12,
"of": 21,
"steps": [
{
"code": "R1",
"title": "a bare machine becomes a mesh of one, raised by the installer",
"status": "pass",
"seconds": 135,
"why": ""
},
{
"code": "R2",
"title": "the substrate is up — a store and a broker of the mesh's own",
"status": "pass",
"seconds": 1,
"why": ""
},
{
"code": "R3",
"title": "the control plane is one this mesh built, not one it was handed",
"status": "pass",
"seconds": 0,
"why": ""
},
{
"code": "R4",
"title": "the pivot finished — what raised the mesh is gone",
"status": "pass",
"seconds": 0,
"why": ""
},
{
"code": "R5",
"title": "the registry serves this mesh its own images",
"status": "pass",
"seconds": 0,
"why": ""
},
{
"code": "R6",
"title": "the machine is enrolled, and an agent is running on it",
"status": "pass",
"seconds": 0,
"why": ""
},
{
"code": "R7",
"title": "the builder is installed as a module, with an account",
"status": "pass",
"seconds": 0,
"why": ""
},
{
"code": "P1",
"title": "the mesh builds the shared base from source",
"status": "pass",
"seconds": 87,
"why": ""
},
{
"code": "P2",
"title": "the mesh builds and runs a store of its own",
"status": "pass",
"seconds": 41,
"why": ""
},
{
"code": "P3",
"title": "the mesh builds and runs its own catalogue",
"status": "pass",
"seconds": 37,
"why": ""
},
{
"code": "P4",
"title": "the mesh rebuilds its own control plane from source",
"status": "pass",
"seconds": 35,
"why": ""
},
{
"code": "N1",
"title": "the mesh puts itself on a private network, and its machine has a name",
"status": "pass",
"seconds": 7,
"why": ""
},
{
"code": "N2",
"title": "the machine has a packet filter, loaded from what modules declared",
"status": "fail",
"seconds": 0,
"why": "anchor: docker exec mesh-control /mesh-control assign anchor firewall\n\nmesh-control: no module of that name: firewall\n"
},
{
"code": "U1",
"title": "the mesh builds a module standing on that base",
"status": "skip",
"seconds": 0,
"why": "not attempted — N2 (the machine has a packet filter, loaded from what modules declared) did not succeed"
},
{
"code": "U2",
"title": "the mesh runs a broker for that module to talk to",
"status": "skip",
"seconds": 0,
"why": "not attempted — U1 (the mesh builds a module standing on that base) did not succeed"
},
{
"code": "U3",
"title": "the anchor runs the module the mesh built",
"status": "skip",
"seconds": 0,
"why": "not attempted — U2 (the mesh runs a broker for that module to talk to) did not succeed"
},
{
"code": "V1",
"title": "the control plane can describe the mesh, and what it says is true",
"status": "skip",
"seconds": 0,
"why": "not attempted — U3 (the anchor runs the module the mesh built) did not succeed"
},
{
"code": "V2",
"title": "the catalogue holds every module this mesh built",
"status": "skip",
"seconds": 0,
"why": "not attempted — V1 (the control plane can describe the mesh, and what it says is true) did not succeed"
},
{
"code": "V3",
"title": "the machine's networking is what the modules asked for",
"status": "skip",
"seconds": 0,
"why": "not attempted — V1 (the control plane can describe the mesh, and what it says is true) did not succeed"
},
{
"code": "E1",
"title": "a change to a module's source reaches the machine on its own",
"status": "skip",
"seconds": 0,
"why": "not attempted — V3 (the machine's networking is what the modules asked for) did not succeed"
},
{
"code": "E2",
"title": "the mesh comes back after the machine reboots",
"status": "skip",
"seconds": 0,
"why": "not attempted — E1 (a change to a module's source reaches the machine on its own) did not succeed"
}
]
}