devfile / api

Kube-native API for cloud development workspaces specification
Apache License 2.0
244 stars 59 forks source link

Web-based devfile editor #691

Open deboer-tim opened 2 years ago

deboer-tim commented 2 years ago

Which area this feature is related to? /area library /area registry

Which functionality do you think we should add?

A web-based devfile creator/editor.

Why is this needed? Is your feature request related to a problem? Devfile is a relatively simple concept, but hand-editing YAML can be daunting. Provide a graphical tool to get started or edit a devfile live on devfile.io.

Detailed description: Swagger has the Swagger Editor (https://swagger.io/tools/swagger-editor/), Kubernetes has https://k8syaml.com. We should have something similar for devfile.

It doesn't necessarily need to allow editing the full spec, and a semi-guided experience is ok too. The idea is to have a simpler view of the devfile that shows you the overall summary, and allows you to easily modify a port or add an inner loop command.

Maybe the same tool could be used to provide a read-only summary in the devfile registry? Or if you like something from the registry but want to tweak it there was an easy way to shift to editing?

It would be nice for the underlying tool to be reusable, e.g. if an IDE extension or dev console wanted to provide the same tool.

maysunfaisal commented 2 years ago

The idea has also been discussed as a stretch goal on https://github.com/devfile/api/issues/456

With https://github.com/devfile/api/issues/456, we had updated the schemastore to include the Devfile 2.x.x versions that have been released so far. The YAML extension on VS Code should be able to help users with basic editing and linting as per the devfile schema. (The YAML extension team is working on supporting multiple schemastore versions)

But as a stretch goal we also discussed about the possibility of having perhaps a devfile extension which could provide a better UX.. Since the schema linting is only limited to if a devfile is valid or not, but doesn't really help with how to write and understand a devfile.