Skip to content

CLI Reference

The ccloud CLI is a lightweight command-line tool for managing Carolina Cloud instances. It wraps the REST API and provides quick access to common operations from your terminal.

Terminal window
curl -fsSL https://console.carolinacloud.io/static/cli/install.sh | bash

This installs the ccloud binary for your platform (Linux amd64/arm64, macOS arm64, Windows amd64).

Set your API key as an environment variable:

Terminal window
export CCLOUD_API_KEY="your-api-key-here"

Generate an API key from the dashboard under Settings > API Key. Add the export to your shell profile (~/.bashrc, ~/.zshrc) to persist it.

List all your instances with their status, resources, and access information.

Terminal window
ccloud list

Get detailed information about a specific instance by UUID or name.

Terminal window
ccloud get dev-server
ccloud get a1b2c3d4-e5f6-7890-abcd-ef1234567890

Create a new virtual machine.

Terminal window
ccloud new vm --cpus 8 --ram 16 --disk 100

Required flags:

FlagDescription
--cpusNumber of vCPUs
--ramRAM in GiB
--diskDisk size in GiB

Optional flags:

FlagDescription
--nameInstance name
--tiergeneral-purpose (default) or high-performance
--ssh-keyPath to SSH public key file

Create a new container.

Terminal window
ccloud new container --cpus 4 --ram 8 --disk 50 --flavor genomics

Same flags as ccloud new vm, plus:

FlagDescription
--flavorContainer flavor: base, genomics, plaingenomics, datascience, marimo, datasciencemarimo, rstudioserver, rgeospatial
--anthropic-api-keyAnthropic API key. Pre-authenticates Claude Code and notebook AI surfaces on AI-wired flavors.

Update an instance’s name or resize its resources (containers only).

Terminal window
# Rename an instance
ccloud update dev-server --name production-server
# Resize a container
ccloud update my-container --cpus 16 --ram 64
# Rename and resize at the same time
ccloud update my-container --name big-container --cpus 32 --ram 128 --disk 500

Flags (all optional, but at least one required):

FlagDescription
--nameNew name for the instance (kebab-case)
--cpusNew number of vCPUs (containers only)
--ramNew RAM in GiB (containers only)
--diskNew disk size in GiB (containers only)

Stop a running instance. Data is preserved, compute billing stops.

Terminal window
ccloud stop dev-server
ccloud stop a1b2c3d4-e5f6-7890-abcd-ef1234567890

Restart a stopped instance.

Terminal window
ccloud restart dev-server

Permanently delete an instance. All data is lost.

Terminal window
ccloud destroy a1b2c3d4-e5f6-7890-abcd-ef1234567890

SSH into an instance by UUID or name. If sshpass is installed, the password is entered automatically.

Terminal window
ccloud ssh dev-server
Environment variableDescription
CCLOUD_API_KEYAPI key for authentication (required)
CCLOUD_API_URLAPI base URL (default: https://api.carolinacloud.io)

All commands that accept a UUID also accept an instance name. Names are globally unique and must be kebab-case (lowercase letters, numbers, and hyphens, e.g. my-server-1). If you don’t provide a name when creating, one is auto-generated.

Terminal window
# Spin up a genomics container, run a pipeline, destroy when done
ccloud new container --cpus 32 --ram 128 --disk 1000 \
--flavor genomics --tier high-performance --name wgs-pipeline
ccloud ssh wgs-pipeline
# ... run your pipeline ...
ccloud destroy wgs-pipeline
# Quick Marimo notebook for exploratory analysis
ccloud new container --cpus 4 --ram 16 --disk 50 \
--flavor marimo --name exploration
# Resize a running container
ccloud update exploration --cpus 8 --ram 32
# Rename an instance
ccloud update exploration --name analysis-final
# List everything
ccloud list