Skip to content

Commit c5e72d7

Browse files
authored
Merge pull request #590 from interone-ms/master
Implement support for pass-through of --set-literal flag/values
2 parents 61295ea + 3969a4e commit c5e72d7

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

cmd/helm3.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func (d *diffCmd) template(isUpgrade bool) ([]byte, error) {
131131
// Helm automatically enable --reuse-values when there's no --set, --set-string, --set-json, --set-values, --set-file present.
132132
// Let's simulate that in helm-diff.
133133
// See https://medium.com/@kcatstack/understand-helm-upgrade-flags-reset-values-reuse-values-6e58ac8f127e
134-
shouldDefaultReusingValues := isUpgrade && len(d.values) == 0 && len(d.stringValues) == 0 && len(d.jsonValues) == 0 && len(d.valueFiles) == 0 && len(d.fileValues) == 0
134+
shouldDefaultReusingValues := isUpgrade && len(d.values) == 0 && len(d.stringValues) == 0 && len(d.stringLiteralValues) == 0 && len(d.jsonValues) == 0 && len(d.valueFiles) == 0 && len(d.fileValues) == 0
135135
if (d.reuseValues || shouldDefaultReusingValues) && !d.resetValues && d.clusterAccessAllowed() {
136136
tmpfile, err := os.CreateTemp("", "existing-values")
137137
if err != nil {
@@ -151,6 +151,9 @@ func (d *diffCmd) template(isUpgrade bool) ([]byte, error) {
151151
for _, stringValue := range d.stringValues {
152152
flags = append(flags, "--set-string", stringValue)
153153
}
154+
for _, stringLiteralValue := range d.stringLiteralValues {
155+
flags = append(flags, "--set-literal", stringLiteralValue)
156+
}
154157
for _, jsonValue := range d.jsonValues {
155158
flags = append(flags, "--set-json", jsonValue)
156159
}

cmd/upgrade.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ type diffCmd struct {
5151
valueFiles valueFiles
5252
values []string
5353
stringValues []string
54+
stringLiteralValues []string
5455
jsonValues []string
5556
fileValues []string
5657
reuseValues bool
@@ -236,6 +237,7 @@ func newChartCommand() *cobra.Command {
236237
f.VarP(&diff.valueFiles, "values", "f", "specify values in a YAML file (can specify multiple)")
237238
f.StringArrayVar(&diff.values, "set", []string{}, "set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
238239
f.StringArrayVar(&diff.stringValues, "set-string", []string{}, "set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
240+
f.StringArrayVar(&diff.stringLiteralValues, "set-literal", []string{}, "set STRING literal values on the command line")
239241
f.StringArrayVar(&diff.jsonValues, "set-json", []string{}, "set JSON values on the command line (can specify multiple or separate values with commas: key1=jsonval1,key2=jsonval2)")
240242
f.StringArrayVar(&diff.fileValues, "set-file", []string{}, "set values from respective files specified via the command line (can specify multiple or separate values with commas: key1=path1,key2=path2)")
241243
f.BoolVar(&diff.reuseValues, "reuse-values", false, "reuse the last release's values and merge in any new values. If '--reset-values' is specified, this is ignored")

0 commit comments

Comments
 (0)