feat(3p/nix/nix-daemon): Implement Worker::AddSignatures handler
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>
This commit is contained in:
parent
a79df261b4
commit
ecf288e70a
2 changed files with 20 additions and 1 deletions
|
@ -227,6 +227,20 @@ class WorkerServiceImpl final : public WorkerService::Service {
|
|||
return Status::OK;
|
||||
}
|
||||
|
||||
Status AddSignatures(grpc::ServerContext* context,
|
||||
const nix::proto::AddSignaturesRequest* request,
|
||||
google::protobuf::Empty* response) override {
|
||||
auto path = request->path().path();
|
||||
store_->assertStorePath(path);
|
||||
|
||||
StringSet sigs;
|
||||
sigs.insert(request->sigs().sigs().begin(), request->sigs().sigs().end());
|
||||
|
||||
store_->addSignatures(path, sigs);
|
||||
|
||||
return Status::OK;
|
||||
}
|
||||
|
||||
Status QueryMissing(grpc::ServerContext* context, const StorePaths* request,
|
||||
nix::proto::QueryMissingResponse* response) override {
|
||||
std::set<Path> targets;
|
||||
|
|
7
third_party/nix/src/proto/worker.proto
vendored
7
third_party/nix/src/proto/worker.proto
vendored
|
@ -92,7 +92,7 @@ service WorkerService {
|
|||
|
||||
// Add signatures to the specified store path. The signatures are not
|
||||
// verified.
|
||||
rpc AddSignatures(Signatures) returns (google.protobuf.Empty);
|
||||
rpc AddSignatures(AddSignaturesRequest) returns (google.protobuf.Empty);
|
||||
|
||||
// TODO: What does this do?
|
||||
rpc NarFromPath(StorePath) returns (StorePath);
|
||||
|
@ -314,6 +314,11 @@ message BuildDerivationResponse {
|
|||
string error_message = 2;
|
||||
}
|
||||
|
||||
message AddSignaturesRequest {
|
||||
StorePath path = 1;
|
||||
Signatures sigs = 2;
|
||||
}
|
||||
|
||||
message AddToStoreNarRequest {
|
||||
oneof add_oneoff {
|
||||
PathInfo path_info = 1;
|
||||
|
|
Loading…
Reference in a new issue