Command Line Interface (CLI)
Fluvio Command Line Interface (CLI) is the management tool utilized to provision and monitor Fluvio clusters. The CLI uses profiles to manage multiple Fluvio clusters.
Download and Install
CLI binaries are available for download in github:
Copy binary to your bin path and make it executable.
To check CLI version, run:
$ fluvio version
Fluvio version : 0.6.0
Git Commit : e467b7039b38d4400cdda5dfe9fdd0c2559c2f12
OS Details : Darwin 19.5.0 x86_64
Rustc Version : 1.46.0-nightly (daecab3 2020-07-10)
CLI Overview
Fluvio CLI hierarchy has the following pattern: fluvio, module, operation followed by options and flags.
fluvio module operation [FLAGS] [OPTIONS]
Depending on context, options can be mandatory or optional. Mandatory options are shown in the CLI usage line. For example, in fluvio topic create :
fluvio topic create [FLAGS] [OPTIONS] <topic-name>
- options: ‐‐topic-name is mandatory.
Modules
Command line help is available at any level by appending -h or ‐‐help to the command. At top level, you can run fluvio with without arguments to get a list of available options.
$ fluvio
Fluvio Command Line Interface
fluvio <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
SUBCOMMANDS:
consume Reads messages from a topic/partition
produce Writes messages to a topic/partition
spu SPU operations
spu-group SPU group operations
custom-spu Custom SPU operations
topic Topic operations
partition Partition operations
profile Profile operations
cluster Cluster operations
run Run cluster component
version Prints the current fluvio version information
help Prints this message or the help of the given subcommand(s)
Top level fluvio CLI is organized by modules:
However, there are a few exceptions:
“Consume/Produce” are kept at top level as they frequently used operations and we chose convenience over convention.
Operations
Operations describe module capabilities. For example, topic module has the ability to create, list, describe, or delete topics:
$ fluvio topic
Topic operations
fluvio topic <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
SUBCOMMANDS:
create Creates a topic
delete Deletes a topic
describe Shows details of a topic
list Shows all topics
help Prints this message or the help of the given subcommand(s)
Other modules, such as spu have different options, hence different capabilities.
Options / Flags
Options are module attributes, such as: -p, ‐‐partitions, followed by modifiers, whereas flags are attributes without value.
Mandatory options are shown in the syntax definition. All other flags and options are optional.
$ fluvio topic create --help
Create a topic
fluvio topic create [FLAGS] [OPTIONS] <topic-name>
FLAGS:
-i, --ignore-rack-assignment Ignore racks while computing replica assignment
-d, --dry-run Validates configuration, does not provision
--tls Enable TLS
--enable-client-cert TLS: use client cert
-h, --help Prints help information
OPTIONS:
-p, --partitions <partitions> Number of partitions [default: 1]
-r, --replication <integer> Replication factor per partition [default: 1]
-f, --replica-assignment <file.json> Replica assignment file
-c, --cluster <host:port> Address of cluster
--domain <domain> Required if client cert is used
--client-cert <client-cert> Path to TLS client certificate
--client-key <client-key> Path to TLS client private key
--ca-cert <ca-cert> Path to TLS ca cert, required when client cert is enabled
-P, --profile <profile>
ARGS:
<topic-name> Topic name
A small subset of the options , ‐‐sc, and ‐‐profile, are applied to every command. The purpose of these options is to help the CLI identify the location of the services where to send the command.
Fluvio Clusters
The CLI generates commands for a specific cluster. The cluster is explicit when defined through the an option or implicit when derived from a profile. CLI options has higher precedence than profiles.
For additional information, checkout Fluvio Profiles section.