kubevela/design
github-actions[bot] 75f8209a4c
[Backport release-1.8] Feat: add sub-module to Golang SDK (#5731)
* wait to deal with go.mod

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 91f9e49d21)

* seperate def and module modifier

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 8f4ef2f62a)

* fix module import

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit fa02a0f8cd)

* refine code

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 3a56d8c829)

* remove the pointer reference in loop

generalize the language-specific argument parsing

amend tests

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 38b593d6f9)

* remove focused test

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 8aa74df69f)

* fix test

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 6d40d257e1)

* update command usage

Signed-off-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 78bb040039)

---------

Co-authored-by: Qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
2023-03-24 11:34:16 +08:00
..
api
platform
resources Feat: SDK generating framework (#5431) 2023-02-21 15:54:44 +08:00
vela-cli [Backport release-1.8] Feat: add sub-module to Golang SDK (#5731) 2023-03-24 11:34:16 +08:00
vela-core Feat: add cloud resource data passing KEP (#5489) 2023-02-13 15:50:56 +08:00
README.md Docs: add KEPs introduction to the main repo (#5099) 2022-11-21 15:19:31 +08:00
TEMPLATE.md Docs: add KEPs introduction to the main repo (#5099) 2022-11-21 15:19:31 +08:00

README.md

KubeVela Enhancement Proposals (KEPs)

This directory is a place to propose and discuss new ideas of KubeVela concepts, designs, architectures and techniques.

When do we need KEPs

When major changes are intended to be made to KubeVela project, we need KEPs. Major changes includes:

  • New project-level features that add modules to the architecture, like new Controller or APIServer.
  • Break changes to the core concepts of KubeVela, such as Application, Workflow, Component, etc.
  • Techniques or domains that lots of related enhancements need to be added to KubeVela, like multi-cluster, observability, etc.

Changes to the internal mechanism of core KubeVela are recommended to add proposals as well, including:

  • Application behaviours and related policies: State-keep, garbage-collect, resource dispatch, etc.
  • API changes of auxiliary resources in KubeVela, such as ApplicationRevision, ResourceTracker.
  • New concepts and layers in KubeVela APIServer on VelaUX, such as Project, Target, etc.

Minor changes and enhancements do not necessarily need to be included, but instead recommended to be tracked by issues, such as

  • New addons.
  • New Component/Trait/WorkflowStep definitions.
  • New additional function APIs in APIServer.
  • Bug detection and fixes.
  • Auxiliary commands in CLI.

Areas

There are several directories contained. Each directory contains the KEPs in specific area.

  • /vela-core: The proposals of features and changes to the core KubeVela, including Application APIs, internal mechanisms, auxiliary policies, etc.
  • /vela-cli: The proposals of features to the KubeVela CLI, such as vela top, vela def.
  • /api: The proposals of the interfaces KubeVela exposes to users, such as command line args for the core controller.
  • /platform: The proposals of integrating features in various related areas outside KubeVela, such as edge computing, artificial intelligence.
  • /resources: The related images embedded in the design documentations.

Writing a new Proposal

The aim of a proposal is to communicate designs with others and give KubeVela users some basic ideas of how features and evolved and developed.

To reach that, there are several things seed to be included in a proposal.

  1. The background of the feature or change, which explains why we need it.
  2. The goals and non-goals for the proposal.
  3. The potential technical solutions for the proposal and comparisons between various solutions. (Single solution is also acceptable.)
  4. How we should move on for the proposal. The estimated milestones or timelines for the feature development.

Submitting a new proposal

We recommend to use the template to start a new proposal. After finishing the proposal in the proper directory, raise a pull request to add the proposal to the main repo. If there are any issues related to the proposal, you can also add links to the issues in the pull request.