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

Doc: Add code map for code-contribute #704

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 99 additions & 1 deletion docs/contributor/code-contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -379,4 +379,102 @@ Learn how to write the docs by the following guide:
* [kubevela.io Developer Guide](https://github.com/kubevela/kubevela.io/blob/main/README.md)
* [Update KubeVela.io CLI Reference Doc](./cli-ref-doc)

Great, you have complete the lifecycle of code contribution, try to [join the community as a member](https://github.com/kubevela/community/blob/main/community-membership.md) if you're interested.
Great, you have complete the lifecycle of code contribution, try to [join the community as a member](https://github.com/kubevela/community/blob/main/community-membership.md) if you're interested.


## Code Map
### /apis
Package apis contains all api types of KubeVela.

#### /apis/core.oam.dev
Package core.oam.dev contains API Schema definitions for the core.oam.dev API group.

#### /apis/standard.oam.dev
Package standard.oam.dev contains API Schema definitions for the standard.oam.dev API group.

#### /apis/types
Package types contains auxiliary definitions for the API group.

### /charts
Used as a Helm Chart.

### /cmd
Place for initialization code.

#### /cmd/apiserver
Place for `vela-apiserver` initialization code.

#### /cmd/core
Place for `vela-core` initialization code.

#### /cmd/plugin
Place for command line interface `vela` initialization code.

### /contribute
Place for contributor and developer guide.

### /design
The design for api, platform, vela-cli and vela-core.

### /docs
Place for api docs and examples of feature.

### /e2e and /test
Code that does the e2e-tests.

### /makefiles
Used as a collection of shortcuts, e.g `make build` or `make reviewable`

### /pkg
Main place for the go code.

#### /pkg/addon
Addon related code.

#### /pkg/apiserver
`vela-apiserver` related code.

#### /pkg/appfile
Code for appfile that is an important go structure of `vela-core`.

#### /pkg/auth
The authorization for KubeVela.

#### /pkg/client
The client for controller_client and delegating_client.

#### /pkg/controller
Custom resource controllers for core.oam.dev and standard.oam.dev API group.

#### /pkg/cue
Cue file related code, contains validation and generation etc.

#### /pkg/monitor
It contains a context that supports fork and commit like trace span.

#### /pkg/multicluster
Code for multiple cluster delivery.

#### /pkg/policy
Policy related code, contains topology, override and envbinding.

#### /pkg/resourcekeeper
ResourceKeeper handler for dispatching, deleting resources and keeping resources up-to-date.

#### /pkg/stdlib
The lib for cue operators.

#### /pkg/utils
Common utils for KubeVela.

#### /pkg/velaql
Place for VelaQL. It is a resource query language for KubeVela, used to query status of any extended resources in application-level.

#### /pkg/workflow
Code for workflow.

### /references
Place for `vela-cli` reference implementation.

### /vela-templates
This is the place for hold built-in CUE templates for Vela Core and Registry.