forked from tfgrid/zosbuilder
2.0 KiB
2.0 KiB
Arch
Components
-
EFI Image
Minimal kernel providing a boot environment and network setup. -
Identity
Manages node lifecycle: registration, updates, and identity. -
Supervisor
Message router for registration procedures and authentication. -
Runners
Workers listening on a job queue to execute tasks like VM CRUD operations. -
SALs (System Abstraction Layers)
Wrappers around tools such ascloud-hypervisor,btrfs, and networking utilities. -
Coord (Coordinator)
Workflow manager that selects the supervisor and ensures task completion. -
Ledger
Centralized registration service for nodes, identity manager for users, and persistent store. -
Rhai Scripts
Minimal scripts to execute high-level operations like VM deployment.
Node Lifecycle Flow
- Build and push the EFI image to the bootstrap system.
- Bootstrap flashes the image on a USB stick or generates an iPXE image.
- Once booted and network is set up, the Identity Manager triggers.
- Identity Manager contacts the centralized control plane (Ledger/Coord) for registration.
- Node state (identity and keys) is saved, and uptime reports are sent periodically.
Deployment Flow
- Client prepares a signed Rhai script with deployment specs, including loops and logic.
- Script is sent to the Coord, which federates it to the relevant Supervisor, tracking execution and retries.
- Supervisor verifies signatures, validates the script, and places jobs into the Redis queue.
- Multiple Runners pick jobs from the queue and execute the corresponding SALs.
Features and Workloads
Networking
- Only Mycelium supported.
- No WireGuard/Yggdrasil/public overlays (public IPs only for gateway nodes).
Workloads
- Machines (VMs/containers)
- HeroDB
- Potential gateway support in the future (centralized Traefik)
- No QSFS/ZDB support
Filesystem
- Btrfs
