Skip to content

Commit b92eaeb

Browse files
authored
Merge pull request #2823 from camilamacedo86/readme
📖 Update the README
2 parents 45105bc + 58b1e36 commit b92eaeb

File tree

1 file changed

+40
-5
lines changed

1 file changed

+40
-5
lines changed

README.md

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,26 @@ Kubebuilder increases velocity and reduces the complexity managed by
1212
developers for rapidly building and publishing Kubernetes APIs in Go.
1313
It builds on top of the canonical techniques used to build the core Kubernetes APIs to provide simple abstractions that reduce boilerplate and toil.
1414

15-
**Note:** 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.
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].
1719

18-
Kubebuilder is developed on top of the controller-runtime and controller-tools libraries.
20+
Kubebuilder is developed on top of the [controller-runtime][controller-runtime] and [controller-tools][controller-tools] libraries.
21+
22+
### Kubebuilder is also a framework for other tools
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.
28+
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].
1935

2036
### Installation
2137

@@ -38,8 +54,8 @@ Check out the Kubebuilder [book](https://book.kubebuilder.io).
3854
- GitHub Repo: [kubernetes-sigs/kubebuilder](https://github.com/kubernetes-sigs/kubebuilder)
3955
- Slack channel: [#kubebuilder](https://slack.k8s.io/#kubebuilder)
4056
- Google Group: [[email protected]](https://groups.google.com/forum/#!forum/kubebuilder)
41-
- Planned Work: [Sprint Dashboard](https://github.com/kubernetes-sigs/kubebuilder/projects/1)
4257
- Design Documents: [designs](designs/).
58+
- Plugin: [plugins][plugin-section]
4359

4460
## Motivation
4561

@@ -105,7 +121,21 @@ Before starting any work, please either comment on an existing issue, or file a
105121

106122
## Supportability
107123

108-
Currently, Kubebuilder officially supports OSX and Linux platforms. So, if you are using a Windows OS you may find issues. Contributions towards supporting Windows are welcome.
124+
Currently, Kubebuilder officially supports OSX and Linux platforms.
125+
So, if you are using a Windows OS you may find issues. Contributions towards
126+
supporting Windows are welcome.
127+
128+
### Apple Silicon
129+
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:
133+
134+
```bash
135+
kubebuilder init --domain my.domain --repo my.domain/guestbook --plugins=go/v4-alpha
136+
```
137+
138+
**Note**: The `go/v4-alpha` plugin is an unstable version and can have breaking changes in future releases.
109139

110140
## Community Meetings
111141

@@ -116,3 +146,8 @@ The following meetings happen biweekly:
116146

117147
You are more than welcome to attend. For further info join to [[email protected]](https://groups.google.com/g/kubebuilder).
118148

149+
[operator-sdk]: https://github.com/operator-framework/operator-sdk
150+
[plugin-section]: https://book.kubebuilder.io/plugins/plugins.html
151+
[controller-runtime]: https://github.com/kubernetes-sigs/controller-runtime
152+
[your-own-plugins]: https://book.kubebuilder.io/plugins/creating-plugins.html
153+
[controller-tools]: https://github.com/kubernetes-sigs/controller-tools

0 commit comments

Comments
 (0)