|
2 | 2 |
|
3 | 3 | This section describes the plugins supported and shipped in with the Kubebuilder project.
|
4 | 4 |
|
5 |
| -## To scaffold the projects |
6 |
| - |
7 |
| -The following plugins are useful to scaffold the whole project with the tool. |
8 |
| - |
9 |
| -| Plugin | Key | Description | |
10 |
| -| ---------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
11 |
| -| [go.kubebuilder.io/v2 - (Deprecated)](go-v2-plugin.md) | `go/v2` | Golang plugin responsible for scaffolding the legacy layout provided with Kubebuilder CLI >= `2.0.0` and < `3.0.0`. | |
12 |
| -| [go.kubebuilder.io/v3 - (Default scaffold with Kubebuilder init)](go-v3-plugin.md) | `go/v3` | Default scaffold used for creating a project when no plugin(s) are provided. Responsible for scaffolding Golang projects and its configurations. | |
13 |
| -| [go.kubebuilder.io/v4-alpha - (Add Apple Sillicom Support)](go-v4-plugin.md) | `go/v4` | Scaffold composite by `base.go.kubebuilder.io/v3` and [kustomize.common.kubebuilder.io/v2-alpha](kustomize-v2-alpha.md). Responsible for scaffolding Golang projects and its configurations. | |
14 |
| - |
15 |
| -## To add optional features |
16 |
| - |
17 |
| -The following plugins are useful to generate code and take advantage of optional features |
18 |
| - |
19 |
| -| Plugin | Key | Description | |
20 |
| -| ---------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
21 |
| -| [declarative.go.kubebuilder.io/v1](declarative-v1.md) | `declarative/v1` | Optional plugin used to scaffold APIs/controllers using the [kubebuilder-declarative-pattern][kubebuilder-declarative-pattern] project. | |
22 |
| -| [grafana.kubebuilder.io/v1-alpha](grafana-v1-alpha.md) | `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. | |
23 |
| -| [deploy-image.go.kubebuilder.io/v1-alpha](deploy-image-plugin-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). | |
24 |
| - |
25 |
| -## To help projects using Kubebuilder as Lib to composite new solutions and plugins |
26 |
| - |
27 |
| -<aside class="note"> |
28 |
| - |
29 |
| -<h1>You can also create your own plugins, see:</h1> |
30 |
| - |
31 |
| -- [Creating your own plugins][create-plugins]. |
32 |
| - |
33 |
| -</aside> |
34 |
| - |
35 |
| -Then, see that you can use the kustomize plugin, which is responsible for to scaffold the kustomize files under `config/`, as |
36 |
| -the base language plugins which are responsible for to scaffold the Golang files to create your own plugins to work with |
37 |
| -another languages (i.e. [Operator-SDK][sdk] does to allow users work with Ansible/Helm) or to add |
38 |
| -helpers on top, such as [Operator-SDK][sdk] does to add their features to integrate the projects with [OLM][olm]. |
39 |
| - |
40 |
| -| Plugin | Key | Description | |
41 |
| -| ---------------------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
42 |
| -| [kustomize.common.kubebuilder.io/v1](kustomize-v1.md) | `kustomize/v1` | Responsible for scaffold all manifests to configure the projects with [kustomize(v3)][kustomize]. (create and update the `config/` directory). This plugin is used in the composition to create the plugin (`go/v3`). | |
43 |
| -| [kustomize.common.kubebuilder.io/v2-alpha](kustomize-v2-alpha.md) | `kustomize/v2-alpha` | It has the same purpose of `kustomize/v1`. However, it works with [kustomize][kustomize] version `v4` and addresses the required changes for future kustomize configurations. It will probably be used with the future `go/v4-alpha` plugin. | |
44 |
| -| `base.go.kubebuilder.io/v3` | `base/v3` | Responsible for scaffold all files which specific requires Golang. This plugin is used in the composition to create the plugin (`go/v3`) | |
45 |
| - |
46 |
| -<aside class="note"> |
47 |
| - |
48 |
| -<h1>Plugins Versioning</h1> |
49 |
| - |
50 |
| -**ALPHA** plugins can introduce breaking changes. For further info see [Plugins Versioning](./plugins/plugins-versioning.md). |
51 |
| - |
52 |
| -</aside> |
53 |
| - |
54 |
| -[create-plugins]: creating-plugins.md |
55 |
| -[kubebuilder-declarative-pattern]: https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern |
56 |
| -[kustomize]: https://kustomize.io/ |
57 |
| -[sdk]: https://github.com/operator-framework/operator-sdk |
58 |
| -[olm]: https://olm.operatorframework.io/ |
59 |
| - |
| 5 | +{{#include to-scaffold-project.md }} |
| 6 | +{{#include to-add-optional-features.md }} |
| 7 | +{{#include to-be-extended.md }} |
0 commit comments