How it works

How a deployment earns its URL.

This is the exact sequence pl up drives, and what each step has to prove before the next one starts. Read it once and you know what the platform will never do behind your back.

Five legs, five executors, five proofs. Written from the code, not the roadmap.

[01] / build build pool

The gateway hands the build node the one archive its lease names and re-authorises after the read. Rootless BuildKit builds it in a fresh workspace; the digest is published inside the same lease that built it.

PUSHED
Manual →
[02] / place scheduler

A node with the right pool, capability and free CPU and memory gets a reservation. A reservation is bookkeeping, not permission: nothing runs on it yet.

RESERVED
Manual →
[03] / network network lane

One mesh per environment. The gateway container, its nftables rules and host routes are applied and verified; admission is recorded as evidence with a generation, and only evidence admits.

CLEARED
Manual →
[04] / serve application pool

Containers start with CPU, memory and PID limits and a health check. After durable health the scheduler publishes the Caddy route; a later release drains the old one. Crash replay adopts the same container.

AIRBORNE
Manual →
[05] / retire scheduler + network lane

Routes removed first, containers next, the environment network last, and only when no sibling still uses it. The record stays; the subnet slot is never reused.

DESTROYED
Manual →

Watch it leave the gate.

The demo runs the whole sequence on one machine in about six minutes, including the failures it has to refuse.

Run the demo → Topology →