talos/pkg/machinery/api/machine/lifecycle.pb.go
Mateusz Urbanek 15a5ec9985
feat: implement new install/upgrade API
Implement new minimal Install/Upgrade LifecycleService API with streaming
support for real-time progress reporting. Add protobuf definitions, gRPC
service implementation, and client bindings.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-06 12:16:35 +01:00

522 lines
18 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11-devel
// protoc (unknown)
// source: machine/lifecycle.proto
package machine
import (
reflect "reflect"
sync "sync"
unsafe "unsafe"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
common "github.com/siderolabs/talos/pkg/machinery/api/common"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// InstallArtifactsSource specifies the source of the installation artifacts.
type InstallArtifactsSource struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The reference name of the image, as returned by `talosctl image pull`.
ImageName string `protobuf:"bytes,1,opt,name=image_name,json=imageName,proto3" json:"image_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InstallArtifactsSource) Reset() {
*x = InstallArtifactsSource{}
mi := &file_machine_lifecycle_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InstallArtifactsSource) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstallArtifactsSource) ProtoMessage() {}
func (x *InstallArtifactsSource) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstallArtifactsSource.ProtoReflect.Descriptor instead.
func (*InstallArtifactsSource) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{0}
}
func (x *InstallArtifactsSource) GetImageName() string {
if x != nil {
return x.ImageName
}
return ""
}
// InstallDestination specifies the target for installation.
type InstallDestination struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The disk to which Talos should be installed, e.g. "/dev/sda".
Disk string `protobuf:"bytes,1,opt,name=disk,proto3" json:"disk,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InstallDestination) Reset() {
*x = InstallDestination{}
mi := &file_machine_lifecycle_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InstallDestination) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InstallDestination) ProtoMessage() {}
func (x *InstallDestination) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InstallDestination.ProtoReflect.Descriptor instead.
func (*InstallDestination) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{1}
}
func (x *InstallDestination) GetDisk() string {
if x != nil {
return x.Disk
}
return ""
}
// LifecycleServiceInstallRequest contains the necessary information to perform an installation.
type LifecycleServiceInstallRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The containerd instance to use for pulling the installation artifacts.
Containerd *common.ContainerdInstance `protobuf:"bytes,1,opt,name=containerd,proto3" json:"containerd,omitempty"`
// The source of the installation artifacts.
Source *InstallArtifactsSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
// The destination for the installation.
Destination *InstallDestination `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LifecycleServiceInstallRequest) Reset() {
*x = LifecycleServiceInstallRequest{}
mi := &file_machine_lifecycle_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LifecycleServiceInstallRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LifecycleServiceInstallRequest) ProtoMessage() {}
func (x *LifecycleServiceInstallRequest) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LifecycleServiceInstallRequest.ProtoReflect.Descriptor instead.
func (*LifecycleServiceInstallRequest) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{2}
}
func (x *LifecycleServiceInstallRequest) GetContainerd() *common.ContainerdInstance {
if x != nil {
return x.Containerd
}
return nil
}
func (x *LifecycleServiceInstallRequest) GetSource() *InstallArtifactsSource {
if x != nil {
return x.Source
}
return nil
}
func (x *LifecycleServiceInstallRequest) GetDestination() *InstallDestination {
if x != nil {
return x.Destination
}
return nil
}
// LifecycleServiceInstallProgress represents the progress of the installation or upgrade process.
type LifecycleServiceInstallProgress struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Types that are valid to be assigned to Response:
//
// *LifecycleServiceInstallProgress_Message
// *LifecycleServiceInstallProgress_ExitCode
Response isLifecycleServiceInstallProgress_Response `protobuf_oneof:"response"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LifecycleServiceInstallProgress) Reset() {
*x = LifecycleServiceInstallProgress{}
mi := &file_machine_lifecycle_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LifecycleServiceInstallProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LifecycleServiceInstallProgress) ProtoMessage() {}
func (x *LifecycleServiceInstallProgress) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LifecycleServiceInstallProgress.ProtoReflect.Descriptor instead.
func (*LifecycleServiceInstallProgress) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{3}
}
func (x *LifecycleServiceInstallProgress) GetResponse() isLifecycleServiceInstallProgress_Response {
if x != nil {
return x.Response
}
return nil
}
func (x *LifecycleServiceInstallProgress) GetMessage() string {
if x != nil {
if x, ok := x.Response.(*LifecycleServiceInstallProgress_Message); ok {
return x.Message
}
}
return ""
}
func (x *LifecycleServiceInstallProgress) GetExitCode() int32 {
if x != nil {
if x, ok := x.Response.(*LifecycleServiceInstallProgress_ExitCode); ok {
return x.ExitCode
}
}
return 0
}
type isLifecycleServiceInstallProgress_Response interface {
isLifecycleServiceInstallProgress_Response()
}
type LifecycleServiceInstallProgress_Message struct {
// A message indicating the current progress of the installation or upgrade.
Message string `protobuf:"bytes,1,opt,name=message,proto3,oneof"`
}
type LifecycleServiceInstallProgress_ExitCode struct {
// An exit code indicating the result of the installation or upgrade process.
// A non-zero value indicates an error.
// Server SHOULD NOT respond with error, even if the value is non-zero.
// It's responsibility of the client to handle the exit code appropriately.
ExitCode int32 `protobuf:"varint,2,opt,name=exit_code,json=exitCode,proto3,oneof"`
}
func (*LifecycleServiceInstallProgress_Message) isLifecycleServiceInstallProgress_Response() {}
func (*LifecycleServiceInstallProgress_ExitCode) isLifecycleServiceInstallProgress_Response() {}
// LifecycleServiceInstallResponse is the response message for the Install RPC, containing progress updates.
type LifecycleServiceInstallResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The progress of the installation process.
Progress *LifecycleServiceInstallProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LifecycleServiceInstallResponse) Reset() {
*x = LifecycleServiceInstallResponse{}
mi := &file_machine_lifecycle_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LifecycleServiceInstallResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LifecycleServiceInstallResponse) ProtoMessage() {}
func (x *LifecycleServiceInstallResponse) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LifecycleServiceInstallResponse.ProtoReflect.Descriptor instead.
func (*LifecycleServiceInstallResponse) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{4}
}
func (x *LifecycleServiceInstallResponse) GetProgress() *LifecycleServiceInstallProgress {
if x != nil {
return x.Progress
}
return nil
}
// LifecycleServiceUpgradeRequest contains the necessary information to perform an upgrade.
type LifecycleServiceUpgradeRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The containerd instance to use for pulling the installation artifacts.
Containerd *common.ContainerdInstance `protobuf:"bytes,1,opt,name=containerd,proto3" json:"containerd,omitempty"`
// The source of the installation artifacts for the upgrade.
Source *InstallArtifactsSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LifecycleServiceUpgradeRequest) Reset() {
*x = LifecycleServiceUpgradeRequest{}
mi := &file_machine_lifecycle_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LifecycleServiceUpgradeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LifecycleServiceUpgradeRequest) ProtoMessage() {}
func (x *LifecycleServiceUpgradeRequest) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LifecycleServiceUpgradeRequest.ProtoReflect.Descriptor instead.
func (*LifecycleServiceUpgradeRequest) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{5}
}
func (x *LifecycleServiceUpgradeRequest) GetContainerd() *common.ContainerdInstance {
if x != nil {
return x.Containerd
}
return nil
}
func (x *LifecycleServiceUpgradeRequest) GetSource() *InstallArtifactsSource {
if x != nil {
return x.Source
}
return nil
}
// LifecycleServiceUpgradeResponse is the response message for the Upgrade RPC, containing progress updates.
type LifecycleServiceUpgradeResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The progress of the upgrade process.
Progress *LifecycleServiceInstallProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LifecycleServiceUpgradeResponse) Reset() {
*x = LifecycleServiceUpgradeResponse{}
mi := &file_machine_lifecycle_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LifecycleServiceUpgradeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LifecycleServiceUpgradeResponse) ProtoMessage() {}
func (x *LifecycleServiceUpgradeResponse) ProtoReflect() protoreflect.Message {
mi := &file_machine_lifecycle_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LifecycleServiceUpgradeResponse.ProtoReflect.Descriptor instead.
func (*LifecycleServiceUpgradeResponse) Descriptor() ([]byte, []int) {
return file_machine_lifecycle_proto_rawDescGZIP(), []int{6}
}
func (x *LifecycleServiceUpgradeResponse) GetProgress() *LifecycleServiceInstallProgress {
if x != nil {
return x.Progress
}
return nil
}
var File_machine_lifecycle_proto protoreflect.FileDescriptor
const file_machine_lifecycle_proto_rawDesc = "" +
"\n" +
"\x17machine/lifecycle.proto\x12\amachine\x1a\x13common/common.proto\"7\n" +
"\x16InstallArtifactsSource\x12\x1d\n" +
"\n" +
"image_name\x18\x01 \x01(\tR\timageName\"(\n" +
"\x12InstallDestination\x12\x12\n" +
"\x04disk\x18\x01 \x01(\tR\x04disk\"\xd4\x01\n" +
"\x1eLifecycleServiceInstallRequest\x12:\n" +
"\n" +
"containerd\x18\x01 \x01(\v2\x1a.common.ContainerdInstanceR\n" +
"containerd\x127\n" +
"\x06source\x18\x02 \x01(\v2\x1f.machine.InstallArtifactsSourceR\x06source\x12=\n" +
"\vdestination\x18\x03 \x01(\v2\x1b.machine.InstallDestinationR\vdestination\"h\n" +
"\x1fLifecycleServiceInstallProgress\x12\x1a\n" +
"\amessage\x18\x01 \x01(\tH\x00R\amessage\x12\x1d\n" +
"\texit_code\x18\x02 \x01(\x05H\x00R\bexitCodeB\n" +
"\n" +
"\bresponse\"g\n" +
"\x1fLifecycleServiceInstallResponse\x12D\n" +
"\bprogress\x18\x01 \x01(\v2(.machine.LifecycleServiceInstallProgressR\bprogress\"\x95\x01\n" +
"\x1eLifecycleServiceUpgradeRequest\x12:\n" +
"\n" +
"containerd\x18\x01 \x01(\v2\x1a.common.ContainerdInstanceR\n" +
"containerd\x127\n" +
"\x06source\x18\x02 \x01(\v2\x1f.machine.InstallArtifactsSourceR\x06source\"g\n" +
"\x1fLifecycleServiceUpgradeResponse\x12D\n" +
"\bprogress\x18\x01 \x01(\v2(.machine.LifecycleServiceInstallProgressR\bprogress2\xd2\x01\n" +
"\x10LifecycleService\x12^\n" +
"\aInstall\x12'.machine.LifecycleServiceInstallRequest\x1a(.machine.LifecycleServiceInstallResponse0\x01\x12^\n" +
"\aUpgrade\x12'.machine.LifecycleServiceUpgradeRequest\x1a(.machine.LifecycleServiceUpgradeResponse0\x01BN\n" +
"\x15dev.talos.api.machineZ5github.com/siderolabs/talos/pkg/machinery/api/machineb\x06proto3"
var (
file_machine_lifecycle_proto_rawDescOnce sync.Once
file_machine_lifecycle_proto_rawDescData []byte
)
func file_machine_lifecycle_proto_rawDescGZIP() []byte {
file_machine_lifecycle_proto_rawDescOnce.Do(func() {
file_machine_lifecycle_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_machine_lifecycle_proto_rawDesc), len(file_machine_lifecycle_proto_rawDesc)))
})
return file_machine_lifecycle_proto_rawDescData
}
var file_machine_lifecycle_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_machine_lifecycle_proto_goTypes = []any{
(*InstallArtifactsSource)(nil), // 0: machine.InstallArtifactsSource
(*InstallDestination)(nil), // 1: machine.InstallDestination
(*LifecycleServiceInstallRequest)(nil), // 2: machine.LifecycleServiceInstallRequest
(*LifecycleServiceInstallProgress)(nil), // 3: machine.LifecycleServiceInstallProgress
(*LifecycleServiceInstallResponse)(nil), // 4: machine.LifecycleServiceInstallResponse
(*LifecycleServiceUpgradeRequest)(nil), // 5: machine.LifecycleServiceUpgradeRequest
(*LifecycleServiceUpgradeResponse)(nil), // 6: machine.LifecycleServiceUpgradeResponse
(*common.ContainerdInstance)(nil), // 7: common.ContainerdInstance
}
var file_machine_lifecycle_proto_depIdxs = []int32{
7, // 0: machine.LifecycleServiceInstallRequest.containerd:type_name -> common.ContainerdInstance
0, // 1: machine.LifecycleServiceInstallRequest.source:type_name -> machine.InstallArtifactsSource
1, // 2: machine.LifecycleServiceInstallRequest.destination:type_name -> machine.InstallDestination
3, // 3: machine.LifecycleServiceInstallResponse.progress:type_name -> machine.LifecycleServiceInstallProgress
7, // 4: machine.LifecycleServiceUpgradeRequest.containerd:type_name -> common.ContainerdInstance
0, // 5: machine.LifecycleServiceUpgradeRequest.source:type_name -> machine.InstallArtifactsSource
3, // 6: machine.LifecycleServiceUpgradeResponse.progress:type_name -> machine.LifecycleServiceInstallProgress
2, // 7: machine.LifecycleService.Install:input_type -> machine.LifecycleServiceInstallRequest
5, // 8: machine.LifecycleService.Upgrade:input_type -> machine.LifecycleServiceUpgradeRequest
4, // 9: machine.LifecycleService.Install:output_type -> machine.LifecycleServiceInstallResponse
6, // 10: machine.LifecycleService.Upgrade:output_type -> machine.LifecycleServiceUpgradeResponse
9, // [9:11] is the sub-list for method output_type
7, // [7:9] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_machine_lifecycle_proto_init() }
func file_machine_lifecycle_proto_init() {
if File_machine_lifecycle_proto != nil {
return
}
file_machine_lifecycle_proto_msgTypes[3].OneofWrappers = []any{
(*LifecycleServiceInstallProgress_Message)(nil),
(*LifecycleServiceInstallProgress_ExitCode)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_machine_lifecycle_proto_rawDesc), len(file_machine_lifecycle_proto_rawDesc)),
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_machine_lifecycle_proto_goTypes,
DependencyIndexes: file_machine_lifecycle_proto_depIdxs,
MessageInfos: file_machine_lifecycle_proto_msgTypes,
}.Build()
File_machine_lifecycle_proto = out.File
file_machine_lifecycle_proto_goTypes = nil
file_machine_lifecycle_proto_depIdxs = nil
}