diff options
author | Sami Hiltunen <shiltunen@gitlab.com> | 2020-09-15 17:56:52 +0300 |
---|---|---|
committer | Sami Hiltunen <shiltunen@gitlab.com> | 2020-09-17 20:10:03 +0300 |
commit | 769b6ffbc54a7d9faf0dd25f8e20434e5972e7ca (patch) | |
tree | c53ee84b57ae95d95fff38836d8f1f175001725f /proto/praefect.proto | |
parent | 6206616d93ece66349075c83d553a0a9af3e9cad (diff) |
add intercepted option to mark a service handled by praefect
Adds an option for marking a gRPC service as handled by Praefect.
Services handled by Praefect do not need operation or scope
annotations as they are only used for proxying logic.
Diffstat (limited to 'proto/praefect.proto')
-rw-r--r-- | proto/praefect.proto | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/proto/praefect.proto b/proto/praefect.proto index 18db7f6f9..92994a58d 100644 --- a/proto/praefect.proto +++ b/proto/praefect.proto @@ -8,44 +8,26 @@ import "lint.proto"; import "shared.proto"; service PraefectInfoService { - rpc RepositoryReplicas(RepositoryReplicasRequest) returns (RepositoryReplicasResponse) { - option (op_type) = { - op: ACCESSOR - scope_level: SERVER - }; - } + option (intercepted) = true; + + rpc RepositoryReplicas(RepositoryReplicasRequest) returns (RepositoryReplicasResponse); // ConsistencyCheck will perform a consistency check on the requested // virtual storage backend. A stream of repository statuses will be sent // back indicating which repos are consistent with the primary and which ones // need repair. - rpc ConsistencyCheck(ConsistencyCheckRequest) returns (stream ConsistencyCheckResponse) { - option (op_type) = { - op: ACCESSOR - scope_level: STORAGE - }; - } + rpc ConsistencyCheck(ConsistencyCheckRequest) returns (stream ConsistencyCheckResponse); // DatalossCheck checks for outdated repository replicas. - rpc DatalossCheck(DatalossCheckRequest) returns (DatalossCheckResponse) { - option (op_type) = { - op: ACCESSOR - scope_level: SERVER - }; - } + rpc DatalossCheck(DatalossCheckRequest) returns (DatalossCheckResponse); // SetAuthoritativeStorage sets the authoritative storage for a repository on a given virtual storage. // This causes the current version of the repository on the authoritative storage to be considered the // latest and overwrite any other version on the virtual storage. - rpc SetAuthoritativeStorage(SetAuthoritativeStorageRequest) returns (SetAuthoritativeStorageResponse) { - option (op_type) = { - op: MUTATOR - scope_level: STORAGE - }; - } + rpc SetAuthoritativeStorage(SetAuthoritativeStorageRequest) returns (SetAuthoritativeStorageResponse); } message SetAuthoritativeStorageRequest { - string virtual_storage = 1 [(storage)=true]; + string virtual_storage = 1; string relative_path = 2; string authoritative_storage = 3; } @@ -53,7 +35,7 @@ message SetAuthoritativeStorageRequest { message SetAuthoritativeStorageResponse {} message DatalossCheckRequest { - string virtual_storage = 1 [(storage)=true]; + string virtual_storage = 1; // include_partially_replicated decides whether to include repositories which are fully up to date // on the primary but are outdated on some secondaries. Such repositories are still writable and do // not suffer from data loss. The data on the primary is not fully replicated which increases the @@ -100,7 +82,7 @@ message RepositoryReplicasResponse{ } message ConsistencyCheckRequest { - string virtual_storage = 1 [(storage)=true]; + string virtual_storage = 1; // The target storage is the storage you wish to check for inconsistencies // against a reference storage (typically the current primary). string target_storage = 2; |