• Stars
    star
    148
  • Rank 241,284 (Top 5 %)
  • Language CUE
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated 25 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Catalog of community maintained components and traits.

KubeVela Catalog

KubeVela is a modern software delivery control plane to make deploying and operating applications across today's hybrid, multi-cloud environments easier, faster and more reliable.

One of the core goals of KubeVela is to build an open, inclusive, and vibrant OSS developer community focused on solving real-world application delivery and operation problems, sharing the reusable building blocks and best practices.

Here's the catalog of the shared resources, we called them addon.

Introduction

This repo is a catalog of addons which extend the capability of KubeVela control plane. Generally, an addon consists of Kubernetes CRD and corresponding X-definition, but none of them is necessary. For example, the fluxcd addon consists of FluxCD controller and the helm component definition, while VelaUX just deploy a web server without any CRD or Definitions.

There're basically two kinds of addons according to maturity. They're verified addons which have been tested for a long time can be used in product environment and experimental addons which contain new features but still need more verification.

Community users can install and use these addons by the following way:

  • Verified Addons: when a pull request merged, the changes of these addon will be automatically packaged and synced to the OSS bucket, and serving in the official addon registry. This will be displayed in vela CLI by vela addon list or VelaUX as follows. image

  • Experimental Addons: the experimental addons will also be packaged and synced to the OSS bucket automatically, but in the experimental folder, you need to add the experimental registry manually to use it.

    vela addon registry add experimental --type=helm --endpoint=https://addons.kubevela.net/experimental/
    

    image

How to use

The https://addons.kubevela.net will be deprecated and changed to https://kubevela.github.io/catalog/official. You can run the following command to set up the new registry.

vela addon registry delete KubeVela
vela addon registry update KubeVela --type helm --endpoint=https://kubevela.github.io/catalog/official
vela addon registry add experimental --type helm --endpoint=https://kubevela.github.io/catalog/experimental

You can enable these addons by vela command line by:

vela addon enable <official-addon-name>
vela addon enable experimental/<experimental-addon-name>

You can also enable addons by click the page on VelaUX.

Please refer to doc for more infos.

History versions

All versions of addons will be reserved in the OSS bucket, you can check the old versions and download in this page: https://addons.kubevela.net/index.yaml.

Create an addon

To create an addon, you can use the following command to create an addon scaffold:

vela addon init <addon-name>

The best way to learn how to build an addon is follow existing examples:

You can refer this doc to learn all details of how to make an addon and the mechanism behind it.

Contribute an addon

All contributions are welcome, just send a pull request to this repo following the below rules:

  • A new addon should be accepted as experimental one first with the following necessary information:

    • An accessible icon url and source url defined in addon's metadata.yaml.
    • A detail introduction include a basic example about how to use and what's the benefit of this addon in README.md.
    • It's more likely to be accepted if useful examples are provided in example dir.
  • An experimental addon must meet these conditions to be promoted as a verified one.

  • If you come across with any addon problems, feel free to raise a github issue or just send pull requests to fix them. Please make sure to update the addon version in your pull request.

Community

Welcome to KubeVela community for discussion, please refer to the community repo.