Skip to content

Commit c813602

Browse files
authored
Merge pull request #4250 from camilamacedo86/move-support-note-its-doc
📖 move Versions Compatibility and Supportability info to a dedicated page
2 parents 063bc3f + 655c129 commit c813602

File tree

3 files changed

+52
-27
lines changed

3 files changed

+52
-27
lines changed

docs/book/src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
[Getting Started](./getting-started.md)
1010

11+
[Versions Compatibility and Supportability](./versions_compatibility_supportability.md)
1112
---
1213

1314
- [Tutorial: Building CronJob](cronjob-tutorial/cronjob-tutorial.md)

docs/book/src/quick-start.md

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,40 +9,15 @@ This Quick Start guide will cover:
99

1010
## Prerequisites
1111

12-
- [go](https://golang.org/dl/) version v1.20.0+
12+
- [go](https://golang.org/dl/) version v1.22.0+
1313
- [docker](https://docs.docker.com/install/) version 17.03+.
1414
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) version v1.11.3+.
1515
- Access to a Kubernetes v1.11.3+ cluster.
1616

1717
<aside class="note">
1818
<h1>Versions Compatibility and Supportability</h1>
1919

20-
Projects created by Kubebuilder contain a `Makefile` that installs tools at versions defined during project creation.
21-
The main tools included are:
22-
23-
- [kustomize](https://github.com/kubernetes-sigs/kustomize)
24-
- [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).
41-
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).
20+
Please, ensure that you see the [guidance](./versions_compatibility_supportability.md).
4621

4722
</aside>
4823

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Versions Compatibility and Supportability
2+
3+
Projects created by Kubebuilder contain a `Makefile` that installs tools at versions defined during project creation.
4+
The main tools included are:
5+
6+
- [kustomize](https://github.com/kubernetes-sigs/kustomize)
7+
- [controller-gen](https://github.com/kubernetes-sigs/controller-tools)
8+
- [setup-envtest](https://github.com/kubernetes-sigs/controller-runtime/tree/main/tools/setup-envtest)
9+
10+
Additionally, these projects include a `go.mod` file specifying dependency versions.
11+
Kubebuilder relies on [controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) and its Go and Kubernetes dependencies.
12+
Therefore, the versions defined in the `Makefile` and `go.mod` files are the ones that have been tested, supported, and recommended.
13+
14+
Each minor version of Kubebuilder is tested with a specific minor version of client-go.
15+
While a Kubebuilder minor version *may* be compatible with other client-go minor versions,
16+
or other tools this compatibility is not guaranteed, supported, or tested.
17+
18+
The minimum Go version required by Kubebuilder is determined by the highest minimum
19+
Go version required by its dependencies. This is usually aligned with the minimum
20+
Go version required by the corresponding `k8s.io/*` dependencies.
21+
22+
Compatible `k8s.io/*` versions, client-go versions, and minimum Go versions can be found in the `go.mod`
23+
file scaffolded for each project for each [tag release](https://github.com/kubernetes-sigs/kubebuilder/tags).
24+
25+
**Example:** For the `4.1.1` release, the minimum Go version compatibility is `1.22`.
26+
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),
27+
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
28+
tested for this release by examining the [Makefile](https://github.com/kubernetes-sigs/kubebuilder/blob/v4.1.1/testdata/project-v4/Makefile#L160-L165).
29+
30+
## Operating Systems Supported
31+
32+
Currently, Kubebuilder officially supports macOS and Linux platforms. If you are using a Windows OS, you may encounter issues.
33+
Contributions towards supporting Windows are welcome
34+
35+
<aside class="note warning">
36+
<h1>Project customizations</h1>
37+
38+
After using the CLI to create your project, you are free to customize how
39+
you see fit. Bear in mind, that it is not recommended to deviate from
40+
the proposed layout unless you know what you are doing.
41+
42+
For example, you should refrain from moving the scaffolded files,
43+
doing so will make it difficult in upgrading your project in the future.
44+
You may also lose the ability to use some of the CLI features and helpers.
45+
For further information on the project layout, see the doc [What's in a basic project?][basic-project-doc]
46+
47+
</aside>
48+
49+
[basic-project-doc]: ./reference/project-config.md

0 commit comments

Comments
 (0)