128 review: located; the fix as built (block, at, never held, order)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
status: open
|
status: located
|
||||||
opened: 2026-09-26
|
opened: 2026-09-26
|
||||||
located-in: [mesh-controller internal/catalogue/facts.go, mesh-host internal/apply]
|
located-in: [mesh-controller internal/catalogue/facts.go, mesh-host internal/apply]
|
||||||
---
|
---
|
||||||
@@ -51,6 +51,20 @@ private network loses that name too.
|
|||||||
- A converge preview that names a held file the take would replace *whole*, with its line
|
- A converge preview that names a held file the take would replace *whole*, with its line
|
||||||
count before and after, so a person sees "hosts: 31 lines → 12" before the flip.
|
count before and after, so a person sees "hosts: 31 lines → 12" before the flip.
|
||||||
|
|
||||||
|
## The fix, as built (in review)
|
||||||
|
|
||||||
|
- **Host:** a file resource may say `"into": "block"`. The host owns only the lines between
|
||||||
|
`# BEGIN mesh <id>` and `# END mesh <id>` and keeps everything outside them byte for byte. A
|
||||||
|
new region goes at the `end` by default, or at the `start` (`"at": "start"`) for files where a
|
||||||
|
line's meaning depends on what stands above it; a region already present is never moved.
|
||||||
|
Undeclared, what the region held before is put back, or the region is removed and nothing
|
||||||
|
else. Replacing nothing, it is written on an adopted node without being held — so a machine
|
||||||
|
gets the mesh's names before its private network is taken.
|
||||||
|
- **Controller:** `node-names` is a fact written into a shared file, emitted as that region: the
|
||||||
|
mesh's names only, no header, no `localhost`, no `127.0.1.1` line.
|
||||||
|
- **Order:** a host older than the block mode refuses the whole declaration on an unknown
|
||||||
|
`into`, so hosts are upgraded before the controller that emits it.
|
||||||
|
|
||||||
## Evidence to carry into diagnosis
|
## Evidence to carry into diagnosis
|
||||||
|
|
||||||
- `internal/catalogue/facts.go`, `nodeNames`: the complete file is built here.
|
- `internal/catalogue/facts.go`, `nodeNames`: the complete file is built here.
|
||||||
|
|||||||
Reference in New Issue
Block a user