talos
149 строк · 4.0 Кб
1syntax = "proto3";
2
3package talos.resource.definitions.runtime;
4
5option go_package = "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/runtime";
6
7import "common/common.proto";
8import "google/protobuf/duration.proto";
9import "resource/definitions/enums/enums.proto";
10
11// DevicesStatusSpec is the spec for devices status.
12message DevicesStatusSpec {
13bool ready = 1;
14}
15
16// DiagnosticSpec is the spec for devices status.
17message DiagnosticSpec {
18string message = 1;
19repeated string details = 2;
20}
21
22// EventSinkConfigSpec describes configuration of Talos event log streaming.
23message EventSinkConfigSpec {
24string endpoint = 1;
25}
26
27// ExtensionServiceConfigFile describes extensions service config files.
28message ExtensionServiceConfigFile {
29string content = 1;
30string mount_path = 2;
31}
32
33// ExtensionServiceConfigSpec describes status of rendered extensions service config files.
34message ExtensionServiceConfigSpec {
35repeated ExtensionServiceConfigFile files = 1;
36repeated string environment = 2;
37}
38
39// ExtensionServiceConfigStatusSpec describes status of rendered extensions service config files.
40message ExtensionServiceConfigStatusSpec {
41string spec_version = 1;
42}
43
44// KernelModuleSpecSpec describes Linux kernel module to load.
45message KernelModuleSpecSpec {
46string name = 1;
47repeated string parameters = 2;
48}
49
50// KernelParamSpecSpec describes status of the defined sysctls.
51message KernelParamSpecSpec {
52string value = 1;
53bool ignore_errors = 2;
54}
55
56// KernelParamStatusSpec describes status of the defined sysctls.
57message KernelParamStatusSpec {
58string current = 1;
59string default = 2;
60bool unsupported = 3;
61}
62
63// KmsgLogConfigSpec describes configuration for kmsg log streaming.
64message KmsgLogConfigSpec {
65repeated common.URL destinations = 1;
66}
67
68// MachineStatusSpec describes status of the defined sysctls.
69message MachineStatusSpec {
70talos.resource.definitions.enums.RuntimeMachineStage stage = 1;
71MachineStatusStatus status = 2;
72}
73
74// MachineStatusStatus describes machine current status at the stage.
75message MachineStatusStatus {
76bool ready = 1;
77repeated UnmetCondition unmet_conditions = 2;
78}
79
80// MaintenanceServiceConfigSpec describes configuration for maintenance service API.
81message MaintenanceServiceConfigSpec {
82string listen_address = 1;
83repeated common.NetIP reachable_addresses = 2;
84}
85
86// MetaKeySpec describes status of the defined sysctls.
87message MetaKeySpec {
88string value = 1;
89}
90
91// MetaLoadedSpec is the spec for meta loaded. The Done field is always true when resource exists.
92message MetaLoadedSpec {
93bool done = 1;
94}
95
96// MountStatusSpec describes status of the defined sysctls.
97message MountStatusSpec {
98string source = 1;
99string target = 2;
100string filesystem_type = 3;
101repeated string options = 4;
102bool encrypted = 5;
103repeated string encryption_providers = 6;
104}
105
106// PlatformMetadataSpec describes platform metadata properties.
107message PlatformMetadataSpec {
108string platform = 1;
109string hostname = 2;
110string region = 3;
111string zone = 4;
112string instance_type = 5;
113string instance_id = 6;
114string provider_id = 7;
115bool spot = 8;
116string internal_dns = 9;
117string external_dns = 10;
118}
119
120// SecurityStateSpec describes the security state resource properties.
121message SecurityStateSpec {
122bool secure_boot = 1;
123string uki_signing_key_fingerprint = 2;
124string pcr_signing_key_fingerprint = 3;
125}
126
127// UniqueMachineTokenSpec is the spec for the machine unique token. Token can be empty if machine wasn't assigned any.
128message UniqueMachineTokenSpec {
129string token = 1;
130}
131
132// UnmetCondition is a failure which prevents machine from being ready at the stage.
133message UnmetCondition {
134string name = 1;
135string reason = 2;
136}
137
138// WatchdogTimerConfigSpec describes configuration of watchdog timer.
139message WatchdogTimerConfigSpec {
140string device = 1;
141google.protobuf.Duration timeout = 2;
142}
143
144// WatchdogTimerStatusSpec describes configuration of watchdog timer.
145message WatchdogTimerStatusSpec {
146string device = 1;
147google.protobuf.Duration timeout = 2;
148google.protobuf.Duration feed_interval = 3;
149}
150
151