BitBuilder Cloud CLI is an all-in-one tool for provisioning and managing multi-tenant infrastructure on bare metal servers running VyOS v1.5 or Proxmox. Similar to fly.io's flyctl, bbctl provides a seamless experience for deploying, scaling, and managing your applications across distributed infrastructure.
- Manage VMs: Create, configure, and manage virtual machines across your infrastructure
- Storage Management: Provision and attach volumes to your applications
- Network Configuration: Set up and manage virtual networks with secure connectivity
- Multi-provider Support: Works with VyOS v1.5 and Proxmox
- Bare Metal Efficiency: Optimized for bare metal server deployment
- Future Public Cloud Integration: Scale out to public clouds with E2E encryption (coming soon)
cargo install bbctl
Download the latest release for your platform from the releases page.
# Initialize a new BitBuilder Cloud project bbctl init # Deploy an application bbctl deploy # List running instances bbctl instances list # Create a new volume bbctl volumes create my-volume --size 10 # Manage networks bbctl networks create my-network --cidr 192.168.0.0/24
Run bbctl without commands to enter the interactive Terminal UI mode:
bbctl
In TUI mode, you can: - Navigate with Tab or number keys (1-5) - Use arrow keys or j/k to select items - View and manage Instances, Volumes, and Networks - Configure system settings
This project uses Rust with async support through Tokio and Ratatui for the terminal interface.
# Clone the repository git clone https://github.com/bitbuilder-io/bbctl.git cd bbctl # Build cargo build # Run cargo run
A VyOS test lab environment is provided for testing bbctl against real infrastructure. The lab uses Docker to create VyOS routers configured with WireGuard, VXLAN, OSPF, and L3VPN to simulate a multi-tenant network environment.
# Setup the VyOS test lab cd tests/vyos-lab ./setup-lab.sh # Test bbctl against the lab environment bbctl test-vyos --host localhost --port 21022 --username vyos --api-key bbctl-test-api # Cleanup the lab environment when done ./cleanup-lab.sh
For more information about the test lab, see tests/vyos-lab/README.md or the VyOS Test Lab Setup documentation.
- User Guide - Complete guide for using bbctl
- Command Reference - Detailed documentation of all commands
- Configuration Guide - How to configure bbctl
- Deployment Guide - Guide for deploying applications
- Architecture Design - Technical architecture of the bbctl project
- API Documentation - API schema and OpenAPI documentation
- Rust Integration - Guide for maintaining Rust and TypeScript compatibility
View the documentation index for a complete list of available documentation.
Run the example code to see how to use the TypeScript schema validation:
# Run the instance validation example
bun run exampleFor more examples and detailed usage instructions, see the User Guide and Command Reference.
MIT License