Drycc Workflow CLI

How to download, install, and start using the Drycc CLI. The Drycc CLI used to be part of the Drycc Toolbelt.

The Drycc Workflow command-line interface (CLI), or client, allows you to interact with Drycc Workflow.

Installation

Install the latest drycc client for Linux or Mac OS X with: $ curl -sfL https://www.drycc.cc/install-cli.sh | bash -

The installer puts drycc in your current directory, but you should move it somewhere in your $PATH:

$ ln -fs $PWD/drycc /usr/local/bin/drycc

Getting Help

The Drycc client comes with comprehensive documentation for every command. Use drycc help to explore the commands available to you:

$ drycc help
The Drycc command-line client issues API calls to a Drycc controller.

Usage: drycc <command> [<args>...]

Auth commands::

  login         login to a controller
  logout        logout from the current controller

Subcommands, use `drycc help [subcommand]` to learn more::
...

To get help on subcommands, use drycc help [subcommand]:

$ drycc help apps
Valid commands for apps:

apps:create        create a new application
apps:list          list accessible applications
apps:info          view info about an application
apps:open          open the application in a browser
apps:logs          view aggregated application logs
apps:run           run a command in an ephemeral app container
apps:destroy       destroy an application
apps:transfer      transfer app ownership to another user

Use `drycc help [command]` to learn more

Support for Multiple Profiles

The CLI reads from the default client profile, which is located on your workstation at $HOME/.drycc/client.json.

Easily switch between multiple Drycc Workflow installations or users by setting the $DRYCC_PROFILE environment variable or by using the -c flag.

There are two ways to set the $DRYCC_PROFILE option.

  1. Path to a json configuration file.
  2. Profile name. If you set profile to just a name, it will be saved alongside the default profile, in $HOME/.drycc/<name>.json.

Examples:

$ DRYCC_PROFILE=production drycc login drycc.production.com
...
Opening browser to http://drycc.example.com/v2/login/drycc/?key=4ccc81ee2dce4349ad5261ceffe72c71
Waiting for login... .o.Logged in as drycc
Configuration saved to /home/testuser/.drycc/production.json
$ DRYCC_PROFILE=~/config.json drycc login drycc.example.com
...
Opening browser to http://drycc.example.com/v2/login/drycc/?key=4ccc81ee2dce4349ad5261ceffe72c71
Waiting for login... .o.Logged in as drycc
Configuration saved to /home/testuser/config.json

The configuration flag works identically to and overrides $DRYCC_PROFILE:

$ drycc whoami -c ~/config.json
You are drycc at drycc.example.com

Proxy Support

If your workstation uses a proxy to reach the network where the cluster lies, set the http_proxy or https_proxy environment variable to enable proxy support:

$ export http_proxy="http://proxyip:port"
$ export https_proxy="http://proxyip:port"

!!! note Configuring a proxy is generally not necessary for local Minikube clusters.

CLI Plugins

Plugins allow developers to extend the functionality of the Drycc Client, adding new commands or features.

If an unknown command is specified, the client will attempt to execute the command as a dash-separated command. In this case, drycc resource:command will execute drycc-resource with the argument list command. In full form:

$ # these two are identical
$ drycc accounts:list
$ drycc-accounts list

Any flags after the command will also be sent to the plugin as an argument:

$ # these two are identical
$ drycc accounts:list --debug
$ drycc-accounts list --debug

But flags preceding the command will not:

$ # these two are identical
$ drycc --debug accounts:list
$ drycc-accounts list