[20160623185456] CLI Start, Build, Switch Improvements

Convox Start: Better manifest validation

Thanks to @awsmsrc on #763 and #742, convox start has better validation around the manifest yaml format, and the cron label. Improvements like this help cement convox start as both a development tool and a production verification and configuration tool.

As a reminder, configuring a scheduled task in production is as simple as using the convox.cron label:

web:
  build: .
  labels:
    - convox.port.443.protocol=tls
    - convox.port.443.proxy=true
    - convox.cron.jobs=0 * * * ? rake jobs
  links:
    - database
  ports:
    - 80:4000
    - 443:4001
database:
  image: convox/postgres
  ports:
    - 5432

See the Preparing an Application and Scheduled Tasks docs for more info.

Convox Build: Better .dockerignore support

Thanks to @awsmsrc in #757, the tarball of code that is uploaded during convox build handles .dockerignore exactly the same as docker build. This is accomplished by delegating responsibilities to the docker/archive package.

Convox Switch

Thanks to @ddollar and @nzoschke in #691, convox switch finally offers more strategies to manage multiple racks.

Notably you can export CONVOX_RACK=myorg/staging to set the Rack for a particular terminal session.

You can also add the --rack=myorg/production flag to explicitly pick a Rack for any operation.

See the CLI Reference Guide for information about convox switch, as well as setting up bash completion and a PS1 helper.

With improvements like this, we hope that convox makes it easy to manage all your dev, staging and production environments.

I’m having multiple rack.
My .convox/auth is like this:

{
production2-xxx.elb.amazonaws.com”: “xxx”,
production3-xxx.elb.amazonaws.com”: “xxx”
}

I tried:

convox rack params --rack=incorrect-name
convox rack params --rack=production3
CONVOX_RACK=production3 convox rack params

All print the settings of production2 which I installed first.

Advice?

Now updated to latest client version and this command is no longer working

convox rack install --private --vpc-cidr “5.0.0.0/16” --subnet-cidrs “5.0.1.0/24,5.0.2.0/24,5.0.3.0/24” --private-cidrs “5.0.4.0/24,5.0.5.0/24,5.0.6.0/24” --stack-name production4

What had it changed to?