Current project organization expects versioned types go files to be 2 directories deep under apis
directory. For example:
./pkg/apis/foo/v1alpha1/types.go
pkg/apis
├── addtoscheme_foo_v1alpha1.go
├── apis.go
└── foo
├── buz
│ ├── group.go
│ └── v1alpha1
│ ├── bar_types.go
│ ├── bar_types_test.go
│ ├── doc.go
│ ├── register.go
│ ├── v1alpha1_suite_test.go
│ └── zz_generated.deepcopy.go
└── group.go
3 directories, 10 files
make manifests
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go all
panic: Cannot get version for unversioned type github.com/user/foo/pkg/apis/foo/buz/v1alpha1.Bar
goroutine 1 [running]:
github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/internal/codegen/parse.GetVersion(0xc427252b00, 0xc4218e0ad4, 0x3, 0xc4218e0ad4, 0xc42728ea50)
/home/illya/go/src/github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/internal/codegen/parse/util.go:218 +0x112
github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/internal/codegen/parse.(*APIs).parseIndex(0xc4272878c0)
/home/illya/go/src/github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/internal/codegen/parse/index.go:68 +0x1ec
github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/internal/codegen/parse.NewAPIs(0xc42727b020, 0xc4202554a0, 0xc42027b600, 0xc, 0xc42015b913, 0x1f, 0xc42015b7c0)
/home/illya/go/src/github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/internal/codegen/parse/parser.go:69 +0xc7
github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/crd/generator.(*Generator).Do(0xc426bbbc30, 0x0, 0x0)
/home/illya/go/src/github.com/user/foo/vendor/sigs.k8s.io/controller-tools/pkg/crd/generator/generator.go:126 +0x366
main.newAllSubCmd.func1(0xc42026ec80, 0xeaf990, 0x0, 0x0)
/home/illya/go/src/github.com/user/foo/vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go:144 +0x1aa
github.com/user/foo/vendor/github.com/spf13/cobra.(*Command).execute(0xc42026ec80, 0xeaf990, 0x0, 0x0, 0xc42026ec80, 0xeaf990)
/home/illya/go/src/github.com/user/foo/vendor/github.com/spf13/cobra/command.go:766 +0x2c1
github.com/user/foo/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc42026e500, 0x2, 0xc42026ec80, 0xc42026e650)
/home/illya/go/src/github.com/user/foo/vendor/github.com/spf13/cobra/command.go:852 +0x30a
github.com/user/foo/vendor/github.com/spf13/cobra.(*Command).Execute(0xc42026e500, 0xc42016df60, 0x3)
/home/illya/go/src/github.com/user/foo/vendor/github.com/spf13/cobra/command.go:800 +0x2b
main.main()
/home/illya/go/src/github.com/user/foo/vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go:51 +0x14a
exit status 2
Makefile:30: recipe for target 'manifests' failed
make: *** [manifests] Error 1