crossplane / example-cnp

Platform API as Configuration
Apache License 2.0
11 stars 5 forks source link

Support advanced UI metadata #5

Open negz opened 4 years ago

negz commented 4 years ago

This sketch currently proposes that Configurations do not include any specific hints about how systems building on Crossplane (e.g. Upbound Cloud) might provide UIs for the creation of composite resources. It hoped that the OpenAPI schema alone would be sufficient to create basic web forms allowing CRUD operations for a particular composite resource, thus allowing platform builders to avoid writing UI schema that largely duplicates OpenAPI (e.g. type, description, validation, etc).

Basic web forms are likely to be insufficient, as there is a desire for icons, documentation pages, and more advanced forms (e.g. overridable input types and sections). One compromise here could be to default to basic web forms when no further information is available, but allow them to be overridden (or ideally extended) when a UI schema was provided.

negz commented 4 years ago

The sketch has been updated since I wrote the above issue to effectively use the contemporary UI schema approach. I believe we'll probably stick with that in the scoped-september branch that represents our short term goals, but we probably want to rethink what UI schema will look like as an override/extension of the XRD OpenAPI schema (rather than the only source of truth) at some point.