Skip to content

Commit 44dcf53

Browse files
committed
Add label option to extension package
Signed-off-by: Simon Ermler <simon_ermler@web.de>
1 parent 01b469e commit 44dcf53

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

internal/commands/extension_package.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ type ExtensionPackageFlags struct {
2626
Policy string
2727
Path string
2828
AdditionalTags []string
29+
Label map[string]string
2930
}
3031

3132
// ExtensionPackager packages extensions
@@ -123,6 +124,7 @@ func ExtensionPackage(logger logging.Logger, cfg config.Config, packager Extensi
123124
PullPolicy: pullPolicy,
124125
Targets: multiArchCfg.Targets(),
125126
AdditionalTags: flags.AdditionalTags,
127+
Labels: flags.Label,
126128
}); err != nil {
127129
return err
128130
}
@@ -155,6 +157,8 @@ Targets should be in the format '[os][/arch][/variant]:[distroname@osversion@ano
155157
- To specify multiple distribution versions: '--target "linux/arm/v6:ubuntu@14.04" --target "linux/arm/v6:ubuntu@16.04"'
156158
`)
157159
cmd.Flags().StringSliceVarP(&flags.AdditionalTags, "tag", "", nil, "Additional tags to push the output image to.\nTags should be in the format 'image:tag' or 'repository/image:tag'."+stringSliceHelp("tag"))
160+
cmd.Flags().StringToStringVarP(&flags.Label, "label", "l", nil, "Labels to add to packaged Extension, in the form of '<name>=<value>'")
161+
158162
AddHelpFlag(cmd, "package")
159163
return cmd
160164
}

internal/commands/extension_package_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,20 @@ func testExtensionPackageCommand(t *testing.T, when spec.G, it spec.S) {
303303
})
304304
})
305305

306+
when("--label cannot be parsed", func() {
307+
it("errors with a descriptive message", func() {
308+
cmd := packageCommand()
309+
cmd.SetArgs([]string{
310+
"some-image-name", "--config", "/path/to/some/file",
311+
"--label", "name+value",
312+
})
313+
314+
err := cmd.Execute()
315+
h.AssertNotNil(t, err)
316+
h.AssertError(t, err, "invalid argument \"name+value\" for \"-l, --label\" flag: name+value must be formatted as key=value")
317+
})
318+
})
319+
306320
when("--target cannot be parsed", func() {
307321
it("errors with a descriptive message", func() {
308322
cmd := packageCommand()

0 commit comments

Comments
 (0)