Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing a VS Code walkthrough extension for the creation of Devfiles #21987

Closed
Tracked by #21942
vitaliy-guliy opened this issue Feb 6, 2023 · 5 comments
Closed
Tracked by #21942
Assignees
Labels
area/editor/vscode Issues related to the Code OSS editor of Che kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system. sprint/current team/B This team is responsible for the Web Terminal, the DevWorkspace Operator and the IDEs.

Comments

@vitaliy-guliy
Copy link
Contributor

vitaliy-guliy commented Feb 6, 2023

Is your task related to a problem? Please describe

In case a user is not familiar with Devfile, the extension should help him to create it.
The extension should be marketplace oriented, not only being specific to run in Che environment and should work well on the VS Code desktop.

For Che-Code, the extension should be built-in and being ready to use out of the box.

Describe the solution you'd like

The extension should provide the user something like a wizard ( based on walkthroughs contribution ) to help him to:

  • create a minimal Devfile, ask the user for the workspace name

  • add a container component

    • with specifying the container image
    • with providing CPU and Memory limitations
    • being able to expose ports with specifying protocol
    • being able to specify environment variables
    • with attaching one or more volumes
  • add volume component, specify its size; this step probably needs to be shown before adding a container component, as the container is using already defined volume

  • add a command with specifying the component in which the command will be run

The last wizard page / the last walkthrough step should be completed with geerating of devfile.yaml (or .devfile.yaml ) file at the root of the active project and opening it in the editor. If the Devfile is already exists, the user is prompted to override or rename it.

It should be always possible to open the wizard / walkthrough by a command from the command palette.

Describe alternatives you've considered

If the walkthrough plugin API is not so rich to be able to implement such complex wizard, then may have to use webviews https://code.visualstudio.com/api/extension-guides/webview

Additional context

As an addition, see

@vitaliy-guliy vitaliy-guliy added kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system. area/editor/vscode Issues related to the Code OSS editor of Che team/B This team is responsible for the Web Terminal, the DevWorkspace Operator and the IDEs. labels Feb 6, 2023
@l0rd
Copy link
Contributor

l0rd commented Feb 7, 2023

some notes from our yesterday discussion and other things that came to my mind:

  • the walkthrough should help creating a new devfile (editing an existing devfile is out of scope)
  • a user should be able to start the walkthrough from the command palette or from the welcome panel (prompting the user if there is no devfile in the project should is out of scope)
  • the walkthrough should guide the user adding container components and commands (other components type, events and projects are out of scope)
  • the walkthrough should not show any YAML code, it should generate a .devfile.yaml at the root of the active project. If the user wants can
  • the schemaVersion of the generated devfile should be 2.2.0 and in general it would be helpful to use TS devfile API

@vitaliy-guliy
Copy link
Contributor Author

Source code repository https://github.com/vitaliy-guliy/vscode-devfile
The extension binary can be found in Releases section.

To test it in your Che workspace

  • create a workpace
  • open a terminal, using curl / wget download the binary to your project directory
  • in the Explorer view right click on the extension, pick 'Install extension from VSIX'
  • open Welcome view, follow Create a Devfile walkthrough

@vitaliy-guliy vitaliy-guliy mentioned this issue Feb 13, 2023
32 tasks
@vitaliy-guliy vitaliy-guliy self-assigned this Feb 15, 2023
@l0rd l0rd mentioned this issue Mar 6, 2023
7 tasks
@l0rd l0rd self-assigned this Apr 5, 2023
@che-bot
Copy link
Contributor

che-bot commented Oct 2, 2023

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 2, 2023
@l0rd
Copy link
Contributor

l0rd commented Oct 4, 2023

/remove-lifecycle stale

Next steps:

  • Review wording (@l0rd)
  • Move to devfile org (require LICENSE change) (@l0rd)
  • Publish on open-vsx.org and microsoft marketplace (@vitaliy-guliy)
  • Setup GitHub actions to build vsx and publish it automatically every time code is updated (@vitaliy-guliy)
  • Add it as a built-in extension in che-code (@vitaliy-guliy)

@che-bot che-bot closed this as completed Oct 11, 2023
@l0rd l0rd removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 11, 2023
@l0rd l0rd reopened this Oct 11, 2023
@ibuziuk
Copy link
Member

ibuziuk commented Jan 31, 2024

Closing extension has been published https://open-vsx.org/extension/Devfile/vscode-devfile

@ibuziuk ibuziuk closed this as completed Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/editor/vscode Issues related to the Code OSS editor of Che kind/task Internal things, technical debt, and to-do tasks to be performed. severity/P2 Has a minor but important impact to the usage or development of the system. sprint/current team/B This team is responsible for the Web Terminal, the DevWorkspace Operator and the IDEs.
Projects
None yet
Development

No branches or pull requests

4 participants