Needs More Capabilities?

    There’re many out-of-box capabilities installed along with KubeVela controller, refer to the following links to learn more details:

    Installing addon from the community is also one of the most important way to discover more capabilities.

    KubeVela community has maintained a growing which will be synced to the default addon registry (https://addons.kubevela.net). You can use vela command line to list all available addons by:

    The command will show the basic addon info along with all available versions and installed versions.

    1. rollout KubeVela Provides basic batch publishing capability. [1.3.0, 1.2.4, 1.2.3] disabled
    2. terraform KubeVela Terraform Controller is a Kubernetes Controller for Terraform. [1.0.6] disabled
    3. terraform-aws KubeVela Kubernetes Terraform Controller for AWS [1.0.1, 1.0.0] disabled
    4. dex KubeVela Enable dex for login [0.6.5] disabled
    5. fluxcd KubeVela Extended workload to do continuous and progressive delivery [1.1.0, 1.0.0] disabled
    6. velaux KubeVela KubeVela User Experience (UX). An extensible, application-oriented delivery and management Dashboard. [v1.3.0, v1.3.0-beta.2, 1.2.4] enabled (v1.3.0)
    7. terraform-alibaba KubeVela Kubernetes Terraform Controller for Alibaba Cloud [1.0.2, 1.0.1] disabled
    8. ...snip...
    • You can refer to for more details of these community certificated addons.

    Install Addon

    Install with CLI

    The simplest command for installing one addon is:

    1. vela addon enable fluxcd

    The expected output.

    1. I0111 21:45:24.553174 89345 apply.go:106] "creating object" name="addon-fluxcd" resource="core.oam.dev/v1beta1, Kind=Application"
    2. I0111 21:45:25.258914 89345 apply.go:106] "creating object" name="helm" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
    3. I0111 21:45:25.342731 89345 apply.go:106] "creating object" name="kustomize-json-patch" resource="core.oam.dev/v1beta1, Kind=TraitDefinition"
    4. I0111 21:45:25.382201 89345 apply.go:106] "creating object" name="kustomize-patch" resource="core.oam.dev/v1beta1, Kind=TraitDefinition"
    5. I0111 21:45:25.411723 89345 apply.go:106] "creating object" name="kustomize" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
    6. I0111 21:45:25.625815 89345 apply.go:106] "creating object" name="kustomize-strategy-merge" resource="core.oam.dev/v1beta1, Kind=TraitDefinition"
    7. I0111 21:45:25.660129 89345 apply.go:106] "creating object" name="component-uischema-helm" resource="/v1, Kind=ConfigMap"
    8. Addon: fluxcd enabled Successfully.

    You can also install addons with some advanced flags.

    Install addon with specified version

    • Choose one specific version by adding --version flag in this command. e.g:
    1. vela addon enable fluxcd --version=1.0.0
    • Choose specific clusters for installation. You can use --cluster flag to choose specific clusters. e.g:
    1. vela addon enable <addon-name> --clusters={cluster1,cluster2}

    By default, the place for installation is specified as control plane cluster or managed cluster inside the metadata of addon.

    • Some addons support setting parts of parameter while enabling. For example velaux addon supports change image repository by setting repo parameter, then you can change the repo address to your own. e.g:

      Air-Gapped Installation for Addon

      If your cluster network cannot connect to the community addon registry you can:

      • build your custom addon registry. Please refer to Build your Own Registry for details.
      • enable an addon from a local directory. Example:
      • Enable the addon from local directory.
      1. vela addon enable ./velaux

      expected output

      1. Addon: velaux enabled successfully

      caution

      Please notice that, while an addon is being installed in a cluster, it maybe still need pull some images or Helm Charts. If your cluster cannot reach these resources please refer to complete installation without Internet access.

      Install addon with UI Console

      If you have installed which is also one of the addon, you can manage it directly on the UI console with admin privileges.

      In the addon list, you can get the status of the addon and other info. Click the addon name could open the addon detail page, you can get the version list, definitions provided by the addon, and the readme message.

      addon detail

      Select a version and deployed clusters, you can click the enable button to install this addon. You can check detail information in this section include:

      • Definitions: The extension capabilities provided by the addon may include component, trait, etc.
      • README: Addon description, explain the capabilities and related information.

      Install addon by kubectl

      When you want to deploy addon in the format of YAML or using kubectl instead of using vela CLI, you can render the yaml out by:

      1. vela addon enable velaux --dry-run

      expected output

      1. apiVersion: core.oam.dev/v1beta1
      2. kind: Application
      3. metadata:
      4. creationTimestamp: null
      5. labels:
      6. addons.oam.dev/registry: KubeVela
      7. addons.oam.dev/version: v1.5.8
      8. name: addon-velaux
      9. namespace: vela-system
      10. spec:
      11. components:
      12. - name: apiserver
      13. properties:
      14. cmd:
      15. - apiserver
      16. - --datastore-type=kubeapi
      17. image: oamdev/vela-apiserver:v1.5.8
      18. ports:
      19. - expose: true
      20. port: 8000
      21. protocol: TCP
      22. traits:
      23. - properties:
      24. name: kubevela-vela-core
      25. type: service-account
      26. - properties:
      27. replicas: 1
      28. type: scaler
      29. type: webservice
      30. - dependsOn:
      31. - apiserver
      32. name: velaux
      33. properties:
      34. env:
      35. value: apiserver.vela-system:8000
      36. exposeType: ClusterIP
      37. image: oamdev/velaux:v1.5.8
      38. - expose: true
      39. port: 80
      40. protocol: TCP
      41. traits:
      42. - properties:
      43. replicas: 1
      44. type: scaler
      45. type: webservice
      46. status: {}
      47. ---
      48. apiVersion: v1
      49. data:
      50. ui-schema: '[{"jsonKey":"selector","sort":100,"uiType":"ComponentSelect"},{"jsonKey":"components","sort":101,"uiType":"ComponentPatches"}]'
      51. kind: ConfigMap
      52. metadata:
      53. creationTimestamp: null
      54. name: policy-uischema-override
      55. namespace: vela-system
      56. ... snip ...

      You can install the addon by one command like:

      1. vela addon enable velaux --dry-run | kubectl apply -f -

      caution

      Use dry-run can render YAML results and you will also lose the validation such as vela-core version check, dependency, etc. Make sure the version you used can match to your Kubernetes clusters.

      If you want to check the detail status of an addon, or get more available parameters and other useful info of an addon, you can use command addon status. For example:

      1. vela addon enable velaux --verbose

      expected output

      As above shows, these infos contain the available parameters, available versions, dependent addons and description of and addon.

      Discover the capabilities installed

      Needs More Capabilities? - 图5tip

      Once addon installed, end user can discover and use these capabilities immediately.

      • You can also check the capability details of .

      danger

      Please make sure the addon along with its capabilities is no longer used in any of your applications before uninstalling it.

      1. vela addon disable fluxcd

      expected output

      1. Successfully disable addon:fluxcd

      Manage Addon Registry

      You can also manage the addon registries, such as adding/deleting your private addon registry. Let’s take the experimental community registry as example.

      • List your current registries
      1. vela addon registry list

      expected output

      1. Name Type URL
      2. KubeVela helm https://addons.kubevela.net
      • Add a new registry
      1. vela addon registry add experimental --type=helm --endpoint=https://addons.kubevela.net/experimental/

      expected output

      1. Successfully add an addon registry experimental
      • Delete one registry

      expected output

      • Build custom registry

        You can use ChartMuseum to build your custom addon registry. We have a ChartMuseum addon available. Please refer to Build your Own Registry for details.

      If you’re a system infra or operator, you can refer to extension documents to learn how to make your own addon and registry, including .

      Needs More Capabilities? - 图7tip

      Here’s a blog introduces how to build addon from scratch using redis operator as example, you can read it as an end to end tutorial!

      • KubeVela use CUE as it’s core engine, learn Manage Definition with CUE and try to extend capabilities with definitions.
      • Read the to learn how to contribute and extend capabilities for KubeVela.

      Welcome to join the KubeVela community! We’re eager to see you to contribute your extension.