Skip to content

Drove CLI

The Drove CLI (drove) gives you command-line access to your Drove clusters. Use it to deploy applications, run one-off tasks, inspect cluster health, and manage nodes — all from your terminal.

Before you begin

Before you install the CLI, make sure you have:

  • Python 3.x or Docker
  • Network access to a Drove controller
  • Valid credentials (username/password or auth token)

Install drove-cli

pip install drove-cli
docker pull ghcr.io/phonepe/drove-cli:latest

# Create wrapper script
cat > /usr/local/bin/drove << 'EOF'
#!/bin/sh
docker run --rm -it --network host \
  -v ${HOME}/.drove:/root/.drove:ro \
  ghcr.io/phonepe/drove-cli:latest "$@"
EOF
chmod +x /usr/local/bin/drove

Once the install finishes, confirm that the CLI is available and can reach your cluster:

pip show drove-cli

drove cluster ping

Upgrade drove-cli

pip install -U drove-cli
docker pull ghcr.io/phonepe/drove-cli:latest

Global options

These options work with every command. Put them before the command name:

Option Description
-f, --file Path to a config file (default: ~/.drove)
-c, --cluster Cluster name from the config file
-e, --endpoint Drove endpoint URL (for example: https://drove.test.com)
-t, --auth-header Authorization header value for the endpoint
-u, --username Drove cluster username
-p, --password Drove cluster password
-i, --insecure Do not verify the SSL certificate of the server
-d, --debug Print details of errors
--full-help Show help for every command and sub-command
--print-completion {bash,zsh,tcsh} Print a shell completion script

Configure cluster access

The CLI stores its settings in ~/.drove. Create the file with your cluster endpoint and credentials:

[DEFAULT]
current_cluster = prod

[prod]
endpoint = https://drove.example.com

auth_header = Bearer <token>
# or 
username = admin
password = admin

Then check that the CLI can reach your cluster:

drove cluster ping

See Configuration for auth options and multi-cluster setup.

AI Agent skill

drove-cli ships an AI Agent skill that helps coding agents operate Drove using the correct CLI commands and workflows.

  • Skill file: drove-cli/drove-cli/SKILL.md
  • Covers: apps, app instances, local services, local service instances, tasks, executors, and cluster operations
  • Includes recommended sequence for local services (create -> conftest -> activate)

Add this skill to your agent setup if you want the agent to run Drove operations reliably, without looking up commands by hand.

Enabling command completion

The CLI can print a completion script for bash, zsh, and tcsh:

drove --print-completion bash > drove.bash.completions

To use the completions in your current shell, source the file:

source drove.bash.completions

Tip

Check your operating system documentation to understand where to store this file to enable completions automatically.

Common tasks

Here are the commands you will use most often. Each command group has a full reference page — see Command groups below.

View cluster state

drove cluster summary
drove executor list

Deploy an application

drove apps create app-spec.json
drove apps scale MY_APP-1 3 --wait

Check application health

drove apps list
drove describe app MY_APP-1

Debug a failing instance

drove appinstances list MY_APP-1
drove describe instance MY_APP-1 AI-xxxxx
drove appinstances tail MY_APP-1 AI-xxxxx --log output.log

Switch clusters

drove config get-clusters
drove config use-cluster staging

Command groups

Each command group has its own reference page:

Command Purpose
appinstances Instance operations
apps Application lifecycle
cluster Cluster operations
config CLI configuration
describe Detailed resource info
executor Node management
localservices Per-node services
lsinstances Local service instances
tasks One-off task execution

Get help

The CLI prints built-in help at every level:

drove -h              # All commands
drove --full-help     # Help for every command and sub-command
drove apps -h         # Command group
drove apps scale -h   # Specific command