Fix --set and --set-file flags are not passed to chartify (#1803)
Fixes #1681
Ref 286ed08a27
This commit is contained in:
parent
59b91a45a0
commit
204f78c8ff
2
go.mod
2
go.mod
|
|
@ -28,7 +28,7 @@ require (
|
||||||
github.com/spf13/cobra v1.1.1
|
github.com/spf13/cobra v1.1.1
|
||||||
github.com/tatsushid/go-prettytable v0.0.0-20141013043238-ed2d14c29939
|
github.com/tatsushid/go-prettytable v0.0.0-20141013043238-ed2d14c29939
|
||||||
github.com/urfave/cli v1.22.5
|
github.com/urfave/cli v1.22.5
|
||||||
github.com/variantdev/chartify v0.8.4
|
github.com/variantdev/chartify v0.8.5
|
||||||
github.com/variantdev/dag v1.0.0
|
github.com/variantdev/dag v1.0.0
|
||||||
github.com/variantdev/vals v0.13.0
|
github.com/variantdev/vals v0.13.0
|
||||||
go.uber.org/multierr v1.6.0
|
go.uber.org/multierr v1.6.0
|
||||||
|
|
|
||||||
2
go.sum
2
go.sum
|
|
@ -591,6 +591,8 @@ github.com/variantdev/chartify v0.8.3 h1:9PHZqmRoI7YdXMmWuGJm8PUvOyFGRBoy+j8xM1x
|
||||||
github.com/variantdev/chartify v0.8.3/go.mod h1:qF4XzQlkfH/6k2jAi1hLas+lK4zSCa8kY+r5JdmLA68=
|
github.com/variantdev/chartify v0.8.3/go.mod h1:qF4XzQlkfH/6k2jAi1hLas+lK4zSCa8kY+r5JdmLA68=
|
||||||
github.com/variantdev/chartify v0.8.4 h1:xriH5eHMlUqza9FMGBhmrWt3I6LHMn494vuEIu06n0M=
|
github.com/variantdev/chartify v0.8.4 h1:xriH5eHMlUqza9FMGBhmrWt3I6LHMn494vuEIu06n0M=
|
||||||
github.com/variantdev/chartify v0.8.4/go.mod h1:qF4XzQlkfH/6k2jAi1hLas+lK4zSCa8kY+r5JdmLA68=
|
github.com/variantdev/chartify v0.8.4/go.mod h1:qF4XzQlkfH/6k2jAi1hLas+lK4zSCa8kY+r5JdmLA68=
|
||||||
|
github.com/variantdev/chartify v0.8.5 h1:yAw2+IxftPDR5A2/vr97Y6DR1U/2lJCHxfp40DBxfw0=
|
||||||
|
github.com/variantdev/chartify v0.8.5/go.mod h1:qF4XzQlkfH/6k2jAi1hLas+lK4zSCa8kY+r5JdmLA68=
|
||||||
github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363 h1:KrfQBEUn+wEOQ/6UIfoqRDvn+Q/wZridQ7t0G1vQqKE=
|
github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363 h1:KrfQBEUn+wEOQ/6UIfoqRDvn+Q/wZridQ7t0G1vQqKE=
|
||||||
github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363/go.mod h1:pH1TQsNSLj2uxMo9NNl9zdGy01Wtn+/2MT96BrKmVyE=
|
github.com/variantdev/dag v0.0.0-20191028002400-bb0b3c785363/go.mod h1:pH1TQsNSLj2uxMo9NNl9zdGy01Wtn+/2MT96BrKmVyE=
|
||||||
github.com/variantdev/dag v1.0.0 h1:7SFjATxHtrYV20P3tx53yNDBMegz6RT4jv8JPHqAHdM=
|
github.com/variantdev/dag v1.0.0 h1:7SFjATxHtrYV20P3tx53yNDBMegz6RT4jv8JPHqAHdM=
|
||||||
|
|
|
||||||
|
|
@ -196,6 +196,11 @@ func (st *HelmState) PrepareChartify(helm helmexec.Interface, release *ReleaseSp
|
||||||
filesNeedCleaning = append(filesNeedCleaning, generatedFiles...)
|
filesNeedCleaning = append(filesNeedCleaning, generatedFiles...)
|
||||||
|
|
||||||
c.Opts.ValuesFiles = generatedFiles
|
c.Opts.ValuesFiles = generatedFiles
|
||||||
|
setFlags, err := st.setFlags(release.SetValues)
|
||||||
|
if err != nil {
|
||||||
|
return nil, clean, fmt.Errorf("rendering set value entry for release %s: %v", release.Name, err)
|
||||||
|
}
|
||||||
|
c.Opts.SetFlags = setFlags
|
||||||
c.Opts.TemplateData = st.newReleaseTemplateData(release)
|
c.Opts.TemplateData = st.newReleaseTemplateData(release)
|
||||||
c.Opts.TemplateFuncs = st.newReleaseTemplateFuncMap(dir)
|
c.Opts.TemplateFuncs = st.newReleaseTemplateFuncMap(dir)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2759,28 +2759,12 @@ func (st *HelmState) namespaceAndValuesFlags(helm helmexec.Interface, release *R
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(release.SetValues) > 0 {
|
if len(release.SetValues) > 0 {
|
||||||
for _, set := range release.SetValues {
|
setFlags, err := st.setFlags(release.SetValues)
|
||||||
if set.Value != "" {
|
if err != nil {
|
||||||
renderedValue, err := renderValsSecrets(st.valsRuntime, set.Value)
|
return nil, files, fmt.Errorf("Failed to render set value entry in %s for release %s: %v", st.FilePath, release.Name, err)
|
||||||
if err != nil {
|
|
||||||
return nil, files, fmt.Errorf("Failed to render set value entry in %s for release %s: %v", st.FilePath, release.Name, err)
|
|
||||||
}
|
|
||||||
flags = append(flags, "--set", fmt.Sprintf("%s=%s", escape(set.Name), escape(renderedValue[0])))
|
|
||||||
} else if set.File != "" {
|
|
||||||
flags = append(flags, "--set-file", fmt.Sprintf("%s=%s", escape(set.Name), st.storage().normalizePath(set.File)))
|
|
||||||
} else if len(set.Values) > 0 {
|
|
||||||
renderedValues, err := renderValsSecrets(st.valsRuntime, set.Values...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, files, fmt.Errorf("Failed to render set values entry in %s for release %s: %v", st.FilePath, release.Name, err)
|
|
||||||
}
|
|
||||||
items := make([]string, len(renderedValues))
|
|
||||||
for i, raw := range renderedValues {
|
|
||||||
items[i] = escape(raw)
|
|
||||||
}
|
|
||||||
v := strings.Join(items, ",")
|
|
||||||
flags = append(flags, "--set", fmt.Sprintf("%s={%s}", escape(set.Name), v))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flags = append(flags, setFlags...)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********
|
/***********
|
||||||
|
|
@ -2813,6 +2797,35 @@ func (st *HelmState) namespaceAndValuesFlags(helm helmexec.Interface, release *R
|
||||||
return flags, files, nil
|
return flags, files, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (st *HelmState) setFlags(setValues []SetValue) ([]string, error) {
|
||||||
|
var flags []string
|
||||||
|
|
||||||
|
for _, set := range setValues {
|
||||||
|
if set.Value != "" {
|
||||||
|
renderedValue, err := renderValsSecrets(st.valsRuntime, set.Value)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
flags = append(flags, "--set", fmt.Sprintf("%s=%s", escape(set.Name), escape(renderedValue[0])))
|
||||||
|
} else if set.File != "" {
|
||||||
|
flags = append(flags, "--set-file", fmt.Sprintf("%s=%s", escape(set.Name), st.storage().normalizePath(set.File)))
|
||||||
|
} else if len(set.Values) > 0 {
|
||||||
|
renderedValues, err := renderValsSecrets(st.valsRuntime, set.Values...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
items := make([]string, len(renderedValues))
|
||||||
|
for i, raw := range renderedValues {
|
||||||
|
items[i] = escape(raw)
|
||||||
|
}
|
||||||
|
v := strings.Join(items, ",")
|
||||||
|
flags = append(flags, "--set", fmt.Sprintf("%s={%s}", escape(set.Name), v))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return flags, nil
|
||||||
|
}
|
||||||
|
|
||||||
// renderValsSecrets helper function which renders 'ref+.*' secrets
|
// renderValsSecrets helper function which renders 'ref+.*' secrets
|
||||||
func renderValsSecrets(e vals.Evaluator, input ...string) ([]string, error) {
|
func renderValsSecrets(e vals.Evaluator, input ...string) ([]string, error) {
|
||||||
output := make([]string, len(input))
|
output := make([]string, len(input))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue