Skip to content

Arubacloud/acloud-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

136 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

acloud-cli

GitHub release

acloud-cli is the official Command Line Interface (CLI) for the Aruba Cloud Management Platform.
It allows developers, DevOps engineers, and platform operators to interact with Aruba Cloud APIs directly from the terminal for automation, scripting, and infrastructure management.

⚠️ Development Status
This CLI is under active development and is not production-ready.
Commands, APIs, and behavior may change between releases.


Features and Capabilities

The Aruba Cloud CLI provides programmatic access to the following platform services:

  • Project and organization management
  • Block storage volumes, snapshots, backups, and restores
  • Network resources such as VPCs, subnets, security groups, and VPNs
  • Kubernetes as a Service (KaaS) cluster management
  • Infrastructure lifecycle operations and automation workflows

This tool is designed for:

  • Infrastructure as Code (IaC) workflows
  • CI/CD pipelines
  • Automation and scripting
  • Advanced terminal-based cloud management

Installation

Precompiled binaries are available for Windows, Linux, and macOS.
No additional runtime dependencies are required.

Windows

Invoke-WebRequest `
  -Uri "https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-windows-amd64.exe" `
  -OutFile "acloud.exe"

acloud.exe --help

Optionally move acloud.exe to a directory included in your PATH.

Linux

Ubuntu 22.04+ and most modern distributions

curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-linux-amd64
chmod +x acloud-linux-amd64
sudo mv acloud-linux-amd64 /usr/local/bin/acloud

Ubuntu 20.04 or older WSL distributions (GLIBC 2.31 compatible)

curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-linux-amd64-ubuntu20
chmod +x acloud-linux-amd64-ubuntu20
sudo mv acloud-linux-amd64-ubuntu20 /usr/local/bin/acloud

If you encounter GLIBC errors such as GLIBC_2.34 not found, use the -ubuntu20 binary.

MacOS

curl -LO https://github.com/Arubacloud/acloud-cli/releases/latest/download/acloud-darwin-amd64
chmod +x acloud-darwin-amd64
sudo mv acloud-darwin-amd64 /usr/local/bin/acloud

Configuration

Before using the CLI, you must configure your Aruba Cloud API credentials.

Set Credentials

acloud config set \
  --client-id YOUR_CLIENT_ID \
  --client-secret YOUR_CLIENT_SECRET

You can also set values individually:

acloud config set --client-id YOUR_CLIENT_ID
acloud config set --client-secret YOUR_CLIENT_SECRET

Credentials are stored securely in:

~/.acloud.yaml

View Configuration

acloud config show

Quick Start

1. Configure Credentials

acloud config set --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET

2. Create and Use a Context (Recommended)

Contexts allow you to work with a specific project without repeatedly passing --project-id

acloud context set my-prod --project-id "YOUR_PROJECT_ID"
acloud context use my-prod

3. Explore Resources

# List projects
acloud management project list

# List block storage volumes
acloud storage blockstorage list

# List snapshots
acloud storage snapshot list

Context Management

Manage multiple project contexts to simplify multi-environment workflows:

acloud context set prod --project-id "prod-project-id"
acloud context set dev --project-id "dev-project-id"
acloud context set staging --project-id "staging-project-id"

acloud context use prod
acloud context use dev

acloud context current
acloud context list
acloud context delete staging
```bash

## Usage
```bash
acloud --help
acloud config --help

Debug Mode

acloud --debug network vpc list
# Short form
acloud -d network vpc list

Debug mode enables:

  • HTTP request and response logging
  • Detailed JSON payloads
  • Full error response details

Debug output is sent to stderr and does not interfere with command output.

Documentation

📚 Full documentation is available at: https://arubacloud.github.io/acloud-cli/

The documentation website includes:

  • Getting started guides
  • Authentication and configuration references
  • Complete command and resource documentation
  • Examples and tutorials
  • Versioned documentation for each CLI release

Local source files are available in the docs/ directory.

Testing

End-to-end (E2E) tests validate CRUD operations across all resource categories.

Required Environment Variables

export ACLOUD_PROJECT_ID="your-project-id"
export ACLOUD_REGION="ITBG-Bergamo"

Run E2E Tests

./e2e/management/test.sh
./e2e/storage/test.sh
./e2e/network/test.sh
./e2e/container/test.sh

Container (KaaS) tests require additional environment variables. See e2e/README.md for full instructions and prerequisites.

Contributing

Please see CONTRIBUTING.md for development guidelines.

License

See the LICENSE file for licensing details.