Draft: add Fog substrate positioning note#5
Conversation
|
@copilot fix failed checks |
Agent-Logs-Url: https://github.com/SociOS-Linux/SourceOS/sessions/c6763b7b-d8bd-47a5-a699-327d2b35525f Co-authored-by: mdheller <21163552+mdheller@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds documentation clarifying the OS-substrate responsibilities that SourceOS provides to support the Fog layer, focusing on stable local storage + filesystem contracts and clear layering boundaries.
Changes:
- Introduces a new doc describing what Fog-related substrate concerns belong in SourceOS (and what explicitly does not).
- Defines a canonical
/srv/fog/*directory contract and expectations for container-host posture. - Documents TopoLVM readiness as an infrastructure prerequisite rather than distributed semantics.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| SourceOS should define the default local execution posture for fog-capable nodes/workstations: | ||
|
|
||
| - Linux-first container host defaults | ||
| - rootless-friendly execution where possible |
There was a problem hiding this comment.
The list under SourceOS should define the default local execution posture...: starts without a blank line. With markdownlint enabled in CI, this will trigger MD032. Insert a blank line before the list items.
|
|
||
| ### 4. TopoLVM readiness | ||
|
|
||
| When a node participates in Kubernetes lanes, the substrate should provide the prerequisites needed for a local CSI/LVM stack such as TopoLVM. |
There was a problem hiding this comment.
The list after Important layering rule: is missing a blank line before the list items. This is flagged by markdownlint (MD032) and can fail CI. Add a blank line between the label line and the list.
| When a node participates in Kubernetes lanes, the substrate should provide the prerequisites needed for a local CSI/LVM stack such as TopoLVM. | |
| Important layering rule: |
| This includes: | ||
|
|
||
| - LVM2 availability | ||
| - volume group and thin-pool conventions | ||
| - safe disk targeting rules |
There was a problem hiding this comment.
The list starting immediately after This includes: is not separated by a blank line. This violates markdownlint's default MD032 (lists should be surrounded by blank lines) and will fail the CI markdownlint step. Add a blank line between the paragraph and the list.
Summary
This PR captures the SourceOS-side substrate role for the Fog layer.
It adds
docs/FOG_SUBSTRATE.mdto make the OS-layer responsibility explicit:/srv/fog/*directory contractWhy this belongs here
SourceOSis the immutable local-first substrate for workstation + edge lanes. The Fog layer depends on this repo for machine invariants, not for topic replication logic or compute marketplace semantics.Intentionally not included
This PR does not add:
Those belong in downstream repos after the contract surface is stabilized.
Follow-up
Subsequent PRs should land:
socios-ignitionworkstation-contracts