Flow Documentation
Company PagePlatform Status
  • Overview
  • Platform
    • Release Notes
    • Pricing
      • Compute
      • Kubernetes
      • App Engine
      • Object Storage
      • Mac Bare Metal
      • CI Engine
      • DevOps Services
      • Volumes & Snapshots
      • Load Balancers
      • Elastic IPs
      • VPN & Peering
      • Licenses
      • Support
      • Billing FAQ
    • Account
      • Sign Up
      • Closing account
    • Cashback Program
    • Support
      • Case severity and initial response times
    • Service Level Agreement (SLA)
    • Security & Compliance
      • Log4j Vulnerability
    • Regions
      • ALP1
      • ALP2
      • ZRH1
  • Products
    • Compute
      • Instances
        • How-to
          • Connect to instances
          • Destroy Instances
      • Volumes
      • Keypairs
      • ▫️Networking
        • Private Networks
        • Routers
        • Security Groups
        • Elastic IPs
        • Load Balancers
          • Balancing Pools
        • Certificates
        • VPN & Peering
    • Kubernetes
      • Clusters
      • Resources
        • Volumes Features (CSI)
        • External Load Balancers
        • Cluster Autoscaler
        • Traefik upgrade and tests
        • Update custom resource definitions (CRDs) for VolumeSnapshots
    • Object Storage
      • Instances
      • How-to
        • Access Storage with AWS S3 SDKs
        • Access Storage with Cyberduck
        • Access Storage with Mountainduck
      • Ressources
        • Supported Amazon S3 features
        • Replication Management
          • GET service replication
          • PUT service replication
          • DELETE service replication
    • App Engine
      • Accounts
    • Mac Bare Metal
      • Devices
      • How-to
        • Connect via Remote Desktop
        • Connect via SSH
        • Change Display Resolution
        • Connect local USB devices
      • Resources
        • Deprovisioning
    • CI Engine
      • Subscriptions
      • How-to
        • Setup GitHub Actions Integration
        • Setup Buildkite Integration
        • Customise Image
        • Enable Debug Mode
        • Change Image of Integration
      • Resources
        • Runners & Concurrency
        • Vanilla Images
          • macOS 15.2 - Vanilla
        • Golden Images
          • macOS 15.2 - Golden
        • Custom Images
  • Developer Center
    • Overview
    • API
      • Product Entities
      • Location Entities
    • CLI
    • Terraform
Powered by GitBook
On this page
  • Installation
  • Usage
  1. Developer Center

CLI

PreviousLocation EntitiesNextTerraform

Last updated 4 years ago

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.

Installation

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 github.com/flowswiss/cli/cmd/flow

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

Usage

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/id_rsa.pub

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 .

https://github.com/flowswiss/cli
Go
here