talos/api/common/common.proto
Andrey Smirnov 8eacc4ba80
feat: support rotation of Talos API CA
This allows to roll all nodes to use a new CA, to refresh it, or e.g.
when the `talosconfig` was exposed accidentally.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-22 12:16:47 +04:00

127 lines
2.7 KiB
Protocol Buffer

syntax = "proto3";
package common;
option go_package = "github.com/siderolabs/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;
CANCELED = 2;
}
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;
}
enum ContainerdNamespace {
NS_UNKNOWN = 0;
NS_SYSTEM = 1;
NS_CRI = 2;
}
message URL {
string full_path = 1;
}
message PEMEncodedCertificateAndKey {
bytes crt = 1;
bytes key = 2;
}
message PEMEncodedKey {
bytes key = 1;
}
message PEMEncodedCertificate {
bytes crt = 1;
}
message NetIP {
bytes ip = 1;
}
message NetIPPort {
bytes ip = 1;
int32 port = 2;
}
message NetIPPrefix {
bytes ip = 1;
int32 prefix_length = 2;
}