update first app deploy doc

Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
This commit is contained in:
Jianbo Sun 2022-09-01 12:59:14 +08:00
parent 3ea45a3975
commit 1da988d3ad
17 changed files with 305 additions and 71 deletions

View File

@ -38,9 +38,8 @@ When definitions installed in the system, they can be discovered by end user imm
vela def list
```
The expected output:
<details>
<summary>expected output</summary>
```
NAME TYPE NAMESPACE DESCRIPTION
@ -61,9 +60,8 @@ notification WorkflowStepDefinition vela-system Send message to
vela show webservice
```
The expected output:
<details>
<summary>expected output</summary>
```
# Properties

View File

@ -50,9 +50,8 @@ Check `velad` and `vela` command line tools are exist in `/usr/local/bin/` for M
velad install
```
The expected output:
<details>
<summary>expected output</summary>
```
Preparing K3s images...
@ -80,9 +79,8 @@ export KUBECONFIG=$(velad kubeconfig --host)
vela comp
```
The expected output:
<details>
<summary>expected output</summary>
```
NAME DEFINITION DESCRIPTION
@ -125,11 +123,13 @@ VelaUX is a dashboard including UI console and API services.
vela addon enable ~/.vela/addons/velaux
```
expected output:
<details>
<summary>expected output</summary>
```
Addon: velaux enabled Successfully.
```
</details>
By default, velaux didn't have any exposed port, If there is the browser in local, you can view it by:
@ -152,7 +152,3 @@ velad uninstall
```
This command will clean up KubeVela controllers along with the Kubernetes cluster, refer to [the advanced guide](./platform-engineers/advanced-install#uninstall) for more detailed steps.
## Next Step
- [Deploy your first application](./quick-start).

View File

@ -68,14 +68,27 @@ spec:
```bash
# This command will create a namespace in the local cluster
$ vela env init prod --namespace prod
vela env init prod --namespace prod
```
<details>
<summary>expected output</summary>
```console
environment prod with namespace prod created
```
</details>
* Starting deploy the application
```
$ vela up -f https://kubevela.net/example/applications/first-app.yaml
vela up -f https://kubevela.net/example/applications/first-app.yaml
```
<details>
<summary>expected output</summary>
```console
Applying an application in vela K8s object format...
I0516 15:45:18.123356 27156 apply.go:107] "creating object" name="first-vela-app" resource="core.oam.dev/v1beta1, Kind=Application"
✅ App has been deployed 🚀🚀🚀
@ -86,11 +99,18 @@ I0516 15:45:18.123356 27156 apply.go:107] "creating object" name="first-vela-a
Endpoint: vela status first-vela-app --endpoint
Application prod/first-vela-app applied.
```
</details>
* View the process and status of the application deploy
```bash
$ vela status first-vela-app
vela status first-vela-app
```
<details>
<summary>expected output</summary>
```console
About:
Name: first-vela-app
@ -111,6 +131,7 @@ Services:
Traits:
✅ scaler
```
</details>
The application will become a `workflowSuspending` status, it means the workflow has finished the first two steps and waiting for manual approval as the step specified.
@ -124,26 +145,43 @@ vela port-forward first-vela-app 8000:8000
It will invoke your browser and your can see the website:
<details>
<summary>expected output</summary>
```
<xmp>
Hello KubeVela! Make shipping applications more enjoyable.
...snip...
```
</details>
* Resume the workflow
After we finshed checking the application, we can approve the workflow to continue:
After we finished checking the application, we can approve the workflow to continue:
```bash
$ vela workflow resume first-vela-app
vela workflow resume first-vela-app
```
<details>
<summary>expected output</summary>
```console
Successfully resume workflow: first-vela-app
```
</details>
Then the rest will be delivered in the `prod` namespace:
```bash
vela status first-vela-app
```
$ vela status first-vela-app
<details>
<summary>expected output</summary>
```console
About:
Name: first-vela-app
@ -170,6 +208,7 @@ Services:
Traits:
✅ scaler
```
</details>
Great! You have finished deploying your first KubeVela application, you can also view and manage it in UI.
@ -193,15 +232,28 @@ Click the application card, then you can view the details of the application.
![first-app-graph](https://static.kubevela.net/images/1.5/first-app-graph.jpg)
> If you deploy the application once on the UI side, the application source of trust changes to UI. then, it is not recommended to modify the application properties from the CLI. You can use the following ways: UI, API, and Webhook.
The UI console shares a different metadata layer with the controller. It's more like a PaaS architecture of a company which choose a database as the source of truth instead of relying on the etcd of Kubernetes.
By default, if you're using CLI to manage the applications directly from Kubernetes API, we will sync the metadata to UI backend automatically. Once you deployed the application from the UI console, the automatic sync process will be stopped as the source of truth may be changed.
If there're any changes happen from CLI after that, the UI console will detect the difference and show it for you. However, it's not recommended to modify the application properties from both sides.
In conclusion, if you're a CLI/YAML/GitOps user, you'd better just use CLI to manage the application CRD and just use the UI console (velaux) as a dashboard. Once you've managed the app from the UI console, you need to align the behavior and manage apps from UI, API, or Webhook provided by velaux.
## Clean up
```bash
$ vela delete first-vela-app
vela delete first-vela-app
```
<details>
<summary>expected output</summary>
```console
Deleting Application "first-vela-app"
app "first-vela-app" deleted from namespace "prod"
```
</details>
That's it! You succeed at the first application delivery. Congratulation!

View File

@ -26,7 +26,7 @@ module.exports = {
id: 'start',
content:
'<div class="header-item">⭐️ If you like KubeVela, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/kubevela/kubevela">GitHub</a>!⭐️</div>' +
'<div class="header-item"><span>KubeVela v1.5.2 is now available.(2022-08-12)</span> <a target="_blank" style="color: var(--ifm-color-primary)" rel="noopener noreferrer" href="https://github.com/kubevela/kubevela/releases/v1.5.2">Read Release Note</a></div>',
'<div class="header-item"><span>KubeVela v1.5.3 is now available.(2022-08-24)</span> <a target="_blank" style="color: var(--ifm-color-primary)" rel="noopener noreferrer" href="https://github.com/kubevela/kubevela/releases/v1.5.3">Read Release Note</a></div>',
},
algolia: {
appId: 'PXMFHFWUGZ',

View File

@ -38,8 +38,8 @@ title: 模块定义
vela def list
```
期望输出:
<details>
<summary>期望输出</summary>
```
NAME TYPE NAMESPACE DESCRIPTION
@ -58,8 +58,9 @@ notification WorkflowStepDefinition vela-system Send message to
```
vela show webservice
```
期望输出:
<details>
<summary>期望输出</summary>
```
# Properties

View File

@ -28,7 +28,7 @@ KubeVela 是一个开箱即用的现代化应用交付与管理平台,它使
- **天然支持企业级集成,安全、合规、可观测性一应俱全**
KubeVela 天然支持[多集群认证和授权](./platform-engineers/auth/advance)并与 Kubernetes RBAC 集成你还可以从社区的插件中心找到一系列开箱即用的平台扩展包括多种用户体系LDAP 等)集成、多租户权限控制、安全校验和扫描、应用可观测性等大量企业级能力。轻松根据需求和场景来设计和定制你的平台扩展能力,满足业务快速增长的需求,同时持续保证生产环境的稳定和安全。整个应用交付流程充分具备透明化、可观测能力,系统自身的各项指标和监控大盘完全[自动化生成](./platform-engineers/operations/observability)。
- **面向多云多集群混合环境,丰富的应用交付和管理能力**
KubeVela 原生支持丰富的多集群/混合环境持续交付策略包括金丝雀、蓝绿、多环境差异化配置等同样也支持跨环境交付。这些交付策略为你的分布式交付流程提供了充足的效率和安全保证。KubeVela 提供的中心化管控能力也减轻了到每一个集群(云)去排查问题的负担,针对不同的平台提供统一的体验,让你享受自动化交付的便利。

View File

@ -42,9 +42,8 @@ powershell -Command "iwr -useb https://static.kubevela.net/script/install.ps1 |
velad install
```
查看到以下输出则代表安装成功:
<details>
<summary>期望输出</summary>
```
Preparing K3s images...
@ -72,9 +71,8 @@ export KUBECONFIG=$(velad kubeconfig --host)
vela comp
```
The expected output:
<details>
<summary>期望输出</summary>
```
NAME DEFINITION DESCRIPTION
@ -115,11 +113,13 @@ VelaUX 是面向企业的应用交付控制台和可视化平台。
vela addon enable ~/.vela/addons/velaux
```
查看到以下输出则代表安装成功:
<details>
<summary>期望输出</summary>
```
Addon: velaux enabled Successfully.
```
</details>
如果你是在本地执行安装,你可以通过以下方式快速访问到 VelaUX:

View File

@ -69,18 +69,71 @@ spec:
```bash
# 此命令用于在管控集群创建命名空间
vela env init prod --namespace prod
```
<details>
<summary>期望输出</summary>
```console
environment prod with namespace prod created
```
</details>
```
vela up -f https://kubevela.net/example/applications/first-app.yaml
```
> 需要注意的是需要你的部署环境可以正常获取 `oamdev/hello-world` 镜像
<details>
<summary>期望输出</summary>
```console
Applying an application in vela K8s object format...
I0516 15:45:18.123356 27156 apply.go:107] "creating object" name="first-vela-app" resource="core.oam.dev/v1beta1, Kind=Application"
✅ App has been deployed 🚀🚀🚀
Port forward: vela port-forward first-vela-app
SSH: vela exec first-vela-app
Logging: vela logs first-vela-app
App status: vela status first-vela-app
Endpoint: vela status first-vela-app --endpoint
Application prod/first-vela-app applied.
```
</details>
* 查看部署状态
```bash
vela status first-vela-app
```
正常情况下应用完成第一个目标部署后进入暂停状态。
<details>
<summary>期望输出</summary>
```console
About:
Name: first-vela-app
Namespace: prod
Created at: 2022-05-16 15:45:18 +0800 CST
Status: workflowSuspending
Workflow:
...
Services:
- Name: express-server
Cluster: local Namespace: default
Type: webservice
Healthy Ready:1/1
Traits:
✅ scaler
```
</details>
正常情况下应用完成第一个目标部署后进入暂停状态(`workflowSuspending`)。
* 人工审核,批准应用进入第二个目标部署
@ -96,12 +149,19 @@ $ vela port-forward first-vela-app 8000:8000
上述命令将创建本地代理并打开本地浏览器,你可以查看到如下内容:
<details>
<summary>期望输出</summary>
```
<xmp>
Hello KubeVela! Make shipping applications more enjoyable.
...snip...
```
</details>
恭喜,至此你已经完成了首个 KubeVela 应用的部署流程,下面我们介绍通过 UI 控制台查看和管理应用。
## 基于 UI 管理应用
@ -119,19 +179,29 @@ UI 控制台需要用户认证,默认的账号是: `admin` 密码是: **`V
* 查看第一个应用的部署拓扑图
通过 CLI 部署的应用会自动同步到 UI 侧,你可以进入应用页面查看到应用的相关可视化状态,比如:资源拓扑图,实例等。如果你未在 CLI 侧执行审核操作,应用页面右上方将显示审核窗口。
> 如果你在 UI 侧执行一次应用的部署,该应用将被 UI 完全接管,此时不建议再从 CLI 来修改应用部署属性,可通过 UI 提供的方式界面、API 和 Webhook 来执行部署。
通过 CLI 部署的应用会自动同步到 UI 侧,你可以进入应用页面查看到应用的相关可视化状态,比如:资源拓扑图,实例等。
![first-app-graph](https://static.kubevela.net/images/1.5/first-app-graph.jpg)
KubeVela 的 UI 控制台跟底层的控制器使用了不同的元数据存储,它的架构类似企业的 PaaS 模式UI 控制台velaux在上层使用数据库作为元数据存储而非依赖底层集群的 etcd。
默认情况下CLI 操作的应用会自动同步到 UI 控制台的元数据中,但是一旦你通过 UI 界面做应用部署的操作,应用元数据的自动同步就会停止。接下来你依旧可以用 CLI 去管理应用,并且修改的差异可以在 UI 控制台上查看。但是我们不建议你同时通过 CLI 和 UI 去管理应用。
总体而言,如果你的场景更倾向于使用 CLI/YAML/GitOps那么我们建议你直接管理 application CRD将 UI 控制台当成看板使用。如果你喜欢通过 UI 控制台管理,那就保持行为的一致,基于 UI 提供的方式界面、API 和 Webhook 来执行部署。
## 清理
```bash
$ vela delete first-vela-app
vela delete first-vela-app
```
<details>
<summary>期望输出</summary>
```console
Deleting Application "first-vela-app"
app "first-vela-app" deleted from namespace "prod"
```
</details>
处于同步状态的应用,如果通过 CLI 删除后UI 侧的应用同步删除。

View File

@ -38,8 +38,8 @@ title: 模块定义
vela def list
```
期望输出:
<details>
<summary>期望输出</summary>
```
NAME TYPE NAMESPACE DESCRIPTION
@ -58,8 +58,9 @@ notification WorkflowStepDefinition vela-system Send message to
```
vela show webservice
```
期望输出:
<details>
<summary>期望输出</summary>
```
# Properties

View File

@ -28,7 +28,7 @@ KubeVela 是一个开箱即用的现代化应用交付与管理平台,它使
- **天然支持企业级集成,安全、合规、可观测性一应俱全**
KubeVela 天然支持[多集群认证和授权](./platform-engineers/auth/advance)并与 Kubernetes RBAC 集成你还可以从社区的插件中心找到一系列开箱即用的平台扩展包括多种用户体系LDAP 等)集成、多租户权限控制、安全校验和扫描、应用可观测性等大量企业级能力。轻松根据需求和场景来设计和定制你的平台扩展能力,满足业务快速增长的需求,同时持续保证生产环境的稳定和安全。整个应用交付流程充分具备透明化、可观测能力,系统自身的各项指标和监控大盘完全[自动化生成](./platform-engineers/operations/observability)。
- **面向多云多集群混合环境,丰富的应用交付和管理能力**
KubeVela 原生支持丰富的多集群/混合环境持续交付策略包括金丝雀、蓝绿、多环境差异化配置等同样也支持跨环境交付。这些交付策略为你的分布式交付流程提供了充足的效率和安全保证。KubeVela 提供的中心化管控能力也减轻了到每一个集群(云)去排查问题的负担,针对不同的平台提供统一的体验,让你享受自动化交付的便利。

View File

@ -42,9 +42,8 @@ powershell -Command "iwr -useb https://static.kubevela.net/script/install.ps1 |
velad install
```
查看到以下输出则代表安装成功:
<details>
<summary>期望输出</summary>
```
Preparing K3s images...
@ -72,9 +71,8 @@ export KUBECONFIG=$(velad kubeconfig --host)
vela comp
```
The expected output:
<details>
<summary>期望输出</summary>
```
NAME DEFINITION DESCRIPTION
@ -115,11 +113,13 @@ VelaUX 是面向企业的应用交付控制台和可视化平台。
vela addon enable ~/.vela/addons/velaux
```
查看到以下输出则代表安装成功:
<details>
<summary>期望输出</summary>
```
Addon: velaux enabled Successfully.
```
</details>
如果你是在本地执行安装,你可以通过以下方式快速访问到 VelaUX:

View File

@ -69,18 +69,71 @@ spec:
```bash
# 此命令用于在管控集群创建命名空间
vela env init prod --namespace prod
```
<details>
<summary>期望输出</summary>
```console
environment prod with namespace prod created
```
</details>
```
vela up -f https://kubevela.net/example/applications/first-app.yaml
```
> 需要注意的是需要你的部署环境可以正常获取 `oamdev/hello-world` 镜像
<details>
<summary>期望输出</summary>
```console
Applying an application in vela K8s object format...
I0516 15:45:18.123356 27156 apply.go:107] "creating object" name="first-vela-app" resource="core.oam.dev/v1beta1, Kind=Application"
✅ App has been deployed 🚀🚀🚀
Port forward: vela port-forward first-vela-app
SSH: vela exec first-vela-app
Logging: vela logs first-vela-app
App status: vela status first-vela-app
Endpoint: vela status first-vela-app --endpoint
Application prod/first-vela-app applied.
```
</details>
* 查看部署状态
```bash
vela status first-vela-app
```
正常情况下应用完成第一个目标部署后进入暂停状态。
<details>
<summary>期望输出</summary>
```console
About:
Name: first-vela-app
Namespace: prod
Created at: 2022-05-16 15:45:18 +0800 CST
Status: workflowSuspending
Workflow:
...
Services:
- Name: express-server
Cluster: local Namespace: default
Type: webservice
Healthy Ready:1/1
Traits:
✅ scaler
```
</details>
正常情况下应用完成第一个目标部署后进入暂停状态(`workflowSuspending`)。
* 人工审核,批准应用进入第二个目标部署
@ -96,12 +149,19 @@ $ vela port-forward first-vela-app 8000:8000
上述命令将创建本地代理并打开本地浏览器,你可以查看到如下内容:
<details>
<summary>期望输出</summary>
```
<xmp>
Hello KubeVela! Make shipping applications more enjoyable.
...snip...
```
</details>
恭喜,至此你已经完成了首个 KubeVela 应用的部署流程,下面我们介绍通过 UI 控制台查看和管理应用。
## 基于 UI 管理应用
@ -119,19 +179,29 @@ UI 控制台需要用户认证,默认的账号是: `admin` 密码是: **`V
* 查看第一个应用的部署拓扑图
通过 CLI 部署的应用会自动同步到 UI 侧,你可以进入应用页面查看到应用的相关可视化状态,比如:资源拓扑图,实例等。如果你未在 CLI 侧执行审核操作,应用页面右上方将显示审核窗口。
> 如果你在 UI 侧执行一次应用的部署,该应用将被 UI 完全接管,此时不建议再从 CLI 来修改应用部署属性,可通过 UI 提供的方式界面、API 和 Webhook 来执行部署。
通过 CLI 部署的应用会自动同步到 UI 侧,你可以进入应用页面查看到应用的相关可视化状态,比如:资源拓扑图,实例等。
![first-app-graph](https://static.kubevela.net/images/1.5/first-app-graph.jpg)
KubeVela 的 UI 控制台跟底层的控制器使用了不同的元数据存储,它的架构类似企业的 PaaS 模式UI 控制台velaux在上层使用数据库作为元数据存储而非依赖底层集群的 etcd。
默认情况下CLI 操作的应用会自动同步到 UI 控制台的元数据中,但是一旦你通过 UI 界面做应用部署的操作,应用元数据的自动同步就会停止。接下来你依旧可以用 CLI 去管理应用,并且修改的差异可以在 UI 控制台上查看。但是我们不建议你同时通过 CLI 和 UI 去管理应用。
总体而言,如果你的场景更倾向于使用 CLI/YAML/GitOps那么我们建议你直接管理 application CRD将 UI 控制台当成看板使用。如果你喜欢通过 UI 控制台管理,那就保持行为的一致,基于 UI 提供的方式界面、API 和 Webhook 来执行部署。
## 清理
```bash
$ vela delete first-vela-app
vela delete first-vela-app
```
<details>
<summary>期望输出</summary>
```console
Deleting Application "first-vela-app"
app "first-vela-app" deleted from namespace "prod"
```
</details>
处于同步状态的应用,如果通过 CLI 删除后UI 侧的应用同步删除。

View File

@ -133,7 +133,7 @@ Hello KubeVela! Make shipping applications more enjoyable.
* Resume the workflow
After we finshed check the application, we can approve the workflow to continue:
After we finished check the application, we can approve the workflow to continue:
```bash
$ vela workflow resume first-vela-app

View File

@ -133,7 +133,7 @@ Hello KubeVela! Make shipping applications more enjoyable.
* Resume the workflow
After we finshed checking the application, we can approve the workflow to continue:
After we finished checking the application, we can approve the workflow to continue:
```bash
$ vela workflow resume first-vela-app

View File

@ -38,9 +38,8 @@ When definitions installed in the system, they can be discovered by end user imm
vela def list
```
The expected output:
<details>
<summary>expected output</summary>
```
NAME TYPE NAMESPACE DESCRIPTION
@ -61,9 +60,8 @@ notification WorkflowStepDefinition vela-system Send message to
vela show webservice
```
The expected output:
<details>
<summary>expected output</summary>
```
# Properties

View File

@ -50,9 +50,8 @@ Check `velad` and `vela` command line tools are exist in `/usr/local/bin/` for M
velad install
```
The expected output:
<details>
<summary>expected output</summary>
```
Preparing K3s images...
@ -80,9 +79,8 @@ export KUBECONFIG=$(velad kubeconfig --host)
vela comp
```
The expected output:
<details>
<summary>expected output</summary>
```
NAME DEFINITION DESCRIPTION
@ -125,11 +123,13 @@ VelaUX is a dashboard including UI console and API services.
vela addon enable ~/.vela/addons/velaux
```
expected output:
<details>
<summary>expected output</summary>
```
Addon: velaux enabled Successfully.
```
</details>
By default, velaux didn't have any exposed port, If there is the browser in local, you can view it by:
@ -152,7 +152,3 @@ velad uninstall
```
This command will clean up KubeVela controllers along with the Kubernetes cluster, refer to [the advanced guide](./platform-engineers/advanced-install#uninstall) for more detailed steps.
## Next Step
- [Deploy your first application](./quick-start).

View File

@ -68,14 +68,27 @@ spec:
```bash
# This command will create a namespace in the local cluster
$ vela env init prod --namespace prod
vela env init prod --namespace prod
```
<details>
<summary>expected output</summary>
```console
environment prod with namespace prod created
```
</details>
* Starting deploy the application
```
$ vela up -f https://kubevela.net/example/applications/first-app.yaml
vela up -f https://kubevela.net/example/applications/first-app.yaml
```
<details>
<summary>expected output</summary>
```console
Applying an application in vela K8s object format...
I0516 15:45:18.123356 27156 apply.go:107] "creating object" name="first-vela-app" resource="core.oam.dev/v1beta1, Kind=Application"
✅ App has been deployed 🚀🚀🚀
@ -86,11 +99,18 @@ I0516 15:45:18.123356 27156 apply.go:107] "creating object" name="first-vela-a
Endpoint: vela status first-vela-app --endpoint
Application prod/first-vela-app applied.
```
</details>
* View the process and status of the application deploy
```bash
$ vela status first-vela-app
vela status first-vela-app
```
<details>
<summary>expected output</summary>
```console
About:
Name: first-vela-app
@ -111,6 +131,7 @@ Services:
Traits:
✅ scaler
```
</details>
The application will become a `workflowSuspending` status, it means the workflow has finished the first two steps and waiting for manual approval as the step specified.
@ -124,26 +145,43 @@ vela port-forward first-vela-app 8000:8000
It will invoke your browser and your can see the website:
<details>
<summary>expected output</summary>
```
<xmp>
Hello KubeVela! Make shipping applications more enjoyable.
...snip...
```
</details>
* Resume the workflow
After we finshed checking the application, we can approve the workflow to continue:
After we finished checking the application, we can approve the workflow to continue:
```bash
$ vela workflow resume first-vela-app
vela workflow resume first-vela-app
```
<details>
<summary>expected output</summary>
```console
Successfully resume workflow: first-vela-app
```
</details>
Then the rest will be delivered in the `prod` namespace:
```bash
vela status first-vela-app
```
$ vela status first-vela-app
<details>
<summary>expected output</summary>
```console
About:
Name: first-vela-app
@ -170,6 +208,7 @@ Services:
Traits:
✅ scaler
```
</details>
Great! You have finished deploying your first KubeVela application, you can also view and manage it in UI.
@ -193,15 +232,28 @@ Click the application card, then you can view the details of the application.
![first-app-graph](https://static.kubevela.net/images/1.5/first-app-graph.jpg)
> If you deploy the application once on the UI side, the application source of trust changes to UI. then, it is not recommended to modify the application properties from the CLI. You can use the following ways: UI, API, and Webhook.
The UI console shares a different metadata layer with the controller. It's more like a PaaS architecture of a company which choose a database as the source of truth instead of relying on the etcd of Kubernetes.
By default, if you're using CLI to manage the applications directly from Kubernetes API, we will sync the metadata to UI backend automatically. Once you deployed the application from the UI console, the automatic sync process will be stopped as the source of truth may be changed.
If there're any changes happen from CLI after that, the UI console will detect the difference and show it for you. However, it's not recommended to modify the application properties from both sides.
In conclusion, if you're a CLI/YAML/GitOps user, you'd better just use CLI to manage the application CRD and just use the UI console (velaux) as a dashboard. Once you've managed the app from the UI console, you need to align the behavior and manage apps from UI, API, or Webhook provided by velaux.
## Clean up
```bash
$ vela delete first-vela-app
vela delete first-vela-app
```
<details>
<summary>expected output</summary>
```console
Deleting Application "first-vela-app"
app "first-vela-app" deleted from namespace "prod"
```
</details>
That's it! You succeed at the first application delivery. Congratulation!