diff --git a/utils/component/openapi_generator.go b/utils/component/openapi_generator.go index c40a3961..819f2f14 100644 --- a/utils/component/openapi_generator.go +++ b/utils/component/openapi_generator.go @@ -57,11 +57,15 @@ func GenerateFromOpenAPI(resource string, pkg models.Package) ([]component.Compo if err != nil { continue } + kind, err := kindCue.String() if err != nil { fmt.Printf("%v", err) continue } + if strings.HasSuffix(kind, "List") { + continue // Skip List types like PodList, DeploymentList, etc. + } crd, err := fieldVal.MarshalJSON() if err != nil { diff --git a/utils/manifests/generateComponent.go b/utils/manifests/generateComponent.go index 9ae4c2cd..b587ddf1 100644 --- a/utils/manifests/generateComponent.go +++ b/utils/manifests/generateComponent.go @@ -2,6 +2,7 @@ package manifests import ( "context" + "strings" "cuelang.org/go/cue" "cuelang.org/go/cue/cuecontext" @@ -36,6 +37,18 @@ func GenerateComponents(ctx context.Context, manifest string, resource int, cfg } parsedCrd = cueCtx.BuildExpr(expr) } +kindVal, err := cfg.CrdFilter.NameExtractor(parsedCrd) +if err == nil { + kindStr, strErr := kindVal.String() + if strErr != nil { + // TODO: Add logging for this error to aid debugging. + continue // skip if unable to convert to string + } + if strings.HasSuffix(kindStr, "List") { + continue // skip List kinds + } +} + outDef, err := getDefinitions(parsedCrd, resource, cfg, ctx) if err != nil { // inability to generate component for a single crd should not affect the rest