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

local should use ggcr v1.Daemon #62

Closed
micahyoung opened this issue Oct 3, 2020 · 2 comments
Closed

local should use ggcr v1.Daemon #62

micahyoung opened this issue Oct 3, 2020 · 2 comments

Comments

@micahyoung
Copy link
Member

micahyoung commented Oct 3, 2020

ggcr's Daemon implementation appears to now support daemon.Image and daemon.Write and appears that we could use it for the local implementation. If the daemon package has feature-parity with remote, I believe we could get many benefits from using daemon:

  • Enable daemons to "pull" non-container-images (ORAS) or otherwise unpullable images, by dynamically rewriting remote-image metadata and/or layers before saving to the daemon during a pull.
    • This looks like it will be important for enabling buildpackages on Windows, which now require a Microsoft-proprietary base-layer for them to be stored on the daemon.
  • More shared code between remote and local - perhaps eventually a single implementation with flags for remote/local.
  • Use an upstream implementation to which Docker is more directly concerned with supporting.

daemon package: https://github.com/google/go-containerregistry/tree/master/pkg/v1/daemon

@ekcasey
Copy link
Member

ekcasey commented Oct 5, 2020

@micahyoung We moved away from the ggcr daemon implementation awhile ago due to performance issues. Specifically the ggcr daemon package requires us to export and import base layers that already exist in the daemon. Our implementation has shortcut logic that avoids this. AFAIK this issues has not been addressed in ggcr yet

background:
google/go-containerregistry#205
google/go-containerregistry#558

@micahyoung
Copy link
Member Author

Oh, thanks for the background, I totally missed that before. I'll keep an eye on that PR. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants