Becoming a Host
A host is any machine running dh-noded that a cluster operator has invited. It keeps the final say over what runs on it.
A machine joins a Decentralized.Host cluster with a single-use invite token created by the operator (`dh node invite`), runs dh-noded with that token, and is approved with `dh node approve`. Decentralized.Host has no token, rewards or public marketplace.
Joining
The operator creates a single-use invite; the token pins the cluster root and CA, so the host speaks HTTPS from its first request.
# operator machine$ dh node invite --out host-1.token# the new host$ dh-noded --data /var/lib/dh-noded --join-file host-1.token --name host-1 --region eu-west --zone a --host rack1-u12 --mesh 0.0.0.0:51820 --mesh-advertise host-1.example.net:51820# operator machine$ dh node approve host-1
Your policy, on your machine
On first start the host writes policy.yaml to its data directory. This is the default, verbatim from the source. Edit it and restart the agent to change it; the control plane can read it but never change it.
# Host-local sovereign policy. The control plane cannot change this file. # Every assignment is checked against it before anything executes. sovereign: true maxWorkloads: 40 maxCPU: "32" maxMem: 128Gi acceptTiers: [local, trusted] denyImagesWithoutDigest: true # When true, only artifacts attested by a trusted publisher key run here. # "cluster-root" means the root key this host pinned when it joined. requireImageSignature: false trustedPublishers: [cluster-root] allowRuntimes: [process, docker] allowFederated: false allowExec: false # deny: keep admitted work, refuse new work while the control plane is stale. # stop: also stop admitted work while the control plane is stale. offlineAdmission: deny maxClockSkew: 30s freshWindow: 10s storageQuota: 10Gi
What you keep control of
- › Which tiers, runtimes and resource ceilings you accept, and whether artifacts must be attested.
- › Whether federated work from other clusters may run here (off by default).
- › Whether anyone may exec into workloads (off by default).
- › What happens when the control plane is unreachable: keep admitted work (default) or stop it.
- › Your own hash-chained journal of every decision, readable with
dh-noded status.
Revocation cuts a host from the mesh and routing and blocks new admissions, but work it already admitted may continue under its own policy. Revoked is not the same as lost.