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  }