[20160526133520] Dev / Prod / Teardown Improvements

Dev Environment Supports More Project Types

@mattmanning is working hard on improving the convox development environment.

In this release, convox start has more smarts for projects with no Dockerfile / docker-compose.yml, and projects with a Procfile. Use convox update to update the CLI for these enhancements.

Thanks @prognostikos for contributions.

Rack Instance Count Validation

A rack requires at least 2 instances for:

  • Running the rack API in a redundant fashion
  • Spare capacity for a rolling deploy of a web process
  • Service uptime or fast recovery when an instance dies.

So if you try running a rack with a single instance, strange side effects happen. Therefore we now prevent the ability to install or scale down a rack to a single instance.

Thanks to @markpundsack for a bug report, and @kmonkeyjam for a bug report and a patch!

Uninstall Robustness

Based on lots of feedback @nzoschke made convox uninstall much more robust. It now:

  • Requires an explicit rack name and region preventing accidental rack deletion
  • Deletes all services and apps automatically
  • Retries deleting every service, app and rack to work around transient errors
  • Empties and deletes S3 buckets

We hope that this makes Convox even easier to experiment with.