[20160507151256] CloudFlare Origin Certs, CLI help and bash autocompletion

CloudFlare Origin Certs

The free SSL cert trend continues! With #599, CloudFlare origin certs are now properly parsed and uploaded to IAM:

$ convox certs create mixable.net.pem mixable.net.key 
Uploading certificate... OK, cert-1462483771

$ convox certs
ID                         DOMAIN                                        EXPIRES          
cert-1462483771            CloudFlare Origin Certificate                 15 years from now

Thanks to @beedub for the issue.

CLI Autocomplete

The convox command now has Bash autocompletion. There are a few ways to enable this, per the codegangsta/cli docs.

To set it up on OS X with Homebrew, first source the bash completion initializer in your bash profile, then add a autocomplete helper for the convox command:

$ cat <<EOF >~/.bash_profile
if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion

$ curl -o $(brew --prefix)/etc/bash_completion.d/convox https://raw.githubusercontent.com/codegangsta/cli/master/autocomplete/bash_autocomplete

Then open a new tab, and try convox or convox builds followed by the key:

$ convox
api         builds      env         help        instances   proxy       racks       run         ssl         uninstall   
apps        certs       exec        init        login       ps          registries  scale       start       update      
build       deploy      h           install     logs        rack        releases    services    switch    

$ convox builds
copy    create  delete  h       help    info 

Thanks to @mwarkentin for the nudge on Slack.

CLI Help

All CLI commands should consistently honor the -h or --help flag now.

$ convox builds -h
convox builds: manage an app's builds

  convox builds <command> [args...]

Subcommands: (convox builds help <subcommand>)
  create    create a new build
  copy      copy a build to an app
  info      print output for a build
  delete    Archive a build and its artifacts
  help, h   

  --app, -a             App name. Inferred from current directory if not specified.
  --help, -h            show help

$ convox builds create --help
convox builds create: create a new build

  convox builds create 

   --app, -a                App name. Inferred from current directory if not specified.
   --no-cache               pull fresh image dependencies
   --incremental            use incremental build
   --file, -f "docker-compose.yml"  path to an alternate docker compose manifest file
   --description            description of the build

Thanks to @beedub for the issues.