v0.1.0
iPXE-All-Ready is an open-source, stateless compute-node delivery platform built on iPXE and iSCSI. Nodes without local storage boot over the network with no pre-registration and no vendor lock-in.
This release marks the completion of Phase 1: the project has evolved from a diskless-boot proof of concept into a full control plane. New machines are detected and registered automatically on power-on; attaching system disks and switching the default boot OS are performed from the web UI.
Features
Batch System Disk Deployment
- Batch selection with Shift-range multi-select; storage node assignment via single-node takeover, per-worker drag-and-drop, or round-robin spread across multiple nodes.
- Disk creation from a master image (reflink clone with copy fallback) or as an empty sparse disk; successfully created workers are automatically set as the default boot OS.
- Workers that already have a system disk are highlighted; duplicate OS creation is skipped.
Batch Worker Deletion
- Dedicated deletion mode, mutually exclusive with batch creation. Confirmation dialog supports deleting the backing
.imgfiles and ignoring missing targets. - Items are executed independently: a failed item does not affect the rest. Successful items are persisted to the ledger and dnsmasq is reloaded once per batch.
Agent Registration and LUN Management
- Two-step agent registration:
POST /agents/probederives registration parameters (role, tags,iscsi_server) from the agent's health and capability endpoints;POST /agentspersists them toagents.yml(tokens support${ENV}placeholders). - Direct LUN management per agent: list, create disk, create CD, delete, and scan/recreate targets.
Boot Variables and Disk Management
/boot-varsreturns backend-specific connection separators (stgt:::1:/ LIO::::), enabling a single iPXE script across backends.- Per-worker disk deletion and a configurable default boot OS (os / menu_default / menu_timeout, each settable or clearable).
Platform Foundation
- Zero-touch provisioning: unbound MACs are registered automatically with an auto-assigned hostname.
- Multi-OS support verified end to end: Windows 11 24H2/25H2, Ubuntu 22.04 LTS, and Debian 12.
- File-based state management:
agents.yml,workers.yml,dhcp-hosts.conf, andoperations.jsonlcarry all control-plane state; no database, fully diffable and manually recoverable. - The bootstrap chain is built with
debootstrapanddism++instead of vendor installers, keeping every stage auditable.
Quick Start
git clone https://github.com/dutyc/ipxe-all-ready
cd ipxe-all-ready
# 1. Adapt dnsmasq/dnsmasq.conf: NIC name, subnet, gateway
# 2. Prepare the Control Plane config (the repo tracks only *.env.example
# templates, which carry full comments):
cp control_plane/control_plane.env.example control_plane/control_plane.env
# - Optional: set IPXE_CP_TOKEN to enable API auth (keep it in sync
# with the Web UI's VITE_CP_TOKEN)
docker compose up -d
# 3. (Optional) Storage node: deploy the iscsi-server directory on it
# cp iscsi-server/.env.example iscsi-server/.env
# set IPXE_AGENT_TOKEN (must match the token of this node in agents.yml)
# docker compose -f iscsi-server/docker-compose.yml up -d- Web UI:
http://<controller-ip>:4838 - Control Plane API:
http://<controller-ip>:4839
Full deployment guidance: Environment Setup guide
Changes in This Release
Features
- Batch system disk deployment (storage node assignment, default_os auto-set)
- Batch worker deletion (independent mode, mutually exclusive with batch creation)
- Two-step agent probe and registration; "Add Agent" flow in the Agents page
- Direct agent LUN management endpoints (
/agents/{id}/luns, scan) - Backend-specific connection separators in
/boot-vars - Per-worker disk deletion; default boot OS fields settable/clearable
Engineering and release preparation
- Environment configuration finalized:
webui/app/.env.exampleadded; all.env(.example)files fully commented - Sensitive-information cleanup: files containing deployment tokens untracked; the repository ships
*.exampletemplates only - Version unified to 0.1.0
Notes
- Storage-node agents drive the local iSCSI container via
docker.sock; expose them only on the control or trusted management network, never directly to the public internet. - The LIO backend does not support CD-ROM devices; schedule ISO mounts to stgt nodes (
cd=true). - This project targets intranet deployments; TLS and multi-tenant isolation are not provided.
Documentation
- Architecture and core boot chain: https://ipxe.lecreate.asia
- Windows 11 diskless workflow, Debian 12 diskless workflow, iBFT evidence chain, control-plane reference
Roadmap
The long-term goal is a cross-platform, cross-architecture, cloud-native stateless compute infrastructure. Phase planning is maintained in ROADMAP.md.