Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Dynamic Runtime Base Image Selection #174

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

sclevine
Copy link
Member

Readable

This proposal is part of a larger initiative to reduce complexity originally outlined in #167

@sclevine sclevine requested a review from a team as a code owner June 30, 2021 21:49
@sclevine sclevine changed the title Add RFC: Dynamic Runtime Base Image Selection RFC: Dynamic Runtime Base Image Selection Jun 30, 2021
@sclevine sclevine mentioned this pull request Jun 30, 2021
sclevine and others added 2 commits June 30, 2021 21:45
Signed-off-by: Stephen Levine <[email protected]>

Co-authored-by: Jason Hall <[email protected]>
Signed-off-by: Stephen Levine <[email protected]>
Signed-off-by: Stephen Levine <[email protected]>

Co-authored-by: Jesse Brown <[email protected]>
# How it Works
[how-it-works]: #how-it-works

Builders may specify an ordered list of runtime base images, where each entry may contain a list of runtime base image mirrors.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we include an example of what this would look like?

[[stacks]]
id = "centos"
build-image = "example/centos7-build:123"
run-image = "example/centos7-run:123"

[[stacks]]
id = "bionic"
build-image = "example/ubuntu-build:123"
run-image = "example/ubuntu-run:123"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do


Builders may specify an ordered list of runtime base images, where each entry may contain a list of runtime base image mirrors.

Buildpacks may specify a list of package names (as [PURL URLs](https://github.com/package-url/purl-spec) without versions or qualifiers) in a `packages` table in the build plan during detection.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean that the lifecycle needs to be able to inspect a base image and determine what packages it includes?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, just like it works with mixins and buildpack.toml today.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But does this mean it needs to be aware of how to do that on a particular stack (apt, yum, etc)? With mixins it can do this generically.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PURL URLs in the CycloneDX-formatted SBoM provide a generic abstraction for this.

Signed-off-by: Stephen Levine <[email protected]>

Co-authored-by: Joe Kutner <[email protected]>
This was referenced Jul 21, 2021
@sclevine
Copy link
Member Author

sclevine commented Jul 22, 2021

Putting this on hold for now. #173 currently suggests an alternative implementation.

@ekcasey ekcasey marked this pull request as draft August 25, 2021 18:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants