You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 3, 2025. It is now read-only.
Currently Catalogd uses a Pod for unpacking catalog image contents and reads the unpacked contents from said Pod’s logs. There are a few problems associated with this:
As mentioned by the Kubernetes documentation on working with Pods, Pods are designed as disposable entities. Pods that have exited successfully can be garbage collected at any time and thus there is no guarantee that it will still exist by the time we attempt to read the logs or that the logs that are present are lossless.
It is not recommended to manage Pod resources yourself and instead use something like a Deployment, Job, or StatefulSet.
When thinking about polling, we will likely be checking if the SHA of an image is different from the last time the image was unpacked. The general approach to doing this with a Pod based unpacking process is to create another pod to pull the same image and check the Pod status to determine if there is a difference in the SHA.
Directly communicating with an image registry allows us to avoid running into these issues altogether.
Overview
Currently Catalogd uses a Pod for unpacking catalog image contents and reads the unpacked contents from said Pod’s logs. There are a few problems associated with this:
Directly communicating with an image registry allows us to avoid running into these issues altogether.
Related Issues
Design Documents
RFC: https://docs.google.com/document/d/1VHlUAVewIckVMLccNsoNptRsrQ19KcWzQ2HZetYK2h0/edit?usp=sharing
Task List
Unpackerimplementation #145Unpackimplementation #182