github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/logspersisting/helm.go (about)

     1  package logspersisting
     2  
     3  import (
     4  	toolsetslatest "github.com/caos/orbos/internal/operator/boom/api/latest"
     5  	"github.com/caos/orbos/internal/operator/boom/application/applications/logspersisting/helm"
     6  	"github.com/caos/orbos/internal/operator/boom/application/applications/logspersisting/info"
     7  	"github.com/caos/orbos/internal/utils/helper"
     8  	"github.com/caos/orbos/mntr"
     9  
    10  	"github.com/caos/orbos/internal/operator/boom/templator/helm/chart"
    11  )
    12  
    13  func (l *Loki) SpecToHelmValues(monitor mntr.Monitor, toolset *toolsetslatest.ToolsetSpec) interface{} {
    14  	imageTags := l.GetImageTags()
    15  	image := "grafana/loki"
    16  
    17  	if toolset != nil && toolset.LogsPersisting != nil {
    18  		helper.OverwriteExistingValues(imageTags, map[string]string{
    19  			image: toolset.LogsPersisting.OverwriteVersion,
    20  		})
    21  		helper.OverwriteExistingKey(imageTags, &image, toolset.LogsPersisting.OverwriteImage)
    22  	}
    23  	values := helm.DefaultValues(imageTags, image)
    24  
    25  	values.FullNameOverride = info.GetName().String()
    26  
    27  	spec := toolset.LogsPersisting
    28  	if spec == nil {
    29  		return values
    30  	}
    31  
    32  	if spec.Storage != nil {
    33  		values.Persistence.Enabled = true
    34  		values.Persistence.Size = spec.Storage.Size
    35  		values.Persistence.StorageClassName = spec.Storage.StorageClass
    36  		if spec.Storage.AccessModes != nil {
    37  			values.Persistence.AccessModes = spec.Storage.AccessModes
    38  		}
    39  	}
    40  
    41  	if spec.NodeSelector != nil {
    42  		for k, v := range spec.NodeSelector {
    43  			values.NodeSelector[k] = v
    44  		}
    45  	}
    46  
    47  	if spec.Tolerations != nil {
    48  		for _, tol := range spec.Tolerations {
    49  			values.Tolerations = append(values.Tolerations, tol)
    50  		}
    51  	}
    52  
    53  	if spec.Resources != nil {
    54  		values.Resources = spec.Resources
    55  	}
    56  
    57  	return values
    58  }
    59  
    60  func (l *Loki) GetChartInfo() *chart.Chart {
    61  	return helm.GetChartInfo()
    62  }
    63  
    64  func (l *Loki) GetImageTags() map[string]string {
    65  	return helm.GetImageTags()
    66  }