fester/CHEATSHEET.md

98 lines
2.5 KiB
Markdown
Executable File

# Fester Operator Cheatsheet
Distributed Build + Scheduler + Observability System
---
## Starting a Build
```bash
fester build ./project.yaml
```
## Key Concepts
**Nodes** — Machines participating in builds (physical, VM, or container).
**Targets** — Compilation environments (x86_64-linux-gnu, aarch64-linux-gnu,
riscv64, embedded/toolchain targets).
**Actions** — Graph nodes representing individual build steps.
**Scheduler** — Chooses the best node based on load, temperature, policy
rules, and historical performance.
## Build Systems View
```text
Cockpit Module: Fester
Live DAG: /ui/live_dag.html
Replay View: /ui/replay.html
```
## Debugging
```bash
# Failure Autopsy
GET /api/autopsy/<build_id>
# Timeline Replay
GET /api/replay/<session_id>
```
## Cache System
Supports multiple backends:
- ccache (local compiler cache)
- MinIO (distributed cache)
- Btrfs CoW snapshots (reflink)
- tmpfs (in-memory acceleration)
- Shared CAS API (`/api/cas/`)
## Snapshots
Freeze build state using:
- QCOW2 image snapshots
- Btrfs copy-on-write states
## Node Control
```bash
fester node list
fester node set-policy <node> preferred
fester node set-policy <node> avoid
```
## Scheduler Modes
| Mode | Description |
|------------------|-------------------------------------------------|
| unified | Default weighted scoring |
| weighted | Thermal-aware throttling above 85 C |
| cache-first | Prioritize nodes with cached artifacts |
| target-isolated | Each target arch runs on designated nodes |
| intelligence | Experimental ML-driven scheduling |
## Safety Notes
- Do not run unrestricted builds on production nodes.
- Monitor thermal load in Grafana.
- Ensure cache integrity for distributed builds.
- Validate cross-compile toolchains before enabling targets.
- Use a reverse proxy with authentication for public exposure.
## Design Principle
Every build is reproducible, explainable, and replayable.
## System Maturity
| Level | Capability |
|-------|---------------------------------------------------|
| 1 | Distributed compiler system (distcc-like) |
| 2 | Smart scheduler (load/thermal/cache aware) |
| 3 | Observability system (metrics + Grafana + Cockpit)|
| 4 | Causal execution graph (why decisions happen) |
| 5 | Replayable build brain (session + timeline + autopsy)|