Skip to content

Commit

Permalink
Fixes to create sub-command
Browse files Browse the repository at this point in the history
  • Loading branch information
richardmarshall committed Aug 21, 2019
1 parent e541ff3 commit 594a06d
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 6 deletions.
16 changes: 10 additions & 6 deletions pkg/commands/create/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,12 @@ func NewCmdCreate(fSys fs.FileSystem, uf ifc.KunstructuredFactory) *cobra.Comman
"Set the value of the namespace field in the customization file.")
c.Flags().StringVar(
&opts.annotations,
"annotation",
"annotations",
"",
"Add one or more common annotations.")
c.Flags().StringVar(
&opts.labels,
"label",
"labels",
"",
"Add one or more common labels.")
c.Flags().StringVar(
Expand All @@ -95,11 +95,15 @@ func NewCmdCreate(fSys fs.FileSystem, uf ifc.KunstructuredFactory) *cobra.Comman
}

func runCreate(opts createFlags, fSys fs.FileSystem, uf ifc.KunstructuredFactory) error {
resources, err := util.GlobPatterns(fSys, strings.Split(opts.resources, ","))
if err != nil {
return err
var resources []string
var err error
if opts.resources != "" {
resources, err = util.GlobPatterns(fSys, strings.Split(opts.resources, ","))
if err != nil {
return err
}
}
if _, err := kustfile.NewKustomizationFile(fSys); err == nil {
if _, err = kustfile.NewKustomizationFile(fSys); err == nil {
return fmt.Errorf("kustomization file already exists")
}
if opts.detectResources {
Expand Down
12 changes: 12 additions & 0 deletions pkg/commands/create/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,12 @@ metadata:
fakeFS.WriteFile("/README.md", []byte(`
# Not a k8s resource
This file is not a valid kubernetes object.`))
fakeFS.WriteFile("/non-k8s.yaml", []byte(`
# Not a k8s resource
other: yaml
foo:
- bar
- baz`))
fakeFS.Mkdir("/sub")
fakeFS.WriteFile("/sub/test.yaml", []byte(`
apiVersion: v1
Expand All @@ -141,6 +147,12 @@ metadata:
fakeFS.WriteFile("/sub/README.md", []byte(`
# Not a k8s resource
This file in a subdirectory is not a valid kubernetes object.`))
fakeFS.WriteFile("/sub/non-k8s.yaml", []byte(`
# Not a k8s resource
other: yaml
foo:
- bar
- baz`))
fakeFS.Mkdir("/overlay")
fakeFS.WriteFile("/overlay/test.yaml", []byte(`
apiVersion: v1
Expand Down
3 changes: 3 additions & 0 deletions pkg/commands/util/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ func GlobPatterns(fsys fs.FileSystem, patterns []string) ([]string, error) {
// `key:value` into a map.
func ConvertToMap(input string, kind string) (map[string]string, error) {
result := make(map[string]string)
if input == "" {
return result, nil
}
inputs := strings.Split(input, ",")
for _, input := range inputs {
c := strings.Index(input, ":")
Expand Down

0 comments on commit 594a06d

Please sign in to comment.