* removes default name for terraform provider
Signed-off-by: afzalbin64 <afzal442@gmail.com>
(cherry picked from commit 92e7bf8263)
* fixes minor typos
Signed-off-by: afzalbin64 <afzal442@gmail.com>
undo the changes to typo
fixes minor typos in go_test files
updates config_test to support name as required param
(cherry picked from commit 51c2650a95)
---------
Co-authored-by: afzalbin64 <afzal442@gmail.com>
* fix#5368, use the namespace specified in the resource if -n is not specified
Signed-off-by: Basuotian <basuoluomiu@gmail.com>
(cherry picked from commit 47c9b4457b)
* add default namespace for the case missing namespace in resourceRef
Signed-off-by: Basuotian <basuoluomiu@gmail.com>
(cherry picked from commit 3ae0657796)
* add test case
Signed-off-by: Basuotian <basuoluomiu@gmail.com>
(cherry picked from commit 4ba5eb88eb)
---------
Co-authored-by: Basuotian <basuoluomiu@gmail.com>
Error Details:
E0106 08:12:02.807341 1 controller.go:317] controller/application "msg"="Reconciler error" "error"="Application.core.oam.dev \"test\" is invalid: status.workflow.endTime: Invalid value: \"null\": status.workflow.endTime in body must be of type string: \"null\"" "name"="test" "namespace"="test" "reconciler group"="core.oam.dev" "reconciler kind"="Application"
If the workflow is not completed, the endtime should be null, and the deletion of the application will fail
Signed-off-by: old.prince <di7zhang@gmail.com>
(cherry picked from commit 16b6a02018)
Co-authored-by: old.prince <di7zhang@gmail.com>
* Fix: update cache to lru cache with expire time
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add auto refresh to topology view and fix the refresh bug in resource view
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Chore: remove appdeployment examples as it's already deprecated
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Chore: remove approllout docs as it's already deprecated
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Chore: remove kubecon 2020 demo as it's not worked due to deprecation
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Chore: remove unused Observability Implementation
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: fix the stuck problem and use lru cache to promote the speed of loading topology
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: reuse existing lru golang library
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: do not change the workflow after the env changed
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: check app when deleting the target from a env
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: Refer to the generation when checking the application status
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: add the test
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the starting status overrided the deleting status
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add content to help view
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add the feature of viewing log of pod
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add the container view
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add test case and fix some bugs
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix some bugs
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add content to help view
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add cluster data to pod view
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add the feature of viewing log of pod
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: support to manage the integrations by the CLI and the workflow
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: remove the xml
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: add the unit test for the nacos writer
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add the integration API
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: make the provider commands to be deprecated
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: make the unit test work
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: rename the integration to the config
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: make the unit test cases work
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: refactor the config commands
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add the distribution status for the config
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: sort the import packages
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: refine the code style
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: refine the code style
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: get the content format before render the content
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add some examples
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the command test cases
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add the definitions of the workflow step
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: add some tests
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: add some tests
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the name
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: retry the CI
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: refine some words
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: provide stage field for TraitDefinition
Signed-off-by: ZhongsJie <zhongsjie@gmail.com>
* Feat: Refactor the collect health status fn
Signed-off-by: ZhongsJie <zhongsjie@gmail.com>
Signed-off-by: ZhongsJie <zhongsjie@gmail.com>
* Feat: add some feature
1. add more column of application and managed resource
2. alter <ESC> to exist key and add <Q> as the back key
Signed-off-by: HanMengnan <1448189829@qq.com>
* Refactor: refactor the yaml view and help view with singleton design pattern
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: some small fix
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: some small fix
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add test case
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix the bug of cluster list
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add some feature
1. add more column of application and managed resource
2. alter <ESC> to exist key and add <Q> as the back key
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: rename two interface name to make the name more specific
1. rename the ResourceListener to ViewListener
2. rename the Component to View
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: update the type of ”Main“ field in component.app
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: rename some functions of pageStack to make the name more readable
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix some name
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add more test case
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix time format bug
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix test case in cluster_namespace_test.go
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: refactor the source of all kinds of views, use the "Factory Method" design patterns to rewrite the code to upgrade the quality of code
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix test case of the refactored code and some bugs
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: highlight yaml text
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix the bug in table stop.
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: refactor the source of all kinds of views, use the "Factory Method" design patterns to rewrite the code to upgrade the quality of code
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix test case of the refactored code and some bugs
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: rename the interface of ResourceView
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: fix inconsistent menu hints
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add the feature that a new view of yaml was added and by it the user can load the yaml text of resource
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: System Info & Diagnose
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:1.misspelling 2.license
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix: pattern of imported package
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix: pattern of imported package
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:1.return error instead of panic 2.get deployment by label instead of by namespace 3.when getting a single deployment, the result is displayed in multi rows. Feat: 1.the system info command displays the cpu and memory metrics 2.the system info command displays the numbers of ready pods and desired pods.
* Feat: 1.the system info command displays the environment variables
* Fix: Making syntax simple
* Feat(system info):1.ARGS多行展示2.指定名称时无须指定namespace3.优化界面展示,支持原始打印或者以wide/yaml形式打印4.指定名称时,打印更可读信息
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:add comment
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:syntactic redundancy
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:Display all ARGS
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:Display all ARGS
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
Add signoff
* Fix:1.return error instead of panic 2.get deployment by label instead of by namespace 3.when getting a single deployment, the result is displayed in multi rows. Feat: 1.the system info command displays the cpu and memory metrics 2.the system info command displays the numbers of ready pods and desired pods.
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:System diagnose
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:Diagnose cluster-gateway pod's status
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat: System Info & Diagnose
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:1.misspelling 2.license
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix: pattern of imported package
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix: pattern of imported package
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:1.return error instead of panic 2.get deployment by label instead of by namespace 3.when getting a single deployment, the result is displayed in multi rows. Feat: 1.the system info command displays the cpu and memory metrics 2.the system info command displays the numbers of ready pods and desired pods.
* Feat: 1.the system info command displays the environment variables
* Fix: Making syntax simple
* Feat(system info):1.ARGS多行展示2.指定名称时无须指定namespace3.优化界面展示,支持原始打印或者以wide/yaml形式打印4.指定名称时,打印更可读信息
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:add comment
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:syntactic redundancy
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:Display all ARGS
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Feat:Display all ARGS
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
Add signoff
* Fix:1.return error instead of panic 2.get deployment by label instead of by namespace 3.when getting a single deployment, the result is displayed in multi rows. Feat: 1.the system info command displays the cpu and memory metrics 2.the system info command displays the numbers of ready pods and desired pods.
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
newly added system info including:
1. Cluster num
2. App running num
3. cpu and mem usage condition of vela-core
4. cpu and mem usage condition of vela-core cluster gateway
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: when `vela top` launch, can specify the namespace of the presentation application
Signed-off-by: HanMengnan <1448189829@qq.com>
* Feat: add filtering function to the k8s object view of the `vela top` command, which can be filtered by cluster and cluster namespace
Signed-off-by: HanMengnan <1448189829@qq.com>
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: remove the cloudshell dockerfile
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the configmap name
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the way to get the namespace
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add the daemonset resource policy for building the tree
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the import package
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the unit test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change some function and variable names
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add http status and code from http cmd run
Signed-off-by: suxiang <704427617@qq.com>
* Feat: fix unit test error
Signed-off-by: suxiang <704427617@qq.com>
* Feat: status is not necessary
Signed-off-by: suxiang <704427617@qq.com>
* Feat: make reviewable
Signed-off-by: suxiang <704427617@qq.com>
* Feat: add unit test
Signed-off-by: suxiang <704427617@qq.com>
* Feat: make reviewable
Signed-off-by: suxiang <704427617@qq.com>
* Feat: support set labels for env
Signed-off-by: codinghuang <codinghuang@qq.com>
* Refactor: Remove util.ParseLabelString
use k8s.io/apimachinery/pkg/labels
Signed-off-by: codinghuang <codinghuang@qq.com>
* Fix: failed to assign the default role for the users who log in from dex
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: cluster e2e test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the ensure namespace error is ignored
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: System Info & Diagnose
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:1.misspelling 2.license
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix: pattern of imported package
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix: pattern of imported package
Signed-off-by: foursevenlove <foursevenlove@gmail.com>
* Fix:1.return error instead of panic 2.get deployment by label instead of by namespace 3.when getting a single deployment, the result is displayed in multi rows. Feat: 1.the system info command displays the cpu and memory metrics 2.the system info command displays the numbers of ready pods and desired pods.
* Feat: 1.the system info command displays the environment variables
* Fix: Making syntax simple
* Feat: support to query the alias of the project member
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: optimize the e2e test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: support to test login with dex
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: support to update the user when the login mode is dex
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: systemInfoService is nil
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: support to init the roles of the user which login by dex
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: add the comment
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: make the sub string to lower
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: support to sync the revision and the workflow status
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: pass the unit test and e2e test
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: e2e test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: update the component pod view
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the pod struct does not match
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: optimize the e2e test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* feature: don't ask user confirmation when delete with --force or --yes
Signed-off-by: Sumit Tembe <sumit.tembe@outlook.com>
* added a new flag 'yes'
* don't skip user confirmation for --force
* skip user confirmation for --yes
* fix: ref-objects parameter with invalid field definition
which cause validating webhook failed when use ref-objects component
Signed-off-by: jiangshantao <jiangshantao-dbg@qq.com>
* fix: run make reviewable
Signed-off-by: jiangshantao <jiangshantao-dbg@qq.com>
Co-authored-by: jst <jst@meitu.com>
* Feat: search useful addon version automatically
Verify whether the current addon version meets the system version requirements according to the obtained specified version. There are two system version requirements: Vela core version, K8s version.
If meet the requirements and continue to perform the next task.
If the requirements are not met, obtain the highest version that meets the requirements
Refs #4181
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: Optimize function implementation and code order, and modify test cases
add more comments of function
optimize package import sequence
optimize user interaction logic and error information extraction logic
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: change template string of regular expression to const type string
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: provider can't be added since 1.4 as context abused
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Feat: add cache for remote terraform module in vela show
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: add message for terraform resource in error state
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: fixed the problems of display definition in web
Some ComponentDefinitions, TraitDefinitions, WorkflowDefinitions
failed to show the usage in web browser
Signed-off-by: Zheng Xi Zhou <zhengxi.zzx@alibaba-inc.com>
* set printable type for {}
Signed-off-by: Zheng Xi Zhou <zhengxi.zzx@alibaba-inc.com>
* support WorkflowSteps and Policies
Signed-off-by: Zheng Xi Zhou <zhengxi.zzx@alibaba-inc.com>
Co-authored-by: Zheng Xi Zhou <zhengxi.zzx@alibaba-inc.com>
* Feat: add the API for querying the image info
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the code style
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add the feature that views in addon are applied independently.(#3905)
separate the deployment of views in addon and deploy them separately instead of nested in application.
see the issue for details
Refs #3905
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add test case of readViewFile.
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add the apply method of yaml view.
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: add addon suit-test case
Signed-off-by: HanMengnan <1448189829@qq.com>
* Fix: ignore the error that the definition API schema is not exist
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: disable the cache when listing the definitions
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Add description column to vela trait and component command (#4107)
Signed-off-by: Holger Protzek <holger.protzek@springernature.com>
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
change the function name from verifyUserValue to verifyValue
add test case to test kubeapi.go:87
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
change the function name from verifyUserValue to verifyValue
add test case to test kubeapi.go:87
add delete test case
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
optimize the test case
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
optimize the test case use user
change all verify timing in kubeapi
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Fix: mongoDB datastore can't list special email user(#4104)
Signed-off-by: fengkang <fengkangb@digitalchina.com>
Co-authored-by: Holger Protzek <3481523+hprotzek@users.noreply.github.com>
* Fix: split the image build process to make it faster
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Fix: bump oamdev/kube-webhook-certgen to v2.4.1 to support arm64
Signed-off-by: Jianbo Sun <jianbo.sjb@alibaba-inc.com>
* Chore: change the key features and add the demo entrance
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Chore: reuse the Highlights
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Chore: remove the demo
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
Signed-off-by: zhengq2006 <zhengq200618@cmbchina.com>
workflow substep develop
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
Feat: support step group with substep in the workflow
Signed-off-by: Qiang Zheng <zhengq20018@cmbchina.com>
* Feat(cli): Added an offline flag to the 'dry-run' command
Signed-off-by: Noorain Panjwani <noorain.panjwani@gmail.com>
* Using a fake client now for offline mode
Signed-off-by: Noorain Panjwani <noorain.panjwani@gmail.com>
* Fix(cli): try to get mapValue type name
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* Fix: update output format based on comment and fix typo
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* Style: make the change reviewable
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* Fix: test
Signed-off-by: Cuichen Li <cuichli@cisco.com>
* Feat: support force delete Terraform typed application
If a Terraform typed application hangs on deletion, it could be forced to
delete by command line `vela delete xxx --force`
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix copyright
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Upgrade terraform controller api version
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* add one more tests
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix two unit-tests
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Feat: check existence of an image
Checked existence of an image in
- public docker hub
- private image registry
Add an API to retrieve image registry secrets by an image and or
its tag. In veluaUX, it will help auto-fill uesrs' imagePullSecrets
fields
Fix https://github.com/kubevela/velaux/issues/436
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* replace the implementation with libary google/go-containerregistry
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* address comments
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* add more testcases
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix UT
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Feat: show available versions and dependencies in `addon status`
Also prettify output
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Feat: show addon dependencies in `addon status`
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: adjust `addon status` output
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: remove spaces in `addon status` output
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Fix: truncate string if available versions too long
if a local addon has been installed, the AVAILABLE-VERSIONS column of the registry one will not truncate. this commit fixes that.
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Perf: avoid unnecessary network requests to improve performance
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Feat: do not display remote info for local addons
Limit Description length when using `addon list`
Use simpler method to get addon info
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: add tests for cli/addon limitStringLength, generateParameterString
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Fix: fix output being empty if the searched addon does not exist anywhere
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: add tests for generateAddonInfo
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: add tests for generateAddonInfo and FindWholeAddonPackagesFromRegistry
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: format code
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: correct unnecessarily focused tests
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: remove unused code blocks
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Refactor: remove unnecessary output to stdout
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: remove added registry after tests has been completed
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: new RegistryDataStore every test, to avoid panics
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: fix failing tests due to incorrect registry name
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Refactor: move logic to get addon package out of where it is supposed to get addon status
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: add test cases for secret-getting in TestGetAddonStatus
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Feat: return error if an addon is not installed, nor does it exist in the registry
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Refactor: rename GetAddonWholePackage to GetDetailedAddon as per wonderflow
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Feat: require --verbose option to show details in `vela addon status`
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Feat: require --verbose option to show details in `vela addon status`
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* chore: run make reviewable
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: fix configmap being already existed
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Fix: fix output show addon does not exist when verbose is off and an addon is not installed, but it does exist in the registry
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: fix golangci-lint issues
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Feat: support filter the resource by kind or apiVersion
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: update the env workflow after deleting a component
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: change the default workflow step with deploy type
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: format the cue script of the deploy step
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: unit test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: error words
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* fix(charts): remove a not built in cap "containerizedwokrload" from disableCaps
Signed-off-by: cnfatal <cnfatal@gmail.com>
* Perf(charts): mv cluster-gateway to a dir
Signed-off-by: cnfatal <cnfatal@gmail.com>
* Feat(charts): support cert-manager on "cluster-gateway"
changes:
1. replace flag "--cert-dir" with "--tls-cert-file" and "--tls-private-key-file" due to cert-manager Certificate only support "k8s" style tls secret(with files "tls.crt","tls.key","ca.crt").
2. add cert-manager cainject annotation for APIService "v1alpha1.cluster.core.oam.dev"
3. add cert-manager Certificate for secret "<release>-cluster-gateway-tls"
4. fix a typo in `values.yaml` , "optimize.optimizeCachedGvks" -> "optimize.cachedGvks" withch cause helm template failed
Signed-off-by: cnfatal <cnfatal@gmail.com>
* Fix(makefile): update kustomize version to be available for darwin-arm64
Signed-off-by: Carmendelope <carmen@napptive.com>
* make reviewable changes
Signed-off-by: Carmendelope <carmen@napptive.com>
* Fix: resolve locally installed addons not being displayed
Addressed an issue where locally installed addons may not be displayed
if one with the same name is in the registry
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: revert incorrect auto-formatting
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Refactor: change original variable name to avoid confusions
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: add tests for outputs from `vela addon list`
when an addon with the same as registry one is locally installed
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Refactor: use more concise method to check length
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Test: add one more test condition for dual addons
i.e. local and registry
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Refactor: simplify testing logic by removing unneeded looping
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Style: add missing license header
Signed-off-by: Charlie Chiang <charlie_c_0129@outlook.com>
* Add application name to the generated workload
Signed-off-by: Daniel Higuero <daniel@napptive.com>
* Make the PR reviewable
Signed-off-by: Daniel Higuero <daniel@napptive.com>
* Feat: add a api for update the ui schema
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the unit test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the unit test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Feat: add an API to change the definition status
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the e2e test case
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change cache key
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the error words
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: use Terraform provider name as application in CLI
In CLI, use Terraform provider name as application name when
create a Provider. Also display there providers in VelaUX.
1). manually created a Terraform Provider object, like https://github.com/oam-dev/terraform-controller/blob/master/getting-started.md#aws
2). by enabling a Terraform provider addon in version older than v1.3.0
3). by create a Terraform provider via `vela provider add`
4). by VelaUX
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* add UTs
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Feat: check whether a project matched a config's project
If the config project is not nil, it's matched whether the project
matched the target project.
If the config project is nil, the target project matched the config.
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix CI
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix CI
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* change imports order
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* change imported libraries order again
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix CI
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Fix: The policy controller generate the OpenAPI schema (#3683)
Signed-off-by: DESKTOP-FV8IFEC\10690 <1069029381@qq.com>
* Feat(lang): The policy controller generate the OpenAPI schema (#3683)
The policy controller does not generate the OpenAPI schema #3683
add CapabilityPolicyDefinition struct comment
add StoreOpenAPISchema of CapabilityPolicyDefinition comment
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Feat(lang): The policy controller generate the OpenAPI schema (#3683)
The policy controller does not generate the OpenAPI schema #3683
fix unit-test
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Feat(lang): The policy controller generate the OpenAPI schema (#3683)
fix unit-test about policydefinition_controller_test.go
The policy controller does not generate the OpenAPI schema #3683
fix unit-test
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Feat(lang): The policy controller generate the OpenAPI schema (#3683)
fix unit-test about policydefinition_controller_test.go
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Feat(lang): The policy controller generate the OpenAPI schema (#3683) gen crd
Signed-off-by: fengkang <fengkangb@digitalchina.com>
* Feat(lang): The policy controller generate the OpenAPI schema (#3683) make reviewable
Signed-off-by: fengkang01 <fengkangb@digitalchina.com>
Co-authored-by: DESKTOP-FV8IFEC\10690 <1069029381@qq.com>
* fix: "builtin-apply-component.cue: file does not exist"
Signed-off-by: lei.chu <1062186165@qq.com>
* fix: "builtin-apply-component.cue: file does not exist"
Signed-off-by: lei.chu <1062186165@qq.com>
- For VelaUX, hidden a provider name (users don't need to manual set it). Used
the application/component name (config name) to be the provider name.
- Store description of a config to the annotation of the config application
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Fix: can not query the instance list for the app with apply once policy
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: change the test case about ListResourcesInApp
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: duplicately list pods in velaQL
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
* Fix: the create time of synced app is empty
Signed-off-by: barnettZQG <barnett.zqg@gmail.com>
When there are configs, but not in the project where the appliation
is about to deploy, the sync application will hit an issue. It will
lead to block the deploy of an application.
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Feat: add api of listing configs for project
In a project, list configs by its type
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* address comments
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* fix ci
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* add query parameter definition
Signed-off-by: Zheng Xi Zhou <zzxwill@gmail.com>
* Update pkg/apiserver/rest/webservice/project.go
Co-authored-by: barnettZQG <barnett.zqg@gmail.com>
Co-authored-by: barnettZQG <barnett.zqg@gmail.com>
# This file is a github code protect rule follow the codeowners https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-code-owners#example-of-a-codeowners-file
- [ ] Read and followed KubeVela's [contribution process](https://github.com/oam-dev/kubevela/blob/master/contribute/create-pull-request.md).
- [ ] [Related Docs](https://github.com/oam-dev/kubevela.io) updated properly. In a new feature or configuration option, an update to the documentation is necessary.
- [ ] Read and followed KubeVela's [contribution process](https://github.com/kubevela/kubevela/blob/master/contribute/create-pull-request.md).
- [ ] [Related Docs](https://github.com/kubevela/kubevela.io) updated properly. In a new feature or configuration option, an update to the documentation is necessary.
- [ ] Run `make reviewable` to ensure this PR is ready for review.
- [ ] Added `backport release-x.y` labels to auto-backport this PR if necessary.
The bot is configured via [issue-commands.json](https://github.com/oam-dev/kubevela/blob/master/.github/workflows/issue-commands.json)
and some other GitHub [workflows](https://github.com/oam-dev/kubevela/blob/master/.github/workflows).
The bot is configured via [issue-commands.json](https://github.com/kubevela/kubevela/blob/master/.github/issue-commands.json)
and some other GitHub [workflows](https://github.com/kubevela/kubevela/blob/master/.github/workflows).
By default, users with write access to the repo is allowed to use the comments,
the [userlist](https://github.com/oam-dev/kubevela/blob/master/.github/comment.userlist)
the [userlist](https://github.com/kubevela/kubevela/blob/master/.github/comment.userlist)
file is for adding additional members who do not have access and want to contribute to the issue triage.
Comment commands:
@@ -14,7 +14,7 @@ Comment commands:
* Write the word `/area/*` in a comment, and the bot will add the corresponding label `/area/*`.
* Write the word `/priority/*` in a comment, and the bot will add the corresponding label `/priority/*`.
The `*` mention above represent a specific word. Please read the details about label category in [ISSUE_TRIAGE.md](https://github.com/oam-dev/kubevela/blob/master/ISSUE_TRIAGE.md)
The `*` mention above represent a specific word. Please read the details about label category in [ISSUE_TRIAGE.md](https://github.com/kubevela/kubevela/blob/master/ISSUE_TRIAGE.md)
KubeVela project is initialized and maintained by the cloud native community since day 0 with [bootstrapping contributors from 8+ different organizations](https://github.com/oam-dev/kubevela/graphs/contributors).
We intend for KubeVela to have an open governance since the very beginning and donate the project to neutral foundation as soon as it's released.
To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](./CODE_OF_CONDUCT.md).
This document is a guide to help you through the process of contributing to KubeVela.
## Become a contributor
You can contribute to KubeVela in several ways. Here are some examples:
* Contribute to the KubeVela codebase.
* Contribute to the [KubeVela docs](https://github.com/oam-dev/kubevela.io).
* Report and triage bugs.
* Develop community CRD operators as workload or trait and contribute to [catalog](https://github.com/oam-dev/catalog).
* Write technical documentation and blog posts, for users and contributors.
* Organize meetups and user groups in your local area.
* Help others by answering questions about KubeVela.
For more ways to contribute, check out the [Open Source Guides](https://opensource.guide/how-to-contribute/).
### Report bugs
Before submitting a new issue, try to make sure someone hasn't already reported the problem.
Look through the [existing issues](https://github.com/oam-dev/kubevela/issues) for similar issues.
Report a bug by submitting a [bug report](https://github.com/oam-dev/kubevela/issues/new?assignees=&labels=kind%2Fbug&template=bug_report.md&title=).
Make sure that you provide as much information as possible on how to reproduce the bug.
Follow the issue template and add additional information that will help us replicate the problem.
#### Security issues
If you believe you've found a security vulnerability, please read our [security policy](https://github.com/oam-dev/kubevela/blob/master/SECURITY.md) for more details.
### Suggest enhancements
If you have an idea to improve KubeVela, submit an [feature request](https://github.com/oam-dev/kubevela/issues/new?assignees=&labels=kind%2Ffeature&template=feature_request.md&title=%5BFeature%5D).
### Triage issues
If you don't have the knowledge or time to code, consider helping with _issue triage_. The community will thank you for saving them time by spending some of yours.
Read more about the ways you can [Triage issues](/contribute/triage-issues.md).
### Answering questions
If you have a question and you can't find the answer in the [documentation](https://kubevela.io/docs/),
the next step is to ask it on the [github discussion](https://github.com/oam-dev/kubevela/discussions).
It's important to us to help these users, and we'd love your help. You can help other KubeVela users by answering [their questions](https://github.com/oam-dev/kubevela/discussions).
### Your first contribution
Unsure where to begin contributing to KubeVela? Start by browsing issues labeled `good first issue` or `help wanted`.
- [Good first issue](https://github.com/oam-dev/kubevela/labels/good%20first%20issue) issues are generally straightforward to complete.
- [Help wanted](https://github.com/oam-dev/kubevela/labels/help%20wanted) issues are problems we would like the community to help us with regardless of complexity.
If you're looking to make a code change, see how to set up your environment for [local development](contribute/developer-guide.md).
When you're ready to contribute, it's time to [Create a pull request](/contribute/create-pull-request.md).
Please refer to https://kubevela.io/docs/contributor/overview for details.
go build -a -ldflags "-s -w -X github.com/oam-dev/kubevela/version.VelaVersion=${VERSION:-undefined} -X github.com/oam-dev/kubevela/version.GitRevision=${GITVERSION:-undefined}"\
-o manager-${TARGETARCH} main.go
-o manager-${TARGETARCH}cmd/core/main.go
# Use alpine as base image due to the discussion in issue #1448
# You can replace distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
# Overwrite `BASE_IMAGE` by passing `--build-arg=BASE_IMAGE=gcr.io/distroless/static:nonroot`
go build -a -ldflags "-s -w -X github.com/oam-dev/kubevela/version.VelaVersion=${VERSION:-undefined} -X github.com/oam-dev/kubevela/version.GitRevision=${GITVERSION:-undefined}"\
KubeVela is a modern application delivery platform that makes deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable.


## Highlights
KubeVela practices the "render, orchestrate, deploy" workflow with below highlighted values added to existing ecosystem:
- *Application Centric* - KubeVela introduces [Open Application Model (OAM)](https://oam.dev/) as the consistent yet higher level API to capture and render a full deployment of microservices on top of hybrid environments. Placement strategy, traffic shifting and rolling update are declared at application level. No infrastructure level concern, simply deploy.
* Deployment as Code
- *Programmable Workflow* - KubeVela models application delivery as DAG (Directed Acyclic Graph) and expresses it with [CUE](https://cuelang.org/) - a modern data configuration language. This allows you to design application deployment steps per needs and orchestrate them in programmable approach. No restrictions, natively extensible.
Declare your deployment plan as workflow, run it automatically with any CI/CD or GitOps system, extend or re-program the workflow steps with CUE. No add-hoc scripts, no dirty glue code, just deploy. The deployment workflow in KubeVela is powered by [Open Application Model](https://oam.dev/).
-*Infrastructure Agnostic* - KubeVela works as an application delivery control plane that is fully decoupled from runtime infrastructure. It can deploy any workload types including containers, cloud services, databases, or even VM instances to any cloud or Kubernetes cluster, following the workflow designed by you.
*Built-in security and compliance building blocks
Choose from the wide range of LDAP integrations we provided out-of-box, enjoy multi-cluster authorization that is fully automated, pick and apply fine-grained RBAC modules and customize them per your own supply chain requirements.
* Multi-cloud/hybrid-environments app delivery as first-class citizen
Progressive rollout across test/staging/production environments, automatic canary, blue-green and continuous verification, rich placement strategy across clusters and clouds, fully managed cloud environments provision.
One of the easiest ways to contribute is to participate in discussions on the Github Issues/Discussion, chat on IM or the bi-weekly community calls.
For more information on the community engagement, developer and contributing guidelines and more, head over to the [KubeVela community repo](https://github.com/kubevela/community).
### Contact Us
Reach out with any questions you may have and we'll make sure to answer them as soon as possible!
| 🎤 Talks | - [KubeVela - The Modern App Delivery System in Alibaba](https://docs.google.com/presentation/d/1CWCLcsKpDQB3bBDTfdv2BZ8ilGGJv2E8L-iOA5HMrV0/edit?usp=sharing) |
| 🌎 KubeCon | - [ [NA 2020] Standardizing Cloud Native Application Delivery Across Different Clouds](https://www.youtube.com/watch?v=0yhVuBIbHcI) <br> - [ [EU 2021] Zero Pain Microservice Development and Deployment with Dapr and KubeVela](https://sched.co/iE4S) |
| 📺 Conferences | - [Dapr, Rudr, OAM: Mark Russinovich presents next gen app development & deployment](https://www.youtube.com/watch?v=eJCu6a-x9uo) <br> - [Mark Russinovich presents "The Future of Cloud Native Applications with OAM and Dapr"](https://myignite.techcommunity.microsoft.com/sessions/82059)|
Check out [KubeVela videos](https://kubevela.io/videos/talks/en/oam-dapr) for these talks and conferences.
## Contributing
Check out [CONTRIBUTING](./CONTRIBUTING.md) to see how to develop with KubeVela.
Check out [CONTRIBUTING](https://kubevela.io/docs/contributor/overview) to see how to develop with KubeVela.
## Report Vulnerability
Security is a first priority thing for us at KubeVela. If you come across a related issue, please send email to security@mail.kubevela.io .
## Code of Conduct
KubeVela adopts [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
// Traits define the trait of one component, the type must be array to keep the order.
Traits[]ApplicationTrait`json:"traits,omitempty"`
@@ -444,22 +398,10 @@ type ApplicationComponent struct {
// scopes in ApplicationComponent defines the component-level scopes
// the format is <scope-type:scope-instance-name> pairs, the key represents type of `ScopeDefinition` while the value represent the name of scope instance.
Scopesmap[string]string`json:"scopes,omitempty"`
}
// StepOutputs defines output variable of WorkflowStep
typeStepOutputs[]outputItem
// StepInputs defines variable input of WorkflowStep
typeStepInputs[]inputItem
typeinputItemstruct{
ParameterKeystring`json:"parameterKey"`
Fromstring`json:"from"`
}
typeoutputItemstruct{
ValueFromstring`json:"valueFrom"`
Namestring`json:"name"`
// ReplicaKey is not empty means the component is replicated. This field is designed so that it can't be specified in application directly.
// So we set the json tag as "-". Instead, this will be filled when using replication policy.
ReplicaKeystring`json:"-"`
}
// ClusterSelector defines the rules to select a Cluster resource.
@@ -488,14 +430,13 @@ type ClusterPlacement struct {
// ClusterVersion defines the Version info of managed clusters.
typeClusterVersionstruct{
Majorstring`json:"major"`
Minorstring`json:"minor"`
GitVersionstring`json:"gitVersion,omitempty"`
Platformstring`json:"platform,omitempty"`
}
// ControlPlaneClusterVersion will be the default value of cluster info if managed cluster version get error, it will have value when vela-core started.
description:A Component describes how an OAM workload kind may be instantiated.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A ComponentSpec defines the desired state of a Component.
properties:
helm:
description:HelmRelease records a Helm release used by a Helm module
workload.
properties:
release:
description:Release records a Helm release used by a Helm module
workload.
type:object
x-kubernetes-preserve-unknown-fields:true
repository:
description:HelmRelease records a Helm repository used by a Helm
module workload.
type:object
x-kubernetes-preserve-unknown-fields:true
required:
- release
- repository
type:object
parameters:
description:Parameters exposed by this component. ApplicationConfigurations
that reference this component may specify values for these parameters,
which will in turn be injected into the embedded workload.
items:
description:A ComponentParameter defines a configurable parameter
of a component.
properties:
description:
description:Description of this parameter.
type:string
fieldPaths:
description:FieldPaths specifies an array of fields within
this Component's workload that will be overwritten by the
value of this parameter. The type of the parameter (e.g. int,
string) is inferred from the type of these fields; All fields
must be of the same type. Fields are specified as JSON field
paths without a leading dot, for example 'spec.replicas'.
items:
type:string
type:array
name:
description:Name of this parameter. OAM ApplicationConfigurations
will specify parameter values using this name.
type:string
required:
default:false
description:Required specifies whether or not a value for this
parameter must be supplied when authoring an ApplicationConfiguration.
type:boolean
required:
- fieldPaths
- name
type:object
type:array
workload:
description:A Workload that will be created for each ApplicationConfiguration
that includes this Component. Workload is an instance of a workloadDefinition.
We either use the GVK info or a special "type" field in the workload
to associate the content of the workload with its workloadDefinition
type:object
x-kubernetes-embedded-resource:true
x-kubernetes-preserve-unknown-fields:true
required:
- workload
type:object
status:
description:A ComponentStatus represents the observed state of a Component.
properties:
conditions:
description:Conditions of the resource.
items:
description:A Condition that may apply to a resource.
properties:
lastTransitionTime:
description:LastTransitionTime is the last time this condition
transitioned from one status to another.
format:date-time
type:string
message:
description:A Message containing details about this condition's
last transition from one status to another, if any.
type:string
reason:
description:A Reason for this condition's last transition from
one status to another.
type:string
status:
description:Status of this condition; is it currently True,
False,or Unknown?
type:string
type:
description:Type of this condition. At most one of each condition
type may apply to a resource at any point in time.
type:string
required:
- lastTransitionTime
- reason
- status
- type
type:object
type:array
latestRevision:
description:LatestRevision of component
properties:
name:
type:string
revision:
format:int64
type:integer
revisionHash:
description:RevisionHash record the hash value of the spec of
ApplicationRevision object.
type:string
required:
- name
- revision
type:object
observedGeneration:
description:The generation observed by the component controller.
description:A HealthScope determines an aggregate health status based of
the health of components.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A HealthScopeSpec defines the desired state of a HealthScope.
properties:
appReferences:
description:AppRefs records references of applications' components
items:
description:AppReference records references of an application's
components
properties:
appName:
type:string
compReferences:
items:
description:CompReference records references of a component's
resources
properties:
compName:
type:string
traits:
items:
description:'ObjectReference contains enough information
to let you inspect or modify the referred object.
--- New uses of this type are discouraged because
of difficulty describing its usage when embedded in
APIs. 1. Ignored fields. It includes many fields
which are not generally honored. For instance, ResourceVersion
and FieldPath are both very rarely valid in actual
usage. 2. Invalid usage help. It is impossible to
add specific help for individual usage. In most embedded
usages, there are particular restrictions like,
"must refer only to types A and B" or "UID not honored"
or "name must be restricted". Those cannot be
well described when embedded. 3. Inconsistent validation. Because
the usages are different, the validation rules are
different by usage, which makes it hard for users
to predict what will happen. 4. The fields are both
imprecise and overly precise. Kind is not a precise
mapping to a URL. This can produce ambiguity during
interpretation and require a REST mapping. In most
cases, the dependency is on the group,resource tuple and
the version of the actual struct is irrelevant. 5.
We cannot easily change it. Because this type is
embedded in many locations, updates to this type will
affect numerous schemas. Don''t make new APIs embed
an underspecified API type they do not control. Instead
of using this type, create a locally provided and
used type that is well-focused on your reference.
For example, ServiceReferences for admission registration:
this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type:string
uid:
description: 'UID of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type:string
type:object
type:array
workload:
description:'ObjectReference contains enough information
to let you inspect or modify the referred object. ---
New uses of this type are discouraged because of difficulty
describing its usage when embedded in APIs. 1. Ignored
fields. It includes many fields which are not generally
honored. For instance, ResourceVersion and FieldPath
are both very rarely valid in actual usage. 2. Invalid
usage help. It is impossible to add specific help for
individual usage. In most embedded usages, there are
particular restrictions like, "must refer only to
types A and B" or "UID not honored" or "name must be
restricted". Those cannot be well described when
embedded. 3. Inconsistent validation. Because the
usages are different, the validation rules are different
by usage, which makes it hard for users to predict what
will happen. 4. The fields are both imprecise and overly
precise. Kind is not a precise mapping to a URL. This
can produce ambiguity during interpretation and
require a REST mapping. In most cases, the dependency
is on the group,resource tuple and the version of
the actual struct is irrelevant. 5. We cannot easily
change it. Because this type is embedded in many locations,
updates to this type will affect numerous schemas. Don''t
make new APIs embed an underspecified API type they
do not control. Instead of using this type, create a
locally provided and used type that is well-focused
on your reference. For example, ServiceReferences for
description:'Specific resourceVersion to which this
reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type:string
uid:
description: 'UID of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type:string
type:object
type:object
type:array
type:object
type:array
probe-interval:
description:ProbeInterval is the amount of time in seconds between
probing tries.
format:int32
type:integer
probe-timeout:
description:ProbeTimeout is the amount of time in seconds to wait
when receiving a response before marked failure.
format:int32
type:integer
workloadRefs:
description:WorkloadReferences to the workloads that are in this
scope.
items:
description:'ObjectReference contains enough information to let
you inspect or modify the referred object. --- New uses of this
type are discouraged because of difficulty describing its usage
when embedded in APIs. 1. Ignored fields. It includes many fields
which are not generally honored. For instance, ResourceVersion
and FieldPath are both very rarely valid in actual usage. 2.
Invalid usage help. It is impossible to add specific help for
individual usage. In most embedded usages, there are particular restrictions
like, "must refer only to types A and B" or "UID not honored"
or "name must be restricted". Those cannot be well described
when embedded. 3. Inconsistent validation. Because the usages
are different, the validation rules are different by usage, which
makes it hard for users to predict what will happen. 4. The fields
are both imprecise and overly precise. Kind is not a precise
mapping to a URL. This can produce ambiguity during interpretation
and require a REST mapping. In most cases, the dependency is
on the group,resource tuple and the version of the actual
struct is irrelevant. 5. We cannot easily change it. Because
this type is embedded in many locations, updates to this type will
affect numerous schemas. Don''t make new APIs embed an underspecified
API type they do not control. Instead of using this type, create
a locally provided and used type that is well-focused on your
reference. For example, ServiceReferences for admission registration:
description:'Specific resourceVersion to which this
reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type:string
uid:
description: 'UID of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
description:A ManualScalerTrait determines how many replicas a workload should
have.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A ManualScalerTraitSpec defines the desired state of a ManualScalerTrait.
properties:
replicaCount:
description:ReplicaCount of the workload this trait applies to.
format:int32
type:integer
workloadRef:
description:WorkloadReference to the workload this trait applies
to.
properties:
apiVersion:
description:API version of the referent.
type:string
fieldPath:
description:'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
type:string
kind:
description: 'Kind of the referent. More info:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
name:
description: 'Name of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type:string
namespace:
description: 'Namespace of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type:string
resourceVersion:
description:'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type:string
uid:
description: 'UID of the referent. More info:https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type:string
type:object
required:
- replicaCount
- workloadRef
type:object
status:
description:A ManualScalerTraitStatus represents the observed state of
a ManualScalerTrait.
properties:
conditions:
description:Conditions of the resource.
items:
description:A Condition that may apply to a resource.
properties:
lastTransitionTime:
description:LastTransitionTime is the last time this condition
transitioned from one status to another.
format:date-time
type:string
message:
description:A Message containing details about this condition's
last transition from one status to another, if any.
type:string
reason:
description:A Reason for this condition's last transition from
one status to another.
type:string
status:
description:Status of this condition; is it currently True,
False,or Unknown?
type:string
type:
description:Type of this condition. At most one of each condition
type may apply to a resource at any point in time.
description:A ScopeDefinition registers a kind of Kubernetes custom resource
as a valid OAM scope kind by referencing its CustomResourceDefinition. The
CRD is used to validate the schema of the scope when it is embedded in an
OAM ApplicationConfiguration.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A ScopeDefinitionSpec defines the desired state of a ScopeDefinition.
properties:
allowComponentOverlap:
description:AllowComponentOverlap specifies whether an OAM component
may exist in multiple instances of this kind of scope.
type:boolean
definitionRef:
description:Reference to the CustomResourceDefinition that defines
this scope kind.
properties:
name:
description:Name of the referenced CustomResourceDefinition.
type:string
version:
description:Version indicate which version should be used if
CRD has multiple versions by default it will use the first one
if not specified
type:string
required:
- name
type:object
extension:
description:Extension is used for extension needs by OAM platform
builders
type:object
x-kubernetes-preserve-unknown-fields:true
workloadRefsPath:
description:WorkloadRefsPath indicates if/where a scope accepts workloadRef
objects
type:string
required:
- allowComponentOverlap
- definitionRef
type:object
type:object
served:true
storage:false
subresources:{}
- additionalPrinterColumns:
- jsonPath:.spec.definitionRef.name
name:DEFINITION-NAME
type:string
name:v1beta1
schema:
openAPIV3Schema:
description:A ScopeDefinition registers a kind of Kubernetes custom resource
as a valid OAM scope kind by referencing its CustomResourceDefinition. The
CRD is used to validate the schema of the scope when it is embedded in an
OAM ApplicationConfiguration.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A ScopeDefinitionSpec defines the desired state of a ScopeDefinition.
properties:
allowComponentOverlap:
description:AllowComponentOverlap specifies whether an OAM component
may exist in multiple instances of this kind of scope.
type:boolean
definitionRef:
description:Reference to the CustomResourceDefinition that defines
this scope kind.
properties:
name:
description:Name of the referenced CustomResourceDefinition.
type:string
version:
description:Version indicate which version should be used if
CRD has multiple versions by default it will use the first one
if not specified
type:string
required:
- name
type:object
extension:
description:Extension is used for extension needs by OAM platform
builders
type:object
x-kubernetes-preserve-unknown-fields:true
workloadRefsPath:
description:WorkloadRefsPath indicates if/where a scope accepts workloadRef
description:A TraitDefinition registers a kind of Kubernetes custom resource
as a valid OAM trait kind by referencing its CustomResourceDefinition. The
CRD is used to validate the schema of the trait when it is embedded in an
OAM ApplicationConfiguration.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A TraitDefinitionSpec defines the desired state of a TraitDefinition.
properties:
appliesToWorkloads:
description:AppliesToWorkloads specifies the list of workload kinds
this trait applies to. Workload kinds are specified in kind.group/version
format, e.g. server.core.oam.dev/v1alpha2. Traits that omit this
field apply to all workload kinds.
items:
type:string
type:array
conflictsWith:
description:'ConflictsWith specifies the list of traits(CRD name,
Definition name, CRD group) which could not apply to the same workloads
with this trait. Traits that omit this field can work with any other
traits. Example rules: "service" # Trait definition name "services.k8s.io"
# API resource/crd name "*.networking.k8s.io" # API group "labelSelector:foo=bar"
description:A TraitDefinition registers a kind of Kubernetes custom resource
as a valid OAM trait kind by referencing its CustomResourceDefinition. The
CRD is used to validate the schema of the trait when it is embedded in an
OAM ApplicationConfiguration.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A TraitDefinitionSpec defines the desired state of a TraitDefinition.
properties:
appliesToWorkloads:
description:AppliesToWorkloads specifies the list of workload kinds
this trait applies to. Workload kinds are specified in kind.group/version
format, e.g. server.core.oam.dev/v1alpha2. Traits that omit this
field apply to all workload kinds.
items:
type:string
type:array
conflictsWith:
description:'ConflictsWith specifies the list of traits(CRD name,
Definition name, CRD group) which could not apply to the same workloads
with this trait. Traits that omit this field can work with any other
traits. Example rules: "service" # Trait definition name "services.k8s.io"
# API resource/crd name "*.networking.k8s.io" # API group "labelSelector:foo=bar"
description:A WorkloadDefinition registers a kind of Kubernetes custom resource
as a valid OAM workload kind by referencing its CustomResourceDefinition.
The CRD is used to validate the schema of the workload when it is embedded
in an OAM Component.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A WorkloadDefinitionSpec defines the desired state of a WorkloadDefinition.
properties:
childResourceKinds:
description:ChildResourceKinds are the list of GVK of the child resources
this workload generates
items:
description:A ChildResourceKind defines a child Kubernetes resource
kind with a selector
properties:
apiVersion:
description:APIVersion of the child resource
type:string
kind:
description:Kind of the child resource
type:string
selector:
additionalProperties:
type:string
description:Selector to select the child resources that the
workload wants to expose to traits
type:object
required:
- apiVersion
- kind
type:object
type:array
definitionRef:
description:Reference to the CustomResourceDefinition that defines
this workload kind.
properties:
name:
description:Name of the referenced CustomResourceDefinition.
type:string
version:
description:Version indicate which version should be used if
CRD has multiple versions by default it will use the first one
if not specified
type:string
required:
- name
type:object
extension:
description:Extension is used for extension needs by OAM platform
builders
type:object
x-kubernetes-preserve-unknown-fields:true
podSpecPath:
description:PodSpecPath indicates where/if this workload has K8s
podSpec field if one workload has podSpec, trait can do lot's of
assumption such as port, env, volume fields.
type:string
revisionLabel:
description:RevisionLabel indicates which label for underlying resources(e.g.
pods) of this workload can be used by trait to create resource selectors(e.g.
label selector for pods).
type:string
schematic:
description:Schematic defines the data format and template of the
encapsulation of the workload
properties:
cue:
description:CUE defines the encapsulation in CUE format
properties:
template:
description:Template defines the abstraction template data
of the capability, it will replace the old CUE template
in extension field. Template is a required field if CUE
is defined in Capability Definition.
type:string
required:
- template
type:object
helm:
description:A Helm represents resources used by a Helm module
properties:
release:
description:Release records a Helm release used by a Helm
module workload.
type:object
x-kubernetes-preserve-unknown-fields:true
repository:
description:HelmRelease records a Helm repository used by
a Helm module workload.
type:object
x-kubernetes-preserve-unknown-fields:true
required:
- release
- repository
type:object
kube:
description:Kube defines the encapsulation in raw Kubernetes
description:A WorkloadDefinition registers a kind of Kubernetes custom resource
as a valid OAM workload kind by referencing its CustomResourceDefinition.
The CRD is used to validate the schema of the workload when it is embedded
in an OAM Component.
properties:
apiVersion:
description:'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type:string
kind:
description:'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type:string
metadata:
type:object
spec:
description:A WorkloadDefinitionSpec defines the desired state of a WorkloadDefinition.
properties:
childResourceKinds:
description:ChildResourceKinds are the list of GVK of the child resources
this workload generates
items:
description:A ChildResourceKind defines a child Kubernetes resource
kind with a selector
properties:
apiVersion:
description:APIVersion of the child resource
type:string
kind:
description:Kind of the child resource
type:string
selector:
additionalProperties:
type:string
description:Selector to select the child resources that the
workload wants to expose to traits
type:object
required:
- apiVersion
- kind
type:object
type:array
definitionRef:
description:Reference to the CustomResourceDefinition that defines
this workload kind.
properties:
name:
description:Name of the referenced CustomResourceDefinition.
type:string
version:
description:Version indicate which version should be used if
CRD has multiple versions by default it will use the first one
if not specified
type:string
required:
- name
type:object
extension:
description:Extension is used for extension needs by OAM platform
builders
type:object
x-kubernetes-preserve-unknown-fields:true
podSpecPath:
description:PodSpecPath indicates where/if this workload has K8s
podSpec field if one workload has podSpec, trait can do lot's of
assumption such as port, env, volume fields.
type:string
revisionLabel:
description:RevisionLabel indicates which label for underlying resources(e.g.
pods) of this workload can be used by trait to create resource selectors(e.g.
label selector for pods).
type:string
schematic:
description:Schematic defines the data format and template of the
encapsulation of the workload
properties:
cue:
description:CUE defines the encapsulation in CUE format
properties:
template:
description:Template defines the abstraction template data
of the capability, it will replace the old CUE template
in extension field. Template is a required field if CUE
is defined in Capability Definition.
type:string
required:
- template
type:object
helm:
description:A Helm represents resources used by a Helm module
properties:
release:
description:Release records a Helm release used by a Helm
module workload.
type:object
x-kubernetes-preserve-unknown-fields:true
repository:
description:HelmRelease records a Helm repository used by
a Helm module workload.
type:object
x-kubernetes-preserve-unknown-fields:true
required:
- release
- repository
type:object
kube:
description:Kube defines the encapsulation in raw Kubernetes
{{- if and .Values.admissionWebhooks.enabled .Values.admissionWebhooks.patch.enabled .Values.rbac.create (not .Values.admissionWebhooks.certManager.enabled) }}
{{- if and .Values.admissionWebhooks.enabled .Values.admissionWebhooks.patch.enabled .Values.rbac.create (not .Values.admissionWebhooks.certManager.enabled) }}
{{- if and .Values.admissionWebhooks.enabled .Values.admissionWebhooks.patch.enabled .Values.rbac.create (not .Values.admissionWebhooks.certManager.enabled) }}
{{- if and .Values.admissionWebhooks.enabled .Values.admissionWebhooks.patch.enabled .Values.rbac.create (not .Values.admissionWebhooks.certManager.enabled) }}
{{- if and .Values.admissionWebhooks.enabled .Values.admissionWebhooks.patch.enabled .Values.rbac.create (not .Values.admissionWebhooks.certManager.enabled) }}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.