Skip to content

Releases: convox/rack

20160415191544

15 Apr 21:05
Compare
Choose a tag to compare
  • Terminating instances are removed from ELBs cleanly
  • convox.port.80.protocol: "proxy" label to configure ELB ProxyProtocol Parameter
  • convox start does file sync without volumes by default

Go 1.6 and vendor/

07 May 15:23
Compare
Choose a tag to compare

Migrates rack to Go 1.6 and vendor/ directory. Greatly improves rack build times by removing vendor redundancies.

Build Bugfixes

26 Apr 22:04
Compare
Choose a tag to compare
  • Validate manifest process names are deployable. Fixes #364
  • Build from docker-compose Dockerfile directive. Fixes #431

Build Refactor

26 Apr 22:37
Compare
Choose a tag to compare

This release continues the Convox tradition of offering a simple, reliable, private build service.

We further this goal with a massive simplification of the build code. See PR #507 for code.

Most notably it removes the one build at a time limit. This limit was put in place to avoid transient errors that occur in the Docker registry when pushing two images at once. The occurrence of this error was already greatly reduced with the migration to ECR. The error is eliminated by adding a retry/backoff to the image push step.

The build script is now greatly simplified to match the fact that Convox builds are a very simple pipeline:

  • create a new container
  • extract source
  • setup docker authentication
  • docker pull
  • docker build
  • docker tag
  • docker push
  • callback to rack API with success or a failure reason

See https://github.com/convox/rack/blob/master/api/cmd/build/main.go for the simple pipeline implementation.

It also refactors the Rack build operations into a clearly defined interface:

  • BuildCopy
  • BuildCreateIndex
  • BuildCreateRepo
  • BuildCreateTar
  • BuildDelete
  • BuildGet
  • BuildList
  • BuildRelease
  • BuildSave

These small units of build functionality are easier to write, easier to test, and easy to compose together for a clearly defined build API:

Description Method
List builds GET /apps/{app}/builds
Create new build POST /apps/{app}/builds
Get build info GET /apps/{app}/builds/{build}
Update build info PUT /apps/{app}/builds/{build}
Delete a build DELETE /apps/{app}/builds/{build}
Copy a build POST /apps/{app}/builds/{build}/copy
Get build logs GET /apps/{app}/builds/{build}/logs

Critical Update for Custom Resource Handlers

07 May 15:18
Compare
Choose a tag to compare

A change in CloudFormation on AWS side started triggering the update path on some custom resources that don't expect it. This makes the update path safe while we work with AWS to root cause the change in expected behavior.

Papertrail Service Log History

07 May 15:21
Compare
Choose a tag to compare

This changes the behavior of convox services add papertrail. It no longer replays some log history into papertrail, fixing confusing log duplication.