mirror of
https://github.com/NixOS/nix.git
synced 2025-12-16 14:01:05 +01:00
Enable socket-only daemon operations without filesystem access
Allows the Nix daemon to serve store paths purely over Unix domain sockets without requiring the client to have filesystem access to the store directory. This can be useful for VM setups where the host serves paths to the guest via socket. Tests verify socket-only operations work for copying, substitution, and remote building (tested on Linux), with both local and binary cache stores.
This commit is contained in:
parent
341c42f321
commit
6a017a2a87
6 changed files with 174 additions and 2 deletions
|
|
@ -896,7 +896,7 @@ static void performOp(
|
|||
auto path = WorkerProto::Serialise<StorePath>::read(*store, rconn);
|
||||
logger->startWork();
|
||||
logger->stopWork();
|
||||
dumpPath(store->toRealPath(path), conn.to);
|
||||
store->narFromPath(path, conn.to);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ struct UDSRemoteStore : virtual IndirectRootStore, virtual RemoteStore
|
|||
|
||||
void narFromPath(const StorePath & path, Sink & sink) override
|
||||
{
|
||||
Store::narFromPath(path, sink);
|
||||
RemoteStore::narFromPath(path, sink);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue