Deis 0.5.2 - Maintenance Release
We are happy to announce our v0.5.2 release. This maintenance release fixes several issues found by the Deis community and improves the documentation in many areas.
What is Deis?
Deis is a Django/Celery API server, Python CLI and set of Chef cookbooks that combine to provide a Heroku-inspired application platform for public and private clouds. Your PaaS. Your Rules.
- Added description of new containerized architecture
- Added documentation for the new Dockerfile workflow
- Fixed REST API and admin.py doc pages generation error
- Made notes neon pink and warnings neon orange
- Updated Deis Controller installation docs across all providers
- Added rsyslog export documentation
- Document how to store Docker registry images in S3
Under the Hood
- Updated to dop 0.1.6 for DigitalOcean support
- Fixed error when doing
deis config:setbefore a build exists
- Fixed EtcdException when running deis/server unit tests
- Removed some cruft from Deis' TravisCI.org integration
- Many fixes to Rackspace cloud support
- Fixed "sudo dsh" error when finishing provisioning on Vagrant
- Fixed failure when app name is less than 4 characters long
- Fixed 500 error when creating a formation without provider credentials
- Several changes to Vagrant scripts to align with other providers
- Allow extra parameters for private networking support for DigitalOcean
- Increased timeouts to help with "docker pull" issues
We want to thank the following Deis community members for creating GitHub issues, providing support to others, and working on various Deis branches:
- @tombh -
sudo dshfix, vagrant provisioning changes, help and support as always
- @tscheepers - updated vagrant README
- @azurewraith -
docker pulltimeouts issue, lots of testing
- @Milodv - DigitalOcean private networking support
- @ksikka - S3 registry images docs request
- @davidcollom - Rackspace bug finding and testing
Proxy for Platform Services
As part of moving Deis into Docker containers, we had to change the exposed ports for some core platform services. For example, the Django API server is now exposed on 8000/tcp rather than 80/tcp. We will soon distribute a new proxy service that exposes the platform components on standard ports.
We have seen some issues with timeouts due to the public Docker Index. This can manifest as timeout errors when bootstrapping nodes. Typically re-running the provisioning operations will resolve the issue. We are working with the Docker team on a more robust resolution.
Docker Run Deis
Making Deis easier to install is one of our primary goals, and one of the driving forces behind our decision to containerize all the Deis components. Running Deis should be as easy as
docker run deis/deis. We have a working prototype today. However, this will require some careful project restructuring on GitHub.
We are now prototyping a new scheduler based on Apache Mesos, an enterprise-grade cluster manager. This change to the scheduler implementation will be transparent to end users, but should allow Deis to scale to 10,000+ nodes.
Promote artifacts from Docker Registry
In order to facilitate a streamlined CI/CD process, we need an ability to promote existing Docker images as builds (bypassing the
git push process). We are currently investigating the best workflow.
SSL & General Security Improvements
For more details, see issues tagged security on GitHub.
Remove the Chef Dependency
Though Chef will continue to be the recommended way to deploy Deis, we are moving away from requiring a Chef Server and using Data Bags for cluster configuration. Once we implement the new scheduler, we can remove the Chef dependency and provide support for other configuration management solutions (Puppet, Ansible, Salt).
We need to make it as easy for ops folks to publish a set of reusable backing services (databases, queues, storage, etc) and allow developers to attach those services to applications. This will be done in a loosely coupled way, following Twelve Factor best practices. You can review the initial implementation and follow progress on this GitHub issue.
Though we provide the ability to run admin commands inside containers, we don't currently support interactive shells into containers (i.e.
deis run bash). Once this infrastructure is in place, this will also allow us to implement log tailing and other real-time features.
deis push deploys
Users should be able to push builds to Deis even if they don't use
git. We are investigating a
deis push command that would not require a specific VCS.
How can you help?
- Star our GitHub repository
- Help spread the word about @opendeis on Twitter
- Explore contributing to the Deis project by joining the #deis channel on Freenode
You can learn about other ways to get involved on our website.