Skip to content

Recursive Types #460

Open
Open
@IfSentient

Description

@IfSentient

Because CRDs cannot handle recursive types natively, we do not currently support recursive codegen from the CLI ("do not currently support" in this case means "CLI freezes up when CUE attempts to convert the recursive CUE type to OpenAPI). However, there are definitely use-cases for recursive types within app platform, so we should evaluate if we want to support recursive types in any possible case. Some questions:

  • If we support recursive types in any way, how does this impact the app manifest, which inlines the schemas?
  • Do we want to extend apiextensions to handle recursive types?
  • Do we want to only generate code for the recursive types, and use kubernetes-preserve-unknown-fields: true on an empty object when generating the schema (as suggested in this kubernetes issue? We could use webhook validation to check that the actual data is correct on create/update.
  • How does this impact other tooling and/or service discovery?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions