Skip to content

Commit 4e512eb

Browse files
authored
Merge pull request #5 from SociOS-Linux/docs/fog-substrate-position
2 parents 9c47874 + 35f348f commit 4e512eb

1 file changed

Lines changed: 69 additions & 0 deletions

File tree

docs/FOG_SUBSTRATE.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Fog Substrate Position in SourceOS
2+
3+
This document captures the **OS-substrate responsibilities** for the Fog layer.
4+
5+
`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.
6+
7+
## What belongs in SourceOS
8+
9+
### 1. Local storage substrate prerequisites
10+
11+
Every eligible SourceOS node/workstation should be able to realize a local storage substrate suitable for ephemeral fog workloads.
12+
13+
This includes:
14+
15+
- LVM2 availability
16+
- volume group and thin-pool conventions
17+
- safe disk targeting rules
18+
- stable mount-point expectations
19+
20+
### 2. Canonical fog directory contract
21+
22+
The substrate should reserve a stable host-side contract such as:
23+
24+
- `/srv/fog/projects`
25+
- `/srv/fog/models`
26+
- `/srv/fog/datasets`
27+
- `/srv/fog/topics`
28+
- `/srv/fog/vector`
29+
- `/srv/fog/cache`
30+
- `/srv/fog/logs`
31+
- `/srv/fog/secrets`
32+
- `/srv/fog/tmp`
33+
34+
These paths are substrate-level invariants so workstation, node, and container lanes can share one filesystem grammar.
35+
36+
### 3. Container-host baseline
37+
38+
SourceOS should define the default local execution posture for fog-capable nodes/workstations:
39+
40+
- Linux-first container host defaults
41+
- rootless-friendly execution where possible
42+
- mount wiring to the fog directory contract
43+
- no dependency on opt-in community automation
44+
45+
### 4. TopoLVM readiness
46+
47+
When a node participates in Kubernetes lanes, the substrate should provide the prerequisites needed for a local CSI/LVM stack such as TopoLVM.
48+
49+
Important layering rule:
50+
51+
- local PV provisioning belongs at the substrate/infrastructure layer
52+
- replication and eventual-consistency semantics belong above the substrate in topic/agent layers
53+
54+
## What does not belong in SourceOS
55+
56+
- topic replication policy semantics
57+
- Hypercore topic membership logic
58+
- compute marketplace settlement rules
59+
- opt-in automation workflows
60+
61+
Those belong in the spec, spine, and automation layers instead.
62+
63+
## Downstream repos expected to refine this
64+
65+
- `SourceOS-Linux/sourceos-spec` — typed contract surface for FogVault / FogCompute
66+
- `SociOS-Linux/socios-ignition` — first-boot realization of disk/mount/systemd defaults
67+
- `SociOS-Linux/workstation-contracts` — conformance checks for the machine contract
68+
- `SociOS-Linux/agentos-spine` — assembled runtime/integration lane
69+
- `SociOS-Linux/socios` — optional signed catalogs and automation

0 commit comments

Comments
 (0)