For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

  1. Have a Civo API token - Supply it with -k, --api-key or set the CIVO_API_TOKEN environment variable.

  2. Choose a region - Every command takes a required -r, --region (e.g. FRA1).

  3. 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

Command
Description

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

Command
Description

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.

Command
Description

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

Command
Description

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

Command
Description

Launch the Monitor node (Grafana)

Start the Monitor node

Stop the Monitor node

Terminate the Monitor node

Message Brokers

Command
Description

Platform

Command
Description

Launch a standard platform (bastion, admin, monitor, solace)

Start the platform

Stop the platform

Terminate the platform

Instance Management

Command
Description

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

Command
Description

Run a shell command on a service instance

Run an admin script against a deployed system

High-Level Lifecycle

Command
Description

Provision a complete environment (network + platform)

Deploy a XAR system to an environment

Add or update a controller config property

Start every instance in an environment

Stop every instance in an environment

Tear down an environment

Common Options

Most Civo commands support these common options:

Option
Short
Description
Default

--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:

Last updated