Commit Graph

300 Commits

Author SHA1 Message Date
Somefive accf0138f8 Feat: apiserver cluster api (#2526)
* Fix: multicluster api

* Feat: add apiserver cluster api & fix codecov

* Feat: add pod capacity and resourceused stat

* Feat: add cloud cluster manage

* Test: add test for cloud cluster

* Test: pending cloud resource api

* Style: refactor

* Fix: apiserver e2e test

* Fix: fix application usecase policy bug

* Style: add returns for cluster api

* Feat: add provider detail info & add cache & add rollback protection

* Style: refactor

* Style: add error code
2021-10-23 00:29:43 +08:00
Zheng Xi Zhou d1e814e7af
Fix: aws/azure Terraform provider are broken (#2513)
Removed built-in aws/azure Terraform providers, and fix azure
mariadb definition issue.

Fix #2475
2021-10-19 10:15:35 +08:00
barnettZQG 0d036e7449
Feat: initialize the Apiserver framework (#2417)
* Feat: add kubeapi and mongodb datastore implementation

* Style: change kubeapi import code style

* Style: change mongodb package import code style

* Style: add some comment

* Style: change databasePrefix to tableNamePrefix

* Chore: install mongodb in unit-test job

* Chore: install mongodb in compatibility-test job

* Feat: add apiserver e2e test case

* Docs: change developer guide doc

* Feat: use common.Scheme

Co-authored-by: barnettZQG <yiyun.pro>
2021-10-12 11:53:24 +08:00
Jianbo Sun 8b98caaa40
Chore(deps): bump github.com/containerd/containerd from 1.4.8 to 1.4.11 (#2419) 2021-10-09 11:10:50 +08:00
Somefive 46e22cc203
Feat: multicluster support ServiceAccountToken (#2356)
* Feat: support serviceaccount in multicluster

* Fix: add compatibility & support sa

* Fix: add multicluster sa test

* Fix: add test for upgrade func

* Style: format
2021-10-08 14:45:04 +08:00
Zheng Xi Zhou b8894b7a44
Fix: support terraform/provider-azure addon (#2402)
Also added some componentdefinitions for Azure cloud resource
2021-10-08 11:35:52 +08:00
Somefive 83b26349c7
Feat: bootstrap multicluster testing (#2368)
* Feat: bootstrap multicluster testing

* Fix: update action step name in .github/workflows/e2e-multicluster-test:yml

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

* Fix: update setup-core wait condition

* Fix: add apply envbinding app test & upgrade gomega

* Fix: remove end_e2e duplicate script

Co-authored-by: Jianbo Sun <wonderflow@icloud.com>
2021-09-30 10:19:39 +08:00
Zheng Xi Zhou 305403ff8b
Support remote git repo for Terraform configuration (#2337)
* Fix: support remote git repo for Terraform configuration

Besides inline HCL Configuration, supprted remote git repo Configuration

* Fix: add unit-tests

* Fix: update all manifests in vela-minimal
2021-09-29 14:58:27 +08:00
Jianbo Sun 298ce69593
Chore(deps): bump go.mongodb.org/mongo-driver from 1.3.2 to 1.5.1 (#2391)
Co-authored-by: barnettZQG <yiyun.pro>
2021-09-29 13:14:48 +08:00
barnettZQG 3a310f0402
Feat: Initialize api for vela dashboard and CLI (#2339)
* Change the web framework to go-restful.
* Some API specifications are defined.
* Some sample code is provided.
2021-09-26 23:09:23 +08:00
Somefive 61a12b0916
Fix: runc security issue (#2350) 2021-09-24 21:54:12 +08:00
qiaozp b4c7ed1773
Chore: deprecate 'vela dashboard' apiserver (#2341)
* Chore: deprecate
'vela dashboard' apiserver

* Chore: fix import

* Fix: preparation

* Fix: test
2021-09-24 13:00:07 +08:00
Somefive e8d051a532
Support MultiCluster EnvBinding with cluster-gateway (#2247)
* Feat: init multicluster

* Feat: add secret namespace auto-detect

* Style: format

* Style: split gc codes

* Feat: add cluster cli

* Fix: rebase workflow on master

* Feat: add component selector for env binding

* Fix: selector & patch conflict

* Feat: add local cluster support & fix unit test

* Fix: fix omitempty bug

* Feat(health-scope): support multi-cluster's healthcheck

* Fix: resourcetracker gc bug & rename

* Feat: add multicluster to op.Read

Co-authored-by: yangsoon <songyang.song@alibaba-inc.com>
2021-09-14 20:35:10 +08:00
Zheng Xi Zhou 19bcfdd8df
Fix: bump version of Terraform Controller (#2250)
Bumped the version of Terraform controller to change the filed of
Configuration's status.

Related issue: https://github.com/oam-dev/terraform-controller/pull/104
2021-09-09 17:19:57 +08:00
Yue Wang f130d1d922
Fix(upgrade): upgrade controller-tools from 0.2 to 0.6.2 (#2215)
Signed-off-by: Yue Wang <seiwy2010@gmail.com>

Co-authored-by: roywang <royyuewang@tencent.com>
2021-09-01 15:08:24 +08:00
Concurrensee 9b7c4562ca
modified openkruise version to v0.9.0 (#2076)
Co-authored-by: 314785 <wuyida.wuyida@alibaba-inc.com>
2021-08-18 17:37:52 +08:00
Zhizhen He 1e294b3164
chore: replace github.com/ghodss/yaml with sigs.k8s.io/yaml (#2089) 2021-08-15 10:53:05 +08:00
Hongchao Deng 201c3c466d add test for catalog service 2021-08-12 11:13:41 +08:00
wangyuan249 fa57fcf66e Merge velacp to apiserver branch in oam repo (#2039)
* move velacp into vela core as apiserver

* fix lint

* add license

* fix err lint

* fix err

* rm vela install service

* add makefile
2021-08-12 11:13:41 +08:00
yangsoon 0eed21987a
add more test for envbinding (#2032) 2021-08-06 10:46:31 +08:00
Jianbo Sun aa87d3da24
upgrade K8s dependency lib to v0.21 (#1985)
* upgrade K8s dependency to v0.21

* update CRD for new version of controller-runtime

* fix ci component revision create must fill Raw in runtime.RawExtension

* try fix test

* start control plane timeout set to 1min and fix tests

* add timeout for env test start and stop

* longer timeout time for BeforeSuit function

* upgrade kubebuilder and k8s cluster version to match with v1.21.2 in github action

* fix test

* fix resource tracker ownerRef override

* update developer guides
2021-08-03 11:30:02 +08:00
Somefive 2c2fe4dc66
Bump github.com/containerd/containerd from 1.3.2 to 1.4.8 (#2001)
* Bump github.com/containerd/containerd from 1.3.2 to 1.4.8

Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.3.2 to 1.4.8.
- [Release notes](https://github.com/containerd/containerd/releases)
- [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md)
- [Commits](https://github.com/containerd/containerd/compare/v1.3.2...v1.4.8)

---
updated-dependencies:
- dependency-name: github.com/containerd/containerd
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* adapt to new containerd version

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yin Da <yd219913@alibaba-inc.com>
2021-08-02 13:05:29 +08:00
Somefive 4eb8f1a0ee
suppress dirty logs during import libraries (#1991)
Co-authored-by: Yin Da <yd219913@alibaba-inc.com>
2021-07-30 18:39:34 +08:00
yangsoon 7161959aca
add EnvBinding Controller for Multi cluster deploy and Configuration Management (#1968)
* patch env configuration

* add e2e-test
2021-07-30 10:02:51 +08:00
dependabot[bot] 804024599b
Bump github.com/gin-gonic/gin from 1.6.3 to 1.7.0 (#1971)
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin) from 1.6.3 to 1.7.0.
- [Release notes](https://github.com/gin-gonic/gin/releases)
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gin-gonic/gin/compare/v1.6.3...v1.7.0)

---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-27 15:09:45 +08:00
Hongchao Deng ed0039e1ee
[Feature] CUE Based Workflow Step (#1935)
* Workflow WIP (#1934)

* interface

* add model value

* walk fields

* provider

* stdlin

* tasks

* add stdlib

* Adjust TaskGenerator

* Unified configmap format

* development completed

* fix import cycle

* demo passing

* upgrade action

* add value test cases

* format

* apis

* add context test cases

* fmt

* fmt

* add context to taskGenerator (#1942)

* fix configmap test

* add workflow integration test

* upgrade code

* initial workflow commit

* interface

* add model value

* walk fields

* provider

* stdlin

* tasks

* add stdlib

* Adjust TaskGenerator

* Unified configmap format

* development completed

* fix import cycle

* demo passing

* upgrade action

* add value test cases

* format

* apis

* add context test cases

* fmt

* fmt

* add context to taskGenerator (#1942)

* fix configmap test

* add workflow integration test

* lint code

* improve pkg[value、context] testing coverage

* Improve testing coverage(#1957)

* add license

* add test cases

Co-authored-by: Jian.Li <74582607+leejanee@users.noreply.github.com>
Co-authored-by: Jian.Li <lj176172@alibaba-inc.com>
2021-07-22 18:53:30 +08:00
yangsoon af50f32826
add ocm-hub (#1906) 2021-07-13 16:58:46 +08:00
Zheng Xi Zhou d2a2a9ac07
Bump k8s.io/client-go to v0.18.12 (#1826)
Due to the vulnerability of CVE-2019-11250, bumping version of
client-go to fix it.
2021-06-22 10:59:25 +08:00
Zheng Xi Zhou b4ae473dae
Fix Terraform application status issue (#1611)
* Fix Terraform application status issue

Fix #1599

* add unit tests

* fix import issue
2021-05-13 21:46:45 +08:00
wangyuan249 ba8c6c020a
upgrade Go version to 1.16 latest (#1577)
* bump go version to 1.16

* fix gox

* fix

* fix

* del sleep

* del

* gosum fix conflict 0511

* rm stop fix

Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>
2021-05-11 21:27:33 +08:00
Zheng Xi Zhou b3302b318c
Support server-side Terraform as cloud resource provider (#1519)
* Support server-side Terraform as cloud resource provider

Provide another schematic `Terraform` to provision cloud
resource.

Fix #698

* make namespace optional
add unit-tests

* support vela show to generate componentdefinition usage

* add unit-tests

* tidy go mod

* clean go mod and updated go sum

* Remove `variable` from `properties` of Terraform compoent

* don't literally set component catagory

* refine error message when a capability could not be found

* fix ut

* Code refactor and add unittests

* fix ci issues

* Update references/plugins/references.go

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

* add test cases

* fix ci issue

* revert lowercase of "Properties"

* fix ci issue

* add ut for appfile

* fix e2e issue

* add docs

* fix official site build

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>
2021-04-30 16:28:00 +08:00
Zheng Xi Zhou 384c5ab6a9
Remove trait-injector from controller options (#1490)
As trait injector isn't used, so removed it.
2021-04-14 18:54:02 +08:00
Yue Wang 63b348f4d8
implement cli `vela system live-diff` (#1419)
move dry-run and live-diff into an independent pkg

WIP add sample and doc

WIP unit test for live-diff

add unit test

Signed-off-by: roy wang <seiwy2010@gmail.com>
2021-04-13 12:29:25 +08:00
Shiwen Cheng 2b07ec49d4
[Improvement-1457] Use kind cmd code to load docker image instead of local kind binary (#1458)
* [Improvement-1457] Use kind cmd code to load docker image instead of local kind binary

* [Improvement-1457] Update copyright year and kind repo declaration
2021-04-11 20:59:21 +08:00
Hongchao Deng 66bcb612ef
add appdeployment control logic (#1320)
* add appdeployment control logic

* fix check

* fix test

* add test

* comment
2021-03-28 18:18:47 -07:00
Hongchao Deng 7fab96d363 fix mod 2021-03-23 23:12:52 -04:00
Hongchao Deng baff3d77c4 AppDeployment: Add API types, necessary labels, and utilities 2021-03-23 22:33:54 -04:00
wyike ccc5826616
Remove 3 standard controller (route autoscaler metrics ) (#1172)
* delete 4 standard controllers related  code

delete related yaml

delete setup controller

add back podspecworkload controller

try to fix e2e

update related docs

fix failed test

fix docs problem

remove useless scheme

up timeout for e2e-test

change doc  structure

* fix go mod
2021-03-12 14:57:59 +08:00
天元 9444124c3b remove go-header package dependency 2021-02-20 13:22:52 +08:00
zhinong.gt 994c194d0f add data passing mechanism in kubevela 2021-02-07 16:43:13 +08:00
Ryan Zhang 10bf5739ca fix lint 2021-02-04 17:11:04 -08:00
Ryan Zhang 15020660c9 cloneset controller draft 2021-02-04 17:01:22 -08:00
天元 1cf1e6c064 upgrade github.com/stretchr/testify try fix CI 2021-01-26 15:00:43 +08:00
Jianbo Sun 4661297ca5
Merge pull request #902 from ryanzhang-oss/rollout-structure
Rollout code framework
2021-01-21 10:02:37 +08:00
Ryan Zhang adbe1f9368 add the rollout code framework 2021-01-20 13:08:00 -08:00
zzxwill 48f3ed94b7 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
2021-01-19 15:16:40 +08:00
Ryan Zhang df32d4b1ba update rollout CRD spec 2021-01-15 19:19:32 -08:00
zzxwill 53164a4d2f Implement API for generating OpenAPI schema for definition
Fetched cue parameters from workloaddefinition/traitdefinition, generated
OpenAPI v3 schema, fixed problems of tainted `description` filed, added filed
"title" required by form-render component, added it in API server router

To fix #680
2021-01-05 21:57:38 +08:00
天元 3a47d5de73 refactor application object to have more strict schema 2020-12-29 15:48:32 +08:00
majian cf2a57c96a
Integrate swagger and add env api (#764)
* 1.swagger integrate
2.add env swagger comment

Signed-off-by: majian <majian159@live.com>

* use swagger.json

Signed-off-by: majian <majian159@live.com>
2020-12-12 08:54:33 -08:00
roywang a961b002c2 faster refresh capabilities
Signed-off-by: roywang <seiwy2010@gmail.com>
2020-12-09 23:51:04 +09:00
lllwan b36bfa02a6
Add JSON format appfile support (#691)
* Add JSON format appfile support

Co-authored-by: 摩羯 <wangxun@cai-inc.com>
Co-authored-by: wangxun <wangxun@zcydeMBP.lan>
2020-12-05 08:06:25 +08:00
Zheng Xi Zhou 06585fea92
Support disable installation of builtin capabilities (#687)
* Support disable installation of builtin capabilities

Added vela core bootstrap flag `--enable-caps` to support no
installation for builtin capabiliteis

Feature #658

* revert flag to "disable-cpas"

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

* Address comments

Co-authored-by: Jianbo Sun <wonderflow.sun@gmail.com>
2020-12-04 10:03:25 +08:00
Jian.Li ee906dbd5a
Using CUE to implement OAM model on Kubernetes server side (#669)
Init: Using CUE to implement OAM model on Kubernetes server side
* vela server

* fix refator

* lint code

* vela server

* fix refator

* lint code

* rebase upstream

* remove lister

* add vela-server sample

* fix lint error

* fix lint error

* fix check-diff error

* add test case

* add test case for application controller

* add reconciler test with ginkgo

* remove make server

* remove the kustomize scripts

* fix units test bug

* config direct

* suite test

* add application validater

Co-authored-by: lj176172 <lj176172@alibaba-inc.com>
2020-12-03 17:09:55 +08:00
天元 9aae23e163 fix route reconcile too frequency and replace oam-runtime imports
Signed-off-by: 天元 <jianbo.sjb@alibaba-inc.com>
2020-12-01 14:05:12 +08:00
天元 6480873e81 change import headers
Signed-off-by: 天元 <jianbo.sjb@alibaba-inc.com>
2020-11-27 11:08:54 +08:00
天元 2e975e678c merge code: apis,pkg all moved
Signed-off-by: 天元 <jianbo.sjb@alibaba-inc.com>
2020-11-27 11:07:50 +08:00
天元 cd4615405f updated oam-k8s-runtime and go through rollout fix bugs
Signed-off-by: 天元 <jianbo.sjb@alibaba-inc.com>
2020-11-13 11:24:49 +08:00
天元 fd3f300901 support rollout trait
Signed-off-by: 天元 <jianbo.sjb@alibaba-inc.com>
2020-11-10 20:13:27 +08:00
天元 4c70136ba1 upgrade oam-k8s-runtime dependency 2020-10-27 15:32:42 +08:00
天元 0990e6fa64 fix autoscaler
Signed-off-by: 天元 <jianbo.sjb@alibaba-inc.com>
2020-10-27 10:19:26 +08:00
zzxwill fecf1a710d Implement Autoscaler Trait
Support Cron type and resource usages (cpu) type
scalling

integrate with OAM by getting child deployment resource via OAM util library

support scaling PodSpecWorkload

support deployment scaling

remove unnecessary comment

support KEDA cron + resource metrics with Keda context

fix ownerreference issue

reorg imports

address part of commemts and refactor code

revert ownerRef settings as somehome leaving spec.replicas doesn't work
2020-10-26 13:39:31 +08:00
roy wang be6122edc3 vela exec
Signed-off-by: roy wang <seiwy2010@gmail.com>

add unit test

Signed-off-by: roy wang <seiwy2010@gmail.com>
2020-10-25 14:56:37 +09:00
天元 3812ed2488 fix race and update oam-runtime dependency 2020-10-19 13:19:08 +08:00
天元 3d2bd9a898 add a design doc for route trait, along with fix and tests 2020-10-16 20:50:08 +08:00
天元 1166c5b526 covert certmanager to v1 and use wonderflow/cert-manager-api to reduce dependency collision 2020-10-15 11:52:40 +08:00
天元 6076516c24 align to oam-k8s-runtime v0.3.0-rc1 and its CRD file 2020-10-13 12:11:55 +08:00
roy wang 8b3bda82f7 add e2e test for vela init
modify e2e setup to wait oam-runtime pod running

add k8sclient in e2e test

refine tracking status of vela init

Signed-off-by: roy wang <seiwy2010@gmail.com>
2020-10-09 19:36:33 +09:00
roy wang 6aafb90acd track status changing in vela init
fix e2e-test

update oam-k8s-runtime dependency to latest tag

Signed-off-by: roy wang <seiwy2010@gmail.com>
2020-10-09 18:41:53 +09:00
Hongchao Deng d78648b73c fixed dep should be put under 'replace' 2020-09-23 09:12:09 -07:00
天元 5ac7265474 vela init to create and run application in one command 2020-09-22 20:07:53 +08:00
天元 1b9ee5c882 add route trait as vela apigate 2020-09-16 19:42:01 +08:00
天元 1e4a1159b5 clean up 2020-09-11 17:52:14 +08:00
天元 044df63770 change go package to oam-dev/kubevela 2020-09-11 12:29:12 +08:00
天元 12ecb89bc4 release 2020-09-10 20:33:37 +08:00
天元 46f99a3ba4 vela dashboard run 2020-09-10 13:10:57 +08:00
roy wang 54b5fd0ce3 vela app status
refine output of vela comp status

Signed-off-by: roy wang <seiwy2010@gmail.com>
2020-09-09 18:53:19 +09:00
guoxudong 3d9520897a
clear hints for comp run (#247)
* clear hints for comp run

Signed-off-by: guoxudong <sunnydog0826@gmail.com>
2020-09-08 14:23:29 +08:00
Ryan Zhang 5f22a8de8a
import trait-injector (#223)
* import trait-injector

* fix merge error
2020-08-28 16:33:19 +08:00
zzxwill 1845f70c3d Implement `vela logs`
Based on modifed `stern` project, tail logs of pods
of an application
2020-08-28 11:16:25 +08:00
Ryan Zhang 2478c1a9ae add the metrics trait 2020-08-26 21:52:26 -07:00
天元 210cbcc937 support vela comp ls 2020-08-27 11:21:13 +08:00
zzxwill 657cb91db3 Implement Workload Run API
implemented workload run api and write e2e test
cases for workload run cli and API
2020-08-19 18:17:47 +08:00
Zheng Xi Zhou 79d3d3c446
Implement env APIs (#164)
* Implement API `api/envs/default/apps/

implement API `api/envs/default/apps/ and refactor code

* address comments from @wonderflow and @ryan

* fix code rebase issue

* Implement env APIs

implemented APIs for env and make api-test
and e2e-setup

* fix ci issues

* address comments
2020-08-18 18:15:28 +08:00
天元 1baa6a09d1 support vela cap:remove 2020-08-12 17:08:14 +08:00
天元 0174305213 fix addon add and list 2020-08-12 13:31:30 +08:00
Ryan Zhang b8ef48f728 working version of the RESTful server with samples 2020-08-11 20:45:02 -07:00
Ryan Zhang 06ed5e4cc1 RESTful framework 2020-08-10 22:53:44 -07:00
天元 8418534a43 rename rudrx/rudr to vela 2020-08-07 13:40:20 +08:00
天元 ae08333efa use cue template instead of parameter 2020-08-06 11:58:13 +08:00
天元 cb06bb710a init cue dsl function 2020-08-06 11:27:05 +08:00
zzxwill 01ade795e3 implement `rudr status`
Implement `rudr status <APPLICATION-NAME>` to show the status
of the application, its workloads and traits
2020-08-04 21:16:52 +08:00
天元 728ebb33b2 refactor rudr run to rudr <workload>:run 2020-08-01 13:14:06 +08:00
天元 89601bee18 support rudr env 2020-07-31 10:34:17 +08:00
zzxwill b4065b1174 Move template to definition Extension field
As we plan to deprecate template, move template
to workloaddefinition and traitdefinition respectively.
2020-07-29 22:33:40 +08:00
Herman Zhu a9f9bc055c
feat(init): Add `rudr init` (#43)
* feat(init): Add `rudr init`

Support `rudr init` which will check/install oam-k8s-runtime into
cluster

Fixes #12

Signed-off-by: zhuhuijun <zhuhuijunzhj@gmail.com>

* feat(init): Add `rudr init`

Support `rudr init` which will check/install oam-k8s-runtime into cluster

Fixes #12

Signed-off-by: zhuhuijun <zhuhuijunzhj@gmail.com>

* feat(init): add version flag

Add version flag

Fixes #12

Signed-off-by: zhuhuijun <zhuhuijunzhj@gmail.com>

* feat(init): create native resource WorkloadDefinition

Create native resource WorkloadDefinition

Fixes: #12

Signed-off-by: zhuhuijun <zhuhuijunzhj@gmail.com>
2020-07-29 15:54:21 +08:00
erdun e625745604 add UT 2020-07-21 11:13:47 +08:00
erdun 4875cd2aab move init code to cobra 2020-07-20 00:17:39 +08:00
zzxwill fff36b6a5a List traits
Support `rudr traits` and `rudr traits --workload NAME`
2020-07-12 23:16:47 +08:00
天元 4f13b58663 init rudrx 2020-07-07 00:12:13 +08:00