mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 21:21:32 +00:00
119 lines
2.4 KiB
Protocol Buffer
119 lines
2.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package krata.v1.common;
|
|
|
|
option java_multiple_files = true;
|
|
option java_package = "dev.krata.proto.v1.common";
|
|
option java_outer_classname = "CommonProto";
|
|
|
|
import "google/protobuf/struct.proto";
|
|
|
|
message Zone {
|
|
string id = 1;
|
|
ZoneSpec spec = 2;
|
|
ZoneState state = 3;
|
|
}
|
|
|
|
message ZoneSpec {
|
|
string name = 1;
|
|
ZoneImageSpec image = 2;
|
|
// If not specified, defaults to the daemon default kernel.
|
|
ZoneImageSpec kernel = 3;
|
|
// If not specified, defaults to the daemon default initrd.
|
|
ZoneImageSpec initrd = 4;
|
|
uint32 vcpus = 5;
|
|
uint64 mem = 6;
|
|
ZoneTaskSpec task = 7;
|
|
repeated ZoneSpecAnnotation annotations = 8;
|
|
repeated ZoneSpecDevice devices = 9;
|
|
}
|
|
|
|
message ZoneImageSpec {
|
|
oneof image {
|
|
ZoneOciImageSpec oci = 1;
|
|
}
|
|
}
|
|
|
|
enum OciImageFormat {
|
|
OCI_IMAGE_FORMAT_UNKNOWN = 0;
|
|
OCI_IMAGE_FORMAT_SQUASHFS = 1;
|
|
OCI_IMAGE_FORMAT_EROFS = 2;
|
|
// Tar format is not launchable, and is intended for kernel images.
|
|
OCI_IMAGE_FORMAT_TAR = 3;
|
|
}
|
|
|
|
message ZoneOciImageSpec {
|
|
string digest = 1;
|
|
OciImageFormat format = 2;
|
|
}
|
|
|
|
message ZoneTaskSpec {
|
|
repeated ZoneTaskSpecEnvVar environment = 1;
|
|
repeated string command = 2;
|
|
string working_directory = 3;
|
|
}
|
|
|
|
message ZoneTaskSpecEnvVar {
|
|
string key = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message ZoneSpecAnnotation {
|
|
string key = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message ZoneSpecDevice {
|
|
string name = 1;
|
|
}
|
|
|
|
message ZoneState {
|
|
ZoneStatus status = 1;
|
|
ZoneNetworkState network = 2;
|
|
ZoneExitInfo exit_info = 3;
|
|
ZoneErrorInfo error_info = 4;
|
|
string host = 5;
|
|
uint32 domid = 6;
|
|
}
|
|
|
|
enum ZoneStatus {
|
|
ZONE_STATUS_UNKNOWN = 0;
|
|
ZONE_STATUS_STARTING = 1;
|
|
ZONE_STATUS_STARTED = 2;
|
|
ZONE_STATUS_EXITED = 3;
|
|
ZONE_STATUS_DESTROYING = 4;
|
|
ZONE_STATUS_DESTROYED = 5;
|
|
ZONE_STATUS_FAILED = 6;
|
|
}
|
|
|
|
message ZoneNetworkState {
|
|
string zone_ipv4 = 1;
|
|
string zone_ipv6 = 2;
|
|
string zone_mac = 3;
|
|
string gateway_ipv4 = 4;
|
|
string gateway_ipv6 = 5;
|
|
string gateway_mac = 6;
|
|
}
|
|
|
|
message ZoneExitInfo {
|
|
int32 code = 1;
|
|
}
|
|
|
|
message ZoneErrorInfo {
|
|
string message = 1;
|
|
}
|
|
|
|
message ZoneMetricNode {
|
|
string name = 1;
|
|
google.protobuf.Value value = 2;
|
|
ZoneMetricFormat format = 3;
|
|
repeated ZoneMetricNode children = 4;
|
|
}
|
|
|
|
enum ZoneMetricFormat {
|
|
ZONE_METRIC_FORMAT_UNKNOWN = 0;
|
|
ZONE_METRIC_FORMAT_BYTES = 1;
|
|
ZONE_METRIC_FORMAT_INTEGER = 2;
|
|
ZONE_METRIC_FORMAT_DURATION_SECONDS = 3;
|
|
}
|