CLI Reference
The flui CLI is the primary surface for operating a Flui installation:
creating the control cluster, managing workload clusters and their nodes,
deploying applications, running backups, and switching between isolated
installations on the same machine. The CLI and the dashboard overlap on most
day-to-day operations, so once the platform is up either surface gets the
job done; a handful of operations, though — creating or destroying the
control cluster itself — live only here.
How the CLI is organised
Commands are grouped into topics — app, env, backup, context,
and so on. Each topic owns a small set of verbs that act on the same kind
of object: flui app build, flui env create, flui backup job run.
Every command exposes --help, which prints its usage, flags, and
examples. When in doubt, flui <topic> --help lists the verbs available
in that topic.
Topics
| Topic | What it does | Reference |
|---|---|---|
env | Lifecycle of the control cluster: create, inspect, scale, destroy. | Environments |
cluster / node | Workload-cluster destroy and worker-node add/remove/list. | Clusters and nodes |
app | Inspect, scale, restart, snapshot, redeploy, and delete applications; read logs, metrics, and crash reports. | Applications |
deploy / catalog | Deploy from a flui.yaml manifest; validate the manifest offline. | Deploy |
integration / repo | Connect the Flui GitHub App and import repositories into the installation — prerequisites for the first source-built deploy. | Integrations |
template | Create a new repository from a Flui framework template. | Templates |
backup | Manage backup destinations, policies, jobs, and restores. | flui backup --help (dedicated reference page coming soon) |
auth | OIDC login and long-lived M2M API keys. | Authentication |
context / config | Profiles (isolated installations) and layered configuration. | Profiles and config |
server-types / ssh | List provider server sizes; SSH into a node. | Clusters and nodes |
dev | Helpers for Flui contributors (export secrets, SSH tunnel). | Dev tools |
dns / reconcile / update | Maintenance utilities. | Utilities |
The full topic list is also available at the command line via flui --help.
Common conventions
A handful of flags recur across the CLI; once you know them, most commands behave consistently.
-c, --cluster <name|id>— pick the target cluster explicitly on the commands that act on one. If the installation has a single workload cluster, it is auto-detected.-o, --output <format>— switch between human and machine-readable output. The exact set varies by command, butjsonis always available for scripting; the human format istextortabledepending on the command’s shape.--no-wait/--detach— on the commands that submit a long-running operation, return as soon as the job is queued instead of blocking until it reaches a terminal status.-f, --force/-y, --yes— skip confirmation on destructive operations.--dry-run— available on a subset of commands that mutate remote state or local files; prints what would happen.
Commands that talk to the API print a short context banner before running (active profile + API URL) so it is always clear which installation the command is operating on.
Profiles on disk
The CLI keeps each installation’s state under ~/.flui/profiles/<name>/.
A profile holds the API token, the encrypted credentials needed to talk
to the provider, the SSH CA used for cluster nodes, and the local
inventory of clusters/nodes/firewalls/operations the profile knows
about. The path can be moved with the FLUI_DIR environment variable —
see Environment variables.
Switching between installations is a flui context use <name> away;
the rest of the CLI then targets the newly active profile transparently.