* 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>
* 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>
* Feat: add application revision actions
* refactor workflow record and application revision
* generate doc
* fix rebase
* fix rebase
* delete comment
* fix comment
* delete suspend status
* use apply instead of update
* find latest comlete revision if the revision is not specified
* delete name
* fix primary key
* 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: 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: workflow status add timestamp
* Feat: add workflow recorder
* Fix: finish state process
* Fix: test cases
* Fix: revert comments history->recorder
* Feat: omitempty execution time
* Fix: workflow_test.go
* Feat: add application test case for record
* Feat: terminate record
* Feat: trigger only by anno
* Feat: remove initializers CRD
* 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
* draft vela def enhancement
* add format and amend test
* fix generation bugs
* force CI
* work around lifecycle definition in avoid of vela show --web crash
* fix data race in envbinding
* 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
* Add two filter
* only filter in app->ac and ac->other
* move filter logic to assemble phase
* simplify, add indication
* simplify trim
* add unit test
* clean up testdata
rfc appfile pkg: remove appConfig&component
fix unit test
rfc vela cli dryrun & livediff
fix unit test & e2e test
rfc app controller: remove appConfig&component
fix unit test & e2e test
fix rollout and webhook
fix use AppRevision as others' owner
move ComponentManifest to oam.types
add a util to make conversion between AppConfig and ComponentManifest
complete Component revision mechanism in app controller
add test for component revision
rename
fix unit tests
add clean up for component revision
fix unit test
Signed-off-by: roywang <seiwy2010@gmail.com>
* refine assemble and dispatch
Signed-off-by: roy wang <seiwy2010@gmail.com>
* remove app context in app controller
modify clean up app revision
remove old resource tracker related logic
fix unit tests
Signed-off-by: roy wang <seiwy2010@gmail.com>
* fix e2e-test
- get rid of appCtx in test cases
- fix test cases according other logic changes in app controller
remove whole appcontext_test.go file
disable rollout related e2e test provisionally
disable resource tracker related e2e test provisionally
Signed-off-by: roy wang <seiwy2010@gmail.com>
* add finalizer logic for app controller
Signed-off-by: roywang <seiwy2010@gmail.com>
* add new apply option MustBeControllableByAny
make dispatch idempotent
Signed-off-by: roywang <seiwy2010@gmail.com>
* refactor rollout
* fix rollout finalize succeed
Signed-off-by: roywang <seiwy2010@gmail.com>
* add update trait and gc test
fix lint
* fix flaky e2e test
Signed-off-by: roywang <seiwy2010@gmail.com>
* fix comment
* fix comments and add sourceRevision dispatch
delete useless
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
* fix app finalizer backward compatible
Signed-off-by: roywang <seiwy2010@gmail.com>
* fix backward compatability for deprecation of appContext
add unit test for apply option
add e2e test
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
* fix app controller unit test
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
* refine app controller apply logic
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
* fix e2e test of resource tracker
fix e2e test of rollout plan
fix flaky e2e tests
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
* refine comments and remove useless codes
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
* disable appCtx controller
add Component handler into app controller
Signed-off-by: Yue Wang <seiwy2010@gmail.com>
Co-authored-by: wangyike <wangyike.wyk@alibaba-inc.com>
* change to klog/v2
* add logfilepath opt in helm chart
* replace klog.InfoF with klog.InfoS and improve messages
Remove string formatting from log message, improve messages in klog.InfoS and use lowerCamelCase to fmt Name arguments in klog.InfoS
* fix klog.Error
for expected errors (errors that can happen during routine operations) use klog.InfoS and pass error in err key instead.
* use klog.KObj and klog.KRef for Kubernetes objects
ensure that kubernetes objects references are consistent within the codebase
* enable set logdebug level
* add log-file-max-size