multicloud-operators-subscription
multicloud-operators-subscription copied to clipboard
"make generate" results in error due to invalid type: interface{}
Describe the bug
The make generate
Makefile target currently doesn't work because of the helmrelease_types.go
contains a spec field that has interface{}
.
The current workaround is: Commented out the following 2 lines in helmrelease_types.go
1) Spec HelmAppSpec `json:"spec,omitempty"`
2) type HelmAppSpec interface{} // modified
then run make generate
then exclude the helmrelease related changes
$ git checkout -- pkg/apis/apps/helmrelease/v1/helmrelease_types.go
$ git checkout -- pkg/apis/apps/helmrelease/v1/zz_generated.deepcopy.go
It seems like controller-gen used to support interface but not anymore probably due to security reason.
We will need to look into how to modify this field and most importantly maintain backward compatibility.
See some suggestions in https://github.com/kubernetes-sigs/controller-tools/issues/636
To Reproduce
Run make generate
Expected behavior
make generate
to return successfully.
Additional context Thank you @TomerFi for discovering and reporting this issue.