Releases: convox/rack
Existing VPCs, NAT Gateways, and Infrastructure Improvements
Existing VPCs
You can now create a Rack in an existing VPC during convox install
(#946) [@beedub]
$ convox install --existing-vpc vpc-12345678 \
--vpc-cidr=10.0.0.0/16 --subnet-cidrs=10.0.1.0/24,10.0.2.0/24,10.0.3.0/24
NAT Gateways
This release contains some fixes to move NAT Gateways for Private Racks from a custom CloudFormation resource (Custom::EC2NatGateway
) implemented by Convox over to the native AWS::EC2::NatGateway
as part of continued efforts to reduce custom handlers in Convox. (#968)
WARNING: The IP addresses of your NAT Gateways will change when you upgrade to this release. If you have whitelisted these IP addresses anywhere you will need to take note of your new IP addresses.
Infrastructure Improvements
We have finalized a massive internal refactoring that greatly simplifies generation of CloudFormation templates. Hats off to @awsmsrc and @MiguelMoll for this massive simplification of Rack! (#939)
- Many custom CloudFormation resources have been removed for their native counterparts
- The code for building images in development and production has been unified
- Multiple fixes for
convox start
bugs around sub-projects and code sync - Removed the internal registry when ECR is available
- Rack templates should now boot faster and more reliably thanks to better dependency mapping
- Removed several unused Rack-level CloudFormation parameters
20160802145358: Merge pull request #968 from convox/existing-private-fix
Fix upgrade for existing private-mode Racks
20160801140250: Merge pull request #957 from convox/cert-random
Stability updates for CI
General Enhancements
Fluentd
The recently released fluentd service was iterated on further, making it that much better!
See PR #917 for more information
Bug fixes
- Bug fixes for
convox run
(PR #915)- The CLI returns a proper error message when an app is not found if the
--detach
flag is specified. - Fixed a silent error when specifying a release that doesn't have any environment settings. (Thanks to @beedub for the debug help!)
- The CLI returns a proper error message when an app is not found if the
- Delete builds in the background one at a time (PR #900)
- Fixes issue #855
- Include a timeout in the build logic (PR #898)
- Default timeout for a build has been set to one hour. This could change in the future.
Revert Existing VPC Changes
A problem was found with the existing VPC changes so they are being reverted temporarily in this release.
Existing VPCs, Fluentd, and More
Existing VPCs
You can now create a Rack in an existing VPC during convox install
(#837) [@ddollar]
$ convox install --existing-vpc vpc-12345678 --existing-subnets=10.0.1.0/24,10.0.2.0/24,10.0.3.0/24
Fluentd
You can now stream your logs to fluentd by adding a service. (#893) [@adamenger]
$ convox services create fluentd --url=tcp://fluentd-collector.example.com:24224
General Enhancements
- Pad the uploading progress to remove artifacts (#890) [@MiguelMoll]
- Warn about multiple missing env vars during
convox start
(#886) [@awsmsrc] - Support
convox run
on unpromoted releases (#860) [@MiguelMoll]
Django Support and General Enhancements
Django Support
Convox now detects Django applications during convox init
and writes appropriate Dockerfile
and docker-compose.yml
(#873) [@ianmalott]
General Enhancements
convox start
has been refactored to dedupe with production pathway (#768) [@awsmsrc]- Builds now show upload progress (#858) [@MiguelMoll]
- Bugfix around updating logging services (#870) [@adamenger]
- Improve build logs stability (#874) [@MiguelMoll]
- Typo fixes (#881) [@adamenger]
- Update friendly names for CloudFormation resources during install (#884) [@ddollar]
Health Check and Instance Autoscaling Configuration
Much thanks to @beedub for two great PRs adding some powerful configuration options to Convox!
Health Check Configuration
You can now configure the health checks for your Convox apps using additional labels in your docker-compose.yml
(#772)
labels:
- convox.health.port=443
- convox.health.path=/ping
- convox.health.timeout=30
ports:
- 443:5000
Autoscaling Parameters
You can now set the InstanceUpdateBatchSize
to configure the rate at which new instances are rolled into your Convox Rack during updates.
convox rack params set InstanceUpdateBatchSize=3
EFS Volumes and General Enhancements
EFS Volumes
Convox now supports shared volume mounts via EFS. Any Convox process can now share files with other processes of the same type by declaring shared volumes in the volumes:
section of docker-compose.yml
. (#822)
See the Volumes doc for more details.
General Enhancements
- Container disk size is now configurable with the
ContainerDisk
app parameter. (#854) convox start
code synchronization now works with single fileCOPY
. (#853)convox install
will now use the AWS CLI for authentication if it is available. (#847)- Convox now terminates instances using the AutoScaling API rather than terminating directly. Thanks to @mwarkentin (#865)
Critical Log Reliability Improvements
This update adds critical resiliency improvements to the Convox logging pipeline.
Recently we discovered that convox/agent 0.69 could panic due to a concurrency bug. When this happened, the agent would be restarted and another bug prevented log collection from running containers.
This update fixes both issues. See convox/agent#26 for more details.