syntax = "proto3"; package talos.resource.definitions.runtime; option go_package = "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/runtime"; option java_package = "dev.talos.api.resource.definitions.runtime"; import "common/common.proto"; import "google/protobuf/duration.proto"; import "resource/definitions/enums/enums.proto"; // DevicesStatusSpec is the spec for devices status. message DevicesStatusSpec { bool ready = 1; } // DiagnosticSpec is the spec for devices status. message DiagnosticSpec { string message = 1; repeated string details = 2; } // EventSinkConfigSpec describes configuration of Talos event log streaming. message EventSinkConfigSpec { string endpoint = 1; } // ExtensionServiceConfigFile describes extensions service config files. message ExtensionServiceConfigFile { string content = 1; string mount_path = 2; } // ExtensionServiceConfigSpec describes status of rendered extensions service config files. message ExtensionServiceConfigSpec { repeated ExtensionServiceConfigFile files = 1; repeated string environment = 2; } // ExtensionServiceConfigStatusSpec describes status of rendered extensions service config files. message ExtensionServiceConfigStatusSpec { string spec_version = 1; } // KernelModuleSpecSpec describes Linux kernel module to load. message KernelModuleSpecSpec { string name = 1; repeated string parameters = 2; } // KernelParamSpecSpec describes status of the defined sysctls. message KernelParamSpecSpec { string value = 1; bool ignore_errors = 2; } // KernelParamStatusSpec describes status of the defined sysctls. message KernelParamStatusSpec { string current = 1; string default = 2; bool unsupported = 3; } // KmsgLogConfigSpec describes configuration for kmsg log streaming. message KmsgLogConfigSpec { repeated common.URL destinations = 1; } // MachineStatusSpec describes status of the defined sysctls. message MachineStatusSpec { talos.resource.definitions.enums.RuntimeMachineStage stage = 1; MachineStatusStatus status = 2; } // MachineStatusStatus describes machine current status at the stage. message MachineStatusStatus { bool ready = 1; repeated UnmetCondition unmet_conditions = 2; } // MaintenanceServiceConfigSpec describes configuration for maintenance service API. message MaintenanceServiceConfigSpec { string listen_address = 1; repeated common.NetIP reachable_addresses = 2; } // MetaKeySpec describes status of the defined sysctls. message MetaKeySpec { string value = 1; } // MetaLoadedSpec is the spec for meta loaded. The Done field is always true when resource exists. message MetaLoadedSpec { bool done = 1; } // MountStatusSpec describes status of the defined sysctls. message MountStatusSpec { string source = 1; string target = 2; string filesystem_type = 3; repeated string options = 4; bool encrypted = 5; repeated string encryption_providers = 6; } // PlatformMetadataSpec describes platform metadata properties. message PlatformMetadataSpec { string platform = 1; string hostname = 2; string region = 3; string zone = 4; string instance_type = 5; string instance_id = 6; string provider_id = 7; bool spot = 8; string internal_dns = 9; string external_dns = 10; } // SecurityStateSpec describes the security state resource properties. message SecurityStateSpec { bool secure_boot = 1; string uki_signing_key_fingerprint = 2; string pcr_signing_key_fingerprint = 3; } // UniqueMachineTokenSpec is the spec for the machine unique token. Token can be empty if machine wasn't assigned any. message UniqueMachineTokenSpec { string token = 1; } // UnmetCondition is a failure which prevents machine from being ready at the stage. message UnmetCondition { string name = 1; string reason = 2; } // WatchdogTimerConfigSpec describes configuration of watchdog timer. message WatchdogTimerConfigSpec { string device = 1; google.protobuf.Duration timeout = 2; } // WatchdogTimerStatusSpec describes configuration of watchdog timer. message WatchdogTimerStatusSpec { string device = 1; google.protobuf.Duration timeout = 2; google.protobuf.Duration feed_interval = 3; }