mirror of
				https://github.com/siderolabs/talos.git
				synced 2025-10-31 08:21:25 +01:00 
			
		
		
		
	This will be useful for debugging process access rights once we start implementing SELinux Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
		
			
				
	
	
		
			1345 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			1345 lines
		
	
	
		
			32 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto3";
 | |
| 
 | |
| package machine;
 | |
| 
 | |
| option go_package = "github.com/siderolabs/talos/pkg/machinery/api/machine";
 | |
| 
 | |
| import "common/common.proto";
 | |
| import "google/protobuf/any.proto";
 | |
| import "google/protobuf/duration.proto";
 | |
| import "google/protobuf/empty.proto";
 | |
| import "google/protobuf/timestamp.proto";
 | |
| 
 | |
| // The machine service definition.
 | |
| service MachineService {
 | |
|   rpc ApplyConfiguration(ApplyConfigurationRequest) returns (ApplyConfigurationResponse);
 | |
|   // Bootstrap method makes control plane node enter etcd bootstrap mode.
 | |
|   // Node aborts etcd join sequence and creates single-node etcd cluster.
 | |
|   // If recover_etcd argument is specified, etcd is recovered from a snapshot
 | |
|   // uploaded with EtcdRecover.
 | |
|   rpc Bootstrap(BootstrapRequest) returns (BootstrapResponse);
 | |
|   rpc Containers(ContainersRequest) returns (ContainersResponse);
 | |
|   rpc Copy(CopyRequest) returns (stream common.Data);
 | |
|   rpc CPUInfo(google.protobuf.Empty) returns (CPUInfoResponse);
 | |
|   rpc DiskStats(google.protobuf.Empty) returns (DiskStatsResponse);
 | |
|   rpc Dmesg(DmesgRequest) returns (stream common.Data);
 | |
|   rpc Events(EventsRequest) returns (stream Event);
 | |
|   rpc EtcdMemberList(EtcdMemberListRequest) returns (EtcdMemberListResponse);
 | |
|   // EtcdRemoveMemberByID removes a member from the etcd cluster identified by member ID.
 | |
|   // This API should be used to remove members which don't have an associated Talos node anymore.
 | |
|   // To remove a member with a running Talos node, use EtcdLeaveCluster API on the node to be removed.
 | |
|   rpc EtcdRemoveMemberByID(EtcdRemoveMemberByIDRequest) returns (EtcdRemoveMemberByIDResponse);
 | |
|   rpc EtcdLeaveCluster(EtcdLeaveClusterRequest) returns (EtcdLeaveClusterResponse);
 | |
|   rpc EtcdForfeitLeadership(EtcdForfeitLeadershipRequest) returns (EtcdForfeitLeadershipResponse);
 | |
|   // EtcdRecover method uploads etcd data snapshot created with EtcdSnapshot
 | |
|   // to the node.
 | |
|   // Snapshot can be later used to recover the cluster via Bootstrap method.
 | |
|   rpc EtcdRecover(stream common.Data) returns (EtcdRecoverResponse);
 | |
|   // EtcdSnapshot method creates etcd data snapshot (backup) from the local etcd instance
 | |
|   // and streams it back to the client.
 | |
|   // This method is available only on control plane nodes (which run etcd).
 | |
|   rpc EtcdSnapshot(EtcdSnapshotRequest) returns (stream common.Data);
 | |
|   // EtcdAlarmList lists etcd alarms for the current node.
 | |
|   // This method is available only on control plane nodes (which run etcd).
 | |
|   rpc EtcdAlarmList(google.protobuf.Empty) returns (EtcdAlarmListResponse);
 | |
|   // EtcdAlarmDisarm disarms etcd alarms for the current node.
 | |
|   // This method is available only on control plane nodes (which run etcd).
 | |
|   rpc EtcdAlarmDisarm(google.protobuf.Empty) returns (EtcdAlarmDisarmResponse);
 | |
|   // EtcdDefragment defragments etcd data directory for the current node.
 | |
|   // Defragmentation is a resource-heavy operation, so it should only run on a specific
 | |
|   // node.
 | |
|   // This method is available only on control plane nodes (which run etcd).
 | |
|   rpc EtcdDefragment(google.protobuf.Empty) returns (EtcdDefragmentResponse);
 | |
|   // EtcdStatus returns etcd status for the current member.
 | |
|   // This method is available only on control plane nodes (which run etcd).
 | |
|   rpc EtcdStatus(google.protobuf.Empty) returns (EtcdStatusResponse);
 | |
|   rpc GenerateConfiguration(GenerateConfigurationRequest) returns (GenerateConfigurationResponse);
 | |
|   rpc Hostname(google.protobuf.Empty) returns (HostnameResponse);
 | |
|   rpc Kubeconfig(google.protobuf.Empty) returns (stream common.Data);
 | |
|   rpc List(ListRequest) returns (stream FileInfo);
 | |
|   rpc DiskUsage(DiskUsageRequest) returns (stream DiskUsageInfo);
 | |
|   rpc LoadAvg(google.protobuf.Empty) returns (LoadAvgResponse);
 | |
|   rpc Logs(LogsRequest) returns (stream common.Data);
 | |
|   rpc LogsContainers(google.protobuf.Empty) returns (LogsContainersResponse);
 | |
|   rpc Memory(google.protobuf.Empty) returns (MemoryResponse);
 | |
|   rpc Mounts(google.protobuf.Empty) returns (MountsResponse);
 | |
|   rpc NetworkDeviceStats(google.protobuf.Empty) returns (NetworkDeviceStatsResponse);
 | |
|   rpc Processes(google.protobuf.Empty) returns (ProcessesResponse);
 | |
|   rpc Read(ReadRequest) returns (stream common.Data);
 | |
|   rpc Reboot(RebootRequest) returns (RebootResponse);
 | |
|   rpc Restart(RestartRequest) returns (RestartResponse);
 | |
|   rpc Rollback(RollbackRequest) returns (RollbackResponse);
 | |
|   rpc Reset(ResetRequest) returns (ResetResponse);
 | |
|   rpc ServiceList(google.protobuf.Empty) returns (ServiceListResponse);
 | |
|   rpc ServiceRestart(ServiceRestartRequest) returns (ServiceRestartResponse);
 | |
|   rpc ServiceStart(ServiceStartRequest) returns (ServiceStartResponse);
 | |
|   rpc ServiceStop(ServiceStopRequest) returns (ServiceStopResponse);
 | |
|   rpc Shutdown(ShutdownRequest) returns (ShutdownResponse);
 | |
|   rpc Stats(StatsRequest) returns (StatsResponse);
 | |
|   rpc SystemStat(google.protobuf.Empty) returns (SystemStatResponse);
 | |
|   rpc Upgrade(UpgradeRequest) returns (UpgradeResponse);
 | |
|   rpc Version(google.protobuf.Empty) returns (VersionResponse);
 | |
|   // GenerateClientConfiguration generates talosctl client configuration (talosconfig).
 | |
|   rpc GenerateClientConfiguration(GenerateClientConfigurationRequest) returns (GenerateClientConfigurationResponse);
 | |
|   // PacketCapture performs packet capture and streams back pcap file.
 | |
|   rpc PacketCapture(PacketCaptureRequest) returns (stream common.Data);
 | |
|   // Netstat provides information about network connections.
 | |
|   rpc Netstat(NetstatRequest) returns (NetstatResponse);
 | |
|   // MetaWrite writes a META key-value pair.
 | |
|   rpc MetaWrite(MetaWriteRequest) returns (MetaWriteResponse);
 | |
|   // MetaDelete deletes a META key.
 | |
|   rpc MetaDelete(MetaDeleteRequest) returns (MetaDeleteResponse);
 | |
|   // ImageList lists images in the CRI.
 | |
|   rpc ImageList(ImageListRequest) returns (stream ImageListResponse);
 | |
|   // ImagePull pulls an image into the CRI.
 | |
|   rpc ImagePull(ImagePullRequest) returns (ImagePullResponse);
 | |
| }
 | |
| 
 | |
| // rpc applyConfiguration
 | |
| // ApplyConfiguration describes a request to assert a new configuration upon a
 | |
| // node.
 | |
| message ApplyConfigurationRequest {
 | |
|   enum Mode {
 | |
|     REBOOT = 0;
 | |
|     AUTO = 1;
 | |
|     NO_REBOOT = 2;
 | |
|     STAGED = 3;
 | |
|     TRY = 4;
 | |
|   }
 | |
|   bytes data = 1;
 | |
|   Mode mode = 4;
 | |
|   bool dry_run = 5;
 | |
|   google.protobuf.Duration try_mode_timeout = 6;
 | |
| }
 | |
| 
 | |
| // ApplyConfigurationResponse describes the response to a configuration request.
 | |
| message ApplyConfiguration {
 | |
|   common.Metadata metadata = 1;
 | |
|   // Configuration validation warnings.
 | |
|   repeated string warnings = 2;
 | |
|   // States which mode was actually chosen.
 | |
|   ApplyConfigurationRequest.Mode mode = 3;
 | |
|   // Human-readable message explaining the result of the apply configuration call.
 | |
|   string mode_details = 4;
 | |
| }
 | |
| 
 | |
| message ApplyConfigurationResponse {
 | |
|   repeated ApplyConfiguration messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc reboot
 | |
| message RebootRequest {
 | |
|   enum Mode {
 | |
|     DEFAULT = 0;
 | |
|     POWERCYCLE = 1;
 | |
|   }
 | |
|   Mode mode = 1;
 | |
| }
 | |
| 
 | |
| // The reboot message containing the reboot status.
 | |
| message Reboot {
 | |
|   common.Metadata metadata = 1;
 | |
|   string actor_id = 2;
 | |
| }
 | |
| 
 | |
| message RebootResponse {
 | |
|   repeated Reboot messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc Bootstrap
 | |
| message BootstrapRequest {
 | |
|   // Enable etcd recovery from the snapshot.
 | |
|   // Snapshot should be uploaded before this call via EtcdRecover RPC.
 | |
|   bool recover_etcd = 1;
 | |
|   // Skip hash check on the snapshot (etcd).
 | |
|   // Enable this when recovering from data directory copy to skip integrity check.
 | |
|   bool recover_skip_hash_check = 2;
 | |
| }
 | |
| 
 | |
| // The bootstrap message containing the bootstrap status.
 | |
| message Bootstrap {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message BootstrapResponse {
 | |
|   repeated Bootstrap messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc events
 | |
| message SequenceEvent {
 | |
|   string sequence = 1;
 | |
|   enum Action {
 | |
|     NOOP = 0;
 | |
|     START = 1;
 | |
|     STOP = 2;
 | |
|   }
 | |
|   Action action = 2;
 | |
|   common.Error error = 3;
 | |
| }
 | |
| 
 | |
| message PhaseEvent {
 | |
|   string phase = 1;
 | |
|   enum Action {
 | |
|     START = 0;
 | |
|     STOP = 1;
 | |
|   }
 | |
|   Action action = 2;
 | |
| }
 | |
| 
 | |
| message TaskEvent {
 | |
|   string task = 1;
 | |
|   enum Action {
 | |
|     START = 0;
 | |
|     STOP = 1;
 | |
|   }
 | |
|   Action action = 2;
 | |
| }
 | |
| 
 | |
| message ServiceStateEvent {
 | |
|   string service = 1;
 | |
|   enum Action {
 | |
|     INITIALIZED = 0;
 | |
|     PREPARING = 1;
 | |
|     WAITING = 2;
 | |
|     RUNNING = 3;
 | |
|     STOPPING = 4;
 | |
|     FINISHED = 5;
 | |
|     FAILED = 6;
 | |
|     SKIPPED = 7;
 | |
|     STARTING = 8;
 | |
|   }
 | |
|   Action action = 2;
 | |
|   string message = 3;
 | |
|   ServiceHealth health = 4;
 | |
| }
 | |
| 
 | |
| message RestartEvent {
 | |
|   int64 cmd = 1;
 | |
| }
 | |
| 
 | |
| // ConfigLoadErrorEvent is reported when the config loading has failed.
 | |
| message ConfigLoadErrorEvent {
 | |
|   string error = 1;
 | |
| }
 | |
| 
 | |
| // ConfigValidationErrorEvent is reported when config validation has failed.
 | |
| message ConfigValidationErrorEvent {
 | |
|   string error = 1;
 | |
| }
 | |
| 
 | |
| // AddressEvent reports node endpoints aggregated from k8s.Endpoints and network.Hostname.
 | |
| message AddressEvent {
 | |
|   string hostname = 1;
 | |
|   repeated string addresses = 2;
 | |
| }
 | |
| 
 | |
| // MachineStatusEvent reports changes to the MachineStatus resource.
 | |
| message MachineStatusEvent {
 | |
|   message MachineStatus {
 | |
|     message UnmetCondition {
 | |
|       string name = 1;
 | |
|       string reason = 2;
 | |
|     }
 | |
|     bool ready = 1;
 | |
|     repeated UnmetCondition unmet_conditions = 2;
 | |
|   }
 | |
|   enum MachineStage {
 | |
|     UNKNOWN = 0;
 | |
|     BOOTING = 1;
 | |
|     INSTALLING = 2;
 | |
|     MAINTENANCE = 3;
 | |
|     RUNNING = 4;
 | |
|     REBOOTING = 5;
 | |
|     SHUTTING_DOWN = 6;
 | |
|     RESETTING = 7;
 | |
|     UPGRADING = 8;
 | |
|   }
 | |
|   MachineStage stage = 1;
 | |
|   MachineStatus status = 2;
 | |
| }
 | |
| 
 | |
| message EventsRequest {
 | |
|   int32 tail_events = 1;
 | |
|   string tail_id = 2;
 | |
|   int32 tail_seconds = 3;
 | |
|   string with_actor_id = 4;
 | |
| }
 | |
| 
 | |
| message Event {
 | |
|   common.Metadata metadata = 1;
 | |
|   google.protobuf.Any data = 2;
 | |
|   string id = 3;
 | |
|   string actor_id = 4;
 | |
| }
 | |
| 
 | |
| // rpc reset
 | |
| message ResetPartitionSpec {
 | |
|   string label = 1;
 | |
|   bool wipe = 2;
 | |
| }
 | |
| 
 | |
| message ResetRequest {
 | |
|   enum WipeMode {
 | |
|     ALL = 0;
 | |
|     SYSTEM_DISK = 1;
 | |
|     USER_DISKS = 2;
 | |
|   }
 | |
|   // Graceful indicates whether node should leave etcd before the upgrade, it also
 | |
|   // enforces etcd checks before leaving.
 | |
|   bool graceful = 1;
 | |
|   // Reboot indicates whether node should reboot or halt after resetting.
 | |
|   bool reboot = 2;
 | |
|   // 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.
 | |
|   repeated ResetPartitionSpec system_partitions_to_wipe = 3;
 | |
|   // UserDisksToWipe lists specific connected block devices to be reset (wiped).
 | |
|   repeated string user_disks_to_wipe = 4;
 | |
|   // WipeMode defines which devices should be wiped.
 | |
|   WipeMode mode = 5;
 | |
| }
 | |
| 
 | |
| // The reset message containing the restart status.
 | |
| message Reset {
 | |
|   common.Metadata metadata = 1;
 | |
|   string actor_id = 2;
 | |
| }
 | |
| 
 | |
| message ResetResponse {
 | |
|   repeated Reset messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc shutdown
 | |
| // The messages message containing the shutdown status.
 | |
| message Shutdown {
 | |
|   common.Metadata metadata = 1;
 | |
|   string actor_id = 2;
 | |
| }
 | |
| 
 | |
| message ShutdownRequest {
 | |
|   // Force indicates whether node should shutdown without first cordening and draining
 | |
|   bool force = 1;
 | |
| }
 | |
| 
 | |
| message ShutdownResponse {
 | |
|   repeated Shutdown messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc upgrade
 | |
| message UpgradeRequest {
 | |
|   enum RebootMode {
 | |
|     DEFAULT = 0;
 | |
|     POWERCYCLE = 1;
 | |
|   }
 | |
|   string image = 1;
 | |
|   bool preserve = 2;
 | |
|   bool stage = 3;
 | |
|   bool force = 4;
 | |
|   RebootMode reboot_mode = 5;
 | |
| }
 | |
| 
 | |
| message Upgrade {
 | |
|   common.Metadata metadata = 1;
 | |
|   string ack = 2;
 | |
|   string actor_id = 3;
 | |
| }
 | |
| 
 | |
| message UpgradeResponse {
 | |
|   repeated Upgrade messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc servicelist
 | |
| message ServiceList {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated ServiceInfo services = 2;
 | |
| }
 | |
| 
 | |
| message ServiceListResponse {
 | |
|   repeated ServiceList messages = 1;
 | |
| }
 | |
| 
 | |
| message ServiceInfo {
 | |
|   string id = 1;
 | |
|   string state = 2;
 | |
|   ServiceEvents events = 3;
 | |
|   ServiceHealth health = 4;
 | |
| }
 | |
| 
 | |
| message ServiceEvents {
 | |
|   repeated ServiceEvent events = 1;
 | |
| }
 | |
| 
 | |
| message ServiceEvent {
 | |
|   string msg = 1;
 | |
|   string state = 2;
 | |
|   google.protobuf.Timestamp ts = 3;
 | |
| }
 | |
| 
 | |
| message ServiceHealth {
 | |
|   bool unknown = 1;
 | |
|   bool healthy = 2;
 | |
|   string last_message = 3;
 | |
|   google.protobuf.Timestamp last_change = 4;
 | |
| }
 | |
| 
 | |
| // rpc servicestart
 | |
| message ServiceStartRequest {
 | |
|   string id = 1;
 | |
| }
 | |
| 
 | |
| message ServiceStart {
 | |
|   common.Metadata metadata = 1;
 | |
|   string resp = 2;
 | |
| }
 | |
| 
 | |
| message ServiceStartResponse {
 | |
|   repeated ServiceStart messages = 1;
 | |
| }
 | |
| 
 | |
| message ServiceStopRequest {
 | |
|   string id = 1;
 | |
| }
 | |
| 
 | |
| message ServiceStop {
 | |
|   common.Metadata metadata = 1;
 | |
|   string resp = 2;
 | |
| }
 | |
| 
 | |
| message ServiceStopResponse {
 | |
|   repeated ServiceStop messages = 1;
 | |
| }
 | |
| 
 | |
| message ServiceRestartRequest {
 | |
|   string id = 1;
 | |
| }
 | |
| 
 | |
| message ServiceRestart {
 | |
|   common.Metadata metadata = 1;
 | |
|   string resp = 2;
 | |
| }
 | |
| 
 | |
| message ServiceRestartResponse {
 | |
|   repeated ServiceRestart messages = 1;
 | |
| }
 | |
| 
 | |
| // CopyRequest describes a request to copy data out of Talos node
 | |
| //
 | |
| // Copy produces .tar.gz archive which is streamed back to the caller
 | |
| message CopyRequest {
 | |
|   // Root path to start copying data out, it might be either a file or directory
 | |
|   string root_path = 1;
 | |
| }
 | |
| 
 | |
| // ListRequest describes a request to list the contents of a directory.
 | |
| message ListRequest {
 | |
|   // Root indicates the root directory for the list. If not indicated, '/' is
 | |
|   // presumed.
 | |
|   string root = 1;
 | |
|   // Recurse indicates that subdirectories should be recursed.
 | |
|   bool recurse = 2;
 | |
|   // RecursionDepth indicates how many levels of subdirectories should be
 | |
|   // recursed. The default (0) indicates that no limit should be enforced.
 | |
|   int32 recursion_depth = 3;
 | |
|   // File type.
 | |
|   enum Type {
 | |
|     // Regular file (not directory, symlink, etc).
 | |
|     REGULAR = 0;
 | |
|     // Directory.
 | |
|     DIRECTORY = 1;
 | |
|     // Symbolic link.
 | |
|     SYMLINK = 2;
 | |
|   }
 | |
|   // Types indicates what file type should be returned. If not indicated,
 | |
|   // all files will be returned.
 | |
|   repeated Type types = 4;
 | |
| }
 | |
| 
 | |
| // DiskUsageRequest describes a request to list disk usage of directories and regular files
 | |
| message DiskUsageRequest {
 | |
|   // RecursionDepth indicates how many levels of subdirectories should be
 | |
|   // recursed. The default (0) indicates that no limit should be enforced.
 | |
|   int32 recursion_depth = 1;
 | |
|   // All write sizes for all files, not just directories.
 | |
|   bool all = 2;
 | |
|   // Threshold exclude entries smaller than SIZE if positive,
 | |
|   // or entries greater than SIZE if negative.
 | |
|   int64 threshold = 3;
 | |
|   // DiskUsagePaths is the list of directories to calculate disk usage for.
 | |
|   repeated string paths = 4;
 | |
| }
 | |
| 
 | |
| // FileInfo describes a file or directory's information
 | |
| message FileInfo {
 | |
|   common.Metadata metadata = 1;
 | |
|   // Name is the name (including prefixed path) of the file or directory
 | |
|   string name = 2;
 | |
|   // Size indicates the number of bytes contained within the file
 | |
|   int64 size = 3;
 | |
|   // Mode is the bitmap of UNIX mode/permission flags of the file
 | |
|   uint32 mode = 4;
 | |
|   // Modified indicates the UNIX timestamp at which the file was last modified
 | |
|   int64 modified = 5;
 | |
|   // IsDir indicates that the file is a directory
 | |
|   bool is_dir = 6;
 | |
|   // Error describes any error encountered while trying to read the file
 | |
|   // information.
 | |
|   string error = 7;
 | |
|   // Link is filled with symlink target
 | |
|   string link = 8;
 | |
|   // RelativeName is the name of the file or directory relative to the RootPath
 | |
|   string relative_name = 9;
 | |
|   // Owner uid
 | |
|   uint32 uid = 10;
 | |
|   // Owner gid
 | |
|   uint32 gid = 11;
 | |
| }
 | |
| 
 | |
| // DiskUsageInfo describes a file or directory's information for du command
 | |
| message DiskUsageInfo {
 | |
|   common.Metadata metadata = 1;
 | |
|   // Name is the name (including prefixed path) of the file or directory
 | |
|   string name = 2;
 | |
|   // Size indicates the number of bytes contained within the file
 | |
|   int64 size = 3;
 | |
|   // Error describes any error encountered while trying to read the file
 | |
|   // information.
 | |
|   string error = 4;
 | |
|   // RelativeName is the name of the file or directory relative to the RootPath
 | |
|   string relative_name = 5;
 | |
| }
 | |
| 
 | |
| // The messages message containing the requested df stats.
 | |
| message Mounts {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated MountStat stats = 2;
 | |
| }
 | |
| 
 | |
| message MountsResponse {
 | |
|   repeated Mounts messages = 1;
 | |
| }
 | |
| 
 | |
| // The messages message containing the requested processes.
 | |
| message MountStat {
 | |
|   string filesystem = 1;
 | |
|   uint64 size = 2;
 | |
|   uint64 available = 3;
 | |
|   string mounted_on = 4;
 | |
| }
 | |
| 
 | |
| message Version {
 | |
|   common.Metadata metadata = 1;
 | |
|   VersionInfo version = 2;
 | |
|   PlatformInfo platform = 3;
 | |
|   // Features describe individual Talos features that can be switched on or off.
 | |
|   FeaturesInfo features = 4;
 | |
| }
 | |
| 
 | |
| message VersionResponse {
 | |
|   repeated Version messages = 1;
 | |
| }
 | |
| 
 | |
| message VersionInfo {
 | |
|   string tag = 1;
 | |
|   string sha = 2;
 | |
|   string built = 3;
 | |
|   string go_version = 4;
 | |
|   string os = 5;
 | |
|   string arch = 6;
 | |
| }
 | |
| 
 | |
| message PlatformInfo {
 | |
|   string name = 1;
 | |
|   string mode = 2;
 | |
| }
 | |
| 
 | |
| // FeaturesInfo describes individual Talos features that can be switched on or off.
 | |
| message FeaturesInfo {
 | |
|   // RBAC is true if role-based access control is enabled.
 | |
|   bool rbac = 1;
 | |
| }
 | |
| 
 | |
| // rpc logs
 | |
| // The request message containing the process name.
 | |
| message LogsRequest {
 | |
|   string namespace = 1;
 | |
|   string id = 2;
 | |
|   // driver might be default "containerd" or "cri"
 | |
|   common.ContainerDriver driver = 3;
 | |
|   bool follow = 4;
 | |
|   int32 tail_lines = 5;
 | |
| }
 | |
| 
 | |
| message ReadRequest {
 | |
|   string path = 1;
 | |
| }
 | |
| 
 | |
| // LogsContainer desribes all avalaible registered log containers.
 | |
| message LogsContainer {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated string ids = 2;
 | |
| }
 | |
| 
 | |
| message LogsContainersResponse {
 | |
|   repeated LogsContainer messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc rollback
 | |
| message RollbackRequest {}
 | |
| 
 | |
| message Rollback {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message RollbackResponse {
 | |
|   repeated Rollback messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc Containers
 | |
| 
 | |
| message ContainersRequest {
 | |
|   string namespace = 1;
 | |
|   // driver might be default "containerd" or "cri"
 | |
|   common.ContainerDriver driver = 2;
 | |
| }
 | |
| 
 | |
| // The messages message containing the requested containers.
 | |
| message ContainerInfo {
 | |
|   string namespace = 1;
 | |
|   string id = 2;
 | |
|   string image = 3;
 | |
|   uint32 pid = 4;
 | |
|   string status = 5;
 | |
|   string pod_id = 6;
 | |
|   string name = 7;
 | |
|   string network_namespace = 8;
 | |
| }
 | |
| 
 | |
| // The messages message containing the requested containers.
 | |
| message Container {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated ContainerInfo containers = 2;
 | |
| }
 | |
| 
 | |
| message ContainersResponse {
 | |
|   repeated Container messages = 1;
 | |
| }
 | |
| 
 | |
| // dmesg
 | |
| message DmesgRequest {
 | |
|   bool follow = 1;
 | |
|   bool tail = 2;
 | |
| }
 | |
| 
 | |
| // rpc processes
 | |
| message ProcessesResponse {
 | |
|   repeated Process messages = 1;
 | |
| }
 | |
| 
 | |
| message Process {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated ProcessInfo processes = 2;
 | |
| }
 | |
| 
 | |
| message ProcessInfo {
 | |
|   int32 pid = 1;
 | |
|   int32 ppid = 2;
 | |
|   string state = 3;
 | |
|   int32 threads = 4;
 | |
|   double cpu_time = 5;
 | |
|   uint64 virtual_memory = 6;
 | |
|   uint64 resident_memory = 7;
 | |
|   string command = 8;
 | |
|   string executable = 9;
 | |
|   string args = 10;
 | |
|   string label = 11;
 | |
| }
 | |
| 
 | |
| // rpc restart
 | |
| // The request message containing the process to restart.
 | |
| message RestartRequest {
 | |
|   string namespace = 1;
 | |
|   string id = 2;
 | |
|   // driver might be default "containerd" or "cri"
 | |
|   common.ContainerDriver driver = 3;
 | |
| }
 | |
| 
 | |
| message Restart {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| // The messages message containing the restart status.
 | |
| message RestartResponse {
 | |
|   repeated Restart messages = 1;
 | |
| }
 | |
| 
 | |
| // rpc stats
 | |
| 
 | |
| // The request message containing the containerd namespace.
 | |
| message StatsRequest {
 | |
|   string namespace = 1;
 | |
|   // driver might be default "containerd" or "cri"
 | |
|   common.ContainerDriver driver = 2;
 | |
| }
 | |
| 
 | |
| // The messages message containing the requested stats.
 | |
| message Stats {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated Stat stats = 2;
 | |
| }
 | |
| 
 | |
| message StatsResponse {
 | |
|   repeated Stats messages = 1;
 | |
| }
 | |
| 
 | |
| // The messages message containing the requested stat.
 | |
| message Stat {
 | |
|   string namespace = 1;
 | |
|   string id = 2;
 | |
|   uint64 memory_usage = 4;
 | |
|   uint64 cpu_usage = 5;
 | |
|   string pod_id = 6;
 | |
|   string name = 7;
 | |
| }
 | |
| 
 | |
| message Memory {
 | |
|   common.Metadata metadata = 1;
 | |
|   MemInfo meminfo = 2;
 | |
| }
 | |
| 
 | |
| message MemoryResponse {
 | |
|   repeated Memory messages = 1;
 | |
| }
 | |
| 
 | |
| message MemInfo {
 | |
|   uint64 memtotal = 1;
 | |
|   uint64 memfree = 2;
 | |
|   uint64 memavailable = 3;
 | |
|   uint64 buffers = 4;
 | |
|   uint64 cached = 5;
 | |
|   uint64 swapcached = 6;
 | |
|   uint64 active = 7;
 | |
|   uint64 inactive = 8;
 | |
|   uint64 activeanon = 9;
 | |
|   uint64 inactiveanon = 10;
 | |
|   uint64 activefile = 11;
 | |
|   uint64 inactivefile = 12;
 | |
|   uint64 unevictable = 13;
 | |
|   uint64 mlocked = 14;
 | |
|   uint64 swaptotal = 15;
 | |
|   uint64 swapfree = 16;
 | |
|   uint64 dirty = 17;
 | |
|   uint64 writeback = 18;
 | |
|   uint64 anonpages = 19;
 | |
|   uint64 mapped = 20;
 | |
|   uint64 shmem = 21;
 | |
|   uint64 slab = 22;
 | |
|   uint64 sreclaimable = 23;
 | |
|   uint64 sunreclaim = 24;
 | |
|   uint64 kernelstack = 25;
 | |
|   uint64 pagetables = 26;
 | |
|   uint64 nfsunstable = 27;
 | |
|   uint64 bounce = 28;
 | |
|   uint64 writebacktmp = 29;
 | |
|   uint64 commitlimit = 30;
 | |
|   uint64 committedas = 31;
 | |
|   uint64 vmalloctotal = 32;
 | |
|   uint64 vmallocused = 33;
 | |
|   uint64 vmallocchunk = 34;
 | |
|   uint64 hardwarecorrupted = 35;
 | |
|   uint64 anonhugepages = 36;
 | |
|   uint64 shmemhugepages = 37;
 | |
|   uint64 shmempmdmapped = 38;
 | |
|   uint64 cmatotal = 39;
 | |
|   uint64 cmafree = 40;
 | |
|   uint64 hugepagestotal = 41;
 | |
|   uint64 hugepagesfree = 42;
 | |
|   uint64 hugepagesrsvd = 43;
 | |
|   uint64 hugepagessurp = 44;
 | |
|   uint64 hugepagesize = 45;
 | |
|   uint64 directmap4k = 46;
 | |
|   uint64 directmap2m = 47;
 | |
|   uint64 directmap1g = 48;
 | |
| }
 | |
| 
 | |
| // rpc Hostname
 | |
| 
 | |
| message HostnameResponse {
 | |
|   repeated Hostname messages = 1;
 | |
| }
 | |
| 
 | |
| message Hostname {
 | |
|   common.Metadata metadata = 1;
 | |
|   string hostname = 2;
 | |
| }
 | |
| 
 | |
| // rpc LoadAvg
 | |
| 
 | |
| message LoadAvgResponse {
 | |
|   repeated LoadAvg messages = 1;
 | |
| }
 | |
| 
 | |
| message LoadAvg {
 | |
|   common.Metadata metadata = 1;
 | |
|   double load1 = 2;
 | |
|   double load5 = 3;
 | |
|   double load15 = 4;
 | |
| }
 | |
| 
 | |
| // rpc SystemStat
 | |
| 
 | |
| message SystemStatResponse {
 | |
|   repeated SystemStat messages = 1;
 | |
| }
 | |
| 
 | |
| message SystemStat {
 | |
|   common.Metadata metadata = 1;
 | |
|   uint64 boot_time = 2;
 | |
|   CPUStat cpu_total = 3;
 | |
|   repeated CPUStat cpu = 4;
 | |
|   uint64 irq_total = 5;
 | |
|   repeated uint64 irq = 6;
 | |
|   uint64 context_switches = 7;
 | |
|   uint64 process_created = 8;
 | |
|   uint64 process_running = 9;
 | |
|   uint64 process_blocked = 10;
 | |
|   uint64 soft_irq_total = 11;
 | |
|   SoftIRQStat soft_irq = 12;
 | |
| }
 | |
| 
 | |
| message CPUStat {
 | |
|   double user = 1;
 | |
|   double nice = 2;
 | |
|   double system = 3;
 | |
|   double idle = 4;
 | |
|   double iowait = 5;
 | |
|   double irq = 6;
 | |
|   double soft_irq = 7;
 | |
|   double steal = 8;
 | |
|   double guest = 9;
 | |
|   double guest_nice = 10;
 | |
| }
 | |
| 
 | |
| message SoftIRQStat {
 | |
|   uint64 hi = 1;
 | |
|   uint64 timer = 2;
 | |
|   uint64 net_tx = 3;
 | |
|   uint64 net_rx = 4;
 | |
|   uint64 block = 5;
 | |
|   uint64 block_io_poll = 6;
 | |
|   uint64 tasklet = 7;
 | |
|   uint64 sched = 8;
 | |
|   uint64 hrtimer = 9;
 | |
|   uint64 rcu = 10;
 | |
| }
 | |
| 
 | |
| // rpc CPUInfo
 | |
| 
 | |
| message CPUInfoResponse {
 | |
|   repeated CPUsInfo messages = 1;
 | |
| }
 | |
| 
 | |
| message CPUsInfo {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated CPUInfo cpu_info = 2;
 | |
| }
 | |
| 
 | |
| message CPUInfo {
 | |
|   uint32 processor = 1;
 | |
|   string vendor_id = 2;
 | |
|   string cpu_family = 3;
 | |
|   string model = 4;
 | |
|   string model_name = 5;
 | |
|   string stepping = 6;
 | |
|   string microcode = 7;
 | |
|   double cpu_mhz = 8;
 | |
|   string cache_size = 9;
 | |
|   string physical_id = 10;
 | |
|   uint32 siblings = 11;
 | |
|   string core_id = 12;
 | |
|   uint32 cpu_cores = 13;
 | |
|   string apic_id = 14;
 | |
|   string initial_apic_id = 15;
 | |
|   string fpu = 16;
 | |
|   string fpu_exception = 17;
 | |
|   uint32 cpu_id_level = 18;
 | |
|   string wp = 19;
 | |
|   repeated string flags = 20;
 | |
|   repeated string bugs = 21;
 | |
|   double bogo_mips = 22;
 | |
|   uint32 cl_flush_size = 23;
 | |
|   uint32 cache_alignment = 24;
 | |
|   string address_sizes = 25;
 | |
|   string power_management = 26;
 | |
| }
 | |
| 
 | |
| // rpc NetworkDeviceStats
 | |
| 
 | |
| message NetworkDeviceStatsResponse {
 | |
|   repeated NetworkDeviceStats messages = 1;
 | |
| }
 | |
| 
 | |
| message NetworkDeviceStats {
 | |
|   common.Metadata metadata = 1;
 | |
|   NetDev total = 2;
 | |
|   repeated NetDev devices = 3;
 | |
| }
 | |
| 
 | |
| message NetDev {
 | |
|   string name = 1;
 | |
|   uint64 rx_bytes = 2;
 | |
|   uint64 rx_packets = 3;
 | |
|   uint64 rx_errors = 4;
 | |
|   uint64 rx_dropped = 5;
 | |
|   uint64 rx_fifo = 6;
 | |
|   uint64 rx_frame = 7;
 | |
|   uint64 rx_compressed = 8;
 | |
|   uint64 rx_multicast = 9;
 | |
|   uint64 tx_bytes = 10;
 | |
|   uint64 tx_packets = 11;
 | |
|   uint64 tx_errors = 12;
 | |
|   uint64 tx_dropped = 13;
 | |
|   uint64 tx_fifo = 14;
 | |
|   uint64 tx_collisions = 15;
 | |
|   uint64 tx_carrier = 16;
 | |
|   uint64 tx_compressed = 17;
 | |
| }
 | |
| 
 | |
| // rpc DiskStats
 | |
| 
 | |
| message DiskStatsResponse {
 | |
|   repeated DiskStats messages = 1;
 | |
| }
 | |
| 
 | |
| message DiskStats {
 | |
|   common.Metadata metadata = 1;
 | |
|   DiskStat total = 2;
 | |
|   repeated DiskStat devices = 3;
 | |
| }
 | |
| 
 | |
| message DiskStat {
 | |
|   string name = 1;
 | |
|   uint64 read_completed = 2;
 | |
|   uint64 read_merged = 3;
 | |
|   uint64 read_sectors = 4;
 | |
|   uint64 read_time_ms = 5;
 | |
|   uint64 write_completed = 6;
 | |
|   uint64 write_merged = 7;
 | |
|   uint64 write_sectors = 8;
 | |
|   uint64 write_time_ms = 9;
 | |
|   uint64 io_in_progress = 10;
 | |
|   uint64 io_time_ms = 11;
 | |
|   uint64 io_time_weighted_ms = 12;
 | |
|   uint64 discard_completed = 13;
 | |
|   uint64 discard_merged = 14;
 | |
|   uint64 discard_sectors = 15;
 | |
|   uint64 discard_time_ms = 16;
 | |
| }
 | |
| 
 | |
| message EtcdLeaveClusterRequest {}
 | |
| 
 | |
| message EtcdLeaveCluster {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message EtcdLeaveClusterResponse {
 | |
|   repeated EtcdLeaveCluster messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRemoveMemberRequest {
 | |
|   string member = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRemoveMember {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRemoveMemberResponse {
 | |
|   repeated EtcdRemoveMember messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRemoveMemberByIDRequest {
 | |
|   uint64 member_id = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRemoveMemberByID {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRemoveMemberByIDResponse {
 | |
|   repeated EtcdRemoveMemberByID messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdForfeitLeadershipRequest {}
 | |
| 
 | |
| message EtcdForfeitLeadership {
 | |
|   common.Metadata metadata = 1;
 | |
|   string member = 2;
 | |
| }
 | |
| 
 | |
| message EtcdForfeitLeadershipResponse {
 | |
|   repeated EtcdForfeitLeadership messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdMemberListRequest {
 | |
|   bool query_local = 1;
 | |
| }
 | |
| 
 | |
| // EtcdMember describes a single etcd member.
 | |
| message EtcdMember {
 | |
|   // member ID.
 | |
|   uint64 id = 2;
 | |
|   // human-readable name of the member.
 | |
|   string hostname = 3;
 | |
|   // the list of URLs the member exposes to clients for communication.
 | |
|   repeated string peer_urls = 4;
 | |
|   // the list of URLs the member exposes to the cluster for communication.
 | |
|   repeated string client_urls = 5;
 | |
|   // learner flag
 | |
|   bool is_learner = 6;
 | |
| }
 | |
| 
 | |
| // EtcdMembers contains the list of members registered on the host.
 | |
| message EtcdMembers {
 | |
|   common.Metadata metadata = 1;
 | |
|   // list of member hostnames.
 | |
|   repeated string legacy_members = 2;
 | |
|   // the list of etcd members registered on the node.
 | |
|   repeated EtcdMember members = 3;
 | |
| }
 | |
| 
 | |
| message EtcdMemberListResponse {
 | |
|   repeated EtcdMembers messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdSnapshotRequest {}
 | |
| 
 | |
| message EtcdRecover {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message EtcdRecoverResponse {
 | |
|   repeated EtcdRecover messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdAlarmListResponse {
 | |
|   repeated EtcdAlarm messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdAlarm {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated EtcdMemberAlarm member_alarms = 2;
 | |
| }
 | |
| 
 | |
| message EtcdMemberAlarm {
 | |
|   enum AlarmType {
 | |
|     NONE = 0;
 | |
|     NOSPACE = 1;
 | |
|     CORRUPT = 2;
 | |
|   }
 | |
|   uint64 member_id = 1;
 | |
|   AlarmType alarm = 2;
 | |
| }
 | |
| 
 | |
| message EtcdAlarmDisarmResponse {
 | |
|   repeated EtcdAlarmDisarm messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdAlarmDisarm {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated EtcdMemberAlarm member_alarms = 2;
 | |
| }
 | |
| 
 | |
| message EtcdDefragmentResponse {
 | |
|   repeated EtcdDefragment messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdDefragment {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message EtcdStatusResponse {
 | |
|   repeated EtcdStatus messages = 1;
 | |
| }
 | |
| 
 | |
| message EtcdStatus {
 | |
|   common.Metadata metadata = 1;
 | |
|   EtcdMemberStatus member_status = 2;
 | |
| }
 | |
| 
 | |
| message EtcdMemberStatus {
 | |
|   uint64 member_id = 10;
 | |
|   string protocol_version = 1;
 | |
|   int64 db_size = 2;
 | |
|   int64 db_size_in_use = 3;
 | |
|   uint64 leader = 4;
 | |
|   uint64 raft_index = 5;
 | |
|   uint64 raft_term = 6;
 | |
|   uint64 raft_applied_index = 7;
 | |
|   repeated string errors = 8;
 | |
|   bool is_learner = 9;
 | |
| }
 | |
| 
 | |
| // rpc generateConfiguration
 | |
| 
 | |
| message RouteConfig {
 | |
|   string network = 1;
 | |
|   string gateway = 2;
 | |
|   uint32 metric = 3;
 | |
| }
 | |
| 
 | |
| message DHCPOptionsConfig {
 | |
|   uint32 route_metric = 1;
 | |
| }
 | |
| 
 | |
| message NetworkDeviceConfig {
 | |
|   string interface = 1;
 | |
|   string cidr = 2;
 | |
|   int32 mtu = 3;
 | |
|   bool dhcp = 4;
 | |
|   bool ignore = 5;
 | |
|   DHCPOptionsConfig dhcp_options = 6;
 | |
|   repeated RouteConfig routes = 7;
 | |
| }
 | |
| 
 | |
| message NetworkConfig {
 | |
|   string hostname = 1;
 | |
|   repeated NetworkDeviceConfig interfaces = 2;
 | |
| }
 | |
| 
 | |
| message InstallConfig {
 | |
|   string install_disk = 1;
 | |
|   string install_image = 2;
 | |
| }
 | |
| 
 | |
| message MachineConfig {
 | |
|   enum MachineType {
 | |
|     TYPE_UNKNOWN = 0;
 | |
|     TYPE_INIT = 1;
 | |
|     TYPE_CONTROL_PLANE = 2;
 | |
|     TYPE_WORKER = 3;
 | |
|   }
 | |
|   MachineType type = 1;
 | |
|   InstallConfig install_config = 2;
 | |
|   NetworkConfig network_config = 3;
 | |
|   string kubernetes_version = 4;
 | |
| }
 | |
| 
 | |
| message ControlPlaneConfig {
 | |
|   string endpoint = 1;
 | |
| }
 | |
| 
 | |
| message CNIConfig {
 | |
|   string name = 1;
 | |
|   repeated string urls = 2;
 | |
| }
 | |
| 
 | |
| message ClusterNetworkConfig {
 | |
|   string dns_domain = 1;
 | |
|   CNIConfig cni_config = 2;
 | |
| }
 | |
| 
 | |
| message ClusterConfig {
 | |
|   string name = 1;
 | |
|   ControlPlaneConfig control_plane = 2;
 | |
|   ClusterNetworkConfig cluster_network = 3;
 | |
|   bool allow_scheduling_on_control_planes = 4;
 | |
| }
 | |
| 
 | |
| // GenerateConfigurationRequest describes a request to generate a new configuration
 | |
| // on a node.
 | |
| message GenerateConfigurationRequest {
 | |
|   string config_version = 1;
 | |
|   ClusterConfig cluster_config = 2;
 | |
|   MachineConfig machine_config = 3;
 | |
|   google.protobuf.Timestamp override_time = 4;
 | |
| }
 | |
| 
 | |
| // GenerateConfiguration describes the response to a generate configuration request.
 | |
| message GenerateConfiguration {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated bytes data = 2;
 | |
|   bytes talosconfig = 3;
 | |
| }
 | |
| 
 | |
| message GenerateConfigurationResponse {
 | |
|   repeated GenerateConfiguration messages = 1;
 | |
| }
 | |
| 
 | |
| message GenerateClientConfigurationRequest {
 | |
|   // Roles in the generated client certificate.
 | |
|   repeated string roles = 1;
 | |
|   // Client certificate TTL.
 | |
|   google.protobuf.Duration crt_ttl = 2;
 | |
| }
 | |
| 
 | |
| message GenerateClientConfiguration {
 | |
|   common.Metadata metadata = 1;
 | |
|   // PEM-encoded CA certificate.
 | |
|   bytes ca = 2;
 | |
|   // PEM-encoded generated client certificate.
 | |
|   bytes crt = 3;
 | |
|   // PEM-encoded generated client key.
 | |
|   bytes key = 4;
 | |
|   // Client configuration (talosconfig) file content.
 | |
|   bytes talosconfig = 5;
 | |
| }
 | |
| 
 | |
| message GenerateClientConfigurationResponse {
 | |
|   repeated GenerateClientConfiguration messages = 1;
 | |
| }
 | |
| 
 | |
| message PacketCaptureRequest {
 | |
|   // Interface name to perform packet capture on.
 | |
|   string interface = 1;
 | |
|   // Enable promiscuous mode.
 | |
|   bool promiscuous = 2;
 | |
|   // Snap length in bytes.
 | |
|   uint32 snap_len = 3;
 | |
|   // BPF filter.
 | |
|   repeated BPFInstruction bpf_filter = 4;
 | |
| }
 | |
| 
 | |
| message BPFInstruction {
 | |
|   uint32 op = 1;
 | |
|   uint32 jt = 2;
 | |
|   uint32 jf = 3;
 | |
|   uint32 k = 4;
 | |
| }
 | |
| 
 | |
| message NetstatRequest {
 | |
|   enum Filter {
 | |
|     ALL = 0;
 | |
|     CONNECTED = 1;
 | |
|     LISTENING = 2;
 | |
|   }
 | |
|   Filter filter = 1;
 | |
|   message Feature {
 | |
|     bool pid = 1;
 | |
|   }
 | |
|   Feature feature = 2;
 | |
|   message L4proto {
 | |
|     bool tcp = 1;
 | |
|     bool tcp6 = 2;
 | |
|     bool udp = 3;
 | |
|     bool udp6 = 4;
 | |
|     bool udplite = 5;
 | |
|     bool udplite6 = 6;
 | |
|     bool raw = 7;
 | |
|     bool raw6 = 8;
 | |
|   }
 | |
|   L4proto l4proto = 3;
 | |
|   message NetNS {
 | |
|     bool hostnetwork = 1;
 | |
|     repeated string netns = 2;
 | |
|     bool allnetns = 3;
 | |
|   }
 | |
|   NetNS netns = 4;
 | |
| }
 | |
| 
 | |
| message ConnectRecord {
 | |
|   string l4proto = 1;
 | |
|   string localip = 2;
 | |
|   uint32 localport = 3;
 | |
|   string remoteip = 4;
 | |
|   uint32 remoteport = 5;
 | |
|   enum State {
 | |
|     RESERVED = 0;
 | |
|     ESTABLISHED = 1;
 | |
|     SYN_SENT = 2;
 | |
|     SYN_RECV = 3;
 | |
|     FIN_WAIT1 = 4;
 | |
|     FIN_WAIT2 = 5;
 | |
|     TIME_WAIT = 6;
 | |
|     CLOSE = 7;
 | |
|     CLOSEWAIT = 8;
 | |
|     LASTACK = 9;
 | |
|     LISTEN = 10;
 | |
|     CLOSING = 11;
 | |
|   }
 | |
|   State state = 6;
 | |
|   uint64 txqueue = 7;
 | |
|   uint64 rxqueue = 8;
 | |
|   enum TimerActive {
 | |
|     OFF = 0;
 | |
|     ON = 1;
 | |
|     KEEPALIVE = 2;
 | |
|     TIMEWAIT = 3;
 | |
|     PROBE = 4;
 | |
|   }
 | |
|   TimerActive tr = 9;
 | |
|   uint64 timerwhen = 10;
 | |
|   uint64 retrnsmt = 11;
 | |
|   uint32 uid = 12;
 | |
|   uint64 timeout = 13;
 | |
|   uint64 inode = 14;
 | |
|   uint64 ref = 15;
 | |
|   uint64 pointer = 16;
 | |
|   message Process {
 | |
|     uint32 pid = 1;
 | |
|     string name = 2;
 | |
|   }
 | |
|   Process process = 17;
 | |
|   string netns = 18;
 | |
| }
 | |
| 
 | |
| message Netstat {
 | |
|   common.Metadata metadata = 1;
 | |
|   repeated ConnectRecord connectrecord = 2;
 | |
| }
 | |
| 
 | |
| message NetstatResponse {
 | |
|   repeated Netstat messages = 1;
 | |
| }
 | |
| 
 | |
| message MetaWriteRequest {
 | |
|   uint32 key = 1;
 | |
|   bytes value = 2;
 | |
| }
 | |
| 
 | |
| message MetaWrite {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message MetaWriteResponse {
 | |
|   repeated MetaWrite messages = 1;
 | |
| }
 | |
| 
 | |
| message MetaDeleteRequest {
 | |
|   uint32 key = 1;
 | |
| }
 | |
| 
 | |
| message MetaDelete {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message MetaDeleteResponse {
 | |
|   repeated MetaDelete messages = 1;
 | |
| }
 | |
| 
 | |
| message ImageListRequest {
 | |
|   // Containerd namespace to use.
 | |
|   common.ContainerdNamespace namespace = 1;
 | |
| }
 | |
| 
 | |
| message ImageListResponse {
 | |
|   common.Metadata metadata = 1;
 | |
|   string name = 2;
 | |
|   string digest = 3;
 | |
|   int64 size = 4;
 | |
|   google.protobuf.Timestamp created_at = 5;
 | |
| }
 | |
| 
 | |
| message ImagePullRequest {
 | |
|   // Containerd namespace to use.
 | |
|   common.ContainerdNamespace namespace = 1;
 | |
|   // Image reference to pull.
 | |
|   string reference = 2;
 | |
| }
 | |
| 
 | |
| message ImagePull {
 | |
|   common.Metadata metadata = 1;
 | |
| }
 | |
| 
 | |
| message ImagePullResponse {
 | |
|   repeated ImagePull messages = 1;
 | |
| }
 |