OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 syntax = "proto3"; |
| 6 |
| 7 package logdog; |
| 8 |
| 9 import "google/protobuf/duration.proto"; |
| 10 |
| 11 // RegisterPrefixRequest registers a new Prefix with the Coordinator. |
| 12 message RegisterPrefixRequest { |
| 13 // The log stream's project. |
| 14 string project = 1; |
| 15 // Optional information about the registering agent. |
| 16 repeated string source_info = 2; |
| 17 |
| 18 // The protobuf version string for this stream. |
| 19 string proto_version = 3; |
| 20 // The serialized LogStreamDescriptor protobuf for this stream. The stream's |
| 21 // path is extracted from this field. |
| 22 bytes desc = 4; |
| 23 |
| 24 // The prefix expiration time. If <= 0, the project's default prefix |
| 25 // expiration period will be applied. |
| 26 // |
| 27 // The prefix will be closed by the Coordinator after its expiration period. |
| 28 // Once closed, new stream registration requests will no longer be accepted. |
| 29 // |
| 30 // If supplied, this value should exceed the timeout of the local task, else |
| 31 // some of the task's streams may be dropped due to failing registration. |
| 32 google.protobuf.Duration expiration = 5; |
| 33 } |
| 34 |
| 35 // The response message for the RegisterPrefix RPC. |
| 36 message RegisterPrefixResponse { |
| 37 // Secret is the prefix's secret. This must be included verbatim in Butler |
| 38 // bundles to assert ownership of this prefix. |
| 39 bytes secret = 1; |
| 40 |
| 41 // The name of the Pub/Sub topic to publish butlerproto-formatted Butler log |
| 42 // bundles to. |
| 43 string log_bundle_topic = 2; |
| 44 } |
| 45 |
| 46 // Registration service is a LogDog Coordinator endpoint that interfaces with |
| 47 // LogDog Butler instances and enables stream prefix registration and Butler |
| 48 // streaming initialization. |
| 49 service Registration { |
| 50 // RegisterStream allows a Butler instance to register a log stream with the |
| 51 // Coordinator. Upon success, the Coordinator will return registration |
| 52 // information and streaming parameters to the Butler. |
| 53 // |
| 54 // This should be called by a Butler instance to gain the ability to publish |
| 55 // to a prefix space. The caller must have WRITE access to its project's |
| 56 // stream space. If WRITE access is not present, this will fail with the |
| 57 // "PermissionDenied" gRPC code. |
| 58 // |
| 59 // A stream prefix may be registered at most once. Additional registration |
| 60 // requests will fail with the "AlreadyExists" gRPC code. |
| 61 rpc RegisterPrefix(RegisterPrefixRequest) returns (RegisterPrefixResponse); |
| 62 } |
OLD | NEW |