Skip to content

Commit fe2d0f9

Browse files
committed
Address comments
1 parent c545cba commit fe2d0f9

File tree

5 files changed

+37
-36
lines changed

5 files changed

+37
-36
lines changed

cmd/kubebuilder/create/controller/controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ type controllerTemplateArgs struct {
3535
Repo string
3636
PluralizedKind string
3737
NonNamespacedKind bool
38-
CoreType bool
38+
CoreType bool
3939
}
4040

4141
func doController(dir string, args controllerTemplateArgs) bool {

cmd/kubebuilder/create/controller/controllertest.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,9 @@ import (
5252
"github.com/kubernetes-sigs/kubebuilder/pkg/test"
5353
"k8s.io/client-go/kubernetes"
5454
"k8s.io/client-go/rest"
55-
{{if .CoreType}}
55+
{{if not .CoreType}}"{{ .Repo }}/pkg/client/clientset/versioned"{{end}}
5656
"{{ .Repo }}/pkg/inject"
5757
"{{ .Repo }}/pkg/inject/args"
58-
{{else}}
59-
"{{ .Repo }}/pkg/client/clientset/versioned"
60-
"{{ .Repo }}/pkg/inject"
61-
"{{ .Repo }}/pkg/inject/args"
62-
{{end}}
6358
)
6459
6560
var (

cmd/kubebuilder/create/controller/run.go

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -29,51 +29,54 @@ import (
2929
"strings"
3030
)
3131

32-
var nonNamespacedKind bool
33-
var generate bool
34-
var CoreType bool
32+
type ControllerArguments struct {
33+
nonNamespacedKind bool
34+
generate bool
35+
CoreType bool
36+
}
37+
38+
func AddCreateController(cmd *cobra.Command) {
39+
var c ControllerArguments
3540

36-
var createControllerCmd = &cobra.Command{
37-
Use: "controller",
38-
Short: "Creates a controller for an API group, version and resource",
39-
Long: `Creates a controller for an API group, version and resource.
41+
createControllerCmd := &cobra.Command{
42+
Use: "controller",
43+
Short: "Creates a controller for an API group, version and resource",
44+
Long: `Creates a controller for an API group, version and resource.
4045
4146
Also creates:
4247
- controller reconcile function
4348
- tests for the controller
4449
`,
45-
Example: `# Create a controller for resource "Bee" in the "insect" group with version "v1beta"
50+
Example: `# Create a controller for resource "Bee" in the "insect" group with version "v1beta"
4651
kubebuilder create controller --group insect --version v1beta1 --kind Bee
4752
4853
# Create a controller for k8s core type "Deployment" in the "apps" group with version "v1beta2"
4954
kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type
5055
`,
51-
Run: RunCreateController,
52-
}
53-
54-
func AddCreateController(cmd *cobra.Command) {
56+
Run: c.RunCreateController,
57+
}
5558
createutil.RegisterResourceFlags(createControllerCmd)
56-
createControllerCmd.Flags().BoolVar(&nonNamespacedKind, "non-namespaced", false, "if set, the API kind will be non namespaced")
57-
createControllerCmd.Flags().BoolVar(&generate, "generate", true, "generate controller code")
58-
createControllerCmd.Flags().BoolVar(&CoreType, "core-type", false, "generate controller for core type")
59+
createControllerCmd.Flags().BoolVar(&c.nonNamespacedKind, "non-namespaced", false, "if set, the API kind will be non namespaced")
60+
createControllerCmd.Flags().BoolVar(&c.generate, "generate", true, "generate controller code")
61+
createControllerCmd.Flags().BoolVar(&c.CoreType, "core-type", false, "generate controller for core type")
5962
cmd.AddCommand(createControllerCmd)
6063
}
6164

62-
func RunCreateController(cmd *cobra.Command, args []string) {
65+
func (c *ControllerArguments) RunCreateController(cmd *cobra.Command, args []string) {
6366
if _, err := os.Stat("pkg"); err != nil {
6467
log.Fatalf("could not find 'pkg' directory. must run kubebuilder init before creating controller")
6568
}
6669

6770
util.GetDomain()
68-
createutil.ValidateResourceFlags()
71+
c.Validate()
6972

7073
cr := util.GetCopyright(createutil.Copyright)
7174

7275
fmt.Printf("Creating controller ...\n")
73-
CreateController(cr)
74-
if generate {
76+
c.CreateController(cr)
77+
if c.generate {
7578
fmt.Printf("Generating code for new controller... " +
76-
"Regenerate after editing controller files by running `kubebuilder generate clean; kubebuilder generate`.\n")
79+
"Regenerate after editing controller files by running `kubebuilder generate clean; kubebuilder generate`.\n")
7780
generatecmd.RunGenerate(cmd, args)
7881
}
7982
fmt.Printf("Next: Run the controller and create an instance with:\n" +
@@ -82,7 +85,11 @@ func RunCreateController(cmd *cobra.Command, args []string) {
8285
"$ kubectl apply -f hack/sample/" + strings.ToLower(createutil.KindName) + ".yaml\n")
8386
}
8487

85-
func CreateController(boilerplate string) {
88+
func (c *ControllerArguments) Validate() {
89+
createutil.ValidateResourceFlags()
90+
}
91+
92+
func (c *ControllerArguments) CreateController(boilerplate string) {
8693
args := controllerTemplateArgs{
8794
boilerplate,
8895
util.Domain,
@@ -92,8 +99,8 @@ func CreateController(boilerplate string) {
9299
createutil.ResourceName,
93100
util.Repo,
94101
inflect.NewDefaultRuleset().Pluralize(createutil.KindName),
95-
nonNamespacedKind,
96-
CoreType,
102+
c.nonNamespacedKind,
103+
c.CoreType,
97104
}
98105

99106
dir, err := os.Getwd()
@@ -103,4 +110,4 @@ func CreateController(boilerplate string) {
103110
fmt.Printf("Edit your controller function...\n")
104111
doController(dir, args)
105112
doControllerTest(dir, args)
106-
}
113+
}

cmd/kubebuilder/create/resource/run.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ func RunCreateResource(cmd *cobra.Command, args []string) {
7575

7676
cr := util.GetCopyright(createutil.Copyright)
7777

78-
7978
fmt.Printf("Creating API files for you to edit...\n")
8079
createGroup(cr)
8180
createVersion(cr)
@@ -115,8 +114,8 @@ func createResource(boilerplate string) {
115114

116115
if controller {
117116
fmt.Printf("Creating controller ...\n")
118-
controllerct.CoreType = false
119-
controllerct.CreateController(boilerplate)
117+
c := controllerct.ControllerArguments{CoreType: false}
118+
c.CreateController(boilerplate)
120119
}
121120

122121
fmt.Printf("Edit your sample resource instance...\n")

test.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ function generate_coretype_controller {
522522
kubebuilder init repo --domain sample.kubernetes.io --controller-only
523523
kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type
524524

525-
# Update the controller test
525+
# Fill the required fileds of Deployment object so that the Deployment instance can be successfully created
526526
update_controller_test
527527
}
528528

@@ -534,7 +534,7 @@ function generate_resource_with_coretype_controller {
534534
kubebuilder create resource --group ant --version v1beta1 --kind Ant
535535
kubebuilder create controller --group apps --version v1beta2 --kind Deployment --core-type
536536

537-
# Update the controller test
537+
# Fill the required fileds of Deployment object so that the Deployment instance can be successfully created
538538
update_controller_test
539539
}
540540

0 commit comments

Comments
 (0)