title 
description 
 
 
API 
Talos gRPC API reference. 
 
 
Table of Contents 
Top 
common/common.proto 
Data 
DataResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Data repeated 
 
 
Empty 
Field 
Type 
Label 
Description 
 
 
metadata 
Metadata  
 
EmptyResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Empty repeated 
 
 
Error 
Metadata 
Common metadata message nested in all reply message types
Field 
Type 
Label 
Description 
 
 
hostname 
string hostname of the server response comes from (injected by proxy) 
 
error 
string error is set if request failed to the upstream (rest of response is undefined) 
 
status 
google.rpc.Status error as gRPC Status 
 
 
 
Code 
Name 
Number 
Description 
 
 
FATAL 
0 
 
LOCKED 
1 
 
 
ContainerDriver 
Name 
Number 
Description 
 
 
CONTAINERD 
0 
 
CRI 
1 
 
 
 
 
 
Top 
health/health.proto 
HealthCheck 
HealthCheckResponse 
Field 
Type 
Label 
Description 
 
 
messages 
HealthCheck repeated 
 
 
HealthWatchRequest 
Field 
Type 
Label 
Description 
 
 
interval_seconds 
int64  
 
ReadyCheck 
ReadyCheckResponse 
Field 
Type 
Label 
Description 
 
 
messages 
ReadyCheck repeated 
 
 
 
HealthCheck.ServingStatus 
Name 
Number 
Description 
 
 
UNKNOWN 
0 
 
SERVING 
1 
 
NOT_SERVING 
2 
 
 
ReadyCheck.ReadyStatus 
Name 
Number 
Description 
 
 
UNKNOWN 
0 
 
READY 
1 
 
NOT_READY 
2 
 
 
 
 
Health 
 
Top 
inspect/inspect.proto 
ControllerDependencyEdge 
ControllerRuntimeDependenciesResponse 
ControllerRuntimeDependency 
The ControllerRuntimeDependency message contains the graph of controller-resource dependencies.
 
DependencyEdgeType 
Name 
Number 
Description 
 
 
MANAGES 
0 
 
STRONG 
1 
 
WEAK 
2 
 
 
 
 
InspectService 
The inspect service definition.
InspectService provides auxilary API to inspect OS internals.
 
Top 
machine/machine.proto 
ApplyConfiguration 
ApplyConfigurationResponse describes the response to a configuration request.
ApplyConfigurationRequest 
rpc applyConfiguration
ApplyConfiguration describes a request to assert a new configuration upon a
node.
Field 
Type 
Label 
Description 
 
 
data 
bytes  
no_reboot 
bool  
 
ApplyConfigurationResponse 
Bootstrap 
The bootstrap message containing the bootstrap status.
BootstrapRequest 
rpc bootstrap
BootstrapResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Bootstrap repeated 
 
 
CNIConfig 
Field 
Type 
Label 
Description 
 
 
name 
string  
urls 
string repeated 
 
 
CPUInfo 
CPUInfoResponse 
Field 
Type 
Label 
Description 
 
 
messages 
CPUsInfo repeated 
 
 
CPUStat 
CPUsInfo 
ClusterConfig 
ClusterNetworkConfig 
Container 
The messages message containing the requested containers.
ContainerInfo 
The messages message containing the requested containers.
ContainersRequest 
ContainersResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Container repeated 
 
 
ControlPlaneConfig 
Field 
Type 
Label 
Description 
 
 
endpoint 
string  
 
CopyRequest 
CopyRequest describes a request to copy data out of Talos node
Copy produces .tar.gz archive which is streamed back to the caller
Field 
Type 
Label 
Description 
 
 
root_path 
string Root path to start copying data out, it might be either a file or directory 
 
 
DHCPOptionsConfig 
Field 
Type 
Label 
Description 
 
 
route_metric 
uint32  
 
DiskStat 
DiskStats 
DiskStatsResponse 
Field 
Type 
Label 
Description 
 
 
messages 
DiskStats repeated 
 
 
DiskUsageInfo 
DiskUsageInfo describes a file or directory's information for du command
Field 
Type 
Label 
Description 
 
 
metadata 
common.Metadata  
name 
string Name is the name (including prefixed path) of the file or directory 
 
size 
int64 Size indicates the number of bytes contained within the file 
 
error 
string Error describes any error encountered while trying to read the file information. 
 
relative_name 
string RelativeName is the name of the file or directory relative to the RootPath 
 
 
DiskUsageRequest 
DiskUsageRequest describes a request to list disk usage of directories and regular files
Field 
Type 
Label 
Description 
 
 
recursion_depth 
int32 RecursionDepth indicates how many levels of subdirectories should be recursed. The default (0) indicates that no limit should be enforced. 
 
all 
bool All write sizes for all files, not just directories. 
 
threshold 
int64 Threshold exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative. 
 
paths 
string repeated 
DiskUsagePaths is the list of directories to calculate disk usage for. 
 
 
DmesgRequest 
dmesg
Field 
Type 
Label 
Description 
 
 
follow 
bool  
tail 
bool  
 
EtcdForfeitLeadership 
EtcdForfeitLeadershipRequest 
EtcdForfeitLeadershipResponse 
EtcdLeaveCluster 
EtcdLeaveClusterRequest 
EtcdLeaveClusterResponse 
EtcdMemberList 
EtcdMemberListRequest 
Field 
Type 
Label 
Description 
 
 
query_local 
bool  
 
EtcdMemberListResponse 
Event 
EventsRequest 
Field 
Type 
Label 
Description 
 
 
tail_events 
int32  
tail_id 
string  
tail_seconds 
int32  
 
FileInfo 
FileInfo describes a file or directory's information
Field 
Type 
Label 
Description 
 
 
metadata 
common.Metadata  
name 
string Name is the name (including prefixed path) of the file or directory 
 
size 
int64 Size indicates the number of bytes contained within the file 
 
mode 
uint32 Mode is the bitmap of UNIX mode/permission flags of the file 
 
modified 
int64 Modified indicates the UNIX timestamp at which the file was last modified 
 
 
TODO: unix timestamp or include proto's Date type |
| is_dir | bool  |  | IsDir indicates that the file is a directory |
| error | string  |  | Error describes any error encountered while trying to read the file information. |
| link | string  |  | Link is filled with symlink target |
| relative_name | string  |  | RelativeName is the name of the file or directory relative to the RootPath |
GenerateConfigurationRequest 
GenerateConfigurationRequest describes a request to generate a new configuration
on a node.
GenerateConfigurationResponse 
GenerateConfiguration describes the response to a generate configuration request.
Hostname 
HostnameResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Hostname repeated 
 
 
InstallConfig 
Field 
Type 
Label 
Description 
 
 
install_disk 
string  
install_image 
string  
 
ListRequest 
ListRequest describes a request to list the contents of a directory.
Field 
Type 
Label 
Description 
 
 
root 
string Root indicates the root directory for the list. If not indicated, '/' is presumed. 
 
recurse 
bool Recurse indicates that subdirectories should be recursed. 
 
recursion_depth 
int32 RecursionDepth indicates how many levels of subdirectories should be recursed. The default (0) indicates that no limit should be enforced. 
 
types 
ListRequest.Type repeated 
Types indicates what file type should be returned. If not indicated, all files will be returned. 
 
 
LoadAvg 
LoadAvgResponse 
Field 
Type 
Label 
Description 
 
 
messages 
LoadAvg repeated 
 
 
LogsRequest 
rpc logs
The request message containing the process name.
MachineConfig 
MemInfo 
Memory 
MemoryResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Memory repeated 
 
 
MountStat 
The messages message containing the requested processes.
Mounts 
The messages message containing the requested df stats.
MountsResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Mounts repeated 
 
 
NetDev 
NetworkConfig 
NetworkDeviceConfig 
NetworkDeviceStats 
NetworkDeviceStatsResponse 
PhaseEvent 
PlatformInfo 
Process 
ProcessInfo 
ProcessesRequest 
rpc processes
ProcessesResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Process repeated 
 
 
ReadRequest 
Field 
Type 
Label 
Description 
 
 
path 
string  
 
Reboot 
rpc reboot
The reboot message containing the reboot status.
RebootResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Reboot repeated 
 
 
Recover 
The recover message containing the recover status.
RecoverRequest 
RecoverResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Recover repeated 
 
 
Reset 
The reset message containing the restart status.
ResetPartitionSpec 
rpc reset
Field 
Type 
Label 
Description 
 
 
label 
string  
wipe 
bool  
 
ResetRequest 
Field 
Type 
Label 
Description 
 
 
graceful 
bool Graceful indicates whether node should leave etcd before the upgrade, it also enforces etcd checks before leaving. 
 
reboot 
bool Reboot indicates whether node should reboot or halt after resetting. 
 
system_partitions_to_wipe 
ResetPartitionSpec repeated 
System_partitions_to_wipe lists specific system disk partitions to be reset (wiped). If system_partitions_to_wipe is empty, all the partitions are erased. 
 
 
ResetResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Reset repeated 
 
 
Restart 
RestartEvent 
Field 
Type 
Label 
Description 
 
 
cmd 
int64  
 
RestartRequest 
rpc restart
The request message containing the process to restart.
RestartResponse 
The messages message containing the restart status.
Field 
Type 
Label 
Description 
 
 
messages 
Restart repeated 
 
 
Rollback 
RollbackRequest 
rpc rollback
RollbackResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Rollback repeated 
 
 
RouteConfig 
SequenceEvent 
rpc events
ServiceEvent 
ServiceEvents 
ServiceHealth 
ServiceInfo 
ServiceList 
rpc servicelist
ServiceListResponse 
Field 
Type 
Label 
Description 
 
 
messages 
ServiceList repeated 
 
 
ServiceRestart 
ServiceRestartRequest 
Field 
Type 
Label 
Description 
 
 
id 
string  
 
ServiceRestartResponse 
ServiceStart 
ServiceStartRequest 
rpc servicestart
Field 
Type 
Label 
Description 
 
 
id 
string  
 
ServiceStartResponse 
ServiceStateEvent 
ServiceStop 
ServiceStopRequest 
Field 
Type 
Label 
Description 
 
 
id 
string  
 
ServiceStopResponse 
Field 
Type 
Label 
Description 
 
 
messages 
ServiceStop repeated 
 
 
Shutdown 
rpc shutdown
The messages message containing the shutdown status.
ShutdownResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Shutdown repeated 
 
 
SoftIRQStat 
StartRequest 
Field 
Type 
Label 
Description 
 
 
id 
string  
 
StartResponse 
Field 
Type 
Label 
Description 
 
 
resp 
string  
 
Stat 
The messages message containing the requested stat.
Stats 
The messages message containing the requested stats.
StatsRequest 
The request message containing the containerd namespace.
StatsResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Stats repeated 
 
 
StopRequest 
Field 
Type 
Label 
Description 
 
 
id 
string  
 
StopResponse 
Field 
Type 
Label 
Description 
 
 
resp 
string  
 
SystemStat 
SystemStatResponse 
Field 
Type 
Label 
Description 
 
 
messages 
SystemStat repeated 
 
 
TaskEvent 
Upgrade 
UpgradeRequest 
rpc upgrade
UpgradeResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Upgrade repeated 
 
 
Version 
VersionInfo 
VersionResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Version repeated 
 
 
 
ListRequest.Type 
File type.
Name 
Number 
Description 
 
 
REGULAR 
0 
Regular file (not directory, symlink, etc). 
 
DIRECTORY 
1 
Directory. 
 
SYMLINK 
2 
Symbolic link. 
 
 
MachineConfig.MachineType 
Name 
Number 
Description 
 
 
TYPE_UNKNOWN 
0 
 
TYPE_INIT 
1 
 
TYPE_CONTROL_PLANE 
2 
 
TYPE_JOIN 
3 
 
 
PhaseEvent.Action 
Name 
Number 
Description 
 
 
START 
0 
 
STOP 
1 
 
 
RecoverRequest.Source 
Name 
Number 
Description 
 
 
ETCD 
0 
 
APISERVER 
1 
 
 
SequenceEvent.Action 
Name 
Number 
Description 
 
 
NOOP 
0 
 
START 
1 
 
STOP 
2 
 
 
ServiceStateEvent.Action 
Name 
Number 
Description 
 
 
INITIALIZED 
0 
 
PREPARING 
1 
 
WAITING 
2 
 
RUNNING 
3 
 
STOPPING 
4 
 
FINISHED 
5 
 
FAILED 
6 
 
SKIPPED 
7 
 
 
TaskEvent.Action 
Name 
Number 
Description 
 
 
START 
0 
 
STOP 
1 
 
 
 
 
MachineService 
The machine service definition.
 
Top 
network/network.proto 
Interface 
Interface represents a net.Interface
Interfaces 
InterfacesResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Interfaces repeated 
 
 
Route 
The messages message containing a route.
Field 
Type 
Label 
Description 
 
 
interface 
string Interface is the interface over which traffic to this destination should be sent 
 
destination 
string Destination is the network prefix CIDR which this route provides 
 
gateway 
string Gateway is the gateway address to which traffic to this destination should be sent 
 
metric 
uint32 Metric is the priority of the route, where lower metrics have higher priorities 
 
scope 
uint32 Scope desribes the scope of this route 
 
source 
string Source is the source prefix CIDR for the route, if one is defined 
 
family 
AddressFamily Family is the address family of the route. Currently, the only options are AF_INET (IPV4) and AF_INET6 (IPV6). 
 
protocol 
RouteProtocol Protocol is the protocol by which this route came to be in place 
 
flags 
uint32 Flags indicate any special flags on the route 
 
 
Routes 
RoutesResponse 
The messages message containing the routes.
Field 
Type 
Label 
Description 
 
 
messages 
Routes repeated 
 
 
 
AddressFamily 
Name 
Number 
Description 
 
 
AF_UNSPEC 
0 
 
AF_INET 
2 
 
IPV4 
2 
 
AF_INET6 
10 
 
IPV6 
10 
 
 
InterfaceFlags 
Name 
Number 
Description 
 
 
FLAG_UNKNOWN 
0 
 
FLAG_UP 
1 
 
FLAG_BROADCAST 
2 
 
FLAG_LOOPBACK 
3 
 
FLAG_POINT_TO_POINT 
4 
 
FLAG_MULTICAST 
5 
 
 
RouteProtocol 
Name 
Number 
Description 
 
 
RTPROT_UNSPEC 
0 
 
RTPROT_REDIRECT 
1 
Route installed by ICMP redirects 
 
RTPROT_KERNEL 
2 
Route installed by kernel 
 
RTPROT_BOOT 
3 
Route installed during boot 
 
RTPROT_STATIC 
4 
Route installed by administrator 
 
RTPROT_GATED 
8 
Route installed by gated 
 
RTPROT_RA 
9 
Route installed by router advertisement 
 
RTPROT_MRT 
10 
Route installed by Merit MRT 
 
RTPROT_ZEBRA 
11 
Route installed by Zebra/Quagga 
 
RTPROT_BIRD 
12 
Route installed by Bird 
 
RTPROT_DNROUTED 
13 
Route installed by DECnet routing daemon 
 
RTPROT_XORP 
14 
Route installed by XORP 
 
RTPROT_NTK 
15 
Route installed by Netsukuku 
 
RTPROT_DHCP 
16 
Route installed by DHCP 
 
RTPROT_MROUTED 
17 
Route installed by Multicast daemon 
 
RTPROT_BABEL 
42 
Route installed by Babel daemon 
 
 
 
 
NetworkService 
The network service definition.
 
Top 
resource/resource.proto 
Get 
The GetResponse message contains the Resource returned.
GetRequest 
rpc Get
GetResponse 
Field 
Type 
Label 
Description 
 
 
messages 
Get repeated 
 
 
ListRequest 
rpc List
The ListResponse message contains the Resource returned.
ListResponse 
Metadata 
Resource 
Spec 
Field 
Type 
Label 
Description 
 
 
yaml 
bytes  
 
WatchRequest 
rpc Watch
The WatchResponse message contains the Resource returned.
WatchResponse 
 
EventType 
Name 
Number 
Description 
 
 
CREATED 
0 
 
UPDATED 
1 
 
DELETED 
2 
 
 
 
 
ResourceService 
The resource service definition.
ResourceService provides user-facing API for the Talos resources.
 
Top 
security/security.proto 
CertificateRequest 
The request message containing the process name.
Field 
Type 
Label 
Description 
 
 
csr 
bytes  
 
CertificateResponse 
The response message containing the requested logs.
ReadFileRequest 
The request message for reading a file on disk.
Field 
Type 
Label 
Description 
 
 
path 
string  
 
ReadFileResponse 
The response message for reading a file on disk.
Field 
Type 
Label 
Description 
 
 
data 
bytes  
 
WriteFileRequest 
The request message containing the process name.
WriteFileResponse 
The response message containing the requested logs.
 
 
 
SecurityService 
The security service definition.
 
Top 
storage/storage.proto 
Disk 
Disk represents a disk.
Field 
Type 
Label 
Description 
 
 
size 
uint64 Size indicates the disk size in bytes. 
 
model 
string Model idicates the disk model. 
 
device_name 
string DeviceName indicates the disk name (e.g. sda). 
 
 
DisksResponse 
DisksResponse represents the response of the Disks RPC.
 
 
 
StorageService 
StorageService represents the storage service.
 
Top 
time/time.proto 
Time 
TimeRequest 
The response message containing the ntp server
Field 
Type 
Label 
Description 
 
 
server 
string  
 
TimeResponse 
The response message containing the ntp server, time, and offset
Field 
Type 
Label 
Description 
 
 
messages 
Time repeated 
 
 
 
 
 
TimeService 
The time service definition.
 
Scalar Value Types 
.proto Type 
Notes 
C++ 
Java 
Python 
Go 
C# 
PHP 
Ruby 
 
 
 double double 
double 
float 
float64 
double 
float 
Float 
 
 float float 
float 
float 
float32 
float 
float 
Float 
 
 int32 Uses variable-length encoding. Inefficient for encoding negative numbers –  
int32 
int 
int 
int32 
int 
integer 
Bignum or Fixnum (as required) 
 
 int64 Uses variable-length encoding. Inefficient for encoding negative numbers –  
int64 
long 
int/long 
int64 
long 
integer/string 
Bignum 
 
 uint32 Uses variable-length encoding. 
uint32 
int 
int/long 
uint32 
uint 
integer 
Bignum or Fixnum (as required) 
 
 uint64 Uses variable-length encoding. 
uint64 
long 
int/long 
uint64 
ulong 
integer/string 
Bignum or Fixnum (as required) 
 
 sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. 
int32 
int 
int 
int32 
int 
integer 
Bignum or Fixnum (as required) 
 
 sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. 
int64 
long 
int/long 
int64 
long 
integer/string 
Bignum 
 
 fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. 
uint32 
int 
int 
uint32 
uint 
integer 
Bignum or Fixnum (as required) 
 
 fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. 
uint64 
long 
int/long 
uint64 
ulong 
integer/string 
Bignum 
 
 sfixed32 Always four bytes. 
int32 
int 
int 
int32 
int 
integer 
Bignum or Fixnum (as required) 
 
 sfixed64 Always eight bytes. 
int64 
long 
int/long 
int64 
long 
integer/string 
Bignum 
 
 bool bool 
boolean 
boolean 
bool 
bool 
boolean 
TrueClass/FalseClass 
 
 string A string must always contain UTF-8 encoded or 7-bit ASCII text. 
string 
String 
str/unicode 
string 
string 
string 
String (UTF-8) 
 
 bytes May contain any arbitrary sequence of bytes. 
string 
ByteString 
str 
[]byte 
ByteString 
string 
String (ASCII-8BIT)