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

Replace pod-based image unpacker with an image registry client #143

Closed
joelanford opened this issue Aug 22, 2023 · 1 comment · Fixed by #145
Closed

Replace pod-based image unpacker with an image registry client #143

joelanford opened this issue Aug 22, 2023 · 1 comment · Fixed by #145

Comments

@joelanford
Copy link
Member

There are several issues related to our use of a pod to unpack images:

I propose that we switch to an image registry client used directly by the controller. I think for the initial implementation we can:

  1. Always resolve tags to SHAs by communicating with image registry
  2. Pull content for tag into an emptyDir volume
    i. If the content for a SHA is cached locally, no need to pull again
  3. Unpack content into served filesystem
    i. If the desired SHA is already being served, no need to unpack again

Future optimizations could include:

  1. Running full resolve/unpack process in a goroutine, and using a channel to communicate events back to the reconciler to requeue
  2. Rate-limit requests to an image registry (but if a request is rate-limited always put another request in the queue to make sure we don't rest on a stale tag resolution.
  3. Explore cache optimizations (e.g. persistent volume, garbage collection based on LRU + max inactive size)
@anik120
Copy link
Collaborator

anik120 commented Sep 26, 2023

Copying over the description to #179 and closing this so that we can track all of it with #179

@anik120 anik120 closed this as completed Sep 26, 2023
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

Successfully merging a pull request may close this issue.

2 participants