Command-line client for Velociraptor

pip install vr.cli==4.2


A command-line interface for wrangling Velociraptor swarms and automating some common operations.


The cli provides a command-line interface around the vr.common.models.


vr.cli supports several sub-commands, including:

  • build
  • swarm
  • uptests

For a complete list of commands, invoke vr.cli with --help.


Simply assemble a build of an app at a given tag. This routine is useful to prime an build before doing other swarm operations.


This routine dispatch a swarm at a given tag:

vr.cli swarm MyApp-Recipe_.* 3.0 -x Recipe_Skipped

It takes as its parameters a filter of swarm name, a version number, and optionally some excludes.

The name filter is case sensitive, but the excludes are case insensitive.


This routine will provide a quick printout of all failing uptests.


List, start, or stop procs.

Compare Releases

Compare the configuration of any two releases (indicated by release ID).


The vr.cli command requires a URL to communicate with the Velociraptor instance via its REST api. By default, the URL is inferred from the name deploy as resolved by DNS. If deploy resolves as deploy.example.com, vr.cli will use https://deploy.example.com as the URL. The value can be overridden by passing --url to the command or by setting the VELOCIRAPTOR_URL environment variable.


The Velociraptor client models (found in vr.common.models) will default to using the current username (getpass.getuser). If your username on your local host doesn't match your username in Velociraptor, you can override the username by passing --username to the command or by setting any of the environment variables searched by getuser or by setting VELOCIRAPTOR_USERNAME environment variable.

vr.cli also leverages keyring to avoid entering passwords each time. To do this, it needs a system name and username. For the username, it uses the username resolved above. For the system name, it defaults to the domain name of the Velociraptor URL (as resolved above). The domain can be overridden by setting the VELOCIRAPTOR_AUTH_DOMAIN environment variable.

Environment Variables

For unattended use, it's also possible to supply authentication credentials to Velociraptor by setting the VELOCIRAPTOR_USERNAME and VELOCIRAPTOR_PASSWORD environment variables, which will supersede the interactive values above. This technique is strongly discouraged for interactive use.