Installation overview
A Triton Cloud install turns a rack of bare machines into a working cloud in
three phases. One operator CLI, tritonadm, drives all three. One document,
the answers document, describes the result. This page names the phases and
links to the page for each. It does not repeat the steps.
The model
An install has two durable artifacts.
- The answers document declares the data center, its networks and DNS, and every machine that will be part of the cluster. You write it once and keep it in version control. It describes the finished cluster, not the steps to build one.
- The cluster intent is the answers document after the control plane
commits it during genesis. From then on, the control plane converges the
observed state toward the intent.
tritonadm intentshows and revises it.
The phases run in this order.
| Phase | Command | What it does |
|---|---|---|
| Genesis | tritonadm setup bootstrap | Turns one prepared machine, the founder, into a working control plane. Commits the intent. Performs the founder pivot. |
| Enrollment | None. Machines network-boot. | Every other declared machine boots from the cluster's own booter. The booter recognizes the machine by its declared identity and registers it. You approve each machine for setup. |
| Convergence | tritonadm setup converge | Grows the committed intent onto the enrolled machines: FoundationDB seats, object storage, ClickHouse, the booter, DNS, and certificates. |
Genesis builds a control plane on one node only. Genesis does not build a
three-seat FoundationDB cluster. Convergence builds the seats on machines
that enroll after genesis. seats: 3 in the answers document does not
produce three seats on day one.
The sequence
| Stage | What you do | Page |
|---|---|---|
| 1. Prepare node zero and the network | Boot a platform image, create the zones pool, create the nic tags, delegate DNS. | Requirements |
| 2. Write the answers document | Declare networks, DNS, and every node. | Requirements |
| 3. Install the CLI on the founder | curl -fsSL https://tritoncloud.nyc3.digitaloceanspaces.com/install.sh | TRITON_CHANNEL=edge sh | Install the tritonadm CLI |
| 4. Preview the plan, then run genesis | tritonadm setup bootstrap --answers <FILE> --dry-run, then the same command without --dry-run | Genesis on the founder |
| 5. Sign in | tritonadm configure, then tritonadm api-key create | Genesis on the founder |
| 6. Enroll compute nodes and converge | Network-boot each machine, tritonadm cn setup approve, then tritonadm setup converge | Enroll compute nodes and converge |
| 7. Keep the cluster current | tritonadm update --all, tritonadm self-update | Updates and channels |
When a step fails, start at Troubleshooting an install.
Two paths, one supported
tritonadm setup bootstrap --answers is the supported path for a cluster you
intend to keep. These pages describe that path. The flag-driven path,
tritonadm setup apply with --fdb-ip and related flags, exists for
one-machine labs that you will discard. The
tritonadm setup reference lists its
flags.
What you end up with
After genesis, the founder runs:
- A FoundationDB zone and a
tritondcontrol-plane zone. After the founder pivot their names aretriton-fdb1andtriton-tritond1. The founder pair no longer exists. - The
tritondAPI on port8080and the operator console on port8081, both in thetritondzone. tritonagentin the founder's global zone, registered as the first compute node.- A booter zone that serves the enrollment platform image, a DNS zone, and a first certificate, when the answers document declares them.
After enrollment and convergence, each other declared machine runs the platform installed from the network, with the pool layout you confirmed. The control plane has the seats, storage, and metrics that the intent declares.
Next steps
- Requirements before you touch a machine.
- Install the tritonadm CLI for stage 3.
- Genesis on the founder for stages 4 and 5.
- Enroll compute nodes and converge for stage 6.
- Compute node lifecycle explains the states a machine moves through during enrollment.
tritonadmreference for the full command surface.