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

[Q] Build OCI image to tarball and push it by external tool #12946

Closed
bademux opened this issue Apr 15, 2024 · 11 comments
Closed

[Q] Build OCI image to tarball and push it by external tool #12946

bademux opened this issue Apr 15, 2024 · 11 comments
Labels
oci Related to Helm OCI feature question/support

Comments

@bademux
Copy link

bademux commented Apr 15, 2024

Hi,

It would be nice to use already existing push-with-crane job in CI.

Is it possible to build helm OCI artifact to tarball? Would be it possible to push artifact as generic OCI image.

Thanks for the great tool!

@gjenkins8
Copy link
Contributor

gjenkins8 commented Apr 17, 2024

Is it possible to build helm OCI artifact to tarball?

certainly - https://helm.sh/docs/helm/helm_package/

I would like to think helm push would be more convenient, etc. Is there a specific reason to not prefer helm push?

@gjenkins8
Copy link
Contributor

Thanks for the great tool!

thanks!

@gjenkins8 gjenkins8 added the oci Related to Helm OCI feature label Apr 17, 2024
@bademux
Copy link
Author

bademux commented Apr 17, 2024

Is it possible to build helm OCI artifact to tarball?

certainly - https://helm.sh/docs/helm/helm_package/

I would like to think helm push would be more convenient, etc. Is there a specific reason to not prefer helm push?

Yes, for highly isolated environments Push action are handled by special jobs on CI.
For docker it would go like that:

  1. Build image as tar in first stage (Google Jib\Kaniko)
  2. Push tar by another one (crane\docker load push)

Another minor reason is convenient listing end artifact without access to remote repo.

I I understand correctly the result of helm package can be pushed with external tool?

@sabre1041
Copy link
Contributor

@bademux if you do so, and want to pull/retrieve it via Helm, you will need to populate a compatible OCI artifact. I can share the specific details as I did produce this previously work ORAS some time ago.

@bademux
Copy link
Author

bademux commented Apr 30, 2024

@sabre1041 looks like I mess with problem description; sorry and let me try again:
I want to use helm for creating local tgz and installing local folder\tgz in cluster,
but for communication: pushing\puling I want to use 3rd party tool.

@sabre1041
Copy link
Contributor

@sabre1041 looks like I mess with problem description; sorry and let me try again: I want to use helm for creating local tgz and installing local folder\tgz in cluster, but for communication: pushing\puling I want to use 3rd party tool.

helm package will enable to packaging and then you are free to use the tool of choice for transport

@bademux
Copy link
Author

bademux commented Apr 30, 2024

@sabre1041 thanks.

  • from what I understand to push image to OCI registry I will need manifest.json
  • how to pull helm chart from OCI with 3rdparty tooling

@sabre1041
Copy link
Contributor

@bademux Use a tool like ORAS to manage OCI artifacts

@bademux
Copy link
Author

bademux commented May 2, 2024

@sabre1041
thanks, I will try that one (looks like that demo can be helpful)

But I wonder if something like docker image save \ docker image load can be implemented. Instead of actual HTTP operation on registry just tarball is saved\loaded from disk.

@sabre1041
Copy link
Contributor

@bademux ORAS and Helm use OCI Artifacts instead of OCI images, so using docker image * would not be applicable

@bademux
Copy link
Author

bademux commented May 2, 2024

thanks you for guiding me, lets apply my new knowledge!

@bademux bademux closed this as completed May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
oci Related to Helm OCI feature question/support
Projects
None yet
Development

No branches or pull requests

3 participants