diff --git a/docs/_sidebar.md b/docs/_sidebar.md
index ee6032272..6ecc711cd 100644
--- a/docs/_sidebar.md
+++ b/docs/_sidebar.md
@@ -1,10 +1,8 @@
- Overview
- [Introduction](/en/introduction.md)
- - [Installation](/en/install.md)
- - [Quick Start](/en/quick-start.md)
- - [Concepts](/en/concepts.md)
+ - [Getting Started](/en/quick-start.md)
-- For Developers
+- Using KubeVela
- [Setting Up Deployment Environment](/en/developers/config-enviroments.md)
- [Initializing Application](/en/developers/app-init.md)
- [Setting Routes](/en/developers/set-route.md)
@@ -20,45 +18,46 @@
- [Managing Capabilities](/en/developers/cap-center.md)
- [Capability References](/en/developers/references/README.md)
-- For Platform Engineers
- - [Extending KubeVela](/en/platform-engineers/extending-kubevela.md)
-
-- Internals
- - [Design and Architecture](/en/design.md)
+- Extending KubeVela
+ - [Add Trait](/en/platform-engineers/trait.md)
+ - [Add Workload Type](/en/platform-engineers/workload-type.md)
+ - [Add Cloud Resource](/en/platform-engineers/cloud-resource.md)
- Roadmap
- [KubeVela Roadmap](/en/roadmap.md)
-- CLI Reference
- - General
- - [vela config](/en/cli/vela_config.md)
- - [vela env](/en/cli/vela_env.md)
- - [vela init](/en/cli/vela_init.md)
- - [vela install](/en/cli/vela_install.md)
- - [vela up](/en/cli/vela_up.md)
- - [vela version](/en/cli/vela_version.md)
- - Applications
- - [vela delete](/en/cli/vela_delete.md)
- - [vela exec](/en/cli/vela_exec.md)
- - [vela logs](/en/cli/vela_logs.md)
- - [vela ls](/en/cli/vela_ls.md)
- - [vela port-forward](/en/cli/vela_port-forward.md)
- - [vela show](/en/cli/vela_show.md)
- - [vela status](/en/cli/vela_status.md)
- - [vela svc](/en/cli/vela_svc.md)
- - Workload Types
- - [vela workloads](/en/cli/vela_workloads.md)
- - Traits
- - [vela traits](/en/cli/vela_traits.md)
- - [vela scaler](/en/cli/vela_scaler.md)
- - [vela route](/en/cli/vela_route.md)
- - [vela autoscale](/en/cli/vela_autoscale.md)
- - [vela rollout](/en/cli/vela_rollout.md)
- - [vela metric](/en/cli/vela_metric.md)
- - System
- - [vela completion](/en/cli/vela_completion.md)
- - [vela dashboard](/en/cli/vela_dashboard.md)
- - [vela system](/en/cli/vela_system.md)
- - [vela template](/en/cli/vela_template.md)
- - Extensibility
- - [vela cap](/en/cli/vela_cap.md)
+- Reference
+ - [Concepts and Glossaries](/en/concepts.md)
+ - CLI
+ - General
+ - [vela config](/en/cli/vela_config.md)
+ - [vela env](/en/cli/vela_env.md)
+ - [vela init](/en/cli/vela_init.md)
+ - [vela install](/en/cli/vela_install.md)
+ - [vela up](/en/cli/vela_up.md)
+ - [vela version](/en/cli/vela_version.md)
+ - Applications
+ - [vela delete](/en/cli/vela_delete.md)
+ - [vela exec](/en/cli/vela_exec.md)
+ - [vela logs](/en/cli/vela_logs.md)
+ - [vela ls](/en/cli/vela_ls.md)
+ - [vela port-forward](/en/cli/vela_port-forward.md)
+ - [vela show](/en/cli/vela_show.md)
+ - [vela status](/en/cli/vela_status.md)
+ - [vela svc](/en/cli/vela_svc.md)
+ - Workload Types
+ - [vela workloads](/en/cli/vela_workloads.md)
+ - Traits
+ - [vela traits](/en/cli/vela_traits.md)
+ - [vela scaler](/en/cli/vela_scaler.md)
+ - [vela route](/en/cli/vela_route.md)
+ - [vela autoscale](/en/cli/vela_autoscale.md)
+ - [vela rollout](/en/cli/vela_rollout.md)
+ - [vela metric](/en/cli/vela_metric.md)
+ - System
+ - [vela completion](/en/cli/vela_completion.md)
+ - [vela dashboard](/en/cli/vela_dashboard.md)
+ - [vela system](/en/cli/vela_system.md)
+ - [vela template](/en/cli/vela_template.md)
+ - Extensibility
+ - [vela cap](/en/cli/vela_cap.md)
diff --git a/docs/en/install.md b/docs/en/install.md
index 7b8138263..cb5b1fedf 100644
--- a/docs/en/install.md
+++ b/docs/en/install.md
@@ -1,13 +1,17 @@
# Install KubeVela
-## 1. Setup local k8s cluster
+## 1. Setup Kubernetes cluster
+Requirements:
- Kubernetes cluster >= v1.15.0
- kubectl installed and configured
You may pick either Minikube or KinD as local cluster testing option.
-### Minikube
+> NOTE: If you are not using minikube or kind, please make sure to [install or enable ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/) by yourself.
+
+Minikube
+
Follow the minikube [installation guide](https://minikube.sigs.k8s.io/docs/start/).
@@ -22,8 +26,11 @@ Install ingress:
```bash
$ minikube addons enable ingress
```
+
+
-### KinD
+KinD
+
Follow [this guide](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) to install kind.
@@ -55,6 +62,8 @@ Then install [ingress for kind](https://kind.sigs.k8s.io/docs/user/ingress/#ingr
```bash
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/kind/deploy.yaml
```
+
+
## 2. Get KubeVela
@@ -75,28 +84,74 @@ $ vela install
This will install KubeVela server component and its dependency components.
-## 4. Verify
+(Advanced) Verify Installation Manually
+
+ Check Vela Helm Chart has been installed:
-Check Vela Helm Chart has been installed:
-```
-$ helm list -n vela-system
-NAME NAMESPACE REVISION ...
-kubevela vela-system 1 ...
-```
+ ```console
+ $ helm list -n vela-system
+ NAME NAMESPACE REVISION ...
+ kubevela vela-system 1 ...
+ ```
-Later on, check that the dependency components has been installed:
-```
-$ helm list --all-namespaces
-NAME NAMESPACE REVISION ...
-cert-manager cert-manager 1 ...
-flagger vela-system 1
-kube-prometheus-stack monitoring 1
-...
-```
+ Later on, check that all dependency components has been installed (they will need 5-10 minutes to show up):
-**Voila!** You are all set to go.
+ ```console
+ $ helm list --all-namespaces
+ NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
+ flagger vela-system 1 2020-11-10 18:47:14.0829416 +0000 UTC deployed flagger-1.1.0 1.1.0
+ keda keda 1 2020-11-10 18:45:15.6981827 +0000 UTC deployed keda-2.0.0-rc3 2.0.0-rc2
+ kube-prometheus-stack monitoring 1 2020-11-10 18:45:37.9608079 +0000 UTC deployed kube-prometheus-stack-9.4.4 0.38.1
+ kubevela vela-system 1 2020-11-10 10:44:20.663582 -0800 PST deployed
+ ```
-## Clean Up
+ > We will introduce a `vela system health` command to check the dependencies in the future.
+
+
+
+(Advanced) Customize Your Installation
+
+ We have installed the following dependency components along with Vela server component:
+
+ - [Prometheus Stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)
+ - [Cert-manager](https://cert-manager.io/)
+ - [Flagger](https://flagger.app/)
+
+ The config has been saved in a ConfigMap in "vela-system/vela-config":
+
+ ```console
+ $ kubectl -n vela-system get cm vela-config -o yaml
+ apiVersion: v1
+ data:
+ certificates.cert-manager.io: |
+ {
+ "repo": "jetstack",
+ "urL": "https://charts.jetstack.io",
+ "name": "cert-manager",
+ "namespace": "cert-manager",
+ "version": "1.0.3"
+ }
+ flagger.app: |
+ ...
+ kind: ConfigMap
+ ```
+
+ User can specify their own dependencies by editing the `vela-config` ConfigMap.
+ Currently adding new chart or updating existing chart requires redeploying Vela:
+
+ ```console
+ $ kubectl -n vela-system edit cm vela-config
+ ...
+
+ $ helm uninstall -n vela-system kubevela
+ $ helm install -n vela-system kubevela
+ ```
+
+
+
+## 4. (Optional) Clean Up
+
+
Run:
@@ -133,42 +188,4 @@ $ kubectl delete crd \
traitdefinitions.core.oam.dev \
workloaddefinitions.core.oam.dev
```
-
-## [Optional] Add/Update Dependencies
-
-We have installed the following dependency components along with Vela server component:
-
-- [Prometheus Stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)
-- [Cert-manager](https://cert-manager.io/)
-- [Flagger](https://flagger.app/)
-
-> NOTE: If you are not using minikube or kind, please make sure to [install ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/) by yourself.
-
-The config has been saved in a ConfigMap in "vela-system/vela-config":
-
-```
-$ kubectl -n vela-system get cm vela-config -o yaml
-apiVersion: v1
-data:
- certificates.cert-manager.io: |
- {
- "repo": "jetstack",
- "urL": "https://charts.jetstack.io",
- "name": "cert-manager",
- "namespace": "cert-manager",
- "version": "1.0.3"
- }
- flagger.app: |
- ...
-kind: ConfigMap
-```
-
-User can specify their own dependencies by editing the `vela-config` ConfigMap.
-Currently adding new chart or updating existing chart requires redeploying Vela:
-```
-$ kubectl -n vela-system edit cm vela-config
-...
-
-$ helm uninstall -n vela-system kubevela
-$ helm install -n vela-system kubevela
-```
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/en/platform-engineers/cloud-resource.md b/docs/en/platform-engineers/cloud-resource.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/en/platform-engineers/extending-kubevela.md b/docs/en/platform-engineers/trait.md
similarity index 65%
rename from docs/en/platform-engineers/extending-kubevela.md
rename to docs/en/platform-engineers/trait.md
index e5f8963cd..b05984c74 100644
--- a/docs/en/platform-engineers/extending-kubevela.md
+++ b/docs/en/platform-engineers/trait.md
@@ -1,14 +1,8 @@
-# Extending Capabilities in KubeVela
+# Extending Traits in KubeVela
-## How Capabilities Work
+In the following tutorial, you will learn how to add a new trait and expose it to users via Appfile.
-A Capability is a functionality provided by the infrastructure that users can configure to run and operate applications.
-Vela has [an extensible capability system](../design.md#2-capability-oriented-architecture) that allows platform builders to bring bespoke infrastructure capabilities into Vela by writing YAML definitions and CUE templates.
-
-In the following tutorial, you will learn how to add a new capability and expose it to users via CLI/Appfile.
-The new capability is a type of trait but the same process applies to workload as well.
-
-## Add A New Capability
+## Add A New Trait
Prerequisites:
@@ -101,32 +95,9 @@ $ vela up
Service status: vela status testapp --svc testsvc
```
-You can use either of the following options to attach the newly added kubewatch trait to the App:
+#### Verify
-#### Option 1: Testing in CLI
-
-Add kubewatch trait to the application:
-
-```bash
-$ vela kubewatch testapp --svc testsvc --webhook https://hooks.slack.com/
-Adding kubewatch for app testsvc
-⠋ Checking Status ...
-✅ Application Deployed Successfully!
- - Name: testsvc
- Type: webservice
- HEALTHY Ready: 1/1
- Traits:
- - ✅ kubewatch: webhook=https://hooks.slack.com/...
- ...
-```
-
-Check your Slack channel to verify the nofitications:
-
-
-
-#### Option 2: Testing in Appfile
-
-Instead of using CLI, you can add `kubewatch` config to Appfile:
+You can now add `kubewatch` config to Appfile to attach the newly added kubewatch trait to the App:
```bash
$ cat << EOF >> vela.yaml
@@ -140,3 +111,8 @@ Deploy it:
```
$ vela up
```
+
+Check your Slack channel to verify the nofitications:
+
+
+
diff --git a/docs/en/platform-engineers/workload-type.md b/docs/en/platform-engineers/workload-type.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/docs/en/quick-start.md b/docs/en/quick-start.md
index be4aa9e7c..7337c35a3 100644
--- a/docs/en/quick-start.md
+++ b/docs/en/quick-start.md
@@ -1,12 +1,14 @@
# Quick Start
-Welcome to KubeVela! In this guide, we'll walk you through how to deploy a simple service application using KubeVela CLI/Appfile.
+Welcome to KubeVela! In this guide, we'll walk you through how to install KubeVela, and deploy your first simple application.
-## Setup
+## Step 1: Install
Make sure you have finished and verified the installation following [this guide](./install.md).
-## 1. Initialize Application
+## Step 2: Deploy Your First Application
+
+**vela init**
```bash
$ vela init --render-only
@@ -41,7 +43,7 @@ services:
domain: testsvc.example.com
```
-## 2. Deploy Application
+**vela up**
```bash
$ vela up
@@ -67,10 +69,10 @@ Check the status until we see route trait ready:
$ vela status testapp
About:
- Name: testapp
- Namespace: default
- Created at: ...
- Updated at: ...
+ Name: testapp
+ Namespace: default
+ Created at: ...
+ Updated at: ...
Services:
@@ -81,7 +83,7 @@ Services:
Created at: ...
Updated at: ...
Routes:
- - route: Visiting URL: http://testsvc.example.com IP: localhost
+ - route: Visiting URL: http://testsvc.example.com IP: localhost
```
**In [kind cluster setup](./install.md#kind)**, you can visit the service via localhost. In other setups, replace localhost with ingress address accordingly.
@@ -102,6 +104,7 @@ Hello World
`'--.._\..--''
```
+**Voila!** You are all set to go.
## What's Next