026 fixed — and the coincidence turned into a rule
The fourteen undeclared mounts are declared. More to the point, a manifest that does not declare one is now refused: they were right by coincidence, and a checklist nothing enforces is a checklist that is true until the next commit. Refused in the control plane, because the machine cannot tell the difference — asked to mount a path that does not exist, it makes the directory, which is a thing it is perfectly able to do.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
---
|
---
|
||||||
status: located
|
status: fixed
|
||||||
opened: 2026-09-01
|
opened: 2026-09-01
|
||||||
located-in: [mesh-control]
|
located-in: [mesh-control]
|
||||||
fixed-by:
|
fixed-by: mesh-control 53eb000
|
||||||
amended-design:
|
amended-design:
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -68,3 +68,18 @@ declares none of it, and nothing complains, because a bind mount source is a str
|
|||||||
arrangement being replaced, which put everything under one directory per service. Whether that is
|
arrangement being replaced, which put everything under one directory per service. Whether that is
|
||||||
right here is a separate question, and a bigger one — it decides what a person backs up, and what
|
right here is a separate question, and a bigger one — it decides what a person backs up, and what
|
||||||
survives a module being removed.
|
survives a module being removed.
|
||||||
|
|
||||||
|
## Fixed
|
||||||
|
|
||||||
|
**All fourteen are declared**, across the forge, the mail system, the store and the object store —
|
||||||
|
each mount now resolves to a `directory` or to a file the module already names.
|
||||||
|
|
||||||
|
**And a manifest that does not declare one is refused**, where it is written. The manifests being
|
||||||
|
right today was a coincidence: nothing said they had to be, so the next volume somebody added
|
||||||
|
would have been undeclared again and nothing would have said so. A path under a declared directory
|
||||||
|
counts as declared, as do a module's own secrets, its grants, and what it receives.
|
||||||
|
|
||||||
|
Refused in the control plane rather than on the machine, which cannot tell the difference: by the
|
||||||
|
time the host sees the mount it is being asked to create a directory, which it is perfectly able to
|
||||||
|
do. The fault is in the manifest, so it is named at the manifest — the same argument as the action
|
||||||
|
refusal it now sits beside.
|
||||||
|
|||||||
Reference in New Issue
Block a user