What is the CLI

The Rumi CLI is a command-line interface tool that provides a unified interface for managing Rumi applications and infrastructure. It consolidates various operational and development tools into a single, easy-to-use command-line utility.

Overview

The Rumi CLI (rumi) is the primary tool for:

  • Deploying Private Clouds: Provision and deploy Rumi private cloud environments across different platforms (local, AWS, Civo, bare metal)

  • Operating Applications: Administer, monitor and troubleshoot running microservices

  • Quickstart Support: Create quickstart applications for tutorials and learning

  • Application Development: Perform development activities on your Rumi applications - add/remove services, messages, handlers, and more

Key Features

Unified Tooling

The CLI consolidates multiple tools that were previously separate in X Platform (examples):

  • Transaction Log Toolrumi tools tlt - Query and analyze transaction logs

  • Stats Dump Toolrumi tools hbdump - Dump container heartbeats and statistics

  • Admin Toolrumi tools admin - Administrative operations on running microservices

  • Discovery Toolrumi tools discovery - Service discovery operations

  • And more...

Cloud Management

Deploy and manage Rumi private clouds across multiple platforms (examples):

  • Local Developmentrumi cloud local - Run Rumi on your development machine

  • AWS Deploymentrumi cloud aws - Deploy to Amazon Web Services

  • Civo Deploymentrumi cloud civo - Deploy to Civo cloud ⚠️ In Development

  • Bare Metal → Configure and deploy to physical infrastructure

  • And more...

Quickstart

Bootstrap quickstart applications for tutorials:

Creates quickstart application projects with:

  • Sample microservice code

  • ADM message and state models

  • Configuration templates

  • Build and deployment scripts

Application Development

⚠️ In Development: The rumi dev command is currently in development and is subject to change.

Perform development activities on your Rumi applications. Example commands include:

Incrementally evolve your applications by managing:

  • Microservices

  • Messages and state entities

  • Message handlers

  • Configuration

  • And more...

See the dev command reference for the complete set of development commands.

Command Structure

The CLI follows a hierarchical command structure:

Example commands:

Global Flags

The following flags can be used with any rumi command:

Flag
Description

--3x

Enable X Platform 3.x compatibility mode. Required when working with X Platform 3.x logs, containers (XVMs), or any 3.x artifacts or components.

--extra-jars <jars>

Comma-separated list of additional JAR files to add to the classpath. Useful for loading application-specific message factories when analyzing logs.

Examples:

Environment Variables

Variable
Description

RUMI_CLI_JAVA_HOME

Path to a Java 11+ installation. Used if java on PATH is missing or too old.

JAVA_OPTS

Additional JVM options to pass to the CLI. Cannot override required internal flags.

Examples:

Installation

The Rumi CLI is available for macOS and Linux (Windows via WSL):

System-wide installation (recommended):

User-local installation (no sudo):

Verify installation:

See Installation for detailed installation instructions, prerequisites, and troubleshooting.

Getting Started

  1. Install the CLI: Follow the Installation guide

  2. Run Quickstart: Create your first application with rumi quickstart

  3. Deploy Locally: Test your application with rumi cloud local start

  4. Explore Commands: Browse the Commands reference

Comparison with X Platform Tools

X Platform Tool
Rumi CLI Command
Purpose

xtxnlogtool

rumi tools tlt

Transaction log queries

xstats

rumi tools hbdump

Heartbeat and stats dumps

Admin Tool

rumi tools admin

Administrative operations

Discovery Tool

rumi tools discovery

Service discovery

(Various scripts)

rumi cloud

Cloud deployment and management

Next Steps

Last updated