core kit migration 🚧 tracking issue #4048
Labels
area/out-of-tree-builds
Related to the efforts of making it easy to create builds outside of the main Bottlerocket repo
status/in-progress
This issue is currently being worked on
type/enhancement
New feature or request
What's happening?
As the culmination of work done over the past 18 months, this repo - aka "the Bottlerocket main repo" - will be migrating over to the out-of-tree builds infrastructure.
This will mark a major change in the development workflow:
updog
and the API server) will move tobottlerocket-os/bottlerocket-core-kit
.bottlerocket-os/bottlerocket-settings-sdk
.bottlerocket-os/bottlerocket
.There will be no impact to past or future Bottlerocket releases. The only change is to how Bottlerocket is built, not to how it is published or consumed.
Why is this happening?
One of the major lessons of the out-of-tree builds project has been that without the forcing function of a repository boundary, it's easy to miss adding useful abstractions and end up with software that's nominally reusable but is actually very tightly coupled to specific use cases. While that's helpful for the velocity of feature development in the moment, it's harmful to the larger goal of fostering a community of out-of-tree builders.
Bottlerocket has had two similar migrations in its history - first when the SDK moved out-of-tree in #525, and again when the build and publish tools moved out-of-tree in #3429. Both were successful from the perspective of streamlining development and reducing compile times. This will be the largest migration yet, and I anticipate similar benefits.
When it will happen?
The
bottlerocket-os/bottlerocket-core-kit
repo will be created and publish its first release on June 13, 2024. That repo will start with a copy of the main repo's history, and the non-core sources will be removed in a subsequent commit.Once the core kit is available,
bottlerocket-os/bottlerocket
will then remove the core sources in a subsequent commit, retaining only the variant-specific sources. This is expected to happen on June 14, 2024.What about my existing private fork?
The 1.20.x branch will not be updated with these changes, so that can be used (temporarily) as the basis for ongoing development. The shared Git history should make it straightforward to cherry-pick fixes by adding
bottlerocket-core-kit
as an addition remote.Long-term, I invite you to collaborate to get useful changes upstream, such as new packages into the core kit and new modeled types into the settings SDK.
The text was updated successfully, but these errors were encountered: