Open gberche-orange opened 1 year ago
Hello, I'm part of @gberche-orange team, and I'm in charge of finding a Webui to consume custom [Crossplane] K8S CR apis.
After looking up to multiple services, we've choosen to use Headlamp.
Our needs are :
Discover CRDs and associated CRs
Filter CRDs by CR's namespace and categories
Differenciates CR with different CRDs version
Create a CR from a CRD
From a form (generated using the json schema)
From editor with completion and instant feedback
With documentation
Edit and delete CRDs and CRs
Get the additional printer columns of a CR
View CR status
View secrets generated using the CRD
Ultimately, our objective is to use Headlamp as an interface for our clients to provision themselves with services through Crossplane.
And as a tool to demonstrate service provisionning as service provider.
To develop and integrate the missing parts to fulfill our needs, which would include imo:
Filter CRDs by CR's namespace and categories https://github.com/headlamp-k8s/headlamp/pull/1940 https://github.com/headlamp-k8s/headlamp/pull/1991
Differenciates CR with different CRDs version
Create a CR from a CRD
From a form (generated using the json schema) https://github.com/headlamp-k8s/headlamp/issues/1220 https://github.com/headlamp-k8s/headlamp/issues/2087
From editor with completion and instant feedback
With documentation
I've created the following mockup on Figma : https://www.figma.com/proto/qvLeAUXzq6AmSTj6U00e1G/Headlamp?type=design&node-id=14-1629&t=4ks8Wf5TSZBWU2Mw-1&scaling=min-zoom&page-id=0%3A1&starting-point-node-id=14%3A1629&mode=design
For now, I don't know whether I should contribute these changes in the form of a plugin or directly as PR on Headlamp itself. I've already played a bit with the plugins which are great, and I think it would be sufficient for our needs, but contributing those changes, could benefit Headlamp's UX regarding Custom Resources.
Hi @Guilamb . I'm happy to see you chose Headlamp. Regarding the needs you suggest for the CR/CRDs, at first glance I think they are changes that would benefit all users of Headlamp and therefore they could be in Headlamp Base (core, not a plugin).
Let me look in more detail at the mockup you provide and I should check with our design team but I think these are great changes that will improve the CRs UX and I'm looking forward to having them.
Expected behavior
As an headlamp user In order to list/read/edit/update/delete custom resources I need headlamp to make it as easy to deal with CR than with built-in K8S resources
See related screenshots of current similar support in lens that leverages the CRDs additionalPrinterColumns to display the CR fields to display in the table view
See related snapshots in k9s browsing down provides the describe view or the full yaml view
See related snapshot of structural schema support for creating/updating CRs in openshift
Current behavior
In version 1.25.3, it is hard to discover CRs are indeed listed:
Once one the CRD list The CRD page displays some details of the CRD and only after scrolling at the bottom of the page, the CR are displayed in the "Objects" section but without honoring the additionalPrinterColumn
Suggested enhancements
kubectl describe
output to the CR page