cs CLI reference
cs is the CloudGrange command-line interface. Install it on any machine with network access to your CloudGrange portal.
Install
The CLI is not publicly available yet. Register interest in the upcoming Private Preview at preview@cloudgrange.com.
Authenticate
cs auth login --url https://cloudgrange.contoso.com --username admin
Authentication stores a session token in ~/.cloudgrange/session.json. Run cs auth logout to clear it.
cs config
Read and write CLI configuration. Settings are stored in ~/.cloudgrange/config.json.
cs config get
Read a single configuration value.
Synopsis:
cs config get <key> [flags]
Arguments:
| Argument | Description |
|---|---|
key |
Configuration key to read: server, org, or output |
Example:
cs config get server
Key Value
server https://cloudgrange.contoso.com
cs config set
Write a configuration value.
Synopsis:
cs config set <key> <value> [flags]
Arguments:
| Argument | Description |
|---|---|
key |
Configuration key to write: server, org, or output |
value |
Value to set. For output, accepted values are table or json |
Example:
cs config set server https://cloudgrange.contoso.com
cs config set output json
Set server = https://cloudgrange.contoso.com
cs config list
Print all current configuration values.
Synopsis:
cs config list [flags]
Example:
cs config list
Key Value
server https://cloudgrange.contoso.com
org contoso
output table
cs cluster
Manage registered clusters.
cs cluster list
List all clusters registered with the platform.
Synopsis:
cs cluster list [flags]
Flags:
| Flag | Description |
|---|---|
--status <value> |
Filter by status: Healthy, Degraded, Pending, Offline |
--type <value> |
Filter by type: HyperV, AzureLocal |
--format <value> |
Output format: table (default) or json |
Example:
cs cluster list
ID NAME TYPE STATUS NODES
clus_01hv7... prod-hci-01 HyperV Healthy 3
clus_02... dev-hci-01 HyperV Pending 2
cs cluster list --status Healthy --format json
[
{
"id": "clus_01hv7...",
"name": "prod-hci-01",
"type": "HyperV",
"status": "Healthy",
"nodeCount": 3
}
]
cs cluster get
Get details for a specific cluster.
Synopsis:
cs cluster get <cluster-id-or-name> [flags]
Flags:
| Flag | Description |
|---|---|
--format <value> |
Output format: table (default) or json |
Example:
cs cluster get prod-hci-01
ID: clus_01hv7...
Name: prod-hci-01
Type: HyperV
Status: Healthy
Nodes: 3
Relay: relay-prod-hci-01 (Connected, last seen 30s ago)
Registered: 2026-05-01 10:00:00 UTC
cs cluster register
Register a new cluster and print the Relay enrollment command.
Synopsis:
cs cluster register --name <name> --type <type> [flags]
Flags:
| Flag | Description |
|---|---|
--name <value> |
Display name for the cluster (required) |
--type <value> |
Cluster type: HyperV (default) or AzureLocal (required) |
--site <value> |
Site ID to associate the cluster with |
--format <value> |
Output format: table (default) or json |
Example:
cs cluster register --name prod-hci-02 --type HyperV
Cluster registered.
ID: clus_03...
Name: prod-hci-02
Status: Pending
Enrollment token: enroll_01hz... (expires in 24 hours)
Run the following command on a Linux host inside the cluster network to deploy the Relay:
docker run -d --name cloudgrange-relay --restart=always \
-e RELAY_PAAS_URL=https://cloudgrange.contoso.com \
-e RELAY_ENROLLMENT_TOKEN=enroll_01hz... \
-e RELAY_DISPLAY_NAME=relay-prod-hci-02 \
-v cloudgrange-relay-identity:/var/lib/cloudgrange-relay/identity \
ghcr.io/cloudgrange-cloud/cloudgrange-relay:latest
cs deploy
Create and execute cluster deployment plans.
cs deploy plan
Create a deployment plan for a cluster. The plan shows all actions CloudGrange would take without making any changes.
Synopsis:
cs deploy plan --cluster <name> [flags]
Flags:
| Flag | Description |
|---|---|
--cluster <value> |
Target cluster name or ID (required) |
--server <url> |
Override the configured server URL |
--output table|json |
Output format (default: table) |
Example:
cs deploy plan --cluster prod-hci-01
Action Resource Detail
------ -------- ------
Create VirtualSwitch external-switch-01
Update ClusterNetwork 10.0.0.0/24
Create LiveMigration SMB transport enabled
Plan ID: plan_01hz...
cs deploy apply
Execute a deployment plan against a cluster. Prompts for confirmation unless --yes is passed.
Synopsis:
cs deploy apply --cluster <name> [--yes] [flags]
Flags:
| Flag | Description |
|---|---|
--cluster <value> |
Target cluster name or ID (required) |
--yes |
Skip the confirmation prompt |
--server <url> |
Override the configured server URL |
--output table|json |
Output format (default: table) |
Example:
cs deploy apply --cluster prod-hci-01 --yes
Field Value
JobId job_01hz...
Status Running
Cluster prod-hci-01
Use cs watch --job job_01hz... or cs deploy status --job job_01hz... to follow progress.
cs deploy status
Poll the status of a deployment job.
Synopsis:
cs deploy status --job <id> [flags]
Flags:
| Flag | Description |
|---|---|
--job <value> |
Deployment job ID (required) |
--server <url> |
Override the configured server URL |
--output table|json |
Output format (default: table) |
Example:
cs deploy status --job job_01hz...
Field Value
JobId job_01hz...
Status Completed
Cluster prod-hci-01
StartedAt 2026-05-31T10:00:00Z
UpdatedAt 2026-05-31T10:04:33Z
cs agent
Manage CloudGrange agents. Agents run on hosts inside your cluster network and relay management traffic to the portal.
cs agent list
List all registered agents.
Synopsis:
cs agent list [flags]
Flags:
| Flag | Description |
|---|---|
--server <url> |
Override the configured server URL |
--output table|json |
Output format (default: table) |
Example:
cs agent list
Id Hostname Status LastSeen
agent_01hz... agent-host-01 Connected 2026-05-31T10:05:00Z
agent_02hz... agent-host-02 Connected 2026-05-31T10:05:02Z
cs agent register
Register a new agent by hostname and enrollment token.
Synopsis:
cs agent register --host <hostname> --token <token> [flags]
Flags:
| Flag | Description |
|---|---|
--host <value> |
Hostname of the agent to register (required) |
--token <value> |
Registration token issued during cluster enrollment (required) |
--server <url> |
Override the configured server URL |
--output table|json |
Output format (default: table) |
Example:
cs agent register --host agent-host-03 --token reg-token-xyz
Field Value
Id agent_03hz...
Hostname agent-host-03
Status Registered
cs agent remove
Deregister an agent. Prompts for confirmation unless --force is passed.
Synopsis:
cs agent remove <id> [--force] [flags]
Arguments:
| Argument | Description |
|---|---|
id |
Agent ID to deregister |
Flags:
| Flag | Description |
|---|---|
--force |
Skip the confirmation prompt |
--server <url> |
Override the configured server URL |
--output table|json |
Output format (default: table) |
Example:
cs agent remove agent_01hz... --force
Agent 'agent_01hz...' removed.
cs module catalog
Browse and manage the module catalog.
cs module catalog list
List modules in the catalog.
Synopsis:
cs module catalog list [flags]
Flags:
| Flag | Description |
|---|---|
--verified |
Show only cosign-verified modules |
--installed |
Show only installed modules |
--format <value> |
Output format: table (default) or json |
Example:
cs module catalog list
ID NAME VERSION VERIFIED INSTALLED UPDATE
monitoring CloudGrange Monitoring 1.2.0 Yes No -
firmware CloudGrange Firmware 0.9.1 Yes Yes -
cs module catalog list --verified --format json
[
{
"id": "monitoring",
"name": "CloudGrange Monitoring",
"version": "1.2.0",
"verified": true,
"installed": false,
"updateAvailable": false
}
]
cs module catalog get
Get details for a specific module.
Synopsis:
cs module catalog get <module-id>
Example:
cs module catalog get monitoring
ID: monitoring
Name: CloudGrange Monitoring
Version: 1.2.0
Verified: Yes
Installed: No
Description: Prometheus-based workload monitoring for Hyper-V clusters.
Source: ghcr.io/cloudgrange-cloud/module-monitoring:1.2.0
cs module install
Install a module from the catalog.
Synopsis:
cs module install --from-catalog <module-id> [flags]
Flags:
| Flag | Description |
|---|---|
--from-catalog |
Install from the GHCR catalog (required for catalog installs) |
--version <value> |
Specific version to install (default: latest verified release) |
--wait |
Wait for the install job to complete before returning |
Example:
cs module install --from-catalog monitoring
Installing module: monitoring v1.2.0
Job ID: job_01hz...
Status: Installing
Use 'cs job get job_01hz...' to check progress.
cs module install --from-catalog monitoring --wait
Installing module: monitoring v1.2.0
Job ID: job_01hz...
... installing (15s)
Status: Completed
Module 'monitoring' installed successfully.
cs watch
Stream real-time job progress via Server-Sent Events (SSE). Use this after cs deploy apply or any other command that returns a job ID.
Synopsis:
cs watch --job <id> [flags]
Flags:
| Flag | Description |
|---|---|
--job <value> |
Job ID to stream (required) |
--server <url> |
Override the configured server URL |
Behavior:
- Connects to
/api/v1/jobs/{id}/streamand prints[HH:mm:ss] messagelines as events arrive. - Exits with code
0when the job reachesCompleted. - Exits with code
1when the job reachesFailedorCancelled, or if the connection fails.
Example:
cs deploy apply --cluster prod-hci-01 --yes
# Output: JobId job_01hz...
cs watch --job job_01hz...
[10:00:01] Starting deployment for cluster prod-hci-01
[10:00:05] Creating virtual switch external-switch-01
[10:00:18] Updating cluster network
[10:04:33] Deployment completed successfully
cs platform update
Check for and apply platform updates.
cs platform update --check
Check whether a newer version of CloudGrange is available.
Synopsis:
cs platform update --check
Example:
cs platform update --check
Current version: 0.5.3
Latest version: 0.6.0
Update available: Yes
Release notes: https://github.com/CloudGrange/cloudgrange-deployment-installer/releases/tag/v0.6.0
cs platform update --apply
Apply the latest available update (or a specific version).
Synopsis:
cs platform update --apply [--version <value>] [--wait]
Flags:
| Flag | Description |
|---|---|
--version <value> |
Specific version to update to (default: latest) |
--wait |
Wait for the update job to complete before returning |
Example:
cs platform update --apply --wait
Applying update: 0.5.3 → 0.6.0
Job ID: job_02hz...
... updating (42s)
Status: Completed
CloudGrange updated to v0.6.0 successfully.
cs platform update --rollback
Roll back to the previously installed version.
Synopsis:
cs platform update --rollback [--wait]
Example:
cs platform update --rollback
Rolling back: 0.6.0 → 0.5.3
Job ID: job_03hz...
Use 'cs job get job_03hz...' to check progress.
Global flags
These flags apply to all cs commands:
| Flag | Description |
|---|---|
--server <url> |
Override the configured server URL for this invocation |
--output table|json |
Output format: table (default) or json. Short form: -o |
--verbose |
Enable verbose output. Short form: -v |
--version |
Print the cs CLI version and exit |
--help |
Print help for the command |