Deis v0.14 - Easy Platform Upgrades
If you are coming from an earlier version of Deis, read the "Upgrading Deis" documentation for details.
What is Deis?
deisctlnow supports in-place upgrades of the platform!
deisctlcommands are now asynchronous resulting in better UX for operators
deis auth:whoamicommand added to list currently logged in user
- The controller now uses Token authentication for easy REST API integration
Under the Hood
- Updated to CoreOS 472.0.0
- Updated to Docker 1.3.0
- Added local data containers to speed component restarts on in-place upgrades
- Time entries in
deis logsand in the API are now ISO8601-compliant
- Numerous fixes to our automated test suites
For more details, please see CHANGELOG.md.
We want to thank the following Deis community members for creating GitHub issues, providing support to others, and working on various Deis branches:
- @achannarasappa: Could not create deis remote
- @adrianmoya: Launching an app from dockerfile fails
- @aledbf: time difference causes problems with database, Add DEIS_RELEASE to deis images, Error in deis-database, fix(registry): use docker cache, ref(database): reduce image size, fix(builder): escape \ to avoid errors in serialization of Dockerfile, ref(test): close the response body and indicate the status code., fix(controller): use docker cache, ref(cache): just use go. remove bash script, ref(builder): remove all locales. just generate one., feat(registry): image without development libraries to reduce the size.
- @amrnt: can't get deis installed, Got weird error when I try to push
- @babarinde: deisctl config platform set domain issue
- @benmccann: Use crypt for storing application credentials?
- @calvinmorrow: deis domains:remove deletes etcd key even if other domains still exist on an app
- @charlesmarshall: custom domains not being picked up (0.13.1)
- @glomium: Retry downloading deisctl, Typo
- @johanneswuerbach: Slow controller rebuilds after code changes, Disable "welcome to nginx" page, Use confd watch
- @kingcody: Should deis/client specify python version?
- @mave: deisctl installer loads unit files from master
deisctl install platformstuck in controller, deis-database fails to start, Deis reports "no active controller" but a controller is running, deis apps:create returns a 404 when controller was restarted, How does
deis pullwork?, Unable to provision DO cluster, Builder script stuck in "Launching...", fix typo
- @rbucker: install latest does not work
- @schnipseljagd: install.sh fails with "Extraction failed."
- @Xe: Dependencies are present in the repository
Special thanks this release to @alebdf for (among other things) his tireless work to shrink Deis image sizes and help rewriting our container init scripts in Go.
The Deis community continues to grow, and Deis wouldn't be here without you! If we slighted your contribution to this release, please let us know so we can update.
We have identified a condition where
store-gateway will fail to start due to hung Ceph OSDs. This causes the database to hang while starting. The problem can manifest during platform provisioning with
deisctl start platform. As we research the right long-term solution, the workaround for now is to
deisctl restart store-daemon.
Log Data Availability
While the critical components in the Deis control plane are now highly available, we have not yet addressed availability of our logger component, used to store aggregated logs. We are waiting for Ceph to support volume mounts from within containers. Once this lands, we can store aggregated logs in Ceph and allow all control plane components to float across the cluster for complete platform HA.
We are close to announcing our v1 API freeze. Token authentication is behind us. All our endpoints are now prefixed with
/v1. Before we freeze it, we'd like to add CORS Support and then update a handful of minor endpoints. Once the freeze is announced, we will begin work on comprehensive API documentation.
Deis is being used in production at companies of all sizes. We are committed to delivering our first stable release in the next few weeks. Once logger HA is behind us, we will focus on a comprehensive documentation update with a focus on how to operate Deis in production.
Interactive Admin Commands
deis run executes individual admin commands inside containers, Deis doesn't yet support long-running interactions, such as
deis run bash. Once this infrastructure is in place, Deis can implement log tailing and other real-time features.
Deis must make it simple for ops folks to publish a set of reusable backing services (databases, queues, storage, etc.) and to 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.
How can you help?
- Star our GitHub repository
- Help spread the word about @opendeis on Twitter
- Join the conversation in the #deis channel on Freenode
- Pick an easy-fix issue and start contributing!
Learn about other ways to get involved on our website.