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] Application creation OpenAPI based on new Application object #913

Closed
zzxwill opened this issue Jan 21, 2021 · 1 comment
Closed
Assignees

Comments

@zzxwill
Copy link
Collaborator

zzxwill commented Jan 21, 2021

Based on Application object, implement OpenAPI to create an application.

Follow KubeVela Restful API specification https://kubevela.io/en/developers/references/restful-api/index.html

@zzxwill
Copy link
Collaborator Author

zzxwill commented Jan 21, 2021

@leejanee is interested in it.

zzxwill added a commit to zzxwill/kubevela that referenced this issue Jan 22, 2021
Implemented Application creation OpenAPI based on new Application object
To kubevela#913
zzxwill added a commit to zzxwill/kubevela that referenced this issue Jan 25, 2021
Implemented Application creation OpenAPI based on new Application object
To kubevela#913
zzxwill added a commit to zzxwill/kubevela that referenced this issue Jan 26, 2021
Implemented Application creation OpenAPI based on new Application object
To kubevela#913
zzxwill added a commit to zzxwill/kubevela that referenced this issue Jan 26, 2021
Implemented Application creation OpenAPI based on new Application object
To kubevela#913
zzxwill added a commit that referenced this issue Jan 28, 2021
* OpenAPI: Application creation based on Application object

Implemented Application creation OpenAPI based on new Application object
To #913

* fix e2e problems

* fix import issue
ryanzhang-oss added a commit that referenced this issue Mar 4, 2021
* update rollout CRD spec

* fix field name

* Generate a local site to host all reference docs

By Cli `vela reference` to generate reference docs for all workload
types and traits, and host them in a local website.

To fix #880

* fix: use httptest instead of echo and rename context

Signed-off-by: zhangrun.zr <zhangrun.zr@alibaba-inc.com>

* fix unstable unit test

Signed-off-by: roy wang <seiwy2010@gmail.com>

* roadmap: add template, rewrite 2020 winter, add 2021 spring (#891)

* roadmap: add template, rewrite 2020 winter, add 2021 spring

Signed-off-by: Hongchao Deng <hongchaodeng1@gmail.com>

* Update docs/en/roadmap/2020-12-roadmap.md

Co-authored-by: Zheng Xi Zhou <zzxwill@gmail.com>

* update

Signed-off-by: Hongchao Deng <hongchaodeng1@gmail.com>

Co-authored-by: Zheng Xi Zhou <zzxwill@gmail.com>

* feature: add healthcheck policy for workload and trait by cue template

Signed-off-by: zhangrun.zr <zhangrun.zr@alibaba-inc.com>

* convert configuration files to variables

open the exact reference doc link for a capability

add option `--no-website` to support display reference docs on console

* add more unittest

* draft

* update docs

* Add `Writing Appfile` based on capability references docs

Introduced `vela show` with and without flag `--no-website`, and
official site to help setting properties for workload types and
traits.

* address comments
Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* add the rollout code framework

* Update the concept doc to reflect app crd

* Fix ref doc guide

* refactor application controller

* implement util/apply with three-way diff

add/fix unit tests

fix e2e tests

update doc & add unit test

Signed-off-by: roy wang <seiwy2010@gmail.com>

* Add Getdefinition OpenAPI in Restful-api docs (#917)

Added Getdefinition api docs and update email contact

* happy new year

Use variable-year in copyrights.

* update APIServer + Catalog design

- add application creation workflow
- make application adaptable to multiple env and clusters
- add module into catalog package format and adapt to helm/terraform

* application dry-run

* lint

* update

* add advanced trait tutorial (#921)

* add advanced trait tutorial

* add more intersiting trait

* init container and patch

* add more traits

* node affinity

* addressing comment

* comment

* support env and config storage driver (#850)

* support env and config storage driver

Signed-off-by: Weiping Cai <weiping.cai@daocloud.io>

* use driver.LocalDriverName to replace  str

Signed-off-by: Weiping Cai <weiping.cai@daocloud.io>

* support vela install with helm args and make cert-manager optional

* code refactor (#935)

* code refactor

* update boilerplate.go.txt

* fix err always nil

* application deployment

* upgrade github.com/stretchr/testify try fix CI

* application controller ignore annotation

* add rolling annotation to the application

* address comments and fix CI

* upload charts to alibaba cloud oss bucket

* fix no config

* add repo url

* force push to cloud

* use the number version

* #884 #830 complete the trait info when it is applied to * (#890)

* #884 complete the trait info when it is applied to *

* add unit test for trait print which applied to *

* code optimization

* code optimization to go standard

* summarize all 'applies to' content to *

* OpenAPI: Application creation based on Application object (#924)

* OpenAPI: Application creation based on Application object

Implemented Application creation OpenAPI based on new Application object
To #913

* fix e2e problems

* fix import issue

* remove 3rd party dependency from default installation (#946)

* remove 3rd party dependency from default installation

* fix CI

* [#929] Modification to comand vela show WORKLOAD_TYPE or TRAIT (#948)

* [#929] Modification to comand vela show WORKLOAD_TYPE or TRAIT

* update the describetion of --web

* [#929] update --web describtion

* update the doc of check-ref-doc.md

* remove vela comp deploy

* remove vela <trait> command

* remove relevant test code

* remove unused dependency installation as we have reduce 3rd party dependency , they will be installed as capability from registry

* update docs

* Using Terraform as IaC module in KubeVela (#863)

* Integrate Terraform into KubeVela

Integrated Terrafrom into KubeVela to enable it to deploy
infrastruce resouces by `vela up`

* extend Terraform modules/files as WorkloadDefinition

stop printing terraform log to console

Support one workload consumes two cloud services

Refactor Terraform plugin based on Application Object

add testcase

* refactor code per reviewer's comments

fix rebase issue

* find lost code back

* refactor code to make the modification as little as to that of branch master

* remove blank lines from imports

* Explain KubeVela

* further develop appDeployment controller

* allow traitDefinition to omit definitionRef

Signed-off-by: roy wang <seiwy2010@gmail.com>

* update delete app prompt information
Signed-off-by: mahao <allenhaozi@gmail.com>

* Update docs/en/platform-engineers/overview.md

Co-authored-by: Zheng Xi Zhou <zzxwill@gmail.com>

* trait name should not contain dummy when traitdefinition not found

* allow multiple outputs for workloaddefintion

* fix ci

* build linux/arm64 cli command

* adress comment

* fix quick start guide as we don't have route trait installed as default (#954)

* fix quick start guide as we don't have route trait installed as default

* add a description for ingress trait

* update kubevela installation guide (#955)

* update kubevela installation guide

* adress comments

* Update docs/en/install.md

Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>

* Update docs/en/install.md

Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>

* remove line

* address comments

Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>

* fix inner containerizedworkload not work

* change from create release by github robot to manuelly
automatically upload artifacts after manually released

* merge chart and docker publish into registry

* fix staticcheck issues

add staticcheck CI action

add staticcheck in Makefile

Signed-off-by: roywang <seiwy2010@gmail.com>

* minor change for CI name

* fix version

* This PR spells out the rollout states (#972)

* add rollout state transition:

* address comments

* Change "vela show" function name

Also updated help vela help message

* Added ingressClass to route trait (#947)

* Added ingressClass to route trait

* typo

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* run make reviewable

* fixed ingress test

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* Set KubeVela as verified publisher of ArtifactHub (#986)

* Set KubeVeal as verified publisher of ArtifactHub

Set KubeVela team as a verified publisher of Artifacthub,
Add README to the repo and add helm badge in github readme

To impleted #977

* Update hack/artifacthub/artifacthub-repo.yml

Co-authored-by: Ryan Zhang <yangzhangrice@hotmail.com>

* Update hack/artifacthub/artifacthub-repo.yml

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* add more owners

* add README to chart

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>
Co-authored-by: Ryan Zhang <yangzhangrice@hotmail.com>

* Fixed wrong chart name

* status app

* use dummy trait definition in appconfig webhook

Signed-off-by: roywang <seiwy2010@gmail.com>

* Update docs/en/platform-engineers/overview.md

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* Update docs/en/platform-engineers/overview.md

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* Update docs/en/platform-engineers/overview.md

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* validating webhook for TraitDefinition

add unit test

fix lint issues

Signed-off-by: roy wang <seiwy2010@gmail.com>

* Build KubeVela legacy chart (#983)

* Build KubeVela legacy chart

Also pushed it to oss bucket
fix #528

* remvoe flag `--devel`

* make it explictly to modify values.yaml for legacy chart

* mark `vela install` as deprecated (#989)

* mark `vela install` as deprecated

* refactor vela install to helm install

* refactor vela install to helm install

fix

* Update pkg/commands/system.go

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* Update pkg/commands/system.go

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* Update README.md

* Update CONTRIBUTING.md

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* Update _sidebar.md

* Update README.md

* revert

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* implement vela status in application CRD controller and refactor the health check code

* remove unused client side trait checker

* Fix issue: artifacthub-repo.yml not uploaded to repo (#1003)

* Fix issue: artifacthub-repo.yml not uploaded to repo

* Update .github/workflows/registry.yml

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* fix cannot sync trait without definitionRef

Signed-off-by: roy wang <seiwy2010@gmail.com>

* Fix wrong target directory name for artifathub.io (#1004)

* Fix openAPIV3Schema validatation issue

Legacy crd charts/vela-core/crds/standard.oam.dev_routes.yaml could not
be applied to old Kubernetes clusters like 1.15.12.
Fix #993

* Fix doc detail

* Fix link in APIServer-Catalog Examples

* Minor fix for APIServe-Catalog Doc

* add demo, test and refine code

* remove redundant image push operation

* move health check and status out of extention

* Update the details of the doc

* cloneset controller draft

* fix lint

* Revert package management and build tool to npm

As yarn failed to build and start the dashboard most
of time, revert the tool to npm

* move template out from extension

* Implement application creation page

To fix #680

* fix lint issue

* add more code to complete the rollout plan (#1024)

* implement ApplyOnceOnlyForce

add unit test

Signed-off-by: roy wang <seiwy2010@gmail.com>

* fix: update CR's status with retry.RetryOnConflict (#1015)

* add data passing mechanism in kubevela

* fix cap error message,

* Add latest release tag to be the prefix of latest version of Chart (#1007)

* Add latest release tag to be the prefix of latest version of Chart

Currently the latest chart is vela-core:latest, which could
not be supported by Artifacthub, add latest tag and make the
latest chart version as `vx.y.z-latest`

* calculate the next tag to be the latest master chart version

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>

* fix vela traits not compatible with installed capability (#1033)

* fix issue 1029

* add test case

* fix check diff

Co-authored-by: 王易可 <wangyike@B-V1QHML7L-1909.local>

* quick fix unstable unit test

Signed-off-by: roywang <seiwy2010@gmail.com>

* fix unstable unit test

Signed-off-by: roy wang <seiwy2010@gmail.com>

* Creat application (without trait)

Submit application creation form to create an application, currently
only creating workloads is supported.
To partly implement #1039

* add application CRD introduction

* add basic CUE

* advanced cue grammar

* add workload type with CUE

* build with npm instead of yarn

* add trait with CUE

* add status loop back doc

* don't set empty key into to Appfile

* update doc about traitDef definitionRef

Signed-off-by: roy wang <seiwy2010@gmail.com>

* fix "cap show"  cannot print  keyValue type bug (#1044)

* fix key-value print bug

* fix clint problem

* delete test code

* Update pkg/plugins/references.go

Co-authored-by: Zheng Xi Zhou <zzxwill@gmail.com>

Co-authored-by: Zheng Xi Zhou <zzxwill@gmail.com>

* Revise the app crd doc

* clair vele help cli

Signed-off-by: Weiping Cai <weiping.cai@daocloud.io>

* Fix link in cap docs (#1050)

* fix ScopeDefinition not found blocking finalizer

Signed-off-by: roy wang <seiwy2010@gmail.com>

* Fix quick start and concept based on app crd (#1051)

* add sync capability section in install doc

* Move appfile doc to ref dir

* Fix typo in vela appfile doc (#1065)

* Fix typo in vela appfile doc

* Check whether parameter.command is nill for init-container trait

Check whether parameter.command is nill before setting the value of
spec.template.spec.initContainers.command
Fix #1062

* update favicon (#1042)

* update favicon
* fix

* 1.Organize the menu (#1068)

2.Add application menu locales
3.Fix create application button style
4.Add FormRender d.ts

* [Dashboard] Add KubeVela Dashboard logo (#1071)

Fix #1043

* 1.set applications as homepage (#1073)

2.path use lowercase

* fix: esbuild runs on mac m1 silicon (#1049)

Co-authored-by: lijingzhao <lijingzhao@forchange.tech>

* fix: remove lagacy command of 'make core-install'

* add webhooks to the rollout plan and use AC as App snapshot (#1031)

* add webhooks

* app controller change

* add component revision and appconfig revision and test

* solidify the component revision logic and fix component revisoin bugs

* fix command cli e2e failure

* fix the bug caused by rawExtention

* fix UT test

* retry on component not found

* lint

* revert component revision create order

* 1.Create app impl (#1072)

2.Polling waiting for the app to be deleted

* improvement: reduce io operation when load appfile

* remove go-header package dependency

* Use context.output instead of context.input to refer to the output object defined in the WorkloadDefinition (#1076)

* use output instead of input to reference workload

* const

* Fix remove the parameter "--sync"  (#1083)

* [#929] Modification to comand vela show WORKLOAD_TYPE or TRAIT

* update the describetion of --web

* [#929] update --web describtion

* update the doc of check-ref-doc.md

* remove --sync parameter

* add hashtag and consolidate libs (#1082)

* add hashtag and consolidate libs

* fix CI

* improvement: specify 'vela exec' error hint

* fix: remove unreachable error judgement

* refactor cli/dashboard/apiserver to reference folder (#1084)

* refactor cli/dashboard/apiserver to reference folder

* address comments

* render the workload and trait name differntly

* Use "context.outputs" to reference auxiliary objects defined in the definition template (#1087)

* refer outputs

* add docs

* update docs

* rename object

* output not allowed in traitdefinition, should use outputs:<resource>:<full object>

* fix issue#1057

* enable CI for release-*

* fix apply only once observedGeneration should mark after meet all dependency requirements && add log for apply only once

* fix doc and test

* cherry-pick(#1101) fix component custom revison loop infinitely create revision  (#1104)

* fix component custom revison loop infinitely create revision

* use accurate compare function for revision to componentName

* appConfig prepare for workload rollout for the first time and complete the stand alone rollout logic

* add unit test

Signed-off-by: roywang <seiwy2010@gmail.com>

* fix application controller loop

* Removed prometheus and certmanager crd's (#1005)

* Removed prometheus and certmanager crd's, use cert-manager helm chart dependency instead

* Fixed unit and 2e2 tests. Added servicemonitors and certmanager crd dependencies for tests as testdata.

* Run `helm dependency update`

* Delete kubevela helm release and namespace if existing

* WIP - Bad hack to add the certmanager crds before installing kubevela with cert-manager as dependency. The cert-manager crds are not available, when kubevela Issuer are installed otherwise.

* WIP Added admission patch for webhook

* WIP Refactored secrets config

* WIP Fixed helm chart

* WIP Disabled metrics cap, due missing prometheus dependency by default

* WIP Added certmanager for e2e tests

* WIP Added certmanager for e2e tests

* WIP cleanup

* Updated docs

* Re-added certificate mount path

* manual e2e test example with bug fixes

* fix:fix doc

* parent override child when annotation/labels conflicts && one revision will apply once only in force mode && AC.status CRD updated (#1109)

* when annotation/labels passthrough from parent to child conflicts, the parent will override the child.
e.g. 1) AC will override its component/workload; 2) workload will override child-resource; 3) AC will override its trait

* apply once only force will block workload apply when revision not changed even ac generation updated

* update CRD and fix workload not create first time

* fine tune rollout experience with demo (#1119)

* fine tune rollout experience with demo

* fix test

* align workload/trait definition schema with v0.2.2 spec

* Fix broken link

`E2E test` link in README.md is broken

* fix arm64 build failed and block our release pipeline

Signed-off-by: Weiping Cai <weiping.cai@daocloud.io>

* add webhook and kruise (#1135)

Co-authored-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
Co-authored-by: zzxwill <zzxwill@gmail.com>
Co-authored-by: zhangrun.zr <zhangrun.zr@alibaba-inc.com>
Co-authored-by: roy wang <seiwy2010@gmail.com>
Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>
Co-authored-by: guoxudong <sunnydog0826@gmail.com>
Co-authored-by: Harry Zhang <lei.zhang@alibaba-inc.com>
Co-authored-by: zeed-w-beez <zeed.w.zhao@gmail.com>
Co-authored-by: lj176172 <lj176172@alibaba-inc.com>
Co-authored-by: Weiping Cai <weiping.cai@daocloud.io>
Co-authored-by: kqzh <35095889+kqzh@users.noreply.github.com>
Co-authored-by: Jaime Zhang <tomorOoO@163.com>
Co-authored-by: just-do1 <fandy@teamsun.com.cn>
Co-authored-by: mahao <mahao@4paradigm.com>
Co-authored-by: Lei Zhang (Harry) <resouer@gmail.com>
Co-authored-by: Holger Protzek <3481523+hprotzek@users.noreply.github.com>
Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>
Co-authored-by: 96RadhikaJadhav <radhikajadhav014@gmail.com>
Co-authored-by: Kai <kai.wang@daocloud.io>
Co-authored-by: Vaibhav Kaushik <github@vaibhavk.in>
Co-authored-by: Dylan <dylandee@hotmail.com>
Co-authored-by: zhinong.gt <zhinong.gt@alibaba-inc.com>
Co-authored-by: WYike <77846369+WangYikewyk@users.noreply.github.com>
Co-authored-by: 王易可 <wangyike@B-V1QHML7L-1909.local>
Co-authored-by: majian <majian159@live.com>
Co-authored-by: Kinso <529724975@qq.com>
Co-authored-by: lijingzhao <lijingzhao@forchange.tech>
Co-authored-by: Jian.Li <74582607+leejanee@users.noreply.github.com>
Co-authored-by: wangyike <wangyike.wyk@alibaba-inc.com>
Co-authored-by: yangsoon <yangsoonlx@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants