estesp / manifest-tool

Command line tool to create and query container image manifest list/indexes
Apache License 2.0
737 stars 92 forks source link

[feature] package build for Alpine #253

Closed iamasmith closed 4 months ago

iamasmith commented 5 months ago

Since the golang images that many use are based on Alpine it would be really good to be able to add manifest-tool to a build image with an apk add either in a build stage or baked into an image based on preference.

This is a really useful tool and I can see people might want to use it in various pipeline stages and it might help if it was available without an extra build step.

Happy to provide something that you can forward for an aports submission - I'm sure you are more than capable but who knows who has the time for these things.

Extra context: Some might find it difficult or encounter edge cases to add an extra step to use the vanilla container depending on the flexibility around adding auth helpers needed for cloud services etc. So doing this might help in that respect.

estesp commented 5 months ago

Thanks; I've added an aports merge request: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/62939

iamasmith commented 5 months ago

Thanks, thumbsed up over there. For extra context, particularly on Gitlab, some runners need a shell and I didn't check if your image was built from scratch but for things like kaniko you end up using the debug version to get a shell for the runner to use. Being able to apk add the package along with other common build tools really helps on pipelines. I've built it using golang:latest for my home lab and it works really well for me in an Alpine based runner - I'm only using it to combine amd64 and arm64 image tags into a latest but it's a really good little tool, very focussed, doesn't try to do everything but does it's thing well.

iamasmith commented 5 months ago

Looks like it has some small linting issues.

estesp commented 5 months ago

It's now published in edge-testing: https://pkgs.alpinelinux.org/packages?name=manifest-tool&branch=edge&repo=&arch=&maintainer=

I think we can close this, but let me know if there is anything else necessary here

iamasmith commented 4 months ago

Excellent, many thanks Phil