Available plugins
This section describes the plugins supported and shipped in with the Kubebuilder project.
To scaffold the projects
The following plugins are useful to scaffold the whole project with the tool.
Plugin | Key | Description |
---|---|---|
go.kubebuilder.io/v4 - (Default scaffold with Kubebuilder init) | go/v4 | Scaffold composite by base.go.kubebuilder.io/v4 and kustomize.common.kubebuilder.io/v2. Responsible for scaffolding Golang projects and its configurations. |
To add optional features
The following plugins are useful to generate code and take advantage of optional features
Plugin | Key | Description |
---|---|---|
grafana.kubebuilder.io/v1-alpha | grafana/v1-alpha | Optional helper plugin which can be used to scaffold Grafana Manifests Dashboards for the default metrics which are exported by controller-runtime. |
deploy-image.go.kubebuilder.io/v1-alpha | deploy-image/v1-alpha | Optional helper plugin which can be used to scaffold APIs and controller with code implementation to Deploy and Manage an Operand(image). |
To be extended
The following plugins are useful for other tools and External Plugins which are looking to extend the Kubebuilder functionality.
You can use the kustomize plugin, which is responsible for scaffolding the
kustomize files under config/
. The base language plugins are responsible
for scaffolding the necessary Golang files, allowing you to create your
own plugins for other languages (e.g., Operator-SDK enables
users to work with Ansible/Helm) or add additional functionality.
For example, Operator-SDK has a plugin which integrates the projects with OLM by adding its own features on top.
Plugin | Key | Description |
---|---|---|
kustomize.common.kubebuilder.io/v2 | kustomize/v2 | Responsible for scaffolding all kustomize files under the config/ directory |
base.go.kubebuilder.io/v4 | base/v4 | Responsible for scaffolding all files which specifically requires Golang. This plugin is used in the composition to create the plugin (go/v4 ) |