From b1bd2a7f26624648b8c561b3ab504dab31c8ef63 Mon Sep 17 00:00:00 2001 From: Artem Chernyshev Date: Wed, 5 Nov 2025 17:01:21 +0300 Subject: [PATCH] chore: implement `InstallationMediaConfig` resource This resource is going to be used to store the saved installation media presets generated by the UI wizard. Signed-off-by: Artem Chernyshev --- client/api/omni/specs/omni.pb.go | 550 +++++++---- client/api/omni/specs/omni.proto | 18 + client/api/omni/specs/omni_vtproto.pb.go | 908 ++++++++++++++++++ client/pkg/omni/resources/common/common.go | 1 + .../omni/installation_media_config.go | 49 + client/pkg/omni/resources/omni/omni.go | 1 + frontend/src/api/omni/specs/omni.pb.ts | 17 + internal/backend/runtime/omni/omni.go | 2 + internal/backend/runtime/omni/state_access.go | 2 + .../backend/runtime/omni/state_validation.go | 20 + internal/integration/auth_test.go | 5 + 11 files changed, 1395 insertions(+), 178 deletions(-) create mode 100644 client/pkg/omni/resources/omni/installation_media_config.go diff --git a/client/api/omni/specs/omni.pb.go b/client/api/omni/specs/omni.pb.go index aab4ee15b..1c13db4de 100644 --- a/client/api/omni/specs/omni.pb.go +++ b/client/api/omni/specs/omni.pb.go @@ -7184,6 +7184,82 @@ func (x *MachineConfigDiffSpec) GetDiff() string { return "" } +type InstallationMediaConfigSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"` + InstallExtensions []string `protobuf:"bytes,2,rep,name=install_extensions,json=installExtensions,proto3" json:"install_extensions,omitempty"` + KernelArgs string `protobuf:"bytes,3,opt,name=kernel_args,json=kernelArgs,proto3" json:"kernel_args,omitempty"` + Cloud *InstallationMediaConfigSpec_Cloud `protobuf:"bytes,4,opt,name=cloud,proto3" json:"cloud,omitempty"` + Sbc *InstallationMediaConfigSpec_SBC `protobuf:"bytes,5,opt,name=sbc,proto3" json:"sbc,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallationMediaConfigSpec) Reset() { + *x = InstallationMediaConfigSpec{} + mi := &file_omni_specs_omni_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallationMediaConfigSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallationMediaConfigSpec) ProtoMessage() {} + +func (x *InstallationMediaConfigSpec) ProtoReflect() protoreflect.Message { + mi := &file_omni_specs_omni_proto_msgTypes[94] + 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 InstallationMediaConfigSpec.ProtoReflect.Descriptor instead. +func (*InstallationMediaConfigSpec) Descriptor() ([]byte, []int) { + return file_omni_specs_omni_proto_rawDescGZIP(), []int{94} +} + +func (x *InstallationMediaConfigSpec) GetArchitecture() string { + if x != nil { + return x.Architecture + } + return "" +} + +func (x *InstallationMediaConfigSpec) GetInstallExtensions() []string { + if x != nil { + return x.InstallExtensions + } + return nil +} + +func (x *InstallationMediaConfigSpec) GetKernelArgs() string { + if x != nil { + return x.KernelArgs + } + return "" +} + +func (x *InstallationMediaConfigSpec) GetCloud() *InstallationMediaConfigSpec_Cloud { + if x != nil { + return x.Cloud + } + return nil +} + +func (x *InstallationMediaConfigSpec) GetSbc() *InstallationMediaConfigSpec_SBC { + if x != nil { + return x.Sbc + } + return nil +} + // HardwareStatus describes machine hardware status. type MachineStatusSpec_HardwareStatus struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -7201,7 +7277,7 @@ type MachineStatusSpec_HardwareStatus struct { func (x *MachineStatusSpec_HardwareStatus) Reset() { *x = MachineStatusSpec_HardwareStatus{} - mi := &file_omni_specs_omni_proto_msgTypes[94] + mi := &file_omni_specs_omni_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7213,7 +7289,7 @@ func (x *MachineStatusSpec_HardwareStatus) String() string { func (*MachineStatusSpec_HardwareStatus) ProtoMessage() {} func (x *MachineStatusSpec_HardwareStatus) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[94] + mi := &file_omni_specs_omni_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7276,7 +7352,7 @@ type MachineStatusSpec_NetworkStatus struct { func (x *MachineStatusSpec_NetworkStatus) Reset() { *x = MachineStatusSpec_NetworkStatus{} - mi := &file_omni_specs_omni_proto_msgTypes[95] + mi := &file_omni_specs_omni_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7288,7 +7364,7 @@ func (x *MachineStatusSpec_NetworkStatus) String() string { func (*MachineStatusSpec_NetworkStatus) ProtoMessage() {} func (x *MachineStatusSpec_NetworkStatus) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[95] + mi := &file_omni_specs_omni_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7364,7 +7440,7 @@ type MachineStatusSpec_PlatformMetadata struct { func (x *MachineStatusSpec_PlatformMetadata) Reset() { *x = MachineStatusSpec_PlatformMetadata{} - mi := &file_omni_specs_omni_proto_msgTypes[96] + mi := &file_omni_specs_omni_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7376,7 +7452,7 @@ func (x *MachineStatusSpec_PlatformMetadata) String() string { func (*MachineStatusSpec_PlatformMetadata) ProtoMessage() {} func (x *MachineStatusSpec_PlatformMetadata) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[96] + mi := &file_omni_specs_omni_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7485,7 +7561,7 @@ type MachineStatusSpec_Schematic struct { func (x *MachineStatusSpec_Schematic) Reset() { *x = MachineStatusSpec_Schematic{} - mi := &file_omni_specs_omni_proto_msgTypes[97] + mi := &file_omni_specs_omni_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7497,7 +7573,7 @@ func (x *MachineStatusSpec_Schematic) String() string { func (*MachineStatusSpec_Schematic) ProtoMessage() {} func (x *MachineStatusSpec_Schematic) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[97] + mi := &file_omni_specs_omni_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7601,7 +7677,7 @@ type MachineStatusSpec_Diagnostic struct { func (x *MachineStatusSpec_Diagnostic) Reset() { *x = MachineStatusSpec_Diagnostic{} - mi := &file_omni_specs_omni_proto_msgTypes[98] + mi := &file_omni_specs_omni_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7613,7 +7689,7 @@ func (x *MachineStatusSpec_Diagnostic) String() string { func (*MachineStatusSpec_Diagnostic) ProtoMessage() {} func (x *MachineStatusSpec_Diagnostic) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[98] + mi := &file_omni_specs_omni_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7669,7 +7745,7 @@ type MachineStatusSpec_HardwareStatus_Processor struct { func (x *MachineStatusSpec_HardwareStatus_Processor) Reset() { *x = MachineStatusSpec_HardwareStatus_Processor{} - mi := &file_omni_specs_omni_proto_msgTypes[100] + mi := &file_omni_specs_omni_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7681,7 +7757,7 @@ func (x *MachineStatusSpec_HardwareStatus_Processor) String() string { func (*MachineStatusSpec_HardwareStatus_Processor) ProtoMessage() {} func (x *MachineStatusSpec_HardwareStatus_Processor) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[100] + mi := &file_omni_specs_omni_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7745,7 +7821,7 @@ type MachineStatusSpec_HardwareStatus_MemoryModule struct { func (x *MachineStatusSpec_HardwareStatus_MemoryModule) Reset() { *x = MachineStatusSpec_HardwareStatus_MemoryModule{} - mi := &file_omni_specs_omni_proto_msgTypes[101] + mi := &file_omni_specs_omni_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7757,7 +7833,7 @@ func (x *MachineStatusSpec_HardwareStatus_MemoryModule) String() string { func (*MachineStatusSpec_HardwareStatus_MemoryModule) ProtoMessage() {} func (x *MachineStatusSpec_HardwareStatus_MemoryModule) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[101] + mi := &file_omni_specs_omni_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7820,7 +7896,7 @@ type MachineStatusSpec_HardwareStatus_BlockDevice struct { func (x *MachineStatusSpec_HardwareStatus_BlockDevice) Reset() { *x = MachineStatusSpec_HardwareStatus_BlockDevice{} - mi := &file_omni_specs_omni_proto_msgTypes[102] + mi := &file_omni_specs_omni_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7832,7 +7908,7 @@ func (x *MachineStatusSpec_HardwareStatus_BlockDevice) String() string { func (*MachineStatusSpec_HardwareStatus_BlockDevice) ProtoMessage() {} func (x *MachineStatusSpec_HardwareStatus_BlockDevice) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[102] + mi := &file_omni_specs_omni_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7951,7 +8027,7 @@ type MachineStatusSpec_NetworkStatus_NetworkLinkStatus struct { func (x *MachineStatusSpec_NetworkStatus_NetworkLinkStatus) Reset() { *x = MachineStatusSpec_NetworkStatus_NetworkLinkStatus{} - mi := &file_omni_specs_omni_proto_msgTypes[103] + mi := &file_omni_specs_omni_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7963,7 +8039,7 @@ func (x *MachineStatusSpec_NetworkStatus_NetworkLinkStatus) String() string { func (*MachineStatusSpec_NetworkStatus_NetworkLinkStatus) ProtoMessage() {} func (x *MachineStatusSpec_NetworkStatus_NetworkLinkStatus) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[103] + mi := &file_omni_specs_omni_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8023,7 +8099,7 @@ type MachineStatusSpec_Schematic_InitialState struct { func (x *MachineStatusSpec_Schematic_InitialState) Reset() { *x = MachineStatusSpec_Schematic_InitialState{} - mi := &file_omni_specs_omni_proto_msgTypes[104] + mi := &file_omni_specs_omni_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8035,7 +8111,7 @@ func (x *MachineStatusSpec_Schematic_InitialState) String() string { func (*MachineStatusSpec_Schematic_InitialState) ProtoMessage() {} func (x *MachineStatusSpec_Schematic_InitialState) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[104] + mi := &file_omni_specs_omni_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8072,7 +8148,7 @@ type ClusterSpec_Features struct { func (x *ClusterSpec_Features) Reset() { *x = ClusterSpec_Features{} - mi := &file_omni_specs_omni_proto_msgTypes[105] + mi := &file_omni_specs_omni_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8084,7 +8160,7 @@ func (x *ClusterSpec_Features) String() string { func (*ClusterSpec_Features) ProtoMessage() {} func (x *ClusterSpec_Features) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[105] + mi := &file_omni_specs_omni_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8131,7 +8207,7 @@ type ClusterMachineStatusSpec_ProvisionStatus struct { func (x *ClusterMachineStatusSpec_ProvisionStatus) Reset() { *x = ClusterMachineStatusSpec_ProvisionStatus{} - mi := &file_omni_specs_omni_proto_msgTypes[106] + mi := &file_omni_specs_omni_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8143,7 +8219,7 @@ func (x *ClusterMachineStatusSpec_ProvisionStatus) String() string { func (*ClusterMachineStatusSpec_ProvisionStatus) ProtoMessage() {} func (x *ClusterMachineStatusSpec_ProvisionStatus) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[106] + mi := &file_omni_specs_omni_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8188,7 +8264,7 @@ type MachineSetSpec_MachineClass struct { func (x *MachineSetSpec_MachineClass) Reset() { *x = MachineSetSpec_MachineClass{} - mi := &file_omni_specs_omni_proto_msgTypes[107] + mi := &file_omni_specs_omni_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8200,7 +8276,7 @@ func (x *MachineSetSpec_MachineClass) String() string { func (*MachineSetSpec_MachineClass) ProtoMessage() {} func (x *MachineSetSpec_MachineClass) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[107] + mi := &file_omni_specs_omni_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8252,7 +8328,7 @@ type MachineSetSpec_MachineAllocation struct { func (x *MachineSetSpec_MachineAllocation) Reset() { *x = MachineSetSpec_MachineAllocation{} - mi := &file_omni_specs_omni_proto_msgTypes[108] + mi := &file_omni_specs_omni_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8264,7 +8340,7 @@ func (x *MachineSetSpec_MachineAllocation) String() string { func (*MachineSetSpec_MachineAllocation) ProtoMessage() {} func (x *MachineSetSpec_MachineAllocation) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[108] + mi := &file_omni_specs_omni_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8315,7 +8391,7 @@ type MachineSetSpec_BootstrapSpec struct { func (x *MachineSetSpec_BootstrapSpec) Reset() { *x = MachineSetSpec_BootstrapSpec{} - mi := &file_omni_specs_omni_proto_msgTypes[109] + mi := &file_omni_specs_omni_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8327,7 +8403,7 @@ func (x *MachineSetSpec_BootstrapSpec) String() string { func (*MachineSetSpec_BootstrapSpec) ProtoMessage() {} func (x *MachineSetSpec_BootstrapSpec) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[109] + mi := &file_omni_specs_omni_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8369,7 +8445,7 @@ type MachineSetSpec_RollingUpdateStrategyConfig struct { func (x *MachineSetSpec_RollingUpdateStrategyConfig) Reset() { *x = MachineSetSpec_RollingUpdateStrategyConfig{} - mi := &file_omni_specs_omni_proto_msgTypes[110] + mi := &file_omni_specs_omni_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8381,7 +8457,7 @@ func (x *MachineSetSpec_RollingUpdateStrategyConfig) String() string { func (*MachineSetSpec_RollingUpdateStrategyConfig) ProtoMessage() {} func (x *MachineSetSpec_RollingUpdateStrategyConfig) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[110] + mi := &file_omni_specs_omni_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8416,7 +8492,7 @@ type MachineSetSpec_UpdateStrategyConfig struct { func (x *MachineSetSpec_UpdateStrategyConfig) Reset() { *x = MachineSetSpec_UpdateStrategyConfig{} - mi := &file_omni_specs_omni_proto_msgTypes[111] + mi := &file_omni_specs_omni_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8428,7 +8504,7 @@ func (x *MachineSetSpec_UpdateStrategyConfig) String() string { func (*MachineSetSpec_UpdateStrategyConfig) ProtoMessage() {} func (x *MachineSetSpec_UpdateStrategyConfig) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[111] + mi := &file_omni_specs_omni_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8463,7 +8539,7 @@ type ControlPlaneStatusSpec_Condition struct { func (x *ControlPlaneStatusSpec_Condition) Reset() { *x = ControlPlaneStatusSpec_Condition{} - mi := &file_omni_specs_omni_proto_msgTypes[112] + mi := &file_omni_specs_omni_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8475,7 +8551,7 @@ func (x *ControlPlaneStatusSpec_Condition) String() string { func (*ControlPlaneStatusSpec_Condition) ProtoMessage() {} func (x *ControlPlaneStatusSpec_Condition) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[112] + mi := &file_omni_specs_omni_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8530,7 +8606,7 @@ type KubernetesStatusSpec_NodeStatus struct { func (x *KubernetesStatusSpec_NodeStatus) Reset() { *x = KubernetesStatusSpec_NodeStatus{} - mi := &file_omni_specs_omni_proto_msgTypes[113] + mi := &file_omni_specs_omni_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8542,7 +8618,7 @@ func (x *KubernetesStatusSpec_NodeStatus) String() string { func (*KubernetesStatusSpec_NodeStatus) ProtoMessage() {} func (x *KubernetesStatusSpec_NodeStatus) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[113] + mi := &file_omni_specs_omni_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8590,7 +8666,7 @@ type KubernetesStatusSpec_StaticPodStatus struct { func (x *KubernetesStatusSpec_StaticPodStatus) Reset() { *x = KubernetesStatusSpec_StaticPodStatus{} - mi := &file_omni_specs_omni_proto_msgTypes[114] + mi := &file_omni_specs_omni_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8602,7 +8678,7 @@ func (x *KubernetesStatusSpec_StaticPodStatus) String() string { func (*KubernetesStatusSpec_StaticPodStatus) ProtoMessage() {} func (x *KubernetesStatusSpec_StaticPodStatus) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[114] + mi := &file_omni_specs_omni_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8649,7 +8725,7 @@ type KubernetesStatusSpec_NodeStaticPods struct { func (x *KubernetesStatusSpec_NodeStaticPods) Reset() { *x = KubernetesStatusSpec_NodeStaticPods{} - mi := &file_omni_specs_omni_proto_msgTypes[115] + mi := &file_omni_specs_omni_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8661,7 +8737,7 @@ func (x *KubernetesStatusSpec_NodeStaticPods) String() string { func (*KubernetesStatusSpec_NodeStaticPods) ProtoMessage() {} func (x *KubernetesStatusSpec_NodeStaticPods) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[115] + mi := &file_omni_specs_omni_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8705,7 +8781,7 @@ type MachineClassSpec_Provision struct { func (x *MachineClassSpec_Provision) Reset() { *x = MachineClassSpec_Provision{} - mi := &file_omni_specs_omni_proto_msgTypes[116] + mi := &file_omni_specs_omni_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8717,7 +8793,7 @@ func (x *MachineClassSpec_Provision) String() string { func (*MachineClassSpec_Provision) ProtoMessage() {} func (x *MachineClassSpec_Provision) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[116] + mi := &file_omni_specs_omni_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8788,7 +8864,7 @@ type MachineConfigGenOptionsSpec_InstallImage struct { func (x *MachineConfigGenOptionsSpec_InstallImage) Reset() { *x = MachineConfigGenOptionsSpec_InstallImage{} - mi := &file_omni_specs_omni_proto_msgTypes[117] + mi := &file_omni_specs_omni_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8800,7 +8876,7 @@ func (x *MachineConfigGenOptionsSpec_InstallImage) String() string { func (*MachineConfigGenOptionsSpec_InstallImage) ProtoMessage() {} func (x *MachineConfigGenOptionsSpec_InstallImage) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[117] + mi := &file_omni_specs_omni_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8869,7 +8945,7 @@ type KubernetesUsageSpec_Quantity struct { func (x *KubernetesUsageSpec_Quantity) Reset() { *x = KubernetesUsageSpec_Quantity{} - mi := &file_omni_specs_omni_proto_msgTypes[118] + mi := &file_omni_specs_omni_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8881,7 +8957,7 @@ func (x *KubernetesUsageSpec_Quantity) String() string { func (*KubernetesUsageSpec_Quantity) ProtoMessage() {} func (x *KubernetesUsageSpec_Quantity) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[118] + mi := &file_omni_specs_omni_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8928,7 +9004,7 @@ type KubernetesUsageSpec_Pod struct { func (x *KubernetesUsageSpec_Pod) Reset() { *x = KubernetesUsageSpec_Pod{} - mi := &file_omni_specs_omni_proto_msgTypes[119] + mi := &file_omni_specs_omni_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8940,7 +9016,7 @@ func (x *KubernetesUsageSpec_Pod) String() string { func (*KubernetesUsageSpec_Pod) ProtoMessage() {} func (x *KubernetesUsageSpec_Pod) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[119] + mi := &file_omni_specs_omni_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8980,7 +9056,7 @@ type ImagePullRequestSpec_NodeImageList struct { func (x *ImagePullRequestSpec_NodeImageList) Reset() { *x = ImagePullRequestSpec_NodeImageList{} - mi := &file_omni_specs_omni_proto_msgTypes[120] + mi := &file_omni_specs_omni_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8992,7 +9068,7 @@ func (x *ImagePullRequestSpec_NodeImageList) String() string { func (*ImagePullRequestSpec_NodeImageList) ProtoMessage() {} func (x *ImagePullRequestSpec_NodeImageList) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[120] + mi := &file_omni_specs_omni_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9037,7 +9113,7 @@ type TalosExtensionsSpec_Info struct { func (x *TalosExtensionsSpec_Info) Reset() { *x = TalosExtensionsSpec_Info{} - mi := &file_omni_specs_omni_proto_msgTypes[121] + mi := &file_omni_specs_omni_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9049,7 +9125,7 @@ func (x *TalosExtensionsSpec_Info) String() string { func (*TalosExtensionsSpec_Info) ProtoMessage() {} func (x *TalosExtensionsSpec_Info) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[121] + mi := &file_omni_specs_omni_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9118,7 +9194,7 @@ type MachineExtensionsStatusSpec_Item struct { func (x *MachineExtensionsStatusSpec_Item) Reset() { *x = MachineExtensionsStatusSpec_Item{} - mi := &file_omni_specs_omni_proto_msgTypes[122] + mi := &file_omni_specs_omni_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9130,7 +9206,7 @@ func (x *MachineExtensionsStatusSpec_Item) String() string { func (*MachineExtensionsStatusSpec_Item) ProtoMessage() {} func (x *MachineExtensionsStatusSpec_Item) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[122] + mi := &file_omni_specs_omni_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9177,7 +9253,7 @@ type ClusterDiagnosticsSpec_Node struct { func (x *ClusterDiagnosticsSpec_Node) Reset() { *x = ClusterDiagnosticsSpec_Node{} - mi := &file_omni_specs_omni_proto_msgTypes[129] + mi := &file_omni_specs_omni_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9189,7 +9265,7 @@ func (x *ClusterDiagnosticsSpec_Node) String() string { func (*ClusterDiagnosticsSpec_Node) ProtoMessage() {} func (x *ClusterDiagnosticsSpec_Node) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[129] + mi := &file_omni_specs_omni_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9231,7 +9307,7 @@ type InfraMachineBMCConfigSpec_IPMI struct { func (x *InfraMachineBMCConfigSpec_IPMI) Reset() { *x = InfraMachineBMCConfigSpec_IPMI{} - mi := &file_omni_specs_omni_proto_msgTypes[130] + mi := &file_omni_specs_omni_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9243,7 +9319,7 @@ func (x *InfraMachineBMCConfigSpec_IPMI) String() string { func (*InfraMachineBMCConfigSpec_IPMI) ProtoMessage() {} func (x *InfraMachineBMCConfigSpec_IPMI) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[130] + mi := &file_omni_specs_omni_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9296,7 +9372,7 @@ type InfraMachineBMCConfigSpec_API struct { func (x *InfraMachineBMCConfigSpec_API) Reset() { *x = InfraMachineBMCConfigSpec_API{} - mi := &file_omni_specs_omni_proto_msgTypes[131] + mi := &file_omni_specs_omni_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9308,7 +9384,7 @@ func (x *InfraMachineBMCConfigSpec_API) String() string { func (*InfraMachineBMCConfigSpec_API) ProtoMessage() {} func (x *InfraMachineBMCConfigSpec_API) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[131] + mi := &file_omni_specs_omni_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9342,7 +9418,7 @@ type InfraProviderCombinedStatusSpec_Health struct { func (x *InfraProviderCombinedStatusSpec_Health) Reset() { *x = InfraProviderCombinedStatusSpec_Health{} - mi := &file_omni_specs_omni_proto_msgTypes[132] + mi := &file_omni_specs_omni_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9354,7 +9430,7 @@ func (x *InfraProviderCombinedStatusSpec_Health) String() string { func (*InfraProviderCombinedStatusSpec_Health) ProtoMessage() {} func (x *InfraProviderCombinedStatusSpec_Health) ProtoReflect() protoreflect.Message { - mi := &file_omni_specs_omni_proto_msgTypes[132] + mi := &file_omni_specs_omni_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9391,6 +9467,102 @@ func (x *InfraProviderCombinedStatusSpec_Health) GetInitialized() bool { return false } +type InstallationMediaConfigSpec_Cloud struct { + state protoimpl.MessageState `protogen:"open.v1"` + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallationMediaConfigSpec_Cloud) Reset() { + *x = InstallationMediaConfigSpec_Cloud{} + mi := &file_omni_specs_omni_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallationMediaConfigSpec_Cloud) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallationMediaConfigSpec_Cloud) ProtoMessage() {} + +func (x *InstallationMediaConfigSpec_Cloud) ProtoReflect() protoreflect.Message { + mi := &file_omni_specs_omni_proto_msgTypes[134] + 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 InstallationMediaConfigSpec_Cloud.ProtoReflect.Descriptor instead. +func (*InstallationMediaConfigSpec_Cloud) Descriptor() ([]byte, []int) { + return file_omni_specs_omni_proto_rawDescGZIP(), []int{94, 0} +} + +func (x *InstallationMediaConfigSpec_Cloud) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type InstallationMediaConfigSpec_SBC struct { + state protoimpl.MessageState `protogen:"open.v1"` + Overlay string `protobuf:"bytes,1,opt,name=overlay,proto3" json:"overlay,omitempty"` + OverlayOptions map[string]string `protobuf:"bytes,2,rep,name=overlay_options,json=overlayOptions,proto3" json:"overlay_options,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InstallationMediaConfigSpec_SBC) Reset() { + *x = InstallationMediaConfigSpec_SBC{} + mi := &file_omni_specs_omni_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InstallationMediaConfigSpec_SBC) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstallationMediaConfigSpec_SBC) ProtoMessage() {} + +func (x *InstallationMediaConfigSpec_SBC) ProtoReflect() protoreflect.Message { + mi := &file_omni_specs_omni_proto_msgTypes[135] + 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 InstallationMediaConfigSpec_SBC.ProtoReflect.Descriptor instead. +func (*InstallationMediaConfigSpec_SBC) Descriptor() ([]byte, []int) { + return file_omni_specs_omni_proto_rawDescGZIP(), []int{94, 1} +} + +func (x *InstallationMediaConfigSpec_SBC) GetOverlay() string { + if x != nil { + return x.Overlay + } + return "" +} + +func (x *InstallationMediaConfigSpec_SBC) GetOverlayOptions() map[string]string { + if x != nil { + return x.OverlayOptions + } + return nil +} + var File_omni_specs_omni_proto protoreflect.FileDescriptor const file_omni_specs_omni_proto_rawDesc = "" + @@ -10118,7 +10290,22 @@ const file_omni_specs_omni_proto_rawDesc = "" + "\x05error\x18\x02 \x01(\tR\x05error\x12 \n" + "\vinitialized\x18\x03 \x01(\bR\vinitialized\"+\n" + "\x15MachineConfigDiffSpec\x12\x12\n" + - "\x04diff\x18\x01 \x01(\tR\x04diff*F\n" + + "\x04diff\x18\x01 \x01(\tR\x04diff\"\xfa\x03\n" + + "\x1bInstallationMediaConfigSpec\x12\"\n" + + "\farchitecture\x18\x01 \x01(\tR\farchitecture\x12-\n" + + "\x12install_extensions\x18\x02 \x03(\tR\x11installExtensions\x12\x1f\n" + + "\vkernel_args\x18\x03 \x01(\tR\n" + + "kernelArgs\x12>\n" + + "\x05cloud\x18\x04 \x01(\v2(.specs.InstallationMediaConfigSpec.CloudR\x05cloud\x128\n" + + "\x03sbc\x18\x05 \x01(\v2&.specs.InstallationMediaConfigSpec.SBCR\x03sbc\x1a#\n" + + "\x05Cloud\x12\x1a\n" + + "\bplatform\x18\x01 \x01(\tR\bplatform\x1a\xc7\x01\n" + + "\x03SBC\x12\x18\n" + + "\aoverlay\x18\x01 \x01(\tR\aoverlay\x12c\n" + + "\x0foverlay_options\x18\x02 \x03(\v2:.specs.InstallationMediaConfigSpec.SBC.OverlayOptionsEntryR\x0eoverlayOptions\x1aA\n" + + "\x13OverlayOptionsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01*F\n" + "\x11ConfigApplyStatus\x12\v\n" + "\aUNKNOWN\x10\x00\x12\v\n" + "\aPENDING\x10\x01\x12\v\n" + @@ -10157,7 +10344,7 @@ func file_omni_specs_omni_proto_rawDescGZIP() []byte { } var file_omni_specs_omni_proto_enumTypes = make([]protoimpl.EnumInfo, 23) -var file_omni_specs_omni_proto_msgTypes = make([]protoimpl.MessageInfo, 133) +var file_omni_specs_omni_proto_msgTypes = make([]protoimpl.MessageInfo, 137) var file_omni_specs_omni_proto_goTypes = []any{ (ConfigApplyStatus)(0), // 0: specs.ConfigApplyStatus (MachineSetPhase)(0), // 1: specs.MachineSetPhase @@ -10276,90 +10463,94 @@ var file_omni_specs_omni_proto_goTypes = []any{ (*DiscoveryAffiliateDeleteTaskSpec)(nil), // 114: specs.DiscoveryAffiliateDeleteTaskSpec (*InfraProviderCombinedStatusSpec)(nil), // 115: specs.InfraProviderCombinedStatusSpec (*MachineConfigDiffSpec)(nil), // 116: specs.MachineConfigDiffSpec - (*MachineStatusSpec_HardwareStatus)(nil), // 117: specs.MachineStatusSpec.HardwareStatus - (*MachineStatusSpec_NetworkStatus)(nil), // 118: specs.MachineStatusSpec.NetworkStatus - (*MachineStatusSpec_PlatformMetadata)(nil), // 119: specs.MachineStatusSpec.PlatformMetadata - (*MachineStatusSpec_Schematic)(nil), // 120: specs.MachineStatusSpec.Schematic - (*MachineStatusSpec_Diagnostic)(nil), // 121: specs.MachineStatusSpec.Diagnostic - nil, // 122: specs.MachineStatusSpec.ImageLabelsEntry - (*MachineStatusSpec_HardwareStatus_Processor)(nil), // 123: specs.MachineStatusSpec.HardwareStatus.Processor - (*MachineStatusSpec_HardwareStatus_MemoryModule)(nil), // 124: specs.MachineStatusSpec.HardwareStatus.MemoryModule - (*MachineStatusSpec_HardwareStatus_BlockDevice)(nil), // 125: specs.MachineStatusSpec.HardwareStatus.BlockDevice - (*MachineStatusSpec_NetworkStatus_NetworkLinkStatus)(nil), // 126: specs.MachineStatusSpec.NetworkStatus.NetworkLinkStatus - (*MachineStatusSpec_Schematic_InitialState)(nil), // 127: specs.MachineStatusSpec.Schematic.InitialState - (*ClusterSpec_Features)(nil), // 128: specs.ClusterSpec.Features - (*ClusterMachineStatusSpec_ProvisionStatus)(nil), // 129: specs.ClusterMachineStatusSpec.ProvisionStatus - (*MachineSetSpec_MachineClass)(nil), // 130: specs.MachineSetSpec.MachineClass - (*MachineSetSpec_MachineAllocation)(nil), // 131: specs.MachineSetSpec.MachineAllocation - (*MachineSetSpec_BootstrapSpec)(nil), // 132: specs.MachineSetSpec.BootstrapSpec - (*MachineSetSpec_RollingUpdateStrategyConfig)(nil), // 133: specs.MachineSetSpec.RollingUpdateStrategyConfig - (*MachineSetSpec_UpdateStrategyConfig)(nil), // 134: specs.MachineSetSpec.UpdateStrategyConfig - (*ControlPlaneStatusSpec_Condition)(nil), // 135: specs.ControlPlaneStatusSpec.Condition - (*KubernetesStatusSpec_NodeStatus)(nil), // 136: specs.KubernetesStatusSpec.NodeStatus - (*KubernetesStatusSpec_StaticPodStatus)(nil), // 137: specs.KubernetesStatusSpec.StaticPodStatus - (*KubernetesStatusSpec_NodeStaticPods)(nil), // 138: specs.KubernetesStatusSpec.NodeStaticPods - (*MachineClassSpec_Provision)(nil), // 139: specs.MachineClassSpec.Provision - (*MachineConfigGenOptionsSpec_InstallImage)(nil), // 140: specs.MachineConfigGenOptionsSpec.InstallImage - (*KubernetesUsageSpec_Quantity)(nil), // 141: specs.KubernetesUsageSpec.Quantity - (*KubernetesUsageSpec_Pod)(nil), // 142: specs.KubernetesUsageSpec.Pod - (*ImagePullRequestSpec_NodeImageList)(nil), // 143: specs.ImagePullRequestSpec.NodeImageList - (*TalosExtensionsSpec_Info)(nil), // 144: specs.TalosExtensionsSpec.Info - (*MachineExtensionsStatusSpec_Item)(nil), // 145: specs.MachineExtensionsStatusSpec.Item - nil, // 146: specs.MachineStatusMetricsSpec.VersionsMapEntry - nil, // 147: specs.MachineStatusMetricsSpec.PlatformsEntry - nil, // 148: specs.MachineStatusMetricsSpec.SecureBootStatusEntry - nil, // 149: specs.MachineStatusMetricsSpec.UkiStatusEntry - nil, // 150: specs.ClusterMetricsSpec.FeaturesEntry - nil, // 151: specs.ClusterStatusMetricsSpec.PhasesEntry - (*ClusterDiagnosticsSpec_Node)(nil), // 152: specs.ClusterDiagnosticsSpec.Node - (*InfraMachineBMCConfigSpec_IPMI)(nil), // 153: specs.InfraMachineBMCConfigSpec.IPMI - (*InfraMachineBMCConfigSpec_API)(nil), // 154: specs.InfraMachineBMCConfigSpec.API - (*InfraProviderCombinedStatusSpec_Health)(nil), // 155: specs.InfraProviderCombinedStatusSpec.Health - (*durationpb.Duration)(nil), // 156: google.protobuf.Duration - (*timestamppb.Timestamp)(nil), // 157: google.protobuf.Timestamp - (*machine.MachineStatusEvent)(nil), // 158: machine.MachineStatusEvent + (*InstallationMediaConfigSpec)(nil), // 117: specs.InstallationMediaConfigSpec + (*MachineStatusSpec_HardwareStatus)(nil), // 118: specs.MachineStatusSpec.HardwareStatus + (*MachineStatusSpec_NetworkStatus)(nil), // 119: specs.MachineStatusSpec.NetworkStatus + (*MachineStatusSpec_PlatformMetadata)(nil), // 120: specs.MachineStatusSpec.PlatformMetadata + (*MachineStatusSpec_Schematic)(nil), // 121: specs.MachineStatusSpec.Schematic + (*MachineStatusSpec_Diagnostic)(nil), // 122: specs.MachineStatusSpec.Diagnostic + nil, // 123: specs.MachineStatusSpec.ImageLabelsEntry + (*MachineStatusSpec_HardwareStatus_Processor)(nil), // 124: specs.MachineStatusSpec.HardwareStatus.Processor + (*MachineStatusSpec_HardwareStatus_MemoryModule)(nil), // 125: specs.MachineStatusSpec.HardwareStatus.MemoryModule + (*MachineStatusSpec_HardwareStatus_BlockDevice)(nil), // 126: specs.MachineStatusSpec.HardwareStatus.BlockDevice + (*MachineStatusSpec_NetworkStatus_NetworkLinkStatus)(nil), // 127: specs.MachineStatusSpec.NetworkStatus.NetworkLinkStatus + (*MachineStatusSpec_Schematic_InitialState)(nil), // 128: specs.MachineStatusSpec.Schematic.InitialState + (*ClusterSpec_Features)(nil), // 129: specs.ClusterSpec.Features + (*ClusterMachineStatusSpec_ProvisionStatus)(nil), // 130: specs.ClusterMachineStatusSpec.ProvisionStatus + (*MachineSetSpec_MachineClass)(nil), // 131: specs.MachineSetSpec.MachineClass + (*MachineSetSpec_MachineAllocation)(nil), // 132: specs.MachineSetSpec.MachineAllocation + (*MachineSetSpec_BootstrapSpec)(nil), // 133: specs.MachineSetSpec.BootstrapSpec + (*MachineSetSpec_RollingUpdateStrategyConfig)(nil), // 134: specs.MachineSetSpec.RollingUpdateStrategyConfig + (*MachineSetSpec_UpdateStrategyConfig)(nil), // 135: specs.MachineSetSpec.UpdateStrategyConfig + (*ControlPlaneStatusSpec_Condition)(nil), // 136: specs.ControlPlaneStatusSpec.Condition + (*KubernetesStatusSpec_NodeStatus)(nil), // 137: specs.KubernetesStatusSpec.NodeStatus + (*KubernetesStatusSpec_StaticPodStatus)(nil), // 138: specs.KubernetesStatusSpec.StaticPodStatus + (*KubernetesStatusSpec_NodeStaticPods)(nil), // 139: specs.KubernetesStatusSpec.NodeStaticPods + (*MachineClassSpec_Provision)(nil), // 140: specs.MachineClassSpec.Provision + (*MachineConfigGenOptionsSpec_InstallImage)(nil), // 141: specs.MachineConfigGenOptionsSpec.InstallImage + (*KubernetesUsageSpec_Quantity)(nil), // 142: specs.KubernetesUsageSpec.Quantity + (*KubernetesUsageSpec_Pod)(nil), // 143: specs.KubernetesUsageSpec.Pod + (*ImagePullRequestSpec_NodeImageList)(nil), // 144: specs.ImagePullRequestSpec.NodeImageList + (*TalosExtensionsSpec_Info)(nil), // 145: specs.TalosExtensionsSpec.Info + (*MachineExtensionsStatusSpec_Item)(nil), // 146: specs.MachineExtensionsStatusSpec.Item + nil, // 147: specs.MachineStatusMetricsSpec.VersionsMapEntry + nil, // 148: specs.MachineStatusMetricsSpec.PlatformsEntry + nil, // 149: specs.MachineStatusMetricsSpec.SecureBootStatusEntry + nil, // 150: specs.MachineStatusMetricsSpec.UkiStatusEntry + nil, // 151: specs.ClusterMetricsSpec.FeaturesEntry + nil, // 152: specs.ClusterStatusMetricsSpec.PhasesEntry + (*ClusterDiagnosticsSpec_Node)(nil), // 153: specs.ClusterDiagnosticsSpec.Node + (*InfraMachineBMCConfigSpec_IPMI)(nil), // 154: specs.InfraMachineBMCConfigSpec.IPMI + (*InfraMachineBMCConfigSpec_API)(nil), // 155: specs.InfraMachineBMCConfigSpec.API + (*InfraProviderCombinedStatusSpec_Health)(nil), // 156: specs.InfraProviderCombinedStatusSpec.Health + (*InstallationMediaConfigSpec_Cloud)(nil), // 157: specs.InstallationMediaConfigSpec.Cloud + (*InstallationMediaConfigSpec_SBC)(nil), // 158: specs.InstallationMediaConfigSpec.SBC + nil, // 159: specs.InstallationMediaConfigSpec.SBC.OverlayOptionsEntry + (*durationpb.Duration)(nil), // 160: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 161: google.protobuf.Timestamp + (*machine.MachineStatusEvent)(nil), // 162: machine.MachineStatusEvent } var file_omni_specs_omni_proto_depIdxs = []int32{ - 117, // 0: specs.MachineStatusSpec.hardware:type_name -> specs.MachineStatusSpec.HardwareStatus - 118, // 1: specs.MachineStatusSpec.network:type_name -> specs.MachineStatusSpec.NetworkStatus + 118, // 0: specs.MachineStatusSpec.hardware:type_name -> specs.MachineStatusSpec.HardwareStatus + 119, // 1: specs.MachineStatusSpec.network:type_name -> specs.MachineStatusSpec.NetworkStatus 4, // 2: specs.MachineStatusSpec.role:type_name -> specs.MachineStatusSpec.Role - 119, // 3: specs.MachineStatusSpec.platform_metadata:type_name -> specs.MachineStatusSpec.PlatformMetadata - 122, // 4: specs.MachineStatusSpec.image_labels:type_name -> specs.MachineStatusSpec.ImageLabelsEntry - 120, // 5: specs.MachineStatusSpec.schematic:type_name -> specs.MachineStatusSpec.Schematic - 121, // 6: specs.MachineStatusSpec.diagnostics:type_name -> specs.MachineStatusSpec.Diagnostic + 120, // 3: specs.MachineStatusSpec.platform_metadata:type_name -> specs.MachineStatusSpec.PlatformMetadata + 123, // 4: specs.MachineStatusSpec.image_labels:type_name -> specs.MachineStatusSpec.ImageLabelsEntry + 121, // 5: specs.MachineStatusSpec.schematic:type_name -> specs.MachineStatusSpec.Schematic + 122, // 6: specs.MachineStatusSpec.diagnostics:type_name -> specs.MachineStatusSpec.Diagnostic 5, // 7: specs.MachineStatusSpec.power_state:type_name -> specs.MachineStatusSpec.PowerState 24, // 8: specs.MachineStatusSpec.security_state:type_name -> specs.SecurityState - 128, // 9: specs.ClusterSpec.features:type_name -> specs.ClusterSpec.Features + 129, // 9: specs.ClusterSpec.features:type_name -> specs.ClusterSpec.Features 31, // 10: specs.ClusterSpec.backup_configuration:type_name -> specs.EtcdBackupConf - 156, // 11: specs.EtcdBackupConf.interval:type_name -> google.protobuf.Duration - 157, // 12: specs.EtcdBackupSpec.created_at:type_name -> google.protobuf.Timestamp - 156, // 13: specs.BackupDataSpec.interval:type_name -> google.protobuf.Duration + 160, // 11: specs.EtcdBackupConf.interval:type_name -> google.protobuf.Duration + 161, // 12: specs.EtcdBackupSpec.created_at:type_name -> google.protobuf.Timestamp + 160, // 13: specs.BackupDataSpec.interval:type_name -> google.protobuf.Duration 6, // 14: specs.EtcdBackupStatusSpec.status:type_name -> specs.EtcdBackupStatusSpec.Status - 157, // 15: specs.EtcdBackupStatusSpec.last_backup_time:type_name -> google.protobuf.Timestamp - 157, // 16: specs.EtcdBackupStatusSpec.last_backup_attempt:type_name -> google.protobuf.Timestamp - 157, // 17: specs.EtcdManualBackupSpec.backup_at:type_name -> google.protobuf.Timestamp + 161, // 15: specs.EtcdBackupStatusSpec.last_backup_time:type_name -> google.protobuf.Timestamp + 161, // 16: specs.EtcdBackupStatusSpec.last_backup_attempt:type_name -> google.protobuf.Timestamp + 161, // 17: specs.EtcdManualBackupSpec.backup_at:type_name -> google.protobuf.Timestamp 37, // 18: specs.EtcdBackupOverallStatusSpec.last_backup_status:type_name -> specs.EtcdBackupStatusSpec 7, // 19: specs.ClusterMachineStatusSpec.stage:type_name -> specs.ClusterMachineStatusSpec.Stage 0, // 20: specs.ClusterMachineStatusSpec.config_apply_status:type_name -> specs.ConfigApplyStatus - 129, // 21: specs.ClusterMachineStatusSpec.provision_status:type_name -> specs.ClusterMachineStatusSpec.ProvisionStatus + 130, // 21: specs.ClusterMachineStatusSpec.provision_status:type_name -> specs.ClusterMachineStatusSpec.ProvisionStatus 49, // 22: specs.ClusterStatusSpec.machines:type_name -> specs.Machines 8, // 23: specs.ClusterStatusSpec.phase:type_name -> specs.ClusterStatusSpec.Phase 9, // 24: specs.MachineSetSpec.update_strategy:type_name -> specs.MachineSetSpec.UpdateStrategy - 131, // 25: specs.MachineSetSpec.machine_class:type_name -> specs.MachineSetSpec.MachineAllocation - 132, // 26: specs.MachineSetSpec.bootstrap_spec:type_name -> specs.MachineSetSpec.BootstrapSpec + 132, // 25: specs.MachineSetSpec.machine_class:type_name -> specs.MachineSetSpec.MachineAllocation + 133, // 26: specs.MachineSetSpec.bootstrap_spec:type_name -> specs.MachineSetSpec.BootstrapSpec 9, // 27: specs.MachineSetSpec.delete_strategy:type_name -> specs.MachineSetSpec.UpdateStrategy - 134, // 28: specs.MachineSetSpec.update_strategy_config:type_name -> specs.MachineSetSpec.UpdateStrategyConfig - 134, // 29: specs.MachineSetSpec.delete_strategy_config:type_name -> specs.MachineSetSpec.UpdateStrategyConfig - 131, // 30: specs.MachineSetSpec.machine_allocation:type_name -> specs.MachineSetSpec.MachineAllocation + 135, // 28: specs.MachineSetSpec.update_strategy_config:type_name -> specs.MachineSetSpec.UpdateStrategyConfig + 135, // 29: specs.MachineSetSpec.delete_strategy_config:type_name -> specs.MachineSetSpec.UpdateStrategyConfig + 132, // 30: specs.MachineSetSpec.machine_allocation:type_name -> specs.MachineSetSpec.MachineAllocation 12, // 31: specs.TalosUpgradeStatusSpec.phase:type_name -> specs.TalosUpgradeStatusSpec.Phase 1, // 32: specs.MachineSetStatusSpec.phase:type_name -> specs.MachineSetPhase 49, // 33: specs.MachineSetStatusSpec.machines:type_name -> specs.Machines - 131, // 34: specs.MachineSetStatusSpec.machine_allocation:type_name -> specs.MachineSetSpec.MachineAllocation - 158, // 35: specs.MachineStatusSnapshotSpec.machine_status:type_name -> machine.MachineStatusEvent + 132, // 34: specs.MachineSetStatusSpec.machine_allocation:type_name -> specs.MachineSetSpec.MachineAllocation + 162, // 35: specs.MachineStatusSnapshotSpec.machine_status:type_name -> machine.MachineStatusEvent 13, // 36: specs.MachineStatusSnapshotSpec.power_stage:type_name -> specs.MachineStatusSnapshotSpec.PowerStage - 135, // 37: specs.ControlPlaneStatusSpec.conditions:type_name -> specs.ControlPlaneStatusSpec.Condition - 136, // 38: specs.KubernetesStatusSpec.nodes:type_name -> specs.KubernetesStatusSpec.NodeStatus - 138, // 39: specs.KubernetesStatusSpec.static_pods:type_name -> specs.KubernetesStatusSpec.NodeStaticPods + 136, // 37: specs.ControlPlaneStatusSpec.conditions:type_name -> specs.ControlPlaneStatusSpec.Condition + 137, // 38: specs.KubernetesStatusSpec.nodes:type_name -> specs.KubernetesStatusSpec.NodeStatus + 139, // 39: specs.KubernetesStatusSpec.static_pods:type_name -> specs.KubernetesStatusSpec.NodeStaticPods 16, // 40: specs.KubernetesUpgradeStatusSpec.phase:type_name -> specs.KubernetesUpgradeStatusSpec.Phase 64, // 41: specs.OngoingTaskSpec.talos_upgrade:type_name -> specs.TalosUpgradeStatusSpec 72, // 42: specs.OngoingTaskSpec.kubernetes_upgrade:type_name -> specs.KubernetesUpgradeStatusSpec @@ -10368,58 +10559,61 @@ var file_omni_specs_omni_proto_depIdxs = []int32{ 82, // 45: specs.FeaturesConfigSpec.etcd_backup_settings:type_name -> specs.EtcdBackupSettings 80, // 46: specs.FeaturesConfigSpec.user_pilot_settings:type_name -> specs.UserPilotSettings 81, // 47: specs.FeaturesConfigSpec.stripe_settings:type_name -> specs.StripeSettings - 156, // 48: specs.EtcdBackupSettings.tick_interval:type_name -> google.protobuf.Duration - 156, // 49: specs.EtcdBackupSettings.min_interval:type_name -> google.protobuf.Duration - 156, // 50: specs.EtcdBackupSettings.max_interval:type_name -> google.protobuf.Duration - 139, // 51: specs.MachineClassSpec.auto_provision:type_name -> specs.MachineClassSpec.Provision - 140, // 52: specs.MachineConfigGenOptionsSpec.install_image:type_name -> specs.MachineConfigGenOptionsSpec.InstallImage - 141, // 53: specs.KubernetesUsageSpec.cpu:type_name -> specs.KubernetesUsageSpec.Quantity - 141, // 54: specs.KubernetesUsageSpec.mem:type_name -> specs.KubernetesUsageSpec.Quantity - 141, // 55: specs.KubernetesUsageSpec.storage:type_name -> specs.KubernetesUsageSpec.Quantity - 142, // 56: specs.KubernetesUsageSpec.pods:type_name -> specs.KubernetesUsageSpec.Pod - 143, // 57: specs.ImagePullRequestSpec.node_image_list:type_name -> specs.ImagePullRequestSpec.NodeImageList - 144, // 58: specs.TalosExtensionsSpec.items:type_name -> specs.TalosExtensionsSpec.Info + 160, // 48: specs.EtcdBackupSettings.tick_interval:type_name -> google.protobuf.Duration + 160, // 49: specs.EtcdBackupSettings.min_interval:type_name -> google.protobuf.Duration + 160, // 50: specs.EtcdBackupSettings.max_interval:type_name -> google.protobuf.Duration + 140, // 51: specs.MachineClassSpec.auto_provision:type_name -> specs.MachineClassSpec.Provision + 141, // 52: specs.MachineConfigGenOptionsSpec.install_image:type_name -> specs.MachineConfigGenOptionsSpec.InstallImage + 142, // 53: specs.KubernetesUsageSpec.cpu:type_name -> specs.KubernetesUsageSpec.Quantity + 142, // 54: specs.KubernetesUsageSpec.mem:type_name -> specs.KubernetesUsageSpec.Quantity + 142, // 55: specs.KubernetesUsageSpec.storage:type_name -> specs.KubernetesUsageSpec.Quantity + 143, // 56: specs.KubernetesUsageSpec.pods:type_name -> specs.KubernetesUsageSpec.Pod + 144, // 57: specs.ImagePullRequestSpec.node_image_list:type_name -> specs.ImagePullRequestSpec.NodeImageList + 145, // 58: specs.TalosExtensionsSpec.items:type_name -> specs.TalosExtensionsSpec.Info 17, // 59: specs.MachineUpgradeStatusSpec.phase:type_name -> specs.MachineUpgradeStatusSpec.Phase 18, // 60: specs.ExtensionsConfigurationStatusSpec.phase:type_name -> specs.ExtensionsConfigurationStatusSpec.Phase - 145, // 61: specs.MachineExtensionsStatusSpec.extensions:type_name -> specs.MachineExtensionsStatusSpec.Item - 146, // 62: specs.MachineStatusMetricsSpec.versions_map:type_name -> specs.MachineStatusMetricsSpec.VersionsMapEntry - 147, // 63: specs.MachineStatusMetricsSpec.platforms:type_name -> specs.MachineStatusMetricsSpec.PlatformsEntry - 148, // 64: specs.MachineStatusMetricsSpec.secure_boot_status:type_name -> specs.MachineStatusMetricsSpec.SecureBootStatusEntry - 149, // 65: specs.MachineStatusMetricsSpec.uki_status:type_name -> specs.MachineStatusMetricsSpec.UkiStatusEntry - 150, // 66: specs.ClusterMetricsSpec.features:type_name -> specs.ClusterMetricsSpec.FeaturesEntry - 151, // 67: specs.ClusterStatusMetricsSpec.phases:type_name -> specs.ClusterStatusMetricsSpec.PhasesEntry + 146, // 61: specs.MachineExtensionsStatusSpec.extensions:type_name -> specs.MachineExtensionsStatusSpec.Item + 147, // 62: specs.MachineStatusMetricsSpec.versions_map:type_name -> specs.MachineStatusMetricsSpec.VersionsMapEntry + 148, // 63: specs.MachineStatusMetricsSpec.platforms:type_name -> specs.MachineStatusMetricsSpec.PlatformsEntry + 149, // 64: specs.MachineStatusMetricsSpec.secure_boot_status:type_name -> specs.MachineStatusMetricsSpec.SecureBootStatusEntry + 150, // 65: specs.MachineStatusMetricsSpec.uki_status:type_name -> specs.MachineStatusMetricsSpec.UkiStatusEntry + 151, // 66: specs.ClusterMetricsSpec.features:type_name -> specs.ClusterMetricsSpec.FeaturesEntry + 152, // 67: specs.ClusterStatusMetricsSpec.phases:type_name -> specs.ClusterStatusMetricsSpec.PhasesEntry 26, // 68: specs.MachineRequestSetSpec.meta_values:type_name -> specs.MetaValue 3, // 69: specs.MachineRequestSetSpec.grpc_tunnel:type_name -> specs.GrpcTunnelMode - 152, // 70: specs.ClusterDiagnosticsSpec.nodes:type_name -> specs.ClusterDiagnosticsSpec.Node + 153, // 70: specs.ClusterDiagnosticsSpec.nodes:type_name -> specs.ClusterDiagnosticsSpec.Node 20, // 71: specs.ClusterMachineRequestStatusSpec.stage:type_name -> specs.ClusterMachineRequestStatusSpec.Stage 22, // 72: specs.InfraMachineConfigSpec.power_state:type_name -> specs.InfraMachineConfigSpec.MachinePowerState 21, // 73: specs.InfraMachineConfigSpec.acceptance_status:type_name -> specs.InfraMachineConfigSpec.AcceptanceStatus - 153, // 74: specs.InfraMachineBMCConfigSpec.ipmi:type_name -> specs.InfraMachineBMCConfigSpec.IPMI - 154, // 75: specs.InfraMachineBMCConfigSpec.api:type_name -> specs.InfraMachineBMCConfigSpec.API - 155, // 76: specs.InfraProviderCombinedStatusSpec.health:type_name -> specs.InfraProviderCombinedStatusSpec.Health - 123, // 77: specs.MachineStatusSpec.HardwareStatus.processors:type_name -> specs.MachineStatusSpec.HardwareStatus.Processor - 124, // 78: specs.MachineStatusSpec.HardwareStatus.memory_modules:type_name -> specs.MachineStatusSpec.HardwareStatus.MemoryModule - 125, // 79: specs.MachineStatusSpec.HardwareStatus.blockdevices:type_name -> specs.MachineStatusSpec.HardwareStatus.BlockDevice - 126, // 80: specs.MachineStatusSpec.NetworkStatus.network_links:type_name -> specs.MachineStatusSpec.NetworkStatus.NetworkLinkStatus - 25, // 81: specs.MachineStatusSpec.Schematic.overlay:type_name -> specs.Overlay - 26, // 82: specs.MachineStatusSpec.Schematic.meta_values:type_name -> specs.MetaValue - 127, // 83: specs.MachineStatusSpec.Schematic.initial_state:type_name -> specs.MachineStatusSpec.Schematic.InitialState - 10, // 84: specs.MachineSetSpec.MachineClass.allocation_type:type_name -> specs.MachineSetSpec.MachineClass.Type - 11, // 85: specs.MachineSetSpec.MachineAllocation.allocation_type:type_name -> specs.MachineSetSpec.MachineAllocation.Type - 133, // 86: specs.MachineSetSpec.UpdateStrategyConfig.rolling:type_name -> specs.MachineSetSpec.RollingUpdateStrategyConfig - 2, // 87: specs.ControlPlaneStatusSpec.Condition.type:type_name -> specs.ConditionType - 14, // 88: specs.ControlPlaneStatusSpec.Condition.status:type_name -> specs.ControlPlaneStatusSpec.Condition.Status - 15, // 89: specs.ControlPlaneStatusSpec.Condition.severity:type_name -> specs.ControlPlaneStatusSpec.Condition.Severity - 137, // 90: specs.KubernetesStatusSpec.NodeStaticPods.static_pods:type_name -> specs.KubernetesStatusSpec.StaticPodStatus - 26, // 91: specs.MachineClassSpec.Provision.meta_values:type_name -> specs.MetaValue - 3, // 92: specs.MachineClassSpec.Provision.grpc_tunnel:type_name -> specs.GrpcTunnelMode - 24, // 93: specs.MachineConfigGenOptionsSpec.InstallImage.security_state:type_name -> specs.SecurityState - 19, // 94: specs.MachineExtensionsStatusSpec.Item.phase:type_name -> specs.MachineExtensionsStatusSpec.Item.Phase - 95, // [95:95] is the sub-list for method output_type - 95, // [95:95] is the sub-list for method input_type - 95, // [95:95] is the sub-list for extension type_name - 95, // [95:95] is the sub-list for extension extendee - 0, // [0:95] is the sub-list for field type_name + 154, // 74: specs.InfraMachineBMCConfigSpec.ipmi:type_name -> specs.InfraMachineBMCConfigSpec.IPMI + 155, // 75: specs.InfraMachineBMCConfigSpec.api:type_name -> specs.InfraMachineBMCConfigSpec.API + 156, // 76: specs.InfraProviderCombinedStatusSpec.health:type_name -> specs.InfraProviderCombinedStatusSpec.Health + 157, // 77: specs.InstallationMediaConfigSpec.cloud:type_name -> specs.InstallationMediaConfigSpec.Cloud + 158, // 78: specs.InstallationMediaConfigSpec.sbc:type_name -> specs.InstallationMediaConfigSpec.SBC + 124, // 79: specs.MachineStatusSpec.HardwareStatus.processors:type_name -> specs.MachineStatusSpec.HardwareStatus.Processor + 125, // 80: specs.MachineStatusSpec.HardwareStatus.memory_modules:type_name -> specs.MachineStatusSpec.HardwareStatus.MemoryModule + 126, // 81: specs.MachineStatusSpec.HardwareStatus.blockdevices:type_name -> specs.MachineStatusSpec.HardwareStatus.BlockDevice + 127, // 82: specs.MachineStatusSpec.NetworkStatus.network_links:type_name -> specs.MachineStatusSpec.NetworkStatus.NetworkLinkStatus + 25, // 83: specs.MachineStatusSpec.Schematic.overlay:type_name -> specs.Overlay + 26, // 84: specs.MachineStatusSpec.Schematic.meta_values:type_name -> specs.MetaValue + 128, // 85: specs.MachineStatusSpec.Schematic.initial_state:type_name -> specs.MachineStatusSpec.Schematic.InitialState + 10, // 86: specs.MachineSetSpec.MachineClass.allocation_type:type_name -> specs.MachineSetSpec.MachineClass.Type + 11, // 87: specs.MachineSetSpec.MachineAllocation.allocation_type:type_name -> specs.MachineSetSpec.MachineAllocation.Type + 134, // 88: specs.MachineSetSpec.UpdateStrategyConfig.rolling:type_name -> specs.MachineSetSpec.RollingUpdateStrategyConfig + 2, // 89: specs.ControlPlaneStatusSpec.Condition.type:type_name -> specs.ConditionType + 14, // 90: specs.ControlPlaneStatusSpec.Condition.status:type_name -> specs.ControlPlaneStatusSpec.Condition.Status + 15, // 91: specs.ControlPlaneStatusSpec.Condition.severity:type_name -> specs.ControlPlaneStatusSpec.Condition.Severity + 138, // 92: specs.KubernetesStatusSpec.NodeStaticPods.static_pods:type_name -> specs.KubernetesStatusSpec.StaticPodStatus + 26, // 93: specs.MachineClassSpec.Provision.meta_values:type_name -> specs.MetaValue + 3, // 94: specs.MachineClassSpec.Provision.grpc_tunnel:type_name -> specs.GrpcTunnelMode + 24, // 95: specs.MachineConfigGenOptionsSpec.InstallImage.security_state:type_name -> specs.SecurityState + 19, // 96: specs.MachineExtensionsStatusSpec.Item.phase:type_name -> specs.MachineExtensionsStatusSpec.Item.Phase + 159, // 97: specs.InstallationMediaConfigSpec.SBC.overlay_options:type_name -> specs.InstallationMediaConfigSpec.SBC.OverlayOptionsEntry + 98, // [98:98] is the sub-list for method output_type + 98, // [98:98] is the sub-list for method input_type + 98, // [98:98] is the sub-list for extension type_name + 98, // [98:98] is the sub-list for extension extendee + 0, // [0:98] is the sub-list for field type_name } func init() { file_omni_specs_omni_proto_init() } @@ -10439,7 +10633,7 @@ func file_omni_specs_omni_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_omni_specs_omni_proto_rawDesc), len(file_omni_specs_omni_proto_rawDesc)), NumEnums: 23, - NumMessages: 133, + NumMessages: 137, NumExtensions: 0, NumServices: 0, }, diff --git a/client/api/omni/specs/omni.proto b/client/api/omni/specs/omni.proto index adb2c7928..e9b5b54c3 100644 --- a/client/api/omni/specs/omni.proto +++ b/client/api/omni/specs/omni.proto @@ -1440,3 +1440,21 @@ message InfraProviderCombinedStatusSpec { message MachineConfigDiffSpec { string diff = 1; } + +message InstallationMediaConfigSpec { + message Cloud { + string platform = 1; + } + + message SBC { + string overlay = 1; + map overlay_options = 2; + } + + string architecture = 1; + repeated string install_extensions = 2; + string kernel_args = 3; + + Cloud cloud = 4; + SBC sbc = 5; +} diff --git a/client/api/omni/specs/omni_vtproto.pb.go b/client/api/omni/specs/omni_vtproto.pb.go index 2adf3e0de..3440115b3 100644 --- a/client/api/omni/specs/omni_vtproto.pb.go +++ b/client/api/omni/specs/omni_vtproto.pb.go @@ -2784,6 +2784,72 @@ func (m *MachineConfigDiffSpec) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *InstallationMediaConfigSpec_Cloud) CloneVT() *InstallationMediaConfigSpec_Cloud { + if m == nil { + return (*InstallationMediaConfigSpec_Cloud)(nil) + } + r := new(InstallationMediaConfigSpec_Cloud) + r.Platform = m.Platform + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *InstallationMediaConfigSpec_Cloud) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *InstallationMediaConfigSpec_SBC) CloneVT() *InstallationMediaConfigSpec_SBC { + if m == nil { + return (*InstallationMediaConfigSpec_SBC)(nil) + } + r := new(InstallationMediaConfigSpec_SBC) + r.Overlay = m.Overlay + if rhs := m.OverlayOptions; rhs != nil { + tmpContainer := make(map[string]string, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v + } + r.OverlayOptions = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *InstallationMediaConfigSpec_SBC) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *InstallationMediaConfigSpec) CloneVT() *InstallationMediaConfigSpec { + if m == nil { + return (*InstallationMediaConfigSpec)(nil) + } + r := new(InstallationMediaConfigSpec) + r.Architecture = m.Architecture + r.KernelArgs = m.KernelArgs + r.Cloud = m.Cloud.CloneVT() + r.Sbc = m.Sbc.CloneVT() + if rhs := m.InstallExtensions; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.InstallExtensions = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *InstallationMediaConfigSpec) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (this *MachineSpec) EqualVT(that *MachineSpec) bool { if this == that { return true @@ -6573,6 +6639,93 @@ func (this *MachineConfigDiffSpec) EqualMessageVT(thatMsg proto.Message) bool { } return this.EqualVT(that) } +func (this *InstallationMediaConfigSpec_Cloud) EqualVT(that *InstallationMediaConfigSpec_Cloud) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Platform != that.Platform { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *InstallationMediaConfigSpec_Cloud) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*InstallationMediaConfigSpec_Cloud) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *InstallationMediaConfigSpec_SBC) EqualVT(that *InstallationMediaConfigSpec_SBC) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Overlay != that.Overlay { + return false + } + if len(this.OverlayOptions) != len(that.OverlayOptions) { + return false + } + for i, vx := range this.OverlayOptions { + vy, ok := that.OverlayOptions[i] + if !ok { + return false + } + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *InstallationMediaConfigSpec_SBC) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*InstallationMediaConfigSpec_SBC) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *InstallationMediaConfigSpec) EqualVT(that *InstallationMediaConfigSpec) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Architecture != that.Architecture { + return false + } + if len(this.InstallExtensions) != len(that.InstallExtensions) { + return false + } + for i, vx := range this.InstallExtensions { + vy := that.InstallExtensions[i] + if vx != vy { + return false + } + } + if this.KernelArgs != that.KernelArgs { + return false + } + if !this.Cloud.EqualVT(that.Cloud) { + return false + } + if !this.Sbc.EqualVT(that.Sbc) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *InstallationMediaConfigSpec) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*InstallationMediaConfigSpec) + if !ok { + return false + } + return this.EqualVT(that) +} func (m *MachineSpec) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -13995,6 +14148,181 @@ func (m *MachineConfigDiffSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *InstallationMediaConfigSpec_Cloud) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InstallationMediaConfigSpec_Cloud) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InstallationMediaConfigSpec_Cloud) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Platform) > 0 { + i -= len(m.Platform) + copy(dAtA[i:], m.Platform) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Platform))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *InstallationMediaConfigSpec_SBC) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InstallationMediaConfigSpec_SBC) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InstallationMediaConfigSpec_SBC) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.OverlayOptions) > 0 { + for k := range m.OverlayOptions { + v := m.OverlayOptions[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = protohelpers.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Overlay) > 0 { + i -= len(m.Overlay) + copy(dAtA[i:], m.Overlay) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Overlay))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *InstallationMediaConfigSpec) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InstallationMediaConfigSpec) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InstallationMediaConfigSpec) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Sbc != nil { + size, err := m.Sbc.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Cloud != nil { + size, err := m.Cloud.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if len(m.KernelArgs) > 0 { + i -= len(m.KernelArgs) + copy(dAtA[i:], m.KernelArgs) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.KernelArgs))) + i-- + dAtA[i] = 0x1a + } + if len(m.InstallExtensions) > 0 { + for iNdEx := len(m.InstallExtensions) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.InstallExtensions[iNdEx]) + copy(dAtA[i:], m.InstallExtensions[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.InstallExtensions[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Architecture) > 0 { + i -= len(m.Architecture) + copy(dAtA[i:], m.Architecture) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Architecture))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *MachineSpec) SizeVT() (n int) { if m == nil { return 0 @@ -16913,6 +17241,74 @@ func (m *MachineConfigDiffSpec) SizeVT() (n int) { return n } +func (m *InstallationMediaConfigSpec_Cloud) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Platform) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *InstallationMediaConfigSpec_SBC) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Overlay) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.OverlayOptions) > 0 { + for k, v := range m.OverlayOptions { + _ = k + _ = v + mapEntrySize := 1 + len(k) + protohelpers.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protohelpers.SizeOfVarint(uint64(len(v))) + n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *InstallationMediaConfigSpec) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Architecture) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.InstallExtensions) > 0 { + for _, s := range m.InstallExtensions { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + l = len(m.KernelArgs) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Cloud != nil { + l = m.Cloud.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Sbc != nil { + l = m.Sbc.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *MachineSpec) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -35674,3 +36070,515 @@ func (m *MachineConfigDiffSpec) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *InstallationMediaConfigSpec_Cloud) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InstallationMediaConfigSpec_Cloud: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InstallationMediaConfigSpec_Cloud: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Platform", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Platform = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *InstallationMediaConfigSpec_SBC) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InstallationMediaConfigSpec_SBC: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InstallationMediaConfigSpec_SBC: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Overlay", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Overlay = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OverlayOptions", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.OverlayOptions == nil { + m.OverlayOptions = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protohelpers.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protohelpers.ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protohelpers.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protohelpers.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.OverlayOptions[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *InstallationMediaConfigSpec) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InstallationMediaConfigSpec: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InstallationMediaConfigSpec: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Architecture", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Architecture = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InstallExtensions", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InstallExtensions = append(m.InstallExtensions, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KernelArgs", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.KernelArgs = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Cloud", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Cloud == nil { + m.Cloud = &InstallationMediaConfigSpec_Cloud{} + } + if err := m.Cloud.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sbc", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Sbc == nil { + m.Sbc = &InstallationMediaConfigSpec_SBC{} + } + if err := m.Sbc.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/client/pkg/omni/resources/common/common.go b/client/pkg/omni/resources/common/common.go index 603079742..7729bef37 100644 --- a/client/pkg/omni/resources/common/common.go +++ b/client/pkg/omni/resources/common/common.go @@ -36,6 +36,7 @@ var UserManagedResourceTypes = []resource.Type{ omni.ImportedClusterSecretsType, omni.InfraMachineBMCConfigType, omni.InfraMachineConfigType, + omni.InstallationMediaConfigType, omni.NodeForceDestroyRequestType, infra.ProviderType, } diff --git a/client/pkg/omni/resources/omni/installation_media_config.go b/client/pkg/omni/resources/omni/installation_media_config.go new file mode 100644 index 000000000..d101dce58 --- /dev/null +++ b/client/pkg/omni/resources/omni/installation_media_config.go @@ -0,0 +1,49 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. + +package omni + +import ( + "github.com/cosi-project/runtime/pkg/resource" + "github.com/cosi-project/runtime/pkg/resource/meta" + "github.com/cosi-project/runtime/pkg/resource/protobuf" + "github.com/cosi-project/runtime/pkg/resource/typed" + + "github.com/siderolabs/omni/client/api/omni/specs" + "github.com/siderolabs/omni/client/pkg/omni/resources" +) + +// NewInstallationMediaConfig creates new InstallationMediaConfig state. +func NewInstallationMediaConfig(name string) *InstallationMediaConfig { + return typed.NewResource[InstallationMediaConfigSpec, InstallationMediaConfigExtension]( + resource.NewMetadata(resources.DefaultNamespace, InstallationMediaConfigType, name, resource.VersionUndefined), + protobuf.NewResourceSpec(&specs.InstallationMediaConfigSpec{}), + ) +} + +const ( + // InstallationMediaConfigType is the type of InstallationMediaConfig resource. + // + // tsgen:InstallationMediaConfigType + InstallationMediaConfigType = resource.Type("InstallationMediaConfigs.omni.sidero.dev") +) + +// InstallationMediaConfig resource describes a saved installation media download preset. +type InstallationMediaConfig = typed.Resource[InstallationMediaConfigSpec, InstallationMediaConfigExtension] + +// InstallationMediaConfigSpec wraps specs.InstallationMediaConfigSpec. +type InstallationMediaConfigSpec = protobuf.ResourceSpec[specs.InstallationMediaConfigSpec, *specs.InstallationMediaConfigSpec] + +// InstallationMediaConfigExtension providers auxiliary methods for InstallationMediaConfig resource. +type InstallationMediaConfigExtension struct{} + +// ResourceDefinition implements [typed.Extension] interface. +func (InstallationMediaConfigExtension) ResourceDefinition() meta.ResourceDefinitionSpec { + return meta.ResourceDefinitionSpec{ + Type: InstallationMediaConfigType, + Aliases: []resource.Type{}, + DefaultNamespace: resources.DefaultNamespace, + PrintColumns: []meta.PrintColumn{}, + } +} diff --git a/client/pkg/omni/resources/omni/omni.go b/client/pkg/omni/resources/omni/omni.go index f34b48ece..3f01c4b0e 100644 --- a/client/pkg/omni/resources/omni/omni.go +++ b/client/pkg/omni/resources/omni/omni.go @@ -54,6 +54,7 @@ func init() { registry.MustRegisterResource(InfraMachineConfigType, &InfraMachineConfig{}) registry.MustRegisterResource(InfraProviderCombinedStatusType, &InfraProviderCombinedStatus{}) registry.MustRegisterResource(InstallationMediaType, &InstallationMedia{}) + registry.MustRegisterResource(InstallationMediaConfigType, &InstallationMediaConfig{}) registry.MustRegisterResource(ControlPlaneStatusType, &ControlPlaneStatus{}) registry.MustRegisterResource(KubeconfigType, &Kubeconfig{}) registry.MustRegisterResource(KubernetesNodeAuditResultType, &KubernetesNodeAuditResult{}) diff --git a/frontend/src/api/omni/specs/omni.pb.ts b/frontend/src/api/omni/specs/omni.pb.ts index 1d4a09ce6..1ec93b4cc 100644 --- a/frontend/src/api/omni/specs/omni.pb.ts +++ b/frontend/src/api/omni/specs/omni.pb.ts @@ -957,4 +957,21 @@ export type InfraProviderCombinedStatusSpec = { export type MachineConfigDiffSpec = { diff?: string +} + +export type InstallationMediaConfigSpecCloud = { + platform?: string +} + +export type InstallationMediaConfigSpecSBC = { + overlay?: string + overlay_options?: {[key: string]: string} +} + +export type InstallationMediaConfigSpec = { + architecture?: string + install_extensions?: string[] + kernel_args?: string + cloud?: InstallationMediaConfigSpecCloud + sbc?: InstallationMediaConfigSpecSBC } \ No newline at end of file diff --git a/internal/backend/runtime/omni/omni.go b/internal/backend/runtime/omni/omni.go index 924eac1f2..ef3fcac9e 100644 --- a/internal/backend/runtime/omni/omni.go +++ b/internal/backend/runtime/omni/omni.go @@ -131,6 +131,7 @@ func NewRuntime(talosClientFactory *talos.ClientFactory, dnsService *dns.Service safe.WithResourceCache[*omni.ImagePullRequest](), safe.WithResourceCache[*omni.ImagePullStatus](), safe.WithResourceCache[*omni.ImportedClusterSecrets](), + safe.WithResourceCache[*omni.InstallationMediaConfig](), safe.WithResourceCache[*omni.InfraProviderCombinedStatus](), safe.WithResourceCache[*omni.Kubeconfig](), safe.WithResourceCache[*omni.KubernetesNodeAuditResult](), @@ -426,6 +427,7 @@ func NewRuntime(talosClientFactory *talos.ClientFactory, dnsService *dns.Service joinTokenValidationOptions(cachedState), defaultJoinTokenValidationOptions(cachedState), importedClusterSecretValidationOptions(cachedState, config.Config.Features.EnableClusterImport), + installationMediaConfigOptions(), ) return &Runtime{ diff --git a/internal/backend/runtime/omni/state_access.go b/internal/backend/runtime/omni/state_access.go index a5fe58f6b..b9993fbd5 100644 --- a/internal/backend/runtime/omni/state_access.go +++ b/internal/backend/runtime/omni/state_access.go @@ -437,6 +437,7 @@ func filterAccess(ctx context.Context, access state.Access) error { omni.SchematicType, omni.SchematicConfigurationType, omni.InfraProviderCombinedStatusType, + omni.InstallationMediaConfigType, omni.ExtensionsConfigurationType, omni.ExtensionsConfigurationStatusType, omni.MachineUpgradeStatusType, @@ -593,6 +594,7 @@ func filterAccessByType(access state.Access) error { omni.TalosVersionType, omni.TalosUpgradeStatusType, omni.InstallationMediaType, + omni.InstallationMediaConfigType, omni.OngoingTaskType, omni.RedactedClusterMachineConfigType, omni.MachineConfigDiffType, diff --git a/internal/backend/runtime/omni/state_validation.go b/internal/backend/runtime/omni/state_validation.go index f53ccc1b6..91a2ec7ad 100644 --- a/internal/backend/runtime/omni/state_validation.go +++ b/internal/backend/runtime/omni/state_validation.go @@ -1459,3 +1459,23 @@ func validateImportedClusterSecrets(ctx context.Context, st state.State, res *om return nil } + +func installationMediaConfigOptions() []validated.StateOption { + validateInstallationMedia := func(res *omni.InstallationMediaConfig) error { + if res.TypedSpec().Value.Cloud != nil && res.TypedSpec().Value.Sbc != nil { + return errors.New("invalid installation media config: both sbc and cloud field is set") + } + + return nil + } + + return []validated.StateOption{ + validated.WithCreateValidations(validated.NewCreateValidationForType(func(ctx context.Context, res *omni.InstallationMediaConfig, _ ...state.CreateOption) error { + return validateInstallationMedia(res) + })), + validated.WithUpdateValidations(validated.NewUpdateValidationForType( + func(ctx context.Context, _, newRes *omni.InstallationMediaConfig, _ ...state.UpdateOption) error { + return validateInstallationMedia(newRes) + })), + } +} diff --git a/internal/integration/auth_test.go b/internal/integration/auth_test.go index c9b0f0bb7..e249afed0 100644 --- a/internal/integration/auth_test.go +++ b/internal/integration/auth_test.go @@ -666,6 +666,7 @@ func AssertResourceAuthz(rootCtx context.Context, rootCli *client.Client, client machineClass := omni.NewMachineClass(resources.DefaultNamespace, uuid.New().String()) machineRequestSet := omni.NewMachineRequestSet(resources.DefaultNamespace, uuid.New().String()) infraMachineConfig := omni.NewInfraMachineConfig(resources.DefaultNamespace, uuid.New().String()) + installationMediaConfig := omni.NewInstallationMediaConfig(uuid.NewString()) extensionsConfiguration := omni.NewExtensionsConfiguration(resources.DefaultNamespace, uuid.New().String()) extensionsConfiguration.Metadata().Labels().Set(omni.LabelCluster, cluster.Metadata().ID()) @@ -744,6 +745,10 @@ func AssertResourceAuthz(rootCtx context.Context, rootCli *client.Client, client resource: machineSetNode, allowedVerbSet: allVerbsSet, }, + { + resource: installationMediaConfig, + allowedVerbSet: allVerbsSet, + }, { resource: omni.NewNodeForceDestroyRequest(uuid.New().String()), allowedVerbSet: allVerbsSet,