Overview
The MachineService provides the primary API for managing individual Talos nodes. It includes methods for configuration, lifecycle management, monitoring, and file operations.Configuration Management
ApplyConfiguration
Applies a new machine configuration to the node.Complete machine configuration as YAML bytes
Application mode:
REBOOT: Apply config and reboot immediatelyAUTO: Automatically determine if reboot is neededNO_REBOOT: Apply without rebooting (may require manual reboot)STAGED: Stage configuration for next rebootTRY: Try configuration with automatic rollback
Validate configuration without applying
Timeout for TRY mode before automatic rollback (default: 60s)
Standard response metadata with hostname
Configuration validation warnings
Actual mode used for applying configuration
Human-readable explanation of the mode selection
System Lifecycle
Reboot
Reboots the node.Reboot mode:
DEFAULT: Graceful rebootPOWERCYCLE: Force power cycleFORCE: Skip graceful shutdown
Standard response metadata
ID of the request initiator
Shutdown
Shuts down the node.Skip cordoning and draining before shutdown
Standard response metadata
ID of the request initiator
Upgrade
Upgrades Talos to a new version.Talos installer image (e.g.,
ghcr.io/siderolabs/installer:v1.7.0)Preserve ephemeral data (not recommended)
Stage upgrade for next reboot
Force upgrade even if version check fails
Reboot mode after upgrade
Standard response metadata
Acknowledgment message
ID of the request initiator
Reset
Resets the node to a clean state.Leave etcd gracefully and run pre-reset checks
Reboot after reset (false = halt)
Specific system partitions to wipe. Empty = wipe all
Block devices to wipe (e.g.,
/dev/sdb)Wipe mode:
ALL: Wipe all disksSYSTEM_DISK: Only system diskUSER_DISKS: Only user disks
Monitoring & Stats
Version
Returns Talos version information. Request: Empty Response:Standard response metadata
tag: Version tag (e.g.,v1.7.0)sha: Git commit SHAbuilt: Build timestampgo_version: Go compiler versionos: Operating systemarch: Architecture
name: Platform name (e.g.,aws,metal)mode: Platform mode (e.g.,cloud,container)
rbac: Whether RBAC is enabled
Memory
Returns memory statistics. Request: Empty Response:Detailed memory statistics including:
memtotal: Total memory in bytesmemfree: Free memorymemavailable: Available memorybuffers: Buffer cachecached: Page cacheswaptotal: Total swapswapfree: Free swap- And 40+ more fields
Processes
Lists running processes. Request: Empty Response:Array of processes with:
pid: Process IDppid: Parent process IDstate: Process state (R, S, D, Z, T)threads: Number of threadscpu_time: CPU time in secondsvirtual_memory: Virtual memory sizeresident_memory: Resident memory sizecommand: Command nameexecutable: Executable pathargs: Command arguments
SystemStat
Returns system statistics (CPU, IRQ, context switches). Request: Empty Response:System boot time (Unix timestamp)
Aggregated CPU statistics
Per-CPU statistics with:
user: User mode timesystem: Kernel mode timeidle: Idle timeiowait: IO wait timeirq: IRQ time
Total context switches
Total processes created
Currently running processes
LoadAvg
Returns system load averages. Response:1-minute load average
5-minute load average
15-minute load average
NetworkDeviceStats
Returns network interface statistics. Response:Aggregated statistics across all interfaces
Per-interface statistics with:
name: Interface namerx_bytes: Received bytesrx_packets: Received packetsrx_errors: Receive errorstx_bytes: Transmitted bytestx_packets: Transmitted packetstx_errors: Transmit errors
DiskStats
Returns disk I/O statistics. Response:Aggregated disk statistics
Per-disk statistics with:
name: Device nameread_completed: Completed readsread_sectors: Sectors readread_time_ms: Time spent readingwrite_completed: Completed writeswrite_sectors: Sectors writtenwrite_time_ms: Time spent writingio_in_progress: I/Os in progress
Container Management
Containers
Lists containers running on the node.Containerd namespace
Container runtime driver:
CONTAINERD or CRIArray of containers with:
namespace: Container namespaceid: Container IDimage: Container imagepid: Process IDstatus: Container statuspod_id: Kubernetes pod ID (if applicable)name: Container name
Stats
Returns container resource usage statistics.Containerd namespace
Container runtime driver
Resource usage per container:
namespace: Container namespaceid: Container IDmemory_usage: Memory usage in bytescpu_usage: CPU usage in nanosecondspod_id: Pod IDname: Container name
Restart
Restarts a container.Container namespace
Container ID
Container runtime driver
Logs & Events
Logs
Streams container logs.Container namespace
Container ID
Container runtime driver
Follow log output (stream new logs)
Number of lines from the end to show (-1 = all)
common.Data messages containing log data
Example:
Events
Streams system events.Number of past events to return
Start streaming from this event ID
Return events from the last N seconds
Filter events by actor ID
Event messages
Event data (one of: SequenceEvent, PhaseEvent, TaskEvent, ServiceStateEvent, etc.)
Event ID
Actor that triggered the event
Dmesg
Streams kernel messages.Follow kernel messages
Show only recent messages
common.Data messages
Example:
File Operations
List
Lists files in a directory.Root directory to list
Recursively list subdirectories
Maximum recursion depth (0 = unlimited)
Filter by file types:
REGULAR, DIRECTORY, SYMLINKFileInfo messages
Full file path
File size in bytes
Unix file mode/permissions
Last modification time (Unix timestamp)
Whether this is a directory
Symlink target (if applicable)
Read
Reads a file from the node.File path to read
common.Data messages containing file contents
Example:
Copy
Copies files from the node as a tar.gz archive.File or directory path to copy
common.Data messages containing tar.gz data
Example:
Service Management
ServiceList
Lists system services. Request: Empty Response:Array of services with:
id: Service IDstate: Current state (Running, Stopped, etc.)events: Service event historyhealth: Service health status
ServiceStart
Starts a system service.Service ID
ServiceStop
Stops a system service.Service ID
ServiceRestart
Restarts a system service.Service ID
etcd Management
Bootstrap
Bootstraps etcd on a control plane node.Recover etcd from uploaded snapshot
Skip hash check when recovering from snapshot
EtcdMemberList
Lists etcd cluster members.Query only local etcd member
Array of etcd members:
id: Member IDhostname: Member hostnamepeer_urls: Peer URLsclient_urls: Client URLsis_learner: Whether this is a learner node
EtcdRemoveMemberByID
Removes an etcd member by ID.Member ID to remove
EtcdLeaveCluster
Makes the node leave the etcd cluster gracefully. Request: Empty Example:EtcdSnapshot
Creates an etcd snapshot. Request: Empty Response: Stream ofcommon.Data containing snapshot data
Example:
EtcdRecover
Uploads an etcd snapshot for recovery. Request: Stream ofcommon.Data containing snapshot
Example:
EtcdStatus
Returns etcd member status. Request: Empty Response:member_id: Member IDprotocol_version: Protocol versiondb_size: Database size in bytesdb_size_in_use: Database size in useleader: Leader member IDraft_index: Raft indexraft_term: Raft termraft_applied_index: Applied indexis_learner: Learner statuserrors: Any errors
EtcdAlarmList
Lists etcd alarms. Response:Array of alarms:
member_id: Member IDalarm: Alarm type (NONE, NOSPACE, CORRUPT)
EtcdAlarmDisarm
Disarms etcd alarms. Request: Empty Example:EtcdDefragment
Defragments etcd database. Request: Empty Example:Advanced Operations
GenerateClientConfiguration
Generates a new client certificate and talosconfig.Roles to assign to the certificate (e.g.,
["os:admin"])Certificate TTL (default: 1 year)
PEM-encoded CA certificate
PEM-encoded client certificate
PEM-encoded client private key
Complete talosconfig file content
PacketCapture
Captures network packets.Network interface name
Enable promiscuous mode
Snapshot length in bytes
BPF filter instructions
Netstat
Provides network connection information.Connection filter:
ALL, CONNECTED, LISTENINGpid: Include process IDs
Protocol filters:
tcp, tcp6, udp, udp6, etc.Network connections with:
l4proto: Protocol (tcp, udp, etc.)localip: Local IP addresslocalport: Local portremoteip: Remote IP addressremoteport: Remote portstate: Connection stateprocess: Process information (if requested)
Hostname
Returns the node hostname. Request: Empty Response:Node hostname