Currently the CLI feels clumsy and noisy, and is not a pleasure to work with.
If I run couchbase-cli
it displays an output of supported commands, e.g.;
usage: couchbase-cli COMMAND CLUSTER [OPTIONS]
CLUSTER is --cluster=HOST[:PORT] or -c HOST[:PORT]
COMMANDs include
server-list list all servers in a cluster
server-info show details on one server
--- snip ---
If I run couchbase-cli -h
, it floods me with details for each command;
xdcr-setup OPTIONS:
--create create a new xdcr configuration
--edit modify existed xdcr configuration
--delete delete existed xdcr configuration
--list list all xdcr configurations
--xdcr-cluster-name=CLUSTERNAME cluster name
Remove a node from a cluster and rebalance:
couchbase-cli rebalance -c 192.168.0.1:8091 \
--server-remove=192.168.0.2:8091 \
-u Administrator -p password
--- 1000 lines of flooded text ---
Ideally what should happen is that -h
should be context specific to the command being given.
For example, if I was to run couchbase-cli -h
then it should have the same output as without -h
. However if I was to run couchbase-cli create-bucket -h
, then it should show me the help output specific to that command.
I’ve had a look over the source code, and it would require probably around 4-8 hours of work to get it working. If a core contributor can provide some reassurances that such a PR would be accepted, and also some guidance on whether the suggested changes are acceptable, then I will happily contribute that time to get this done.