-
Notifications
You must be signed in to change notification settings - Fork 299
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
OstreeRepo: add extensions directory #257
Conversation
It's very useful for third-party applications to have someplace to store their data guaranteed to be on the same device as the repo (thus ensuring hardlinks) while still being shielded away from any of OSTree's timely garbage collections. We create a new "extensions/" subdirectory where apps can include whatever they wish in "extensions/myapp/". This subdirectory is completely unmanaged by ostree. NB: I didn't bother making it a member of the OstreeRepo proper since we don't really use it for anything else yet.
It's worth noting the driver of this is coreos/rpm-ostree#107 So the patch is obviously pretty simple (though we could add a test that it exists). The question is - are there any better ways to do this? There's not any precedent I'm aware of to follow in the git project because it just doesn't use hardlinks for checkouts. |
The original reason why I moved data out of the main OSTree repo and into tmp/ was because of OSTree's auto-pruning function. Now, keeping it in tmp/ is also an issue as mentioned above because of the auto-cleanup. At either of those possibilities above, it would work to have a config mechanism to tell ostree to back off. E.g. maybe:
Or if we go the tmp/ way:
|
There's two levels of GC going on here...random files in The other level is the "ostree admin" layer, which happens after you've made a commit. It sounds like the you're now talking about the latter. But these seem quite distinct, no? It may very well be we need both, but they do seem like different problems. One wrinkle here is |
I was talking about both. Either one would be fine with me, though of course they have very different connotations.
Yes, that's what I was referring to when I proposed
Right, we could either default to pruning all refs and provide a whitelist, or pruning none of the refs except those we wrote ourselves. Not sure which makes the most sense. I guess it depends on how we want to look at it. Do we want to encourage third-party apps to put stuff in there? Is the repo owned by OSTree, or does it just "happen to be" the repo that OSTree uses for storing deployments? |
Definitely want to support non-"ostree admin" uses of the system repo. We have at least 3 now in progress that I know of myself:
|
Right, that sounds good. |
I wasn't arguing against |
It's very useful for third-party applications to have someplace to store
their data guaranteed to be on the same device as the repo (thus
ensuring hardlinks) while still being shielded away from any of OSTree's
timely garbage collections.
We create a new "extensions/" subdirectory where apps can include
whatever they wish in "extensions/myapp/". This subdirectory is
completely unmanaged by ostree.
NB: I didn't bother making it a member of the OstreeRepo proper since we
don't really use it for anything else yet.