We are happy to announce the release of Habitat 1.6.0!
This release adds the ability to create multi-layer docker images by passing --multi-layer to hab pkg export docker. Historically, our exported container images have essentially been a single layer, containing all the Habitat packages needed to run the Supervisor and the exported service. While this works, it does not sufficiently leverage image layer caching. In the normal case when a user is iterating on a service, very often that single package is the only one that will be changing. Ideally, a container image for a new version of that service should be able to re-use the layers containing the Habitat Supervisor and all its dependencies, since none of them changed. Since everything is exported in a single layer, though, all of this is utterly opaque to the container storage engine. Multi-layer images resolve this issue. We do a bit of pre-processing of the collection of packages to create a heuristically optimized ordering in which to add them to the container image.
Leaving off the --multi-layer option will continue to use the “all in one” approach we have used until now. This mode is useful when the number of packages in an image exceeds the number of layers Docker allows in an image.
This release also adds the ability to place a studio_profile.ps1 in the root of a plan which will be automatically sourced when entering a Window’s studio. This mirrors the .studiorc available in Linux studios. Also, like HAB_STUDIO_NOSTUDIORC one would use HAB_STUDIO_NOPROFILE to suppress sourcing the profile.
Be sure to read on for additional changes! If you just want the binaries, head on over to Install Habitat. Thanks!
New Features & Enhancements
- Source studio_profile.ps1 in studio enter if present #7618 (mwrock)
- Layered images from
hab pkg export docker#7596 (christophermaier)
Merged Pull Requests
- Bump version to 1.6.0 #7629 (davidMcneil)
- fix profile e2e tests #7625 (mwrock)
- sync stable acceptance packages with prod after release #7617 (mwrock)
- append existing path to package path in hab pkg exec #7615 (mwrock)
- dont need to put gh release link in forum post #7614 (mwrock)
- cleanup adding interpreter paths and make it configurable #7601 (mwrock)
- Cargo Update #7609 (chef-expeditor[bot])
- Prepare e2e tests for powershell 7.0 #7588 (mwrock)
- update changelog for 1.5.86 #7610 (mwrock)