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
This commit is contained in:
@@ -641,6 +641,14 @@ before(async () => {
|
||||
// and the second is the more alarming of the two — every rule the mesh generates from module
|
||||
// declarations had never been applied to any machine in this test.
|
||||
await step("N2", FILTERED, NETWORKED, async () => {
|
||||
// **Registered first: the mesh had never heard of it.** The networking family is computed by
|
||||
// the control plane, so the mesh knows those modules exist without anyone saying so. The
|
||||
// firewall is an ordinary catalogue module and needs adding like any other — "no module of
|
||||
// that name: firewall" — which is a second way for a module to be absent, and less obvious
|
||||
// than being present and placed nowhere.
|
||||
//
|
||||
// No build: its resources are a package and a service, so there is nothing to compile.
|
||||
await registerModule(FILTER_MODULE, resolve(catalogDir, FILTER_MODULE, "module.json"));
|
||||
await mesh(`assign ${CONTROL} ${FILTER_MODULE}`);
|
||||
await mesh(`push ${CONTROL}`, 600_000);
|
||||
const deadline = Date.now() + 180_000;
|
||||
|
||||
Reference in New Issue
Block a user