civo
The rumi cloud civo commands provision and manage Rumi private clouds in Civo.
Overview
Civo commands provide lifecycle management for Rumi private clouds on Civo:
Catalog Inspection - List the SSH keys, disk images, and instance sizes available in your account
Network Infrastructure - Create, list, and delete private networks
Platform Services - Launch the bastion, Admin, Monitor, and messaging broker nodes
Service Instances - Launch application workers with optional public IPs and data volumes
HTTPS - Terminate TLS on the bastion with a Let's Encrypt wildcard certificate
Lifecycle Management - Provision a whole environment in one step, deploy applications, start/stop to save cost, and tear it all down
Civo uses an install-at-boot model: every node boots from a barebones Rocky image and installs its role's software via cloud-init on first boot (rather than booting from a prebaked image or snapshot, as on Hetzner and AWS). This keeps the image catalog simple, at the cost of a slower first boot while software is installed — the launch commands wait for the node to finish coming up.
Prerequisites
Before using Civo commands, you must:
Have a Civo API token - Supply it with
-k, --api-keyor set theCIVO_API_TOKENenvironment variable.Choose a region - Every command takes a required
-r, --region(e.g.FRA1).Have an SSH key pair - Upload an SSH key to Civo (e.g. named
rumi) and pass its name with-K, --keyPair; launches associate it with each instance so the fleet can be reached.
Commands
All three providers (AWS, Hetzner, Civo) now share one command vocabulary: per-component lifecycle verbs (start-admin, stop-solace, terminate-monitor, …), an env-wide start/stop, and deprovision.
Catalog
List the SSH keys uploaded to your account
List the available disk (OS) images (alias: list-images)
List the available instance sizes (alias: list-instance-types)
Network Management
Create a private network
List the networks in a region
Delete a network
Bastion
The bastion is the network's public entry point and internal DNS server. It fronts the fleet's nginx reverse proxies and is the SSH entry point; it must be launched before any other role.
Launch the bastion (DNS + public entry point)
Start the bastion
Stop the bastion
Terminate the bastion
Reverse-proxy a service publicly at <service>.<domain>
Issue a Let's Encrypt wildcard certificate and terminate TLS on the bastion
Admin Service
Launch the Admin node (agent + admin server + discovery broker + InfluxDB/Grafana)
Start the Admin node
Stop the Admin node
Terminate the Admin node
Monitor Service
Launch the Monitor node (Grafana)
Start the Monitor node
Stop the Monitor node
Terminate the Monitor node
Message Brokers
Solace broker
Kafka broker
ActiveMQ (rumi-messaging) broker
Platform
Launch a standard platform (bastion, admin, monitor, solace)
Start the platform
Stop the platform
Terminate the platform
Instance Management
Launch a service (worker) instance
Start a service instance
Stop a service instance
Terminate a service instance
Resize a service instance to a new size
List the instances in a network
Remote Execution
Run a shell command on a service instance
Run an admin script against a deployed system
High-Level Lifecycle
Common Options
Most Civo commands support these common options:
--api-key
-k
The Civo API token (or set CIVO_API_TOKEN)
Required
--region
-r
The Civo region to operate in (e.g. FRA1)
Required
--network
-n
Name of the Rumi network / environment
Required
--keyPair
-K
The SSH key pair to launch with
Required for launches
--nowait
-o
Do not wait for the instance to reach its target state
false
Typical Workflow
Getting Help
Use --help (or -h) on any command:
Related Documentation
Cloud Commands - The standardized Rumi private cloud model
Hetzner Commands - The equivalent commands on Hetzner Cloud
AWS Commands - The equivalent commands on AWS
Installation - Install the Rumi CLI
Last updated