talos/api/common/common.proto
Alexey Palazhchenko 0f169bf9b1
chore: add API deprecations mechanism
Refs #4576.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-11-30 06:31:55 +00:00

89 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
package common;
option go_package = "github.com/talos-systems/talos/pkg/machinery/api/common";
import "google/protobuf/any.proto";
import "google/protobuf/descriptor.proto";
import "google/rpc/status.proto";
// An alternative to using options could be extracting versions from comments.
// Unfortunately, they are not available: https://github.com/golang/protobuf/issues/1134
// Also, while option numbers can be the same,
// names should be different: https://github.com/protocolbuffers/protobuf/issues/4861
extend google.protobuf.MessageOptions {
// Indicates the Talos version when this deprecated message will be removed from API.
string remove_deprecated_message = 93117;
}
extend google.protobuf.FieldOptions {
// Indicates the Talos version when this deprecated filed will be removed from API.
string remove_deprecated_field = 93117;
}
extend google.protobuf.EnumOptions {
// Indicates the Talos version when this deprecated enum will be removed from API.
string remove_deprecated_enum = 93117;
}
extend google.protobuf.EnumValueOptions {
// Indicates the Talos version when this deprecated enum value will be removed from API.
string remove_deprecated_enum_value = 93117;
}
extend google.protobuf.MethodOptions {
// Indicates the Talos version when this deprecated method will be removed from API.
string remove_deprecated_method = 93117;
}
extend google.protobuf.ServiceOptions {
// Indicates the Talos version when this deprecated service will be removed from API.
string remove_deprecated_service = 93117;
}
enum Code {
FATAL = 0;
LOCKED = 1;
}
message Error {
Code code = 1;
string message = 2;
repeated google.protobuf.Any details = 3;
}
// Common metadata message nested in all reply message types
message Metadata {
// hostname of the server response comes from (injected by proxy)
string hostname = 1;
// error is set if request failed to the upstream (rest of response is
// undefined)
string error = 2;
// error as gRPC Status
google.rpc.Status status = 3;
}
message Data {
Metadata metadata = 1;
bytes bytes = 2;
}
message DataResponse {
repeated Data messages = 1;
}
message Empty {
Metadata metadata = 1;
}
message EmptyResponse {
repeated Empty messages = 1;
}
enum ContainerDriver {
CONTAINERD = 0;
CRI = 1;
}