Skip to content

Commit 28e2261

Browse files
committed
commands/operator-sdk: implement verifyFlags to guard bad flags
1 parent 7030f22 commit 28e2261

File tree

1 file changed

+11
-2
lines changed
  • commands/operator-sdk/cmd

1 file changed

+11
-2
lines changed

commands/operator-sdk/cmd/new.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package cmd
1616

1717
import (
18+
"errors"
1819
"fmt"
1920
"os"
2021
"os/exec"
@@ -41,7 +42,7 @@ generates a default directory layout based on the input <project-name>.
4142
For example:
4243
$ mkdir $GOPATH/src/github.com/example.com/
4344
$ cd $GOPATH/src/github.com/example.com/
44-
$ operator-sdk new app-operator --api-group=app.example.com --kind=AppService
45+
$ operator-sdk new app-operator --api-group=app.example.com/v1alpha1 --kind=AppService
4546
generates a skeletal app-operator application in $GOPATH/src/github.com/example.com/app-operator.
4647
`,
4748
Run: newFunc,
@@ -124,7 +125,15 @@ func repoPath() string {
124125
}
125126

126127
func verifyFlags() {
127-
// TODO: verify format of input flags.
128+
if len(apiVersion) == 0 {
129+
cmdError.ExitWithError(cmdError.ExitBadArgs, errors.New("--api-version must not have empty value"))
130+
}
131+
if len(kind) == 0 {
132+
cmdError.ExitWithError(cmdError.ExitBadArgs, errors.New("--kind must not have empty value"))
133+
}
134+
if strings.Count(apiVersion, "/") != 1 {
135+
cmdError.ExitWithError(cmdError.ExitBadArgs, fmt.Errorf("api-version has wrong format (%v); format must be $GROUP_NAME/$VERSION (e.g app.example.com/v1alpha1)", apiVersion))
136+
}
128137
}
129138

130139
func pullDep() {

0 commit comments

Comments
 (0)