Skip to content
This repository was archived by the owner on Nov 17, 2021. It is now read-only.

Commit 3f7b5b5

Browse files
author
Marko Mikulicic
authored
Merge pull request #281 from camh-/tla-extvar-parse-fix
Parse tla/extvar options as StringArray not StringSlice
2 parents 2d32dcd + 8a4e853 commit 3f7b5b5

3 files changed

Lines changed: 14 additions & 10 deletions

File tree

cmd/root.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,17 @@ func init() {
7070
RootCmd.PersistentFlags().StringArrayP(flagJpath, "J", nil, "Additional Jsonnet library search path, appended to the ones in the KUBECFG_JPATH env var. May be repeated.")
7171
RootCmd.MarkPersistentFlagFilename(flagJpath)
7272
RootCmd.PersistentFlags().StringArrayP(flagJUrl, "U", nil, "Additional Jsonnet library search path given as a URL. May be repeated.")
73-
RootCmd.PersistentFlags().StringSliceP(flagExtVar, "V", nil, "Values of external variables with string values")
74-
RootCmd.PersistentFlags().StringSlice(flagExtVarFile, nil, "Read external variables with string values from files")
73+
RootCmd.PersistentFlags().StringArrayP(flagExtVar, "V", nil, "Values of external variables with string values")
74+
RootCmd.PersistentFlags().StringArray(flagExtVarFile, nil, "Read external variables with string values from files")
7575
RootCmd.MarkPersistentFlagFilename(flagExtVarFile)
76-
RootCmd.PersistentFlags().StringSlice(flagExtCode, nil, "Values of external variables with values supplied as Jsonnet code")
77-
RootCmd.PersistentFlags().StringSlice(flagExtCodeFile, nil, "Read external variables with values supplied as Jsonnet code from files")
76+
RootCmd.PersistentFlags().StringArray(flagExtCode, nil, "Values of external variables with values supplied as Jsonnet code")
77+
RootCmd.PersistentFlags().StringArray(flagExtCodeFile, nil, "Read external variables with values supplied as Jsonnet code from files")
7878
RootCmd.MarkPersistentFlagFilename(flagExtCodeFile)
79-
RootCmd.PersistentFlags().StringSliceP(flagTLAVar, "A", nil, "Values of top level arguments with string values")
80-
RootCmd.PersistentFlags().StringSlice(flagTLAVarFile, nil, "Read top level arguments with string values from files")
79+
RootCmd.PersistentFlags().StringArrayP(flagTLAVar, "A", nil, "Values of top level arguments with string values")
80+
RootCmd.PersistentFlags().StringArray(flagTLAVarFile, nil, "Read top level arguments with string values from files")
8181
RootCmd.MarkPersistentFlagFilename(flagTLAVarFile)
82-
RootCmd.PersistentFlags().StringSlice(flagTLACode, nil, "Values of top level arguments with values supplied as Jsonnet code")
83-
RootCmd.PersistentFlags().StringSlice(flagTLACodeFile, nil, "Read top level arguments with values supplied as Jsonnet code from files")
82+
RootCmd.PersistentFlags().StringArray(flagTLACode, nil, "Values of top level arguments with values supplied as Jsonnet code")
83+
RootCmd.PersistentFlags().StringArray(flagTLACodeFile, nil, "Read top level arguments with values supplied as Jsonnet code from files")
8484
RootCmd.MarkPersistentFlagFilename(flagTLACodeFile)
8585
RootCmd.PersistentFlags().String(flagResolver, "noop", "Change implementation of resolveImage native function. One of: noop, registry")
8686
RootCmd.PersistentFlags().String(flagResolvFail, "warn", "Action when resolveImage fails. One of ignore,warn,error")
@@ -271,7 +271,7 @@ func JsonnetVM(cmd *cobra.Command) (*jsonnet.VM, error) {
271271
{flagTLACode, vm.TLACode, true, false},
272272
{flagTLACodeFile, vm.TLACode, true, true},
273273
} {
274-
entries, err := flags.GetStringSlice(spec.flagName)
274+
entries, err := flags.GetStringArray(spec.flagName)
275275
if err != nil {
276276
return nil, err
277277
}

cmd/show_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,8 @@ func TestShow(t *testing.T) {
7777
"notAnotherVal": "aVal2",
7878
"filevar": "foo\n",
7979
"array": ["one", 2, [3]],
80-
"object": {"foo": "bar"}
80+
"object": {"foo": "bar"},
81+
"extcode": {"foo": 1, "bar": "test"}
8182
}
8283
`
8384

@@ -97,6 +98,7 @@ func TestShow(t *testing.T) {
9798
"-V", "aVar=aVal",
9899
"-V", "anVar",
99100
"--ext-str-file", "filevar=" + filepath.FromSlash("../testdata/extvar.file"),
101+
"--ext-code", `extcode={foo: 1, bar: "test"}`,
100102
})
101103
defer resetFlagsOf(RootCmd)
102104

testdata/test.jsonnet

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ local test = import "test.libsonnet";
22
local aVar = std.extVar("aVar");
33
local anVar = std.extVar("anVar");
44
local filevar = std.extVar("filevar");
5+
local extcode = std.extVar("extcode");
56

67
{
78
apiVersion: "v1",
@@ -12,6 +13,7 @@ local filevar = std.extVar("filevar");
1213
notAVal : aVar,
1314
notAnotherVal : anVar,
1415
filevar : filevar,
16+
extcode: extcode,
1517
}
1618
],
1719
}

0 commit comments

Comments
 (0)