Velociraptor needs a CLI. Let's use this page to gather the features we'd like to see in it. If a proposed feature prompts debate, let's make a ticket for it and take the discussion there (and link the ticket here).
Velociraptor CLI requirements:
- There should be a top level command with subcommands. E.g. 'vr build', 'vr swarm', etc.
- The CLI should be VCS-aware. When run from inside a code repository, the CLI should assume you're running commands against the same app that you're inside. This will reduce the number of switches you need to type on the command line.
- The CLI should support all the major features of the web UI (swarm, build, release, deploy).
- The CLI should allow you to set and edit config values (both YAML keys/values and environment variables).
- The CLI should allow you to display anything stored in the DB: apps, buildpacks, hosts, squads, config ingredients, swarms, and test runs.
- The CLI should allow you to display the state of running processes. (Ideally by app, swarm, squad, or host.)
- The CLI should show the progress of tasks that don't return instantly. When you do a build, it should stream the compile time output (this is hard). When you do a swarm, it should stream the relevant events from the VR workers until the swarming is finished (this is more straightforward).
- The CLI should allow connecting to the log output stream of any VR-managed process. (This should be trivial.)