CLI Overview
The exc CLI is the primary way to drive Excloud from a terminal. It wraps every public API — compute, object storage, secrets, Kubernetes, DNS, IAM, billing — behind a single binary.
Install: see
CLI Installation. Authenticate: exc login.
Discover flags as you go
Every command supports --help. The reference below is a map; the authoritative flag list always lives in exc <command> --help.
Top-level commands
| Command | What it does |
|---|---|
exc login | Authenticate the CLI against Excloud. Writes credentials to ~/.exc/config. |
exc me | Show the currently authenticated user. |
exc org | List the orgs your account belongs to. |
exc account | Invite, list, and revoke accounts inside an org. |
exc config | Manage CLI configuration: default account, default org. |
exc apikey | Create, list, and delete API keys. |
exc serviceaccount | Manage IAM service accounts. |
exc policy | Manage IAM policies and policy bindings. |
exc quota | Show the quotas applied to your org. |
exc billing | Show invoices, estimates, and cost breakdowns. |
exc compute | Create and manage VMs, volumes, snapshots, public IPv4, SSH keys, security groups. |
exc securitygroup | Manage security groups, rules, and bindings (also reachable as exc compute securitygroup). |
exc buckets | Create buckets, manage S3 access keys, upload/download/sync objects. |
exc secret | Manage org-scoped secrets (encrypted at rest, audited on read). |
exc k8s | Create Kubernetes clusters, fetch kubeconfig, manage worker pools. |
exc completion | Generate shell completions (bash, zsh, fish, powershell). |
exc version | Print the CLI version. |
Compute
exc compute create \
--name web-1 \
--image_id 1 \
--instance_type m1a.large \
--subnet_id 1 \
--security_group_ids 12 \
--ssh_pubkey my-key \
--allocate_public_ipv4 \
--waitKey subcommands:
- Lifecycle:
create,start,stop,restart,terminate,rename,resize - Inspection:
list,get,metrics,seriallogs(supports-fto follow) - Access:
connect(short-lived SSH session),exec(run a command over SSH),scp,console - Protection:
protect/unprotect(delete protection) - Catalogs:
image list,instancetype list - Sub-resources:
key(SSH keys),publicip(IPv4 reservations),volume(block volumes),snapshot(volume snapshots),subnet(read-only) - Networking:
securitygroup(top-level or undercompute),localip(your detected public IP)
See: Instances, Volumes, Snapshots, Public IPv4, Subnets, SSH Keys, Serial Logs, Security Group.
Object Storage (Buckets)
exc buckets create my-bucket
exc buckets keys create automation
exc buckets objects upload my-bucket ./app.tgz --key app.tgz
exc buckets objects presign my-bucket app.tgz --ttl 3600Subcommands: create, list/ls, get, update, delete, usage, cp, rm, keys, objects, multipart.
The bucket endpoint is S3-compatible at https://<org-id>.buckets.excloud.in. See
Object Storage.
Secrets
exc secret create --path /app/prod/db_url --value 'postgres://…'
exc secret reveal --path /app/prod/db_url
exc secret events --path /app/prod/db_urllist/get/lookup return metadata only; values come back only via reveal, and every reveal is audited. See
Secrets.
Kubernetes
exc k8s cluster create \
--control_plane_image_id 1 \
--control_plane_instance_type m1a.large \
--subnet_id 1 \
--ssh_pubkey my-key
exc k8s cluster kubeconfig get --cluster_id 7 -o ~/.kube/excloud.yaml
exc k8s cluster worker create \
--cluster_id 7 \
--worker_name worker-1 \
--worker_image_id 1 \
--worker_instance_type m1a.xlarge \
--subnet_id 1 \
--ssh_pubkey my-keySubcommands: cluster create|list|delete, cluster kubeconfig get|merge, cluster worker create|list|delete, bootstrap controlplane …. See
Kubernetes.
IAM (policies, accounts, keys)
exc apikey create
exc serviceaccount list
exc policy list
exc policy binding list
exc account invite --email teammate@example.comPolicy authoring is documented in the Policies guide; the full action catalog is in the Permissions Reference.
Billing
exc billing get
exc billing costs
exc billing estimateConfig & context
exc config set --account <account-id> --org <organization-id>
exc config listThe CLI stores tokens, default account, and default org under ~/.exc/config. The
Terraform provider reads the same file when no explicit credentials are supplied.
Getting help
exc <command> --help— flag-level help, always current.- Quickstart — install and first VM.
- Guides — recipes for common workflows.
- Email support@excloud.dev.