The six lines flow, above and below without constancy; the firm and the yielding interchange — it adapts to whatever change may come. — the I Ching · Great Commentary
Kurrent strips identity, system and state away from the machine. The node stays empty; the system becomes the only unit of scheduling. The machine is merely where the system happens to be.
Not hiding state out of sight, but giving every piece of state a clear owner and returning the node to its only role: a location.
A node can be pulled, replaced and re-racked while the system still stands.
Because the system was never inside that machine.
Identity lives in the device ledger, the system disk on storage, the declaration in the repository, and credentials are issued by the control plane. What remains on the machine is a temporary connection for one boot.A system is defined by four things. They move, exist and are replaced together; remove any one and it is no longer the same system.
os_tag, image versionStorage nodekurrent.yaml: network, backend, data directory, NQN namespaceRepository / nodeThe system disk carries the whole system, credentials follow the disk, and binding has a single authority. No extra storage abstraction is introduced just to claim statelessness.
Boot, runtime and data live on the same disk. Move the disk and the system moves with it; no separate volume and snapshot layer.
Devices and Workers are one-to-one. At boot only the bound device receives its system's connection data; the binding is the authentication boundary.
The boot chain hands the system to the next boot. It is the delivery entry, not the project itself; Kurrent schedules systems, not boot processes.
Fig. 1 — State has an owner; the node is empty.
The following distributions have completed whole-machine cold-boot verification; the list does not limit what can boot.