* Feat: support alias in cluster
Signed-off-by: Somefive <yd219913@alibaba-inc.com>
* Fix: add test for cluster alias
Signed-off-by: Somefive <yd219913@alibaba-inc.com>
* Feat: add the rbac data model
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add some api about the project
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add CRUD about the project and the project user
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add CRUD about the role and perm check filter function
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: update swagger config
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add default roles and perm policies
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add perm check filter for all webservice
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: change the method that find project name
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: query applications and envs by user perm
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: support get login user info
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change default permissions
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: change PermPolicy to Permission
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add some unit test and fix the e2e test error
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change some comment word
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: e2e api path error
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Refactor: refactor multi cluster round trippers
Before adding more RoundTrippers, it would be better to expose common
logic in the utility package.
This commit exports `tryCancelRequest` at `utils` package, and make
`secretMultiClusterRoundTripper` implement `RoundTripperWrapper`
interface to allow chaining multiple round trippers.
Refs #3432
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
* Feat: reconcile app with scoped permissions
Currently, all Application resources are reconciled by the Roles bound
to the controller service account. This behavior gives us the power to
manage resources across multiple namespaces. However, this behavior can
be problematic in the soft-multitenancy environment.
This commit adds `serviceAccountName` to ApplicationSepc to reconcile
Application with the given service account for reconciling Application
with scoped permissions.
Refs #3432
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
* Refactor: extract context setter as method
https://github.com/oam-dev/kubevela/pull/3434#discussion_r825561603
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
* Feat: use annotation instead of spec
https://github.com/oam-dev/kubevela/issues/3432#issuecomment-1066460269
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
* Refactor: unify service account setter caller
https://github.com/oam-dev/kubevela/pull/3434#discussion_r825853612
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
* Refactor: rename GetServiceAccountName
https://github.com/oam-dev/kubevela/pull/3434#discussion_r826514565
Signed-off-by: Sunghoon Kang <hoon@linecorp.com>
* Feat: vela up support read from stdin
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: addon name missed in output and fix test
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Chore: refine CLI output
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
Fix: add retry-on conflict on CLI
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* add test for registry name when list addon
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* revert
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* fix
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* fix test
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* Feat: support logs for velaql
Signed-off-by: Yin Da <yd219913@alibaba-inc.com>
* Feat: extend parameter
Signed-off-by: Yin Da <yd219913@alibaba-inc.com>
* Refactor: use createOrUpdateNamespace as a common util function
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Feat: add ENV webservice handelr
* Fix: fix Env usecase logic
* Feat: Add Delete Env API
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: filter empty addon data
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Feat: split makefiels and make it clear
* Feat: add k8s utils test
* Feat: Add env update interface
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Feat: change env implementation
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: minor fix
* Revert "Fix: minor fix"
This reverts commit 9cafefa65a.
* Fix: use appusecase as parameter
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Refactor: align CLI vela env with new env design
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: minor fix
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Feat: add page index and alias of env
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: fix tests and licence header
* Fix: fix makefile and add default target
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: update build swagger.json
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: change update env api
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: list env with alias
* Feat: add log to env delete
* Fix: can not get app status
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: support update workflow and refactor code
* Fix: lint
* Fix: remove swagger check
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: fix cli vela delete
* Fix: update test
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: update test
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: app deploy unit test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: SortOrderDescending is not effective
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: e2e test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: support default project/target/env
* Fix: make test and add swagger
* Fix: use separated datasource for unit test
* Fix: app rollback bug
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: fix e2e test
* Fix: kubeapi driver sort bug
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: e2e test
* Fix: api e2e test
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: e2e test fix
* Fix: try fix e2e test
* Fix: api e2e test
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
Co-authored-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: enable Observability in runtime clusters
Enabled add-on observability in runtime clusters. In each cluster, a sub-domain
will be allocated to the cluste
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Fix:add workflow step definition and ut
Added a new workflow step definition `apply-application-in-parallel`,
and added more unit tests
* Feat: refactor velaql with new ResourceTracker architecture
Signed-off-by: yangsoon <yangsoonlx@gmail.com>
* Feat: concurrently request the pod created by helm
Signed-off-by: yangsoon <yangsoonlx@gmail.com>
* Fix: enhance rt logic and add docs
Signed-off-by: Yin Da <yd219913@alibaba-inc.com>
* Fix: test conflict
Signed-off-by: Yin Da <yd219913@alibaba-inc.com>
* Fix: query addon status api 500 because of secret
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* Fix: enable addon failed because the file name of the cue template is used as the component name
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* Fix: fix several oss read problem
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* fix lint
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* fix
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* use oss test endpoint
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* fix ut
Signed-off-by: qiaozp <chivalry.pp@gmail.com>
* Fix: install Terraform and apply the support for a provider in one jump
- Fix issue: addon name should not include forward-slash "/" cloud-resource fix addon name should not include forward-slash "/" #2588
- Install terraform and the provider in one jump. Instead of installing terraform
and terraform-xxx in two steps
* Feat: translate the object type to Group
* Fix: fix unit test bug
* Fix: fix workflow do not delete after delete env bug
Co-authored-by: barnettZQG <yiyun.pro>
* Feat: refactor envbinding for adapt policy placement
* Fix: refactor envbinding logic
* Fix: fix some bug
* Fix: fix unit test
* Fix: fix unit test
* Fix: fix unit test
* Fix: fix unit test
* Fix: fix unit test ...
* Fix: fix unit test
Co-authored-by: zhuxiaobing <zhuxiaobing@lixiang.com>
* Feat: change swagger config
* Feat: change the model to support multiple environments.
* Feat: support query targets by namespace
* Fix: fix definition unit test case
Co-authored-by: barnettZQG <yiyun.pro>
* Feat: change api spec
* Feat: change DeployEvent to ApplicationRevision
* Fix: fix test bug
* Fix: fix unit test bug
Co-authored-by: barnettZQG <yiyun.pro>
* Fix: application status.services doesn't include Terraform typed components
Function aggregateHealthStatus() which is used to retrieve components status, was
abandoned. All unit-tests of it was abandoned too. Fixed it and restore all the unit
tests.
* Feat(rollout): fill rolloutBatches if empty when scale up/down (#2569)
* Feat: fill rolloutBatches if empty
* Fix: fix unit-test
* Test: add more test
Fix: lint
Fix: fix lint
* Update release.yml (#2537)
* Feat: add registry, merge registry and cap center (#2528)
* Feat: add registry command
* Refactor: comp/trait command combine with registry
* Feat: refactor `vela comp/trait`
* Fix: import
* Fix: fix if type is autodetects.core.oam.dev
* Fix: fix list from url
* Fix: test
* Feat: add test
* Fix: remove dup test
* Fix: test
* Fix: test
* Fix: fix label filter
* Fix: reviewable
* Fix test
* fix personal repo in test
* Fix test
* Fix test
* add some boundary check
* reviewable
* Fix: fix nocalhost trait (#2577)
* fix incorrect addon status (#2576)
* Fix(cli): client-side throttling in vela CLI (#2581)
* fix cli throttling
* fix import
* set to a lower value
* remove addon with no defs (#2574)
* Feat: vela logs support multicluster (#2593)
* Feat: add basic multiple cluster logs
* fix context
* Fix select style
* Fix select style
* remove useless env
* fix naming
* Feat: vela cluster support use ocm to join/list/detach cluster (#2599)
* Feat: add render component and apply component remaining (#2587)
* Feat: add render component and apply component remaining
* fix ut
* fix e2e
* allow import package in custom status cue template (#2585)
Co-authored-by: chwetion <chwetion@foxmail.com>
* Fix: abnormal aux name (#2612)
* Feat: store workflow step def properties in cm (#2592)
* Fix: fix notification def
* Feat: store workflow step def properties in cm
* fix ci
* fix data race
* Fix: change Initializer to Application for addon Observability (#2615)
In this doc, updated the Observability implementation from initializer
to Application. I also store definitions as it's not well stored in
vela-templates/addons/observability
* Fix: fix backport param (#2611)
* Fix: add owner reference in workflow context cm (#2573)
* Fix: add owner reference in workflow context cm
* fix ci
* delete useless test case
* Fix: op.delete bugs (#2622)
* Fix: op.delete some bugs
* Fix: app status update error
Fix: make reviewable
* Fix: show reconcile error log (#2626)
* Feat: add reconcile timeout configuration for vela-core (#2630)
* Fix: patch status retry while conflict happens (#2629)
* Fix: allow definition schema cm can be same name in different definition type (#2618)
* Fix: fix definition schema cm name
* fix ut
* fix ut
* fix show
* add switch default case
* Feat: remove envbinding policy into workflow (#2556)
Fix: add more test
* Feat: add vela prob to test cluster (#2635)
* Fix: upgrade stern lib to avoid panic for vela logs (#2650)
* Fix: filter loggable workload in vela logs (#2651)
* Fix: filter loggable workload in vela logs
* reviewable
* Feat: add vela exec for multi cluster (#2299)
fix
support vela exec
* Fix: health check will check for multiclusters (#2645)
* Fix: minor fix for vela cli printing (#2655)
* Fix: minor fix for vela cli printing
* add dockerfile go mod cache
* Feat: support apiserver-related multicluster features (#2625)
* Feat: remove envbinding policy into workflow
Feat: add support for env change (env gc)
Fix: fix rollout timeout setting bug
* Feat: support disable trait and env without workflow
* Fix: add hint for replaced value
Co-authored-by: wyike <wangyike_wyk@163.com>
Co-authored-by: basefas <basefas@hotmail.com>
Co-authored-by: qiaozp <47812250+chivalryq@users.noreply.github.com>
Co-authored-by: Tianxin Dong <dongtianxin.tx@alibaba-inc.com>
Co-authored-by: yangsoon <yangsoonlx@gmail.com>
Co-authored-by: Chwetion <137953601@qq.com>
Co-authored-by: chwetion <chwetion@foxmail.com>
Co-authored-by: Jian.Li <74582607+leejanee@users.noreply.github.com>
Co-authored-by: Zheng Xi Zhou <zzxwill@gmail.com>
Co-authored-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Feat: remove envbinding policy into workflow
Feat: add support for env change (env gc)
Fix: fix rollout timeout setting bug
* Feat: support disable trait and env without workflow
* Fix: add hint for replaced value
* Feat: rewrite Addon API to support new format
fix test
fix
fix
add registry query parameter
skip enable test
add Definition meta
fix
fix ext
add cue rendering
return component name
update swagger.json
refactor addon cue/yaml tmpl to addonElementFile
apply app in enable
fix cue parse
comment
swagger
enable test
update
fix bug
fix cue render
fix apply fail, decode object
fix disable addon, todo: fix status api
* avoid to render a whole addon when check status
* fix
* fix
* add label
* remove todo
* fluxcd
* fix args
* add all path to addon component name
* reorder test
* add addon application prefix
* add
* add ns when test
* fix
Co-authored-by: qiaozp <chivalry.pp@gmail.com>
* Feat: health scope controller support trait manage-workload
* Test: add multi-cluster and health policy e2e-test
Fix: e2e-test
lint
Fix: all e2e-test
Fix: modify port back
middle commit
middle pr
Fix: e2e-rollout-test
make reviewable
defet to rollout apply gvk annotation
fix e2e
* Update test/e2e-multicluster-test/multicluster_rollout_test.go
Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>
Co-authored-by: Hongchao Deng <hongchaodeng1@gmail.com>
* Feat: add support for envbinding with namespace selector
* Fix: service account kubeconfig e2e-test
* Docs: add comments to explain functions
* Docs: add envbinding example
* Feat: support serviceaccount in multicluster
* Fix: add compatibility & support sa
* Fix: add multicluster sa test
* Fix: add test for upgrade func
* Style: format
* Refactor: set rollout as a pointer reference
see issue #2289 for more details
Closes#2289
* Refactor: set rollout as a pointer reference
see issue #2289 for more details
Closes#2289
* Feat(trait): annotation and labels trait should also affect the workload object along with pod
* Feat(trait): annotation and labels trait should also affect the workload object along with pod
* Feat(trait): annotation and labels trait should also affect the workload object along with pod
* Feat(trait): annotation and labels trait should also affect the workload object along with pod
* Chore: deprecate containerized workload
* Chore: deprecate containerized workload
* Chore: run make reviewable as per review comment
* Chore: fix import
* Chore: merge with master
* Chore: merge with master
* Chore: remove references for containerized workload
* Chore: fix failiing e2e test
* Chore: fix failing e2e test
* Chore: fix failing e2e test
* Chore: fix failing e2e test
* Chore: fix e2e tests
* Chore: fix e2e tests
* Chore: fix e2e tests
* Chore: fix e2e tests
* Chore: fix e2e tests
* Chore: merge with upstream
Co-authored-by: Reeta Singh <reetas@twitter.com>
* Fix: add e2e plugin test back
* Fix: e2e rollout test and try change port to 37081
* Fix: add rollout plan test back
* Refactor: change the workflow state machine and add workflow succeed state
* Refactor: refine definition controller and fix e2e of app revision
* Refactor: unlock all the normal cases
* Fix: add helm schematic logic back into workflow
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.
Signed-off-by: Eng Zer Jun <zerjun@beatchain.co>
* finish test
fix demo
finish test
finish docs
fix rollout template
add more test
add comment
* impove test coverage and wrap error
fix checkdiff
add more time
* rollout controller use last target as source and add whole process e2e-test
* modify makefile use regex include all rollout related test
* add example
* fix golint
* more wait time
* pending pod may let rollout stock in rollingBatches
* fix docs and tests comments
modify docs example
modify cue and yaml
* less pod in test avoid pod pending
* 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
* enhance `addon enable` command
* fix: initializer requeue twice
fix: initializer won't update status while checking dependency
* not delete ns while disable addon
* add init delete webhook and test
* use poll func
* fix get init logic
* fix get init logic
* fix CI
* fix CI
* unfocus
* check diff
* CI
* WIP almost finish main logic
WIP make reviewable
finish manual test
fix rollout plan related test
WIP refactro some logic
WIP finish e2e-test
* fix failed e2e-test
* fix failed interagtion test
* move rollout to trait packege
* modify e2e-test testdata change apiVersion
* add v1alpha1 to scheme in test
* more wait time
* fix comment
* split rollout test
fix makefile
* rename test name
delete equal quata
try to fix
fix
* add more test
* - add: list/enable/disable an addon.
- add: test addon
- add: full flux addon
- fix: flaky test
* try again
* 1. add readme
2. gen demo file
* fix ci
* change name
* try again
* Feat no need create appRevision if it already presents
Signed-off-by: LeoLiuYan <929908264@qq.com>
* Remove some logic
* Fix golint
* Feat add unit test and fix e2e
* Fix unit-test
Signed-off-by: LeoLiuYan <929908264@qq.com>
* clean up some logic
rebase and reorder phase
add log and modify e2e-test
fix reviwable
fix comment
* fix condition relate comments
finish test func
fix formate error
* fix rollout and only rollout the first component
* determine rollout component before render
* let other resources apply when target worklaod not ready
* immutable resource only update ownerRef
* add annotation
* fix unit test
add handle sourceWorkload
add anotation
add comment
add more e2e-test
Co-authored-by: 天元 <jianbo.sjb@alibaba-inc.com>
* add application component name duplication check in webhook
* Helm test will not clean up the test data, and the application test of the component with the same name created failed during e2e.
* fix the problems encountered during the test:
* ignore the parsing failure caused by the existing application without definition when checking;
* after the addition is successful, the resources left by the helm test are automatically cleaned up;
Co-authored-by: chwetion <chwetion@foxmail.com>