summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaoul Hidalgo Charman <raoul.hidalgocharman@codethink.co.uk>2019-06-20 09:32:29 +0100
committerbst-marge-bot <marge-bot@buildstream.build>2019-07-08 10:40:28 +0000
commitc20eac1e7ac80e1dc36b23b04affacfbe2cca338 (patch)
tree20d6b5460338211a6d042c2c340ce60ad8aca92e
parent93816bea18d93495744263deaabc1d73a68029ac (diff)
downloadbuildstream-c20eac1e7ac80e1dc36b23b04affacfbe2cca338.tar.gz
Add new source proto
Part of #1038
-rw-r--r--src/buildstream/_protos/buildstream/v2/source.proto61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/buildstream/_protos/buildstream/v2/source.proto b/src/buildstream/_protos/buildstream/v2/source.proto
new file mode 100644
index 000000000..6fcb43725
--- /dev/null
+++ b/src/buildstream/_protos/buildstream/v2/source.proto
@@ -0,0 +1,61 @@
+// Copyright 2019 Bloomberg Finance LP
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package buildstream.v2;
+
+import "build/bazel/remote/execution/v2/remote_execution.proto";
+import "google/api/annotations.proto";
+
+service SourceService {
+ // Retrieve a source message given a reference name from the service
+ //
+ // Errors:
+ // * `NOT_FOUND`: The requested reference is not in the cache.
+ rpc GetSource(GetSourceRequest) returns (Source) {}
+
+ // Sets a source message on the service
+ //
+ // Errors:
+ // * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the
+ // entry to the cache.
+ rpc UpdateSource(UpdateSourceRequest) returns (Source) {}
+}
+
+message Source {
+ // This version number must always be present and can be used to
+ // further indicate presence or absence of parts of the proto at a
+ // later date. It only needs incrementing if a change to what is
+ // *mandatory* changes.
+ int32 version = 1;
+ // root directory digest of the files
+ build.bazel.remote.execution.v2.Digest files = 2;
+}
+
+message GetSourceRequest {
+ // instance of the service we want to query
+ string instance_name = 1;
+ // reference key for the source
+ string cache_key = 2;
+}
+
+message UpdateSourceRequest {
+ // instance of the service we want to query
+ string instance_name = 1;
+ // reference key ofr the source
+ string cache_key = 2;
+ // Source that we want to upload to the service
+ Source source = 3;
+} \ No newline at end of file