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

Garbage collection #20

Open
domenkozar opened this Issue May 31, 2018 · 4 comments

Comments

Projects
None yet
4 participants
@domenkozar
Copy link
Member

domenkozar commented May 31, 2018

Since binary caches can grow, there should be a way to configure a garbage collection strategy. I envision the simplest one that would cover 80% of use cases is: collect oldest uploads that go over certain date or storage size.

@domenkozar domenkozar changed the title Garbage collect Garbage collection May 31, 2018

@k0001

This comment has been minimized.

Copy link

k0001 commented May 31, 2018

Or, collect things that haven't been downloaded recently.

The “oldest” approach doesn't work that well when people don't update things frequently, which is quite common if, for example, you only update your pinned version of nixpkgs once every a couple of months. This is a common problematic situation when trying to pin nixpkgs and benefit from its binary cache at the same time.

@chris-martin

This comment has been minimized.

Copy link

chris-martin commented Jun 24, 2018

It would be cool if cachix had a concept of "GC roots" like Nix does, to use as one of the eviction heuristics.

@PierreR

This comment has been minimized.

Copy link

PierreR commented Sep 10, 2018

@domenkozar Whenever I push updates to the same cache, the new and the previous versions are still available ? At least until this issue is solved ? Is that correct ?

@domenkozar

This comment has been minimized.

Copy link
Member Author

domenkozar commented Sep 10, 2018

Exactly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
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.