-
Notifications
You must be signed in to change notification settings - Fork 0
Draft: add Fog substrate positioning note #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,69 @@ | ||||||
| # Fog Substrate Position in SourceOS | ||||||
|
|
||||||
| This document captures the **OS-substrate responsibilities** for the Fog layer. | ||||||
|
|
||||||
| `SourceOS` is the immutable, local-first substrate for workstation and edge lanes. The Fog layer depends on this repo for **machine invariants**, not for higher-level distributed semantics. | ||||||
|
|
||||||
| ## What belongs in SourceOS | ||||||
|
|
||||||
| ### 1. Local storage substrate prerequisites | ||||||
|
|
||||||
| Every eligible SourceOS node/workstation should be able to realize a local storage substrate suitable for ephemeral fog workloads. | ||||||
|
|
||||||
| This includes: | ||||||
|
|
||||||
| - LVM2 availability | ||||||
| - volume group and thin-pool conventions | ||||||
| - safe disk targeting rules | ||||||
| - stable mount-point expectations | ||||||
|
|
||||||
| ### 2. Canonical fog directory contract | ||||||
|
|
||||||
| The substrate should reserve a stable host-side contract such as: | ||||||
|
|
||||||
| - `/srv/fog/projects` | ||||||
| - `/srv/fog/models` | ||||||
| - `/srv/fog/datasets` | ||||||
| - `/srv/fog/topics` | ||||||
| - `/srv/fog/vector` | ||||||
| - `/srv/fog/cache` | ||||||
| - `/srv/fog/logs` | ||||||
| - `/srv/fog/secrets` | ||||||
| - `/srv/fog/tmp` | ||||||
|
|
||||||
| These paths are substrate-level invariants so workstation, node, and container lanes can share one filesystem grammar. | ||||||
|
|
||||||
| ### 3. Container-host baseline | ||||||
|
|
||||||
| SourceOS should define the default local execution posture for fog-capable nodes/workstations: | ||||||
|
|
||||||
| - Linux-first container host defaults | ||||||
| - rootless-friendly execution where possible | ||||||
|
Comment on lines
+37
to
+41
|
||||||
| - mount wiring to the fog directory contract | ||||||
| - no dependency on opt-in community automation | ||||||
|
|
||||||
| ### 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. | ||||||
|
||||||
| 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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The list starting immediately after
This includes:is not separated by a blank line. This violates markdownlint's defaultMD032(lists should be surrounded by blank lines) and will fail the CI markdownlint step. Add a blank line between the paragraph and the list.