github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/api/migrate/v1beta2tov1.go (about) 1 package migrate 2 3 import ( 4 "github.com/caos/orbos/internal/operator/boom/api/latest" 5 "github.com/caos/orbos/internal/operator/boom/api/v1beta2" 6 ) 7 8 func V1beta2Tov1(oldToolset *v1beta2.Toolset) (newToolset *latest.Toolset) { 9 10 newToolset = &latest.Toolset{ 11 APIVersion: "boom.caos.ch/v1", 12 Metadata: &latest.Metadata{ 13 Name: oldToolset.Metadata.Name, 14 Namespace: oldToolset.Metadata.Namespace, 15 }, 16 Kind: "Toolset", 17 Spec: &latest.ToolsetSpec{ 18 Boom: oldToolset.Spec.Boom, 19 ForceApply: oldToolset.Spec.ForceApply, 20 CurrentStateFolder: oldToolset.Spec.CurrentStateFolder, 21 PreApply: oldToolset.Spec.PreApply, 22 PostApply: oldToolset.Spec.PostApply, 23 MetricCollection: oldToolset.Spec.MetricCollection, 24 // LogCollection: oldToolset.Spec.LogCollection, 25 NodeMetricsExporter: oldToolset.Spec.NodeMetricsExporter, 26 SystemdMetricsExporter: oldToolset.Spec.SystemdMetricsExporter, 27 Monitoring: oldToolset.Spec.Monitoring, 28 APIGateway: oldToolset.Spec.APIGateway, 29 KubeMetricsExporter: oldToolset.Spec.KubeMetricsExporter, 30 Reconciling: oldToolset.Spec.Reconciling, 31 MetricsPersisting: oldToolset.Spec.MetricsPersisting, 32 LogsPersisting: oldToolset.Spec.LogsPersisting, 33 MetricsServer: oldToolset.Spec.MetricsServer, 34 }, 35 } 36 37 if oldToolset.Spec.LogCollection == nil { 38 return newToolset 39 } 40 newToolset.Spec.LogCollection = &latest.LogCollection{ 41 Deploy: oldToolset.Spec.LogCollection.Deploy, 42 } 43 44 if oldToolset.Spec.LogCollection.FluentdPVC != nil { 45 if newToolset.Spec.LogCollection.Fluentd == nil { 46 newToolset.Spec.LogCollection.Fluentd = &latest.Fluentd{} 47 } 48 newToolset.Spec.LogCollection.Fluentd.PVC = oldToolset.Spec.LogCollection.FluentdPVC 49 } 50 51 if oldToolset.Spec.LogCollection.Resources == nil && 52 oldToolset.Spec.LogCollection.Tolerations == nil && 53 oldToolset.Spec.LogCollection.NodeSelector == nil { 54 return newToolset 55 } 56 57 newToolset.Spec.LogCollection.Operator = &latest.Component{ 58 NodeSelector: oldToolset.Spec.LogCollection.NodeSelector, 59 Tolerations: oldToolset.Spec.LogCollection.Tolerations, 60 Resources: oldToolset.Spec.LogCollection.Resources, 61 } 62 63 return newToolset 64 }