rukpak icon indicating copy to clipboard operation
rukpak copied to clipboard

Revisit decision to use finalizers to manage bundle storage

Open joelanford opened this issue 4 years ago • 3 comments

As an outcome of #292, we began using finalizers to manage the underlying storage of bundles. With the changes in that PR, we can no longer rely on kubernetes garbage collection to clean up all bundle contents from the cluster because the new LocalDirectory storage implementation is essentially in off-cluster location that only the provisioner is aware of.

We brainstormed the idea of clearing bundle storage via a DELETE event handler, and backing that up with a periodic reaping mechanism to catch events that we missed. But after experimenting with that idea, it became clear that we'd have to expand the definition of the storage interface to handle listing all of the currently stored bundles, which is something we weren't necessarily prepared to do.

In this issue, let's discuss the whether we think finalizers are a reasonable solution to avoid "zombie" bundles sticking around in storage and also what reasonable alternatives would be. What are the pros and cons of the various choices?

There's further context for this issue at https://github.com/operator-framework/rukpak/pull/292#issuecomment-1116137822.

joelanford avatar May 03 '22 20:05 joelanford

This issue has become stale because it has been open 60 days with no activity. The maintainers of this repo will remove this label during issue triage. Adding the lifecycle/frozen label will cause this issue to ignore lifecycle events.

github-actions[bot] avatar Sep 07 '22 00:09 github-actions[bot]

So the context captured in this PR should allow for this work to be actionable and help us to come to a decision. If there are any needed follow-up questions lets go ahead and direct them at @operator-framework/rukpak-maintainers.

tylerslaton avatar Oct 13 '22 19:10 tylerslaton

This issue has become stale because it has been open 60 days with no activity. The maintainers of this repo will remove this label during issue triage or it will be removed automatically after an update. Adding the lifecycle/frozen label will cause this issue to ignore lifecycle events.

github-actions[bot] avatar Dec 13 '22 00:12 github-actions[bot]