diff --git a/pkg/rescaffold/migrate.go b/pkg/rescaffold/migrate.go index b739ea8da9..410a3f4db8 100644 --- a/pkg/rescaffold/migrate.go +++ b/pkg/rescaffold/migrate.go @@ -287,6 +287,8 @@ func getAPIResourceFlags(resource resource.Resource) []string { args = append(args, "--resource") if resource.API.Namespaced { args = append(args, "--namespaced") + } else { + args = append(args, "--namespaced=false") } } diff --git a/test/e2e/alphagenerate/generate_test.go b/test/e2e/alphagenerate/generate_test.go index 30379d84b0..753e78d310 100644 --- a/test/e2e/alphagenerate/generate_test.go +++ b/test/e2e/alphagenerate/generate_test.go @@ -123,6 +123,17 @@ func ReGenerateProject(kbc *utils.TestContext) { ) ExpectWithOffset(1, err).NotTo(HaveOccurred()) + By("create APIs non namespaced with resource and controller") + err = kbc.CreateAPI( + "--group", "crew", + "--version", "v1", + "--kind", "Admiral", + "--namespaced=false", + "--resource", + "--controller", + ) + ExpectWithOffset(1, err).NotTo(HaveOccurred()) + By("create APIs with deploy-image plugin") err = kbc.CreateAPI( "--group", "crew", @@ -210,6 +221,18 @@ func ReGenerateProject(kbc *utils.TestContext) { ExpectWithOffset(1, err).NotTo(HaveOccurred()) ExpectWithOffset(1, fileContainsExpr).To(BeTrue()) + By("checking if the project file was generated without namespace: true") + var nonNamespacedFields = fmt.Sprintf(`api: + crdVersion: v1 + controller: true + domain: %s + group: crew + kind: Admiral`, kbc.Domain) + fileContainsExpr, err = pluginutil.HasFileContentWith( + filepath.Join(kbc.Dir, "testdir2", "PROJECT"), nonNamespacedFields) + ExpectWithOffset(1, err).NotTo(HaveOccurred()) + Expect(fileContainsExpr).To(BeTrue()) + By("checking if the project file was generated with the expected deploy-image plugin fields") var deployImagePlugin = "deploy-image.go.kubebuilder.io/v1-alpha" fileContainsExpr, err = pluginutil.HasFileContentWith(