tsurud 1.8.0 release notes¶
Welcome to tsurud 1.8.0!
These release notes cover the new features, bug fixes. For a complete list of changes, check our 1.8.0 github milestone.
New features¶
Add support for multiple versions in kubernetes provisioner (#2392)¶
In this release we added support for running multiple versions of the same app at the same time, this allows developers to roll out their apps using a canary strategy.
Use versions to manage images and its metadata (#2390)¶
Tsuru introduced a new concept called app versions, this concept allows us to simplify lot how we handle images and how we add metadata to images generated during a deploy. This is the first step in supporting running multiple versions of the same app simultaneously.
Improve container image garbage collector: add metrics, locks and creates a tsuru event (#2400)¶
Now the Garbage collector of images uses a tsuru event to register all changes made from it.
Stream logs directly from kubernetes api-server (#2408)¶
We did an important architectural change using kubernetes provisioner, we intend to maintain Tsuru as a global control-plane application, we are assigning the responsibility to store logs to kubelet engine, thus allowing Tsuru to maintain many k8s clusters without any bottleneck.
Other improvements¶
- provision/docker: add pids limit config option (#2384)
- provision/kubernetes: Configurable max surge and unavailable in deploys (#2385)
- provision/kubernetes: Improved errors and cancelation for image deploys (#2388)
- provision/kubernetes: Remove ‘-base’ suffix for base deployments (#2395)
- auth/oauth: Make types private and always read urls from config (#2396)
- Return all cluster information for admin users (#2402)
- Add WSL2 oauth support (#2404)
- Add a flag to suppress sensitive environment variables at the event API (#2405)
- feat(api/service): support updating and showing plan parameters for service instances (#2409)
- fix(api/service): support for force removal of service instances (#2410)
- provision/kubernetes: add option to use entire cluster as a single pool (#2411)
- provision/cluster: add metrics for cluster info (#2417)
- provision: Propagate app tags as labels or annotations (#2418)
- Allow overriding plan memory and cpu for a single app (#2420)
- provision/kubernetes: drop usage of deprecated rollback subresource (#2423)
Bug fixes¶
- Ensure image versions are never reused and always incremented (#2382)
- provision/kubernetes: Reset deployment timeout when progress happens (#2386)
- provision/docker: Ignore errors during bind unit when adding units (#2393)
- router/rebuild: Only save rebuild event on error (#2394)
- router/galebv2: Use unambiguous prefix for galeb pool and rule names (#2397)
- provision/kubernetes: Use labels in pod template to find version (#2399)
- Fix pool list for users on multiple teams (#2415)