This document provides a comprehensive reference for all commands available in the BitBuilder Cloud CLI (bbctl).
The following options can be used with any command:
| Option | Description |
|---|---|
--help, -h |
Show help information |
--version, -V |
Show version information |
--log-level=<level> |
Set log level (debug, info, warn, error) |
--json |
Output results in JSON format |
--quiet, -q |
Suppress output except errors |
Initialize a new BitBuilder Cloud project.
Usage:
bbctl init [OPTIONS]
Options: - --name=<name> - Name for the new project
Example:
bbctl init --name my-cloud-project
Deploy an application to BitBuilder Cloud.
Usage:
bbctl deploy [OPTIONS]
Options: - --config=<path> - Path to deployment configuration file
Example:
bbctl deploy --config ./deploy.toml
List all configured infrastructure providers.
Usage:
bbctl providers list [OPTIONS]
Example:
bbctl providers list
Add a new infrastructure provider.
Usage:
bbctl providers add <name> [OPTIONS]
Options: - --type=<type> - Provider type (vyos, proxmox) [required] - --host=<host> - Hostname or IP address [required] - --username=<username> - Username for authentication - --api-key=<key> - API key for VyOS providers - --token-id=<id> - Token ID for Proxmox providers - --token-secret=<secret> - Token secret for Proxmox providers - --password=<password> - Password for Proxmox providers - --realm=<realm> - Authentication realm for Proxmox providers - --port=<port> - Port number for connection - --verify-ssl - Verify SSL certificates (Proxmox)
Examples:
bbctl providers add vyos-router --type vyos --host 192.168.1.1 --username vyos --api-key abcdef123456
bbctl providers add proxmox-host --type proxmox --host 192.168.1.2 --token-id user@pam!token --token-secret abcdef123456
Remove a provider from configuration.
Usage:
bbctl providers remove <name>
Example:
bbctl providers remove vyos-router
Test connectivity to a provider.
Usage:
bbctl providers test <name> [OPTIONS]
Options: - --verbose, -v - Show detailed connection information
Example:
bbctl providers test vyos-router --verbose
Update provider configuration.
Usage:
bbctl providers update <name> [OPTIONS]
Options: Same as providers add command
Example:
bbctl providers update vyos-router --api-key new-api-key
List all instances (virtual machines).
Usage:
bbctl instances list [OPTIONS]
Options: - --provider=<provider> - Filter by provider - --region=<region> - Filter by region - --status=<status> - Filter by status (running, stopped, etc.)
Example:
bbctl instances list --provider vyos-router --status running
Create a new instance.
Usage:
bbctl instances create <name> [OPTIONS]
Options: - --provider=<provider> - Provider to use [required] - --region=<region> - Region to deploy in [required] - --cpu=<cores> - Number of CPU cores - --memory=<gb> - Memory in GB - --disk=<gb> - Disk size in GB - --network=<id> - Network ID to connect to - --image=<image> - OS image to use - --ssh-key=<path> - Path to SSH public key to add
Example:
bbctl instances create web-server --provider vyos-router --region nyc --cpu 2 --memory 4 --disk 80
Delete an instance.
Usage:
bbctl instances delete <id>
Example:
bbctl instances delete i-01234567
Start an instance.
Usage:
bbctl instances start <id>
Example:
bbctl instances start i-01234567
Stop an instance.
Usage:
bbctl instances stop <id>
Example:
bbctl instances stop i-01234567
Show details about an instance.
Usage:
bbctl instances show <id>
Example:
bbctl instances show i-01234567
List all volumes.
Usage:
bbctl volumes list [OPTIONS]
Options: - --provider=<provider> - Filter by provider - --region=<region> - Filter by region - --status=<status> - Filter by status
Example:
bbctl volumes list --region nyc
Create a new storage volume.
Usage:
bbctl volumes create <name> [OPTIONS]
Options: - --size=<gb> - Volume size in GB [required] - --region=<region> - Region to create in - --type=<type> - Volume type (standard, ssd, nvme, hdd) - --provider=<provider> - Provider to use
Example:
bbctl volumes create db-data --size 100 --region nyc --type ssd
Delete a volume.
Usage:
bbctl volumes delete <id>
Example:
bbctl volumes delete vol-01234567
Attach a volume to an instance.
Usage:
bbctl volumes attach <id> [OPTIONS]
Options: - --instance=<id> - Instance ID to attach to [required] - --device=<device> - Device name for the attachment
Example:
bbctl volumes attach vol-01234567 --instance i-01234567 --device /dev/sdb
Detach a volume from an instance.
Usage:
bbctl volumes detach <id>
Example:
bbctl volumes detach vol-01234567
Show details about a volume.
Usage:
bbctl volumes show <id>
Example:
bbctl volumes show vol-01234567
List all networks.
Usage:
bbctl networks list [OPTIONS]
Options: - --provider=<provider> - Filter by provider - --region=<region> - Filter by region
Example:
bbctl networks list --provider proxmox-host
Create a new network.
Usage:
bbctl networks create <name> [OPTIONS]
Options: - --cidr=<cidr> - CIDR block (e.g. 192.168.1.0/24) [required] - --type=<type> - Network type (bridged, routed, isolated, vxlan, vpn) - --provider=<provider> - Provider to use - --region=<region> - Region to create in - --gateway=<ip> - Gateway IP address - --dns=<ip> - DNS server IP address (can be specified multiple times) - --wireguard - Enable WireGuard encryption
Example:
bbctl networks create app-network --cidr 192.168.1.0/24 --type routed --gateway 192.168.1.1 --dns 1.1.1.1
Delete a network.
Usage:
bbctl networks delete <id>
Example:
bbctl networks delete net-01234567
Connect an instance to a network.
Usage:
bbctl networks connect <id> [OPTIONS]
Options: - --instance=<id> - Instance ID to connect [required] - --ip=<ip> - IP address to assign to the instance
Example:
bbctl networks connect net-01234567 --instance i-01234567 --ip 192.168.1.10
Disconnect an instance from a network.
Usage:
bbctl networks disconnect <id> [OPTIONS]
Options: - --instance=<id> - Instance ID to disconnect [required]
Example:
bbctl networks disconnect net-01234567 --instance i-01234567
Show details about a network.
Usage:
bbctl networks show <id>
Example:
bbctl networks show net-01234567
Show current configuration.
Usage:
bbctl config show [OPTIONS]
Options: - --section=<section> - Show only specified section - --redact - Redact sensitive information
Example:
bbctl config show --section providers --redact
Reset configuration to defaults.
Usage:
bbctl config reset [OPTIONS]
Options: - --section=<section> - Reset only specified section - --confirm - Skip confirmation prompt
Example:
bbctl config reset --section credentials --confirm
Set a configuration value.
Usage:
bbctl config set <key> <value>
Example:
bbctl config set default_provider vyos-router
Test connectivity to a VyOS router.
Usage:
bbctl test-vyos [OPTIONS]
Options: - --host=<host> - VyOS host to connect to - --port=<port> - SSH port (default: 22) - --username=<username> - Username (default: vyos) - --password=<password> - Password (optional) - --key-path=<path> - Path to SSH key (optional) - --api-key=<key> - API key for HTTP API (optional)
Example:
bbctl test-vyos --host 192.168.1.1 --port 22 --username vyos --api-key abcdef123456
Running bbctl without any commands will launch the interactive Terminal UI mode.
Usage:
bbctl
| Key | Action |
|---|---|
| 1-5 | Switch tabs |
| Tab | Next tab |
| Shift+Tab | Previous tab |
| j/k or ↑/↓ | Navigate items |
| a | Add new item |
| d | Delete selected item |
| e | Edit selected item |
| r | Refresh data |
| q or ESC | Quit |
| ? | Show help |
The following environment variables can be used to override configuration:
| Variable | Description |
|---|---|
BBCTL_LOG_LEVEL |
Log level (debug, info, warn, error) |
BBCTL_CONFIG_DIR |
Custom configuration directory |
BBCTL_DEFAULT_PROVIDER |
Default provider |
BBCTL_DEFAULT_REGION |
Default region |