@@ -13,25 +13,19 @@ developers for rapidly building and publishing Kubernetes APIs in Go.
13
13
It builds on top of the canonical techniques used to build the core Kubernetes APIs to provide simple abstractions that reduce boilerplate and toil.
14
14
15
15
Kubebuilder does ** not** exist as an example to * copy-paste* , but instead provides powerful libraries and tools
16
- to simplify building and publishing Kubernetes APIs from scratch. On to of that, it
17
- provides an plugin architecture which allows users take advantage of optional helpers
18
- and features. To know more about see the [ Plugin section] [ plugin-section ] .
16
+ to simplify building and publishing Kubernetes APIs from scratch. It
17
+ provides a plugin architecture allowing users to take advantage of optional helpers
18
+ and features. To learn more about this see the [ Plugin section] [ plugin-section ] .
19
19
20
20
Kubebuilder is developed on top of the [ controller-runtime] [ controller-runtime ] and [ controller-tools] [ controller-tools ] libraries.
21
21
22
- ### Kubebuilder is also a framework for other tools
22
+ ### Kubebuilder is also a framework
23
23
24
- Kubebuilder is extensible and can be imported to be used as a library in other projects.
25
- Specifically, for those which are looking for a way to use Kubebuilder's existing CLI and scaffolding the projects and re-use its plugins,
26
- but to also be able to augment the Kubebuilder project structure with other custom project types so that it is possible to support the Kubebuilder
27
- workflow with non-Go operators.
24
+ Kubebuilder is extensible and can be used as a library in other projects.
25
+ [ Operator-SDK] [ operator-sdk ] is a good example of a project that uses Kubebuilder as a library.
26
+ [ Operator-SDK] [ operator-sdk ] uses the plugin feature to include non-Go operators _ e.g. operator-sdk's Ansible and Helm-based language Operators_ .
28
27
29
- A good example of its usage is the project [ Operator-SDK] [ operator-sdk ]
30
- that uses Kubebuilder as lib to generate the scaffolds and create its own helper plugins
31
- to provide additional features and options on top. [ Operator-SDK] [ operator-sdk ] also uses Kubebuilder
32
- to support their workflow with non-Go operators (_ e.g. operator-sdk's Ansible and Helm-based language Operators_ )
33
-
34
- To know more about see [ how to create your own plugins] [ your-own-plugins ] .
28
+ To learn more see [ how to create your own plugins] [ your-own-plugins ] .
35
29
36
30
### Installation
37
31
@@ -127,15 +121,16 @@ supporting Windows are welcome.
127
121
128
122
### Apple Silicon
129
123
130
- The current scaffold done by the CLI (` go/v3 ` ) when we run ` kubebuilder init ` uses [ kubernetes-sigs/kustomize] [ kustomize ] v3 which does not provide
131
- a valid binary for Apple Silicon (` darwin/arm64 ` ). Therefore, you can use the ` go/v4-alpha ` plugin
132
- instead which provides support for this platform:
124
+ Apple Silicon (` darwin/arm64 ` ) is supported using the ` go/v4-alpha ` plugin which provides support for this platform.
133
125
134
126
``` bash
135
127
kubebuilder init --domain my.domain --repo my.domain/guestbook --plugins=go/v4-alpha
136
128
```
137
129
138
- ** Note** : The ` go/v4-alpha ` plugin is an unstable version and can have breaking changes in future releases.
130
+ ** Note** : The ` go/v4-alpha ` plugin is an unstable version and can have breaking changes in future releases. The previous kustomize
131
+ version (` v3.Y.Z ` ) used in the ` go/v3 ` has no available binaries for this
132
+ platform [ kubernetes-sigs/kustomize/issues/4612] ( https://github.com/kubernetes-sigs/kustomize/issues/4612 )
133
+ Because of this, we cannot support this ` darwin/arm64 ` on the stable scaffold done by default with the Kubebuilder with the ` go/v3 ` plugin.
139
134
140
135
## Community Meetings
141
136
0 commit comments