github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/templator/helm/mutate.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 TemplatorMutate interface { 10 templator.HelmApplication 11 HelmMutate(mntr.Monitor, *latest.ToolsetSpec, string) error 12 } 13 14 func (h *Helm) mutate(app interface{}, spec *latest.ToolsetSpec) error { 15 16 mutate, ok := app.(TemplatorMutate) 17 if ok { 18 19 logFields := map[string]interface{}{ 20 "application": mutate.GetName().String(), 21 "overlay": h.overlay, 22 } 23 mutateMonitor := h.monitor.WithFields(logFields) 24 25 mutateMonitor.WithFields(logFields).Debug("Mutate before apply") 26 27 resultfilepath := h.GetResultsFilePath(mutate.GetName(), h.overlay, h.templatorDirectoryPath) 28 29 if err := mutate.HelmMutate(mutateMonitor, spec, resultfilepath); err != nil { 30 return err 31 } 32 } 33 34 return nil 35 }