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

[Feature] [GSOC] IDE(editor) Plugins for editing OAM applications #5366

Open
Somefive opened this issue Jan 28, 2023 · 2 comments · May be fixed by #6100
Open

[Feature] [GSOC] IDE(editor) Plugins for editing OAM applications #5366

Somefive opened this issue Jan 28, 2023 · 2 comments · May be fixed by #6100
Labels
effort/large priority/nice-to-have It's a good idea, but not scheduled for any release. summber-of-code and lfx the issue for lfx and google/alibaba summer of code type/enhancement New feature or request

Comments

@Somefive
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

With more and more developers start writing KubeVela (OAM) application YAML file and CUE-based X-Definitions, it is increasingly important to provide some tools to help user make correct configurations. IDE plugin is one way to reach that. We can make VSCode/Jetbrains plugins for formatting and previewing the written applications.

Describe the solution you'd like

The plugin is expected to be able to:

  1. Connect to the remote Kubernetes APIServer (KubeVela Control Plane) in the background and recognize the X-Definitions (ComponentDefinitions, TraitDefinitions, PolicyDefinitions, WorkflowStepDefinitions).
  2. Highlight the type of components, traits, policies & workflowsteps in the application configuration.
  3. Preview the rendering result (dryrun) of the components & traits.
  4. Compare the difference between the current application configuration and the corresponding one on the remote cluster.
  5. Preview the selected clusters by the topology policy.
  6. For ComponentDefinition & TraitDefinition, provide validation for the CUE input and preview for the rendering result.

Describe alternatives you've considered

An alternative choice is to make some standalone development tools like desktop apps. It can be developed with cross-platform build tools like electron/dart.

Additional context

Feel free to discuss what this tool should be look like below. :)

@Somefive Somefive added type/enhancement New feature or request priority/nice-to-have It's a good idea, but not scheduled for any release. labels Jan 28, 2023
@Somefive Somefive changed the title [Feature] IDE Plugins [Feature] [GSOC] IDE Plugins Jan 28, 2023
@wonderflow wonderflow changed the title [Feature] [GSOC] IDE Plugins [Feature] [GSOC] IDE Plugins for editing vela applications Jan 28, 2023
@wonderflow wonderflow added summber-of-code and lfx the issue for lfx and google/alibaba summer of code effort/large labels Jan 28, 2023
@Charlie17Li
Copy link

This project is really awesome, and maybe there's a lot of interaction detail to discuss. I think the kernel is Watching some events and then calling a shell to execute kubectl or vela and do some string resolve.

But I'm new to kubevela, the first step is to get familiar with kubevela, then design the UI and interaction, right? could you give me some advice? @Somefive thx:)

@Somefive
Copy link
Collaborator Author

@Charlie17Li Hi, glad to hear that. Let's leave this issue for the discussion of the IDE plugins. If you need advices on starting with KubeVela, you can contact me in the DingDing group or Slack channel.

Yes, for the IDE part, I think executing kubectl or vela could be one way to deal with that.

@wonderflow wonderflow changed the title [Feature] [GSOC] IDE Plugins for editing vela applications [Feature] [GSOC] IDE(editor) Plugins for editing OAM applications Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/large priority/nice-to-have It's a good idea, but not scheduled for any release. summber-of-code and lfx the issue for lfx and google/alibaba summer of code type/enhancement New feature or request
Projects
None yet
3 participants