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

It would be nice to support easily creating a manifest list packages and builders #1460

Closed
1 task done
Tracked by #294
dmikusa opened this issue Jun 15, 2022 · 1 comment · Fixed by #1705
Closed
1 task done
Tracked by #294

It would be nice to support easily creating a manifest list packages and builders #1460

dmikusa opened this issue Jun 15, 2022 · 1 comment · Fixed by #1705
Labels
epic/multi-arch status/ready Issue ready to be worked on. type/enhancement Issue that requests a new feature or improvement.
Milestone

Comments

@dmikusa
Copy link
Contributor

dmikusa commented Jun 15, 2022

Description

If I am building, for example, paketo-buildpacks/java and I want to support multiple os/architectures I would like those to be supported under the same image name. This requires support for a manifest list. I would like pack to handle this for me, rather than needing additional tools.

This is not strictly dependent on #1459 but as it becomes easier to create images for different os/architectures it'll be more apparent that we need the ability to have pack create a manifest list.

Proposed solution

I feel like there are some options here.

  1. I could see a command that's run which when given multiple images produces a single manifest list image. That would require you to independently pack buildpack package each os/arch buildpack image, then combine them together. This would be a little tedious, but it would be easy to consume. A buildpack author could a.) compile their buildpack, b.) package it with pack, c.) repeat as needed, d.) call pack buildpack manifest (or something like that).

  2. I could see this being more closely integrated with Provide a way to specify desired platform when creating packages and builders #1459. That when you pass multiple --arch flags (or whatever flag), or when you have multiple architectures listed in package.toml (or where ever), then pack would know to generate a manifest image. I think this would be convenient in that you could possibly get away with only one call to pack buildpack package. It would be a little different to consume though. A buildpack author would need to a.) compile their buildpack for every architecture , b.) call pack buildpack package and somehow tell pack where each compiled buildpack resides. Right now there's a single uri in package.toml to do this, so you'd presumably need something that's architecture-specific or need some other way to pass that along.

Describe alternatives you've considered

I have heard via @jromero that it is possible to use 3rd party tools to combine different images into a manifest image, but I haven't tried this or found any documented steps for doing it.

Additional context

  • This feature should be documented somewhere
@dmikusa dmikusa added status/triage Issue or PR that requires contributor attention. type/enhancement Issue that requests a new feature or improvement. labels Jun 15, 2022
@natalieparellano natalieparellano added status/ready Issue ready to be worked on. and removed status/triage Issue or PR that requires contributor attention. labels Oct 12, 2022
@zeus2611
Copy link

zeus2611 commented Feb 2, 2023

Hi @dmikusa @jjbustamante @jpena-r7 I'm very interested in this project for lfx mentorship '23. I learned about buildpacks from CNCF's LFX idea list, which I think is a higher-level abstraction of container image. It just so happens that the technology stack of the project fits me pretty well. i have been working with golang for sometime now. And, I think this would give me a perfect opportunity for getting started with open source and expanding my knowledge and skillset.

@natalieparellano natalieparellano changed the title It would be nice to support easily creating a manifest list images It would be nice to support easily creating a manifest list packages and builders Feb 8, 2023
@jjbustamante jjbustamante moved this to In Progress in LFX 2023: Husni Faiz Apr 10, 2023
@natalieparellano natalieparellano added this to the 0.31.0 milestone Aug 21, 2023
@jjbustamante jjbustamante modified the milestones: 0.32.0, 0.33.0 Oct 17, 2023
@natalieparellano natalieparellano modified the milestones: 0.33.0, 0.34.0 Dec 13, 2023
@jjbustamante jjbustamante modified the milestones: 0.34.0, 0.35.0 Mar 8, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in LFX 2023: Husni Faiz May 8, 2024
@jjbustamante jjbustamante modified the milestones: 0.35.0, 0.34.0 May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic/multi-arch status/ready Issue ready to be worked on. type/enhancement Issue that requests a new feature or improvement.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants