Viewing legacy documentation for Kubebuilder, check out the latest documentation instead.

To help projects using Kubebuilder as Lib to composite new solutions and plugins

Then, see that you can use the kustomize plugin, which is responsible for to scaffold the kustomize files under config/, as the base language plugins which are responsible for to scaffold the Golang files to create your own plugins to work with another languages (i.e. Operator-SDK does to allow users work with Ansible/Helm) or to add helpers on top, such as Operator-SDK does to add their features to integrate the projects with OLM.

PluginKeyDescription
kustomize.common.kubebuilder.io/v1kustomize/v1 (Deprecated)Responsible for scaffolding all manifests to configure projects with kustomize(v3). (create and update the config/ directory). This plugin is used in the composition to create the plugin (go/v3).
kustomize.common.kubebuilder.io/v2kustomize/v2It has the same purpose of kustomize/v1. However, it works with kustomize version v4 and addresses the required changes for future kustomize configurations. It will probably be used with the future go/v4-alpha plugin.
base.go.kubebuilder.io/v3base/v3Responsible for scaffolding all files that specifically require Golang. This plugin is used in composition to create the plugin (go/v3)
base.go.kubebuilder.io/v4base/v4Responsible for scaffolding all files which specifically requires Golang. This plugin is used in the composition to create the plugin (go/v4)