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

     1  package helm
     2  
     3  import (
     4  	"github.com/caos/orbos/internal/operator/boom/api/latest"
     5  	"github.com/caos/orbos/internal/operator/boom/templator"
     6  	"github.com/caos/orbos/mntr"
     7  )
     8  
     9  type TemplatorMutateValues interface {
    10  	templator.HelmApplication
    11  	HelmMutateValues(mntr.Monitor, *latest.ToolsetSpec, string) error
    12  }
    13  
    14  func (h *Helm) mutateValue(app interface{}, spec *latest.ToolsetSpec, valuesAbsFilePath string) error {
    15  	mutate, ok := app.(TemplatorMutateValues)
    16  	if ok {
    17  
    18  		logFields := map[string]interface{}{
    19  			"application": mutate.GetName().String(),
    20  			"overlay":     h.overlay,
    21  		}
    22  		mutateMonitor := h.monitor.WithFields(logFields)
    23  
    24  		mutateMonitor.Debug("Mutate values")
    25  
    26  		if err := mutate.HelmMutateValues(mutateMonitor, spec, valuesAbsFilePath); err != nil {
    27  			return err
    28  		}
    29  	}
    30  
    31  	return nil
    32  }