talos/api/common/common.proto
Artem Chernyshev ae1bec59e9
feat: allow running only one sequence at a time
Fix `Talos` sequencer to run only a single sequence at the same time.
Sequences priority was updated. To match the table:

| what is running (columns) what is requested (rows) | boot | reboot | reset | upgrade |
|----------------------------------------------------|------|--------|-------|---------|
| reboot                                             | Y    | Y      | Y     | N       |
| reset                                              | Y    | N      | N     | N       |
| upgrade                                            | Y    | N      | N     | N       |

With a small addition that `WithTakeover` is still there.
If set, priority is ignored.

This is mainly used for `Shutdown` sequence invokation.
And if doing apply config with reboot enabled.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-07-27 17:21:36 +03:00

90 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;
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;
}