Skip to content
Work in progresspre-register via email

Hosts

A host is a Podman server in your Hetzner project that the hub created. Each host is either production or staging; the alpha allows at most 3 of them per hub.

pbx host create web-1 --type cpx22 --env production asks the hub for a server. The hub creates it in its private network, on PaaSbox’s Podman image. The host’s agent, pbx-agent, enrols at the hub and from then on asks it for its desired state and reports back. In a lab run on Hetzner Cloud a cpx22 host was enrolled 62 to 63 seconds after the request.

The agent opens every connection itself; the hub never connects to a host.

A host runs your app from your Git repository: the environment’s Podman files under a path you name, at a branch or revision. Secrets come encrypted from the repository (SOPS with age). The hub reads the environment from the repository and the host’s agent applies it.

A release is a signed set of the host image and the agent. The hub imports releases from releases.paasbox.com and checks their signatures; pbx release list shows them, and pbx release promote <version> --host web-1 moves a host to one. Security releases are applied whatever the licence’s state.

  • SSH: a login to observe or to operate, for one caller. Port 22 opens in the host’s firewall for the caller’s address only and closes when the login is revoked or expires. Measured on Hetzner Cloud: the login active after 3 seconds, the port open after 7, closed 12 seconds after revoke.
  • podman --remote: through the agent’s proxy, limited to the environment’s containers. An observer cannot exec or read secrets; nobody can run, pull or build through it.

Both are recorded in the audit log.

pbx host delete web-1 deletes the host and its server after you type its name. A device below the presence level, or a coding agent, can only ask for it; a person approves (Devices and roles).