gen-crd-api-reference-docs
gen-crd-api-reference-docs copied to clipboard
Type aliases get collapsed down into the underlying type.
Over in service-apis, we have a CRD that uses Go type aliases:
type ConfigMapsDefaultLocalObjectReference struct {
...
}
type GatewayClassParametersObjectReference = ConfigMapsDefaultLocalObjectReference
type RouteHostExtensionObjectReference = ConfigMapsDefaultLocalObjectReference
type RouteActionExtensionObjectReference = ConfigMapsDefaultLocalObjectReference
Each alias has unique doc comments describing how it should be used in context.
What happens is that a single documentation block for ConfigMapsDefaultLocalObjectReference
gets generated, and it takes the comments from one of the aliases.
https://kubernetes-sigs.github.io/service-apis/spec/#networking.x-k8s.io/v1alpha1.ConfigMapsDefaultLocalObjectReference
What I'm hoping for is for each alias to emit its own unique documentation, and probably inline the fields of the type it is aliasing.
Looks like gengo is doing the type alias flattening, see https://github.com/kubernetes/gengo/issues/180