Skip to content

Commit 745ea7e

Browse files
Refine information about compatibility and supportability of dependencies
1 parent 0da2b4c commit 745ea7e

File tree

2 files changed

+40
-9
lines changed

2 files changed

+40
-9
lines changed

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ Before starting any work, please either comment on an existing issue, or file a
121121

122122
## Operating Systems Supported
123123

124-
Currently, Kubebuilder officially supports macOS and Linux platforms. If you are using a Windows OS, you may encounter issues.
124+
Currently, Kubebuilder officially supports macOS and Linux platforms. If you are using a Windows OS, you may encounter issues.
125125
Contributions towards supporting Windows are welcome.
126126

127127
## Versions Compatibility and Supportability
@@ -132,15 +132,25 @@ Projects created by Kubebuilder contain a `Makefile` that installs tools at vers
132132
- [controller-gen](https://github.com/kubernetes-sigs/controller-tools)
133133
- [setup-envtest](https://github.com/kubernetes-sigs/controller-runtime/tree/main/tools/setup-envtest)
134134

135-
Additionally, these projects include a `go.mod` file specifying dependency versions. Kubebuilder relies on [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) and its Go and Kubernetes dependencies. Therefore, the versions defined in the `Makefile` and `go.mod` files are the ones that have been tested, supported, and recommended.
135+
Additionally, these projects include a `go.mod` file specifying dependency versions.
136+
Kubebuilder relies on [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) and its Go and Kubernetes dependencies.
137+
Therefore, the versions defined in the `Makefile` and `go.mod` files are the ones that have been tested, supported, and recommended.
136138

137-
Each minor version of Kubebuilder is tested with a specific minor version of client-go. While a Kubebuilder minor version *may* be compatible with other client-go minor versions, this compatibility is not guaranteed, supported, or tested. Typically, a new minor version of Kubebuilder is created for each minor version of client-go and other k8s.io/* dependencies and tools.
139+
Each minor version of Kubebuilder is tested with a specific minor version of client-go.
140+
While a Kubebuilder minor version *may* be compatible with other client-go minor versions,
141+
or other tools this compatibility is not guaranteed, supported, or tested.
138142

139-
The minimum Go version required by Kubebuilder is determined by the highest minimum Go version required by its dependencies. This is usually aligned with the minimum Go version required by the corresponding k8s.io/* dependencies.
143+
The minimum Go version required by Kubebuilder is determined by the highest minimum
144+
Go version required by its dependencies. This is usually aligned with the minimum
145+
Go version required by the corresponding `k8s.io/*` dependencies.
140146

141-
Compatible k8s.io/* versions, client-go versions, and minimum Go versions can be found in the `go.mod` file scaffolded for each project for each tag release.
147+
Compatible `k8s.io/*` versions, client-go versions, and minimum Go versions can be found in the `go.mod`
148+
file scaffolded for each project for each [tag release](https://github.com/kubernetes-sigs/kubebuilder/tags).
142149

143-
**Example:** For the `4.1.1` release, the minimum Go version compatibility is `1.22`. You can refer to the samples in the testdata directory of the tag released [v4.1.1](https://github.com/kubernetes-sigs/kubebuilder/tree/v4.1.1/testdata), such as the [go.mod](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/go.mod#L3) file for `project-v4`. You can also check the tools versions supported and tested for this release by examining the [Makefile](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/Makefile#L160-L165).
150+
**Example:** For the `4.1.1` release, the minimum Go version compatibility is `1.22`.
151+
You can refer to the samples in the testdata directory of the tag released [v4.1.1](https://github.com/kubernetes-sigs/kubebuilder/tree/v4.1.1/testdata),
152+
such as the [go.mod](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/go.mod#L3) file for `project-v4`. You can also check the tools versions supported and
153+
tested for this release by examining the [Makefile](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/Makefile#L160-L165).
144154

145155
## Community Meetings
146156

docs/book/src/quick-start.md

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,34 @@ This Quick Start guide will cover:
1515
- Access to a Kubernetes v1.11.3+ cluster.
1616

1717
<aside class="note">
18-
<h1>Versions and Supportability</h1>
18+
<h1>Versions Compatibility and Supportability</h1>
19+
20+
Projects created by Kubebuilder contain a `Makefile` that installs tools at versions defined during project creation.
21+
The main tools included are:
1922

20-
Projects created by Kubebuilder contain a Makefile that will install tools at versions defined at creation time. Those tools are:
2123
- [kustomize](https://github.com/kubernetes-sigs/kustomize)
2224
- [controller-gen](https://github.com/kubernetes-sigs/controller-tools)
25+
- [setup-envtest](https://github.com/kubernetes-sigs/controller-runtime/tree/main/tools/setup-envtest)
26+
27+
Additionally, these projects include a `go.mod` file specifying dependency versions.
28+
Kubebuilder relies on [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) and its Go and Kubernetes dependencies.
29+
Therefore, the versions defined in the `Makefile` and `go.mod` files are the ones that have been tested, supported, and recommended.
30+
31+
Each minor version of Kubebuilder is tested with a specific minor version of client-go.
32+
While a Kubebuilder minor version *may* be compatible with other client-go minor versions,
33+
or other tools this compatibility is not guaranteed, supported, or tested.
34+
35+
The minimum Go version required by Kubebuilder is determined by the highest minimum
36+
Go version required by its dependencies. This is usually aligned with the minimum
37+
Go version required by the corresponding `k8s.io/*` dependencies.
38+
39+
Compatible `k8s.io/*` versions, client-go versions, and minimum Go versions can be found in the `go.mod`
40+
file scaffolded for each project for each [tag release](https://github.com/kubernetes-sigs/kubebuilder/tags).
2341

24-
The versions which are defined in the `Makefile` and `go.mod` files are the versions tested and therefore is recommended to use the specified versions.
42+
**Example:** For the `4.1.1` release, the minimum Go version compatibility is `1.22`.
43+
You can refer to the samples in the testdata directory of the tag released [v4.1.1](https://github.com/kubernetes-sigs/kubebuilder/tree/v4.1.1/testdata),
44+
such as the [go.mod](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/go.mod#L3) file for `project-v4`. You can also check the tools versions supported and
45+
tested for this release by examining the [Makefile](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/Makefile#L160-L165).
2546

2647
</aside>
2748

0 commit comments

Comments
 (0)