[Deprecated] go/v3 (go.kubebuilder.io/v3)
Kubebuilder tool will scaffold the go/v3 plugin by default. This plugin is a composition of the plugins kustomize.common.kubebuilder.io/v1
and base.go.kubebuilder.io/v3
. By using you can scaffold the default project which is a helper to construct sets of controllers.
It basically scaffolds all the boilerplate code required to create and design controllers. Note that by following the quickstart you will be using this plugin.
When to use it ?
If you are looking to scaffold Golang projects to develop projects using controllers
How to use it ?
As go/v3
is the default plugin there is no need to explicitly mention to Kubebuilder to use this plugin.
To create a new project with the go/v3
plugin the following command can be used:
kubebuilder init --plugins=`go/v3` --domain tutorial.kubebuilder.io --repo tutorial.kubebuilder.io/project
All the other subcommands supported by the go/v3 plugin can be executed similarly.
Subcommands supported by the plugin
- Init -
kubebuilder init [OPTIONS]
- Edit -
kubebuilder edit [OPTIONS]
- Create API -
kubebuilder create api [OPTIONS]
- Create Webhook -
kubebuilder create webhook [OPTIONS]
Further resources
- To check how plugins are composited by looking at this definition in the main.go.
- Check the code implementation of the base Golang plugin
base.go.kubebuilder.io/v3
. - Check the code implementation of the Kustomize/v1 plugin.
- Check controller-runtime to know more about controllers.