Define archive control v1 protocol

This commit is contained in:
2026-07-22 11:59:57 +00:00
commit 7652262b4c
25 changed files with 1333 additions and 0 deletions
+75
View File
@@ -0,0 +1,75 @@
syntax = "proto3";
package archive_control.v1;
import "google/protobuf/timestamp.proto";
// ProtocolVersion is negotiated during connection registration. A different
// major version is incompatible; minor versions are feature-negotiated.
message ProtocolVersion {
uint32 major = 1;
uint32 minor = 2;
}
enum ClientRole {
CLIENT_ROLE_UNSPECIFIED = 0;
CLIENT_ROLE_ARCHIVE = 1;
CLIENT_ROLE_CACHE = 2;
}
enum HealthState {
HEALTH_STATE_UNSPECIFIED = 0;
HEALTH_STATE_HEALTHY = 1;
HEALTH_STATE_DEGRADED = 2;
HEALTH_STATE_UNHEALTHY = 3;
HEALTH_STATE_UNKNOWN = 4;
}
enum ErrorCode {
ERROR_CODE_UNSPECIFIED = 0;
ERROR_CODE_INVALID_ARGUMENT = 1;
ERROR_CODE_UNAUTHENTICATED = 2;
ERROR_CODE_PROTOCOL_VERSION_MISMATCH = 3;
ERROR_CODE_CLIENT_ID_CONFLICT = 4;
ERROR_CODE_NOT_FOUND = 5;
ERROR_CODE_CONFLICT = 6;
ERROR_CODE_STALE_STATE = 7;
ERROR_CODE_UNSUPPORTED = 8;
ERROR_CODE_PRECONDITION_FAILED = 9;
ERROR_CODE_RESOURCE_EXHAUSTED = 10;
ERROR_CODE_UNAVAILABLE = 11;
ERROR_CODE_TIMEOUT = 12;
ERROR_CODE_CANCELLED = 13;
ERROR_CODE_INTEGRITY_CHECK_FAILED = 14;
ERROR_CODE_PATH_CONFLICT = 15;
ERROR_CODE_PERMISSION_DENIED = 16;
ERROR_CODE_MANUAL_INTERVENTION_REQUIRED = 17;
ERROR_CODE_INTERNAL = 18;
}
message Error {
ErrorCode code = 1;
string message = 2;
bool retryable = 3;
map<string, string> details = 4;
}
message ServiceHealth {
string service = 1;
HealthState state = 2;
string version = 3;
string api_version = 4;
string detail = 5;
google.protobuf.Timestamp checked_at = 6;
}
message ClientIdentity {
string client_id = 1;
string display_name = 2;
ClientRole role = 3;
}
message PageRequest {
uint32 page_size = 1;
string page_token = 2;
}