Skip to content

hcloud

hcloud is built from crates/cloud-cli and shipped in the release tarball (/usr/local/bin/hcloud on a host installed with install.sh). It drives exactly the public routes; it never prints a secret it was not asked to print.

hcloud signup --email <EMAIL> --password <PASSWORD> [--invite-code <CODE>] code needed on invite-gated deployments
hcloud login --email <EMAIL> --password <PASSWORD>
hcloud logout
hcloud whoami
hcloud project create --name <NAME>
hcloud project list
hcloud project show <PROJECT>
hcloud project wakeup <PROJECT>
hcloud project sleep <PROJECT>
hcloud project head <PROJECT>
hcloud key create <PROJECT> [--label <LABEL>] [--no-store] prints the secret once
hcloud key list <PROJECT> never prints secrets
hcloud key revoke <PROJECT> <KEY_ID>
hcloud capabilities <PROJECT> [--key <hyp1_...>] [--hex|--raw] GET /v2/capabilities, decoded
hcloud snapshot create <PROJECT> [--label <LABEL>] tenant must be asleep
hcloud snapshot list <PROJECT>
hcloud snapshot show <PROJECT> <SNAPSHOT>
hcloud restore <PROJECT> <SNAPSHOT> tenant must be asleep; replaces its data
hcloud storage buckets create <PROJECT> <BUCKET>
hcloud storage buckets list <PROJECT>
hcloud storage put <PROJECT> <BUCKET> <LOCAL_FILE> <KEY> [--content-type <TYPE>]
hcloud storage get <PROJECT> <BUCKET> <KEY> <OUT>
hcloud storage ls <PROJECT> <BUCKET>
hcloud storage rm <PROJECT> <BUCKET> <KEY>
hcloud realtime publish <PROJECT> <CHANNEL> <EVENT> [JSON]
hcloud realtime listen <PROJECT> <CHANNEL> SSE; prints events until Ctrl-C
hcloud fn deploy <PROJECT> <NAME> <FILE> one JS module: export default async (req) => ({status, headers?, body})
hcloud fn list <PROJECT>
hcloud fn invoke <PROJECT> <NAME> [JSON] prints status to stderr, body to stdout
hcloud fn rm <PROJECT> <NAME>
hcloud fn secret list <PROJECT> names and versions only
hcloud fn secret set <PROJECT> <NAME> [--value V | --file F] otherwise reads stdin; never echoed back
hcloud fn secret rm <PROJECT> <NAME>
hcloud version | help
Variable Meaning
CLOUDD_URL Control-plane origin, default http://127.0.0.1:8080. login remembers it. Use https://infra-hyphae.run for the hosted deployment.
XDG_CONFIG_HOME Session and stored project keys live in $XDG_CONFIG_HOME/hyphae-cloud/ (default ~/.config/hyphae-cloud/).

Session tokens expire after 24 h; every command then stops with session expired; run: hcloud login. hcloud key create stores the key locally so capabilities can use it; pass --no-store to keep it out of the config directory.