Conversation
|
I worry about this creating more work than we as a team can handle.
3.) I'd also be curious if you could elaborate on the security improvements of releasing twice as often. The way I read the RFC, there is an implication that our present release cycle may have security drawbacks. I think it would be good to more clearly state these drawbacks. My understanding is that the present stack release cycle we follow keeps us in the Ubuntu patch cycle, but that what we miss out on are low/minor patches (sometimes Ubuntu defers these to the next release) and new/updated libraries (not security related). This is what we have documented on the website anyway, https://paketo.io/docs/concepts/stacks/#when-are-paketo-stacks-updated. In regards to 2.), I've not observed that personally. The question I usually get is do you have X stack, where X is some other non-Ubuntu distribution of Linux. Debian, UBI, Alpine, or some other base that promises to have marginally smaller images. I'd be curious to hear from users on what they want/expect/need in this regard. |
I am a bit surprised to read this, because I recall this has been a topic in a past WG meeting (quite a while ago though) and I thought the only thing missing was materializing the decision from then in an RFC.
Anyway, regarding your points. Regarding 2. & 3. I suppose users usually don't care much about the stack, that's why they use buildpacks and not Dockerfiles in the first place. However, we've seen in the past that the number of known CVEs on Ubuntu LTS releases grows over time. This might not be an immediately worrying concern, as Ubuntu indeed patches critical vulnerabilities throughout the five years an LTS is maintained. But there are CVEs in the security advisory that have been rated low priority while they show a CVSS score >7. Using 🔍 Vulnerabilities of
|
| digest | sha256:981912c48e9a89e903c89b228be977e23eeba83d42e2c8e0593a781a2b251cba |
| vulnerabilities | |
| size | 31 MB |
| packages | 143 |
🔍 Vulnerabilities of ubuntu:24.04
📦 Image Reference ubuntu:24.04
| digest | sha256:cdc507f6026a62440bc601815bba185960e93f8b971112722cebe3cae1e125a0 |
| vulnerabilities | |
| size | 29 MB |
| packages | 130 |
Description
Description
| ||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||
Description
| ||||||||||||||||||||||||
Description
|
|
Yes @loewenstein-sap - That would alleviate my concerns for 1.) and if it's not materially increasing the amount of work the project needs to do, then I'm less inclined to be picky about 2.). I do agree that there is a subset of users where the non-critical unpatched vulnerabilities in our Ubuntu buildpacks are a bit annoying. If it's not a lot of work, and we can make things better for them, then 👍 |
|
|
||
| ## Detailed Explanation | ||
|
|
||
| In late April of every even year, Ubuntu releases a new LTS version. Once the new LTS version is released, the Stacks team will begin work on providing the new build and run images. Once build and run images are available, the Builders team will begin work on providing the corresponding builders. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders and work on fixes or mitigations should they be needed. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. |
There was a problem hiding this comment.
Do we really want to wait until every last buildpack has been verified before we release the builders with buildpacks? If one buildpack team is not responsive, this can delay the whole process with no limit.
I could see some other possibilities like:
-
Buildpack teams have three months to verify and apply any fixes required to make their buildpack compatible. After three months, we release the builders with all the buildpacks that have been verified, omitting any that have not been marked as verified. As buildpack teams confirm compatibility the builder will be updated to include those buildpacks as well.
-
The builder team will release the builders with buildpacks in beta mode when we have confirmed that 50% of the buildpacks are compatible. After that, as buildpack teams confirm compatibility the builder will be updated to include those buildpacks as well. The builder will exit beta when 100% of the buildpacks have been verified.
Thoughts?
There was a problem hiding this comment.
The builder team will release the builders with buildpacks in beta mode when we have confirmed that 50% of the buildpacks are compatible.
50% of the buildpacks from what is included on the previous builder, or 50% of the buildpacks from all the buildpacks under the paketo org?
The builder will exit beta when 100% of the buildpacks have been verified.
I think it will never exit. Can we omit the beta concept and just publish the builder once we have reach the 50% ?
There was a problem hiding this comment.
After going through Noble, my vote would be to release the builder as soon as we have a single composite that is ready to go. It's frustrating working on a composite buildpack, and having it done, but it can't go into the builder because other buildpack teams haven't verified yet.
You can introspect a builder to see what's in it. We document what's in it (README). It should be fairly clear what users should get when they use a builder. I would vote for just releasing what we have when we have it.
Co-authored-by: Daniel Mikusa <dan@mikusa.com>
|
I'll pick this up again once Paketo Noble is released. |
| We could opt to adopt LTS's less frequently or additionally adopt the releases in between LTS releases. However, the former would result in users not having access to the latest features and security updates, while the latter would result in a significant increase in the number of builders we need to maintain. | ||
|
|
||
| ## Implementation | ||
|
|
There was a problem hiding this comment.
First is necessary to open an RFC about the new stack
| We could opt to adopt LTS's less frequently or additionally adopt the releases in between LTS releases. However, the former would result in users not having access to the latest features and security updates, while the latter would result in a significant increase in the number of builders we need to maintain. | ||
|
|
||
| ## Implementation | ||
|
|
There was a problem hiding this comment.
Is also necessary for an RFC about the builder repo
| 1. Beginning of April of every even year, the Steering team will create the necessary repositories for stacks and builders. | ||
| 2. During the Ubuntu LTS Release Candidate phase or latest once an official release is available, the Stacks team will begin work on providing the new build and run images. | ||
| 3. Once the build and run images are available, the Builders team will begin work on providing the corresponding builders. | ||
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. |
There was a problem hiding this comment.
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. | |
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new buildpackless builder. |
| 2. During the Ubuntu LTS Release Candidate phase or latest once an official release is available, the Stacks team will begin work on providing the new build and run images. | ||
| 3. Once the build and run images are available, the Builders team will begin work on providing the corresponding builders. | ||
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. | ||
| 5. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. |
There was a problem hiding this comment.
| 5. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. | |
| 5. Once all buildpacks have been confirmed to work on the new buildpackless builder, the Builders team releases the buildpackfull builders. |
| 2. During the Ubuntu LTS Release Candidate phase or latest once an official release is available, the Stacks team will begin work on providing the new build and run images. | ||
| 3. Once the build and run images are available, the Builders team will begin work on providing the corresponding builders. | ||
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. | ||
| 5. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. |
There was a problem hiding this comment.
The builder also needs to be added on the samples repo for each composite buildpack that the builder works with, example P.R. paketo-buildpacks/samples#1165
| 2. During the Ubuntu LTS Release Candidate phase or latest once an official release is available, the Stacks team will begin work on providing the new build and run images. | ||
| 3. Once the build and run images are available, the Builders team will begin work on providing the corresponding builders. | ||
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. | ||
| 5. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. |
There was a problem hiding this comment.
Then the builder needs to be added to the reference page https://paketo.io/docs/reference/builders-reference/
example PR paketo-buildpacks/paketo-website#907
| 2. During the Ubuntu LTS Release Candidate phase or latest once an official release is available, the Stacks team will begin work on providing the new build and run images. | ||
| 3. Once the build and run images are available, the Builders team will begin work on providing the corresponding builders. | ||
| 4. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders. | ||
| 5. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. |
There was a problem hiding this comment.
Final step is the builder needs to be added on the pack CLI on the suggested builders https://github.com/buildpacks/pack/blob/main/internal/builder/trusted_builder.go
Examle PR https://github.com/buildpacks/pack/pull/2383/files
|
|
||
| ## Detailed Explanation | ||
|
|
||
| In late April of every even year, Ubuntu releases a new LTS version. Once the new LTS version is released, the Stacks team will begin work on providing the new build and run images. Once build and run images are available, the Builders team will begin work on providing the corresponding builders. Once the buildpackless builders are available, the individual buildpack teams will begin to evaluate and test their buildpacks on the new builders and work on fixes or mitigations should they be needed. Once all buildpacks have been confirmed to work on the new builders, the Builders team releases the buildpackfull builders. |
There was a problem hiding this comment.
The builder team will release the builders with buildpacks in beta mode when we have confirmed that 50% of the buildpacks are compatible.
50% of the buildpacks from what is included on the previous builder, or 50% of the buildpacks from all the buildpacks under the paketo org?
The builder will exit beta when 100% of the buildpacks have been verified.
I think it will never exit. Can we omit the beta concept and just publish the builder once we have reach the 50% ?
| @@ -0,0 +1,37 @@ | |||
| # Following the bienial Ubuntu LTS release cycle | |||
|
|
|||
| ## Summary | |||
There was a problem hiding this comment.
I think this RFC is good time to shape it, as we have the noble builder as an example.
Yes, good point. I've been through that for the past 4 months for the ubi9(buildres/stacks) and for the noble(builders/stacks), and I believe is zero overhead (approximately no more than a day of work for everything). In the past was quite a lot of work, as we had quite a few builders and stacks , in terms of repositories, to create/maintain, but based on the latest refactor, practically is copy pasting the two repos (base imagse/stacks and builders) and pretty match replacing the noble keyword or a similar keyword. |
Summary
This is to propose to
Use Cases
Having an up-to-date root file system.
Checklist