Flow CLI allows you to interact with the Flow API via the command line. It supports most functionality found in the control panel. You can create, configure, and destroy Flow resources like Instances, Security Groups, Networks and more. We will add Mac Bare Metal and Object Storage support soon.


The CLI is written in Go and the source code is public available: If you have GoLang installed, you can download and install the CLI with

go get

otherwise, you will need to download the Go executable for your system.


After downloading you first of all need to authenticate the cli with your username and password. Warning: those credentials will be stored in $HOME/.flow/credentials.json

flow auth login --username 'USERNAME' --password 'PASSWORD'

alternatively you can also pass --username USERNAME and --password PASSWORD to every other command or set the environment variables FLOW_USERNAME and FLOW_PASSWORD to avoid the credentials getting stored in your home directory.

Once you have successfully logged in into your account, you can start manipulating things in your organization. As a first step it would be a good idea to upload your personal ssh key onto our platform. You will need this for every linux virtual machine you deploy.

flow compute key-pair create \
--name 'My first key pair' \
--public-key ~/.ssh/

Just to test things out, you can try creating an ubuntu virtual machine using the previously uploaded key pair:

flow compute server create \
--name 'My first virtual machine' \
--location 'ALP1' \
--image 'ubuntu-20.04' \
--product 'b1.1x1' \
--key-pair 'My first key pair'

Further usage manuals can be found in the application itself using the -h or --help flags or in our usage documentation found here.