about summary refs log tree commit diff
path: root/third_party/nix/src/nix-daemon/nix-daemon-proto.cc
AgeCommit message (Collapse)AuthorFilesLines
2020-08-01 r/1519 feat(3p/nix): Implement AddToStore proto handlerGriffin Smith1-0/+109
Implement the proto handler for AddToStore, which adds a nix path to the store. This is implemented by adding a new (probably soon-to-be-generalized) Source concretion that wraps a grpc ServerReader for the stream of data we're receiving from the client - this is less than ideal, as it's perpetuating the source/sink thing that's going on and storing entire nars in memory, but is at the very worst an incremental step towards a functioning nix that we can refactor in the future. Paired-With: Perry Lorier <isomer@tvl.fyi> Paired-With: Vincent Ambo <mail@tazj.in> Change-Id: I48db734e7460a47aee4a85dd5137b690980859e3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1441 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in>
2020-07-27 r/1495 fix(3p/nix): apply all clang-tidy fixesKane York1-4/+3
Change-Id: I265e763393422ee1881653527c91024458060825 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1432 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1472 feat(3p/nix): Add main function for grpc daemonGriffin Smith1-6/+5
Implement the main function for the new, proto-based nix daemon. This mostly replicates the behavior of the previous nix daemon - it starts a grpc server listening on the same nix socket path and supports the same set of options - with the exception of --stdio, which has been renamed to --pipe and documented in the man page. Change-Id: Ib729283c1d5d35c0e1b0a968bc1f052f5527f2d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1356 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-20 r/1409 feat(3p/nix/nix-daemon): add factory function for WorkerServiceImplGriffin Smith1-0/+7
Add a forward-declared factory function for constructing and returning a WorkerServiceImpl, for eventual use in the main function for the nix daemon Change-Id: I9032d69b6ee3bc3b1f39f3d5d55f951cffad8145 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1293 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-18 r/1384 fix(3p/nix/nix-daemon): Add assertStorePath to all proto implsGriffin Smith1-0/+7
I missed calling store_->assertStorePath on paths in several daemon proto handlers, which the previous implementation did. Change-Id: Ifad6eeb03b5a5babec7b4bcf7aca060813f15bb7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1272 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-18 r/1383 feat(3p/nix/nix-daemon): Implement Worker::AddSignatures handlerGriffin Smith1-0/+14
I got the message proto wrong on this one as well - it needs both a path and a signatures. Change-Id: I9a489b1285bda61c15b2a3b47d9cfc3b50e387da Reviewed-on: https://cl.tvl.fyi/c/depot/+/1270 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-18 r/1382 feat(3p/nix/nix-daemon): Implement Worker::BuildDerivation handlerGriffin Smith1-0/+23
Implement the proto handler on the server side for Worker::BuildDerivation. This includes several additions to the proto which I had missed on the first pass, including the actual proto definition for the Derivation itself and a few sequence number reorderings which are fine because this is all provisional and not deployed yet. A couple things to note - I implemented a couple constructors for nix classes that initialize themselves based on their proto variants, which felt nice and didn't end up causing any issues. - I've made the conversions between the enum types in nix and in proto explicit via switch statements rather than using a static_cast, out of an abundance of caution that the error would get mismatched in the future and we'd convert the wrong thing to the wrong thing - this is verbose, but exceptionally future proof. Change-Id: Iecf6b88e76bc37e49efa05fd65d6cd0cb0deffed Reviewed-on: https://cl.tvl.fyi/c/depot/+/1249 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-07-17 r/1361 feat(3p/nix/nix-daemon): Implement Worker::VerifyStore handlerGriffin Smith1-0/+11
Also adds the missing check_contents field to the VerifyStoreRequest proto message, since it was missed in the original pass. This is done using a renumbering, which is fine in this case since the proto hasn't been deployed yet Change-Id: I92bf4e48a71a25ae02ae02b3deaf6e7c71fe5da7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1237 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi> Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-07-17 r/1360 feat(3p/nix/nix-daemon): Implement Worker::OptimiseStore handlerGriffin Smith1-0/+9
Change-Id: I8b1d84799a608a516d0b4980022a7edd545a1ca1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1235 Tested-by: BuildkiteCI Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-07-17 r/1359 feat(3p/nix/nix-daemon): Implement Worker::QuerySubstitutablePaths handlerGriffin Smith1-0/+17
Change-Id: I243d67b0bce29d54c7d6e08f5eee70bd395cf9a2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1234 Tested-by: BuildkiteCI Reviewed-by: Kane York <rikingcoding@gmail.com>
2020-07-17 r/1358 feat(3p/nix/nix-daemon): Implement Worker::QueryValidPaths handlerGriffin Smith1-0/+17
Change-Id: I221dcd2a3fa53ead3ea9ac47830d968bb587c6e5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1233 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-17 r/1357 feat(3p/nix/nix-daemon): Implement Worker::QueryPathFromHashPartGriffin Smith1-0/+9
Change-Id: Id351a0c82f4d6e79a8f272674d8d8e86e12a9400 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1232 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-17 r/1356 feat(3p/nix/nix-daemon): Implement Worker::QueryDerivationOutputNames handlerGriffin Smith1-0/+13
Change-Id: Ie17e37322dd0e241cd35b6d8e69bd6c968fd6ff2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1231 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-17 r/1355 feat(3p/nix/nix-daemon): Implement Worker::QueryPathInfo handlerGriffin Smith1-0/+40
Change-Id: I580bd29356f7bcd0cc2050afda11d2e115d44c94 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1230 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-17 r/1350 chore(3p/nix/proto): Fix style violations in new proto defsKane York1-2/+2
This is a blocker to enabling the linter. Change-Id: I9f8d3cc19c7539086f53474a505362230fc56c04 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1245 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1342 feat(3p/nix/nix-daemon): Implement Worker::QueryAllValidPaths handlerGriffin Smith1-1/+13
Change-Id: If9d2144ae872183abf47d84c94cc5c5fa23ced87 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1229 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1341 feat(3p/nix/nix-daemon): Implement Worker::QueryMissing handlerGriffin Smith1-0/+30
Change-Id: I004a0c7969e1fe27b844adfed2d3ba3e6c5279bb Reviewed-on: https://cl.tvl.fyi/c/depot/+/1227 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-16 r/1340 feat(3p/nix): Implement similar group of Worker::Query* handlersVincent Ambo1-2/+47
These are the queries that are handled in the confusing case statement in the old daemon implementation, because they have very similar structure. Change-Id: Ie7143354f66cef4336dff8072ede9a56271a7e89 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1228 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1339 feat(3p/nix/nix-daemon): Implement Worker::HasSubstitutes handlerVincent Ambo1-0/+10
Change-Id: I0b01b554eee4b4e31416aabb498ea3d8b8a8092b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1226 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-16 r/1338 feat(3p/nix/nix-daemon): Implement Worker::IsValidPath handlerVincent Ambo1-0/+29
Change-Id: I741c2b9b58f234a21850640e2b0c071ff4441234 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1223 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: glittershark <grfn@gws.fyi>