-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
Is your feature request related to a problem? Please describe.
-
For fixed output derivations that need authentication, it is probably better to run them as the current user in order to give them secrets, especially ephemeral secrets (like expiring tokens) that might require some humans in the loop (various 2fa schemes) and are cumbersome to store in the store.
-
Builtin fetching should be representable by derivations #9077 once the above is sorted out, we should do this too. Currently the main reason fetching is not done with derivations is authentication. This provides a proper solution. All fetching done as client-side derivations nicely meets in the middle of the current fixed-output derivations vs libfetchers divide.
-
General decoupling. Building shouldn't depend on using the SQL database (and I don't think it currently does). It ought to work with other stores that also provide a file system view (
LocalFSStore).
Describe the solution you'd like
-
Have a method
getBuilderlikegetFSAccessor, moving building methods there. -
Remote stores now can either use the current remote side scheduling/building or do their own. This can be dynamic, unlike strategies that bake the choice into the
Storeclass hierarchy. -
LocalDerivationGoalshould merely assumeLocalFSStore, notLocalStore. -
LocalStoreshould be renamedSQLiteStore.
This provides enough building blocks to allow for a wide variety of remote building configurations.
Additional Context
Talking to @kolloch about AWS fetching and also the ACL store RFC.
Priorities
Add 👍 to issues you find important.