插件系统
自定义插件
- 基础信息文件,包括metadata.yaml 和README.md
- OAM 模型文件,包括模块化能力,UI扩展和资源拓扑规则等
- 应用描述文件,模块化能力需要一个Kubernetes operator 支撑,应用描述文件就是定义包含相应的Kubernetes 资源的KubeVela 应用
有实验阶段的插件和认证插件
制作插件(Make an Addon)
初始化
vela addon init kubevela-demo-addon
├── resources/ # 应用描述文件,可选
│ ├── xxx.cue
│ └── xxx.yaml
├── definitions/ # OAM 模型文件,可选。包含插件所提供的模块化能力(Definition)。目录下的文件类型一:ComponentDefinition,TraitDefinitions 或 WorkflowStepDefinitions Kubernetes 资源对象(CustomResource);类型二:CUE 格式的 KubeVela def 文件
├── schemas/ # OAM 模型文件,可选。该目录用于存放模块化能力(Definition)所对应的 UI-schema 文件,用于在 UX 中展示模块化能力(Definition)所需要填写参数时增强显示效果。
├── README.md # 基本信息文件,必须
├── metadata.yaml # 基本信息文件,必须
├── parameter.cue # 应用描述文件,可选,参数定义文件,支持yaml和cue格式
└── template.yaml # 应用描述文件,可选,模板文件,支持yaml和cue格式
本地安装
$ vela addon enable ./kubevela-demo-addon/
$ vela addon enable <addon-name> `namespace=my-namespace
查看渲染的效果
cue eval *.cue resources/*.cue -e output -d yaml
vela def init
vela def init my-trait -t trait --desc "My trait description."