zilliz 1.4.1

TUI and CLI tool for managing Zilliz Cloud clusters and Milvus operations
Documentation

zilliz

A unified CLI and TUI (Terminal User Interface) for managing Zilliz Cloud clusters and Milvus vector database operations, written in Rust.

Features

  • Dual interface -- interactive TUI mode and traditional CLI commands
  • Model-driven -- operations defined in JSON, supporting dynamic command generation
  • Multi-resource management -- clusters, collections, vectors, indexes, backups, billing, and more
  • Rich output -- table, JSON, YAML, CSV, and text formats with JMESPath filtering
  • Async job polling -- --wait flag for long-running operations
  • Metrics -- query cluster and collection metrics; default output is an inline Braille line chart per metric with min / max / avg / last summary (pass -o table for the pivot-table layout, -o json / --query for raw data)

Quick Start

Install

cargo install zilliz

This installs two binaries: zilliz (primary) and zz (shorthand alias). Both are identical.

Updating

Once installed, update in place by re-running the installer:

zilliz upgrade           # confirms and re-runs the official installer
zilliz upgrade --check   # only report whether a newer version exists
zilliz upgrade --yes     # skip the confirmation prompt

update is an accepted alias (zilliz update).

Guided onboarding

If this is your first time, run:

zilliz quickstart

It walks you through sign-in, picks an organization and cluster, lets you run a few common commands interactively, and prints a copy-pasteable cheatsheet of next-step commands. Use zilliz quickstart --non-interactive (or pipe the output) to print the cheatsheet only — handy in scripts or CI.

Authenticate

# Browser-based OAuth (recommended)
zilliz login

# Login with an API key (prompted if no value is given)
zilliz login --api-key
zilliz login --api-key sk-xxx

# Log in to the CN cloud (api.cloud.zilliz.com.cn) — API key only
zilliz login --cn
zilliz login --cn --api-key sk-xxx

# Or configure credentials interactively
zilliz configure

Set Cluster Context

A cluster context is required for data-plane operations (collections, vectors, etc.).

# Interactive selection
zilliz context set

# Or specify directly
zilliz context set --cluster-id <id>

# Check current context
zilliz context current

Launch TUI

zilliz

Running zilliz without arguments starts the interactive terminal UI.

Use CLI

# List clusters
zilliz cluster list

# Describe a collection (using shorthand alias)
zilliz collection describe

# JSON output with JMESPath filtering
zilliz cluster list -o json --query "clusters[*].{id:clusterId,name:clusterName}"

# Suppress table headers
zilliz cluster list --no-header

# Wait for an async operation to complete
zilliz cluster create --wait

CLI Commands

Built-in Commands

Command Description
login Log in to Zilliz Cloud (OAuth, --api-key, or --cn for CN cloud)
logout Log out and clear stored credentials
configure Manage configuration (set, get, list, clear)
context Manage cluster context (set, current, clear)
auth status Show current authentication status
auth switch Switch to a different organization
completion Shell completions (install, uninstall, status, show)
version Display version info

Control-Plane Commands (Cloud Management)

Resource Operations
cluster list, describe, modify, suspend, resume, delete, create, providers, regions, metrics
project create, list, describe, upgrade
backup create, list, describe, delete, export, restore-cluster, restore-collection, describe-policy, update-policy
import start, list, status
volume create, list, delete
job describe
billing usage, invoices

Data-Plane Commands (Milvus Operations)

These commands require a cluster context (zilliz context set).

Resource Operations
collection create, list, describe, drop, rename, load, release, get-load-state, get-stats, has, flush, compact, metrics
vector insert, upsert, search, hybrid-search, query, get, delete
database create*, list, describe*, drop*
index create, list, describe, drop
partition create, list, drop, has, get-stats, load, release
user create*, list*, describe*, drop*, update-password*, grant-role*, revoke-role*
role create*, list*, describe*, drop*, grant-privilege*, revoke-privilege*
alias create, list, describe, alter, drop
external-collection refresh trigger, describe, list

* Dedicated clusters only.

Local Milvus Standalone

Manage a local Milvus standalone Docker deployment via the official standalone_embed.sh script. Requires bash and a working Docker daemon (macOS / Linux / WSL).

Action Description
zilliz milvus standalone install Download standalone_embed.sh into ./milvus-standalone (or --dir <path>).
zilliz milvus standalone start Run bash standalone_embed.sh start.
zilliz milvus standalone stop Run bash standalone_embed.sh stop.
zilliz milvus standalone restart Stop and start the container.
zilliz milvus standalone delete Remove container, volumes/, and config files (destructive — prompts for confirmation, or pass --yes).
zilliz milvus standalone upgrade Replace standalone_embed.sh with the latest from upstream master and restart (destructive — prompts, or pass --yes). Alias: update.

Common flags: --dir <path>, --dry-run, -y / --yes, -h / --help. Install also accepts --script-url <https://...>, --start, and --force.

# Preview without touching the filesystem or Docker
zilliz milvus standalone install --dry-run

# Install and start in one go
zilliz milvus standalone install --start

# Manage the running deployment
zilliz milvus standalone stop
zilliz milvus standalone restart
zilliz milvus standalone upgrade --yes
zilliz milvus standalone delete --yes

Default endpoints after start: Milvus localhost:19530, WebUI http://localhost:9091, embedded etcd localhost:2379. Data is persisted under <install-dir>/volumes/milvus.

Global Flags

Flag Description
--api-key <KEY> Override API key (or set ZILLIZ_API_KEY env var)
-o, --output <FMT> Output format: table (default), json, yaml, csv, text
-a, --all Fetch all pages for paginated responses
--query <JMESPATH> Filter output with a JMESPath expression
--no-header Suppress table/CSV header row
--wait Wait for async jobs to reach a terminal state

TUI Keyboard Shortcuts

Key Action
q / Esc Quit
Ctrl+C Force quit

Configuration

Config files are stored in ~/.zilliz/ (compatible with zilliz-cli):

File Content
credentials API keys, user info, org data (INI format)
config Cluster context and database preferences (INI format)

Environment Variables

Variable Description
ZILLIZ_CONFIG_DIR Override config directory (default: ~/.zilliz/)
ZILLIZ_API_KEY Set API key (overrides config file)
RUST_LOG Enable debug logging (e.g., RUST_LOG=zilliz=debug)

Tech Stack