Skip to content

Commit 6f51c00

Browse files
authored
update kubernetes compatibility matrix (#6113)
to include the kubernetes version and client-go version Signed-off-by: Bryce Palmer <[email protected]> Signed-off-by: Bryce Palmer <[email protected]>
1 parent fe1e18c commit 6f51c00

File tree

7 files changed

+120
-7
lines changed

7 files changed

+120
-7
lines changed

Diff for: release/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ endif
4242
prerelease: check_release_version changelog ## Create release commit changes to commit.
4343
./website/scripts/update_branch_mappings.sh $(RELEASE_VERSION)
4444
./website/scripts/update_download_url.sh $(RELEASE_VERSION)
45+
./website/scripts/update_latest_release_compat.sh
4546

4647
.PHONY: changelog
4748
changelog: check_release_version ## Generate the changelog.

Diff for: website/config.toml

+66-1
Original file line numberDiff line numberDiff line change
@@ -92,129 +92,194 @@ url_latest_version = "https://sdk.operatorframework.io"
9292
[[params.versions]]
9393
version = "master"
9494
url = "https://master.sdk.operatorframework.io"
95+
##LATEST_RELEASE_KUBE_VERSION##
96+
kube_version = "1.25.0"
97+
##LATEST_RELEASE_CLIENT_GO_VERSION##
98+
client_go_version = "v0.25.3"
9599

96100
[[params.versions]]
97101
version = "Latest Release"
98102
url = "https://sdk.operatorframework.io"
103+
##LATEST_RELEASE_KUBE_VERSION##
104+
kube_version = "1.25.0"
105+
##LATEST_RELEASE_CLIENT_GO_VERSION##
106+
client_go_version = "v0.25.3"
99107

100108
##RELEASE_ADDME##
101109

102110
[[params.versions]]
103111
version = "v1.25"
104112
url = "https://v1-25-x.sdk.operatorframework.io"
113+
kube_version = "1.25.0"
114+
client_go_version = "v0.25.3"
105115

106116
[[params.versions]]
107117
version = "v1.24"
108118
url = "https://v1-24-x.sdk.operatorframework.io"
119+
kube_version = "1.24.2"
120+
client_go_version = "v0.24.2"
109121

110122
[[params.versions]]
111123
version = "v1.23"
112124
url = "https://v1-23-x.sdk.operatorframework.io"
125+
kube_version = "1.24.2"
126+
client_go_version = "v0.24.2"
113127

114128
[[params.versions]]
115129
version = "v1.22"
116130
url = "https://v1-22-x.sdk.operatorframework.io"
131+
kube_version = "1.24.1"
132+
client_go_version = "v0.24.0"
117133

118134
[[params.versions]]
119135
version = "v1.21"
120136
url = "https://v1-21-x.sdk.operatorframework.io"
137+
kube_version = "1.23"
138+
client_go_version = "v0.23.5"
121139

122140
[[params.versions]]
123141
version = "v1.20"
124142
url = "https://v1-20-x.sdk.operatorframework.io"
143+
kube_version = "1.23"
144+
client_go_version = "v0.23.1"
125145

126146
[[params.versions]]
127147
version = "v1.19"
128148
url = "https://v1-19-x.sdk.operatorframework.io"
149+
kube_version = "1.23"
150+
client_go_version = "v0.23.1"
129151

130152
[[params.versions]]
131153
version = "v1.18"
132154
url = "https://v1-18-x.sdk.operatorframework.io"
155+
kube_version = "1.21"
156+
client_go_version = "v0.23.1"
133157

134158
[[params.versions]]
135159
version = "v1.17"
136160
url = "https://v1-17-x.sdk.operatorframework.io"
161+
kube_version = "1.21"
162+
client_go_version = "v0.23.1"
137163

138164
[[params.versions]]
139165
version = "v1.16"
140166
url = "https://v1-16-x.sdk.operatorframework.io"
167+
kube_version = "1.21"
168+
client_go_version = "v0.22.2"
141169

142170
[[params.versions]]
143171
version = "v1.15"
144172
url = "https://v1-15-x.sdk.operatorframework.io"
173+
kube_version = "1.21"
174+
client_go_version = "v0.22.2"
145175

146176
[[params.versions]]
147177
version = "v1.14"
148178
url = "https://v1-14-x.sdk.operatorframework.io"
179+
kube_version = "1.21"
180+
client_go_version = "v0.22.2"
149181

150182
[[params.versions]]
151183
version = "v1.13"
152184
url = "https://v1-13-x.sdk.operatorframework.io"
185+
kube_version = "1.21"
186+
client_go_version = "v0.22.1"
153187

154188
[[params.versions]]
155189
version = "v1.12"
156190
url = "https://v1-12-x.sdk.operatorframework.io"
191+
kube_version = "1.21"
192+
client_go_version = "v0.21.2"
157193

158194
[[params.versions]]
159195
version = "v1.11"
160196
url = "https://v1-11-x.sdk.operatorframework.io"
197+
kube_version = "1.20.2"
198+
client_go_version = "v0.21.2"
161199

162200
[[params.versions]]
163201
version = "v1.10"
164202
url = "https://v1-10-x.sdk.operatorframework.io"
203+
kube_version = "1.20.2"
204+
client_go_version = "v0.21.2"
165205

166206
[[params.versions]]
167207
version = "v1.9"
168208
url = "https://v1-9-x.sdk.operatorframework.io"
209+
kube_version = "1.20.2"
210+
client_go_version = "v0.20.2"
169211

170212
[[params.versions]]
171213
version = "v1.8"
172214
url = "https://v1-8-x.sdk.operatorframework.io"
215+
kube_version = "1.20.2"
216+
client_go_version = "v0.20.2"
173217

174218
[[params.versions]]
175219
version = "v1.7"
176220
url = "https://v1-7-x.sdk.operatorframework.io"
221+
kube_version = "1.19.4"
222+
client_go_version = "v0.20.2"
177223

178224
[[params.versions]]
179225
version = "v1.6"
180226
url = "https://v1-6-x.sdk.operatorframework.io"
227+
kube_version = "1.19.4"
228+
client_go_version = "v0.20.2"
181229

182230
[[params.versions]]
183231
version = "v1.5"
184232
url = "https://v1-5-x.sdk.operatorframework.io"
233+
kube_version = "1.19.4"
234+
client_go_version = "v0.20.2"
185235

186236
[[params.versions]]
187237
version = "v1.4"
188238
url = "https://v1-4-x.sdk.operatorframework.io"
239+
kube_version = "1.19.4"
240+
client_go_version = "v0.20.1"
189241

190242
[[params.versions]]
191243
version = "v1.3"
192244
url = "https://v1-3-x.sdk.operatorframework.io"
245+
kube_version = "1.19.4"
246+
client_go_version = "v0.19.4"
193247

194248
[[params.versions]]
195249
version = "v1.2"
196250
url = "https://v1-2-x.sdk.operatorframework.io"
251+
kube_version = "1.18.8"
252+
client_go_version = "v0.18.8"
197253

198254
[[params.versions]]
199255
version = "v1.1"
200256
url = "https://v1-1-x.sdk.operatorframework.io"
257+
kube_version = "1.18.2"
258+
client_go_version = "v0.18.8"
201259

202260
[[params.versions]]
203261
version = "v1.0"
204262
url = "https://v1-0-x.sdk.operatorframework.io"
263+
kube_version = "1.18.2"
264+
client_go_version = "v0.18.6"
205265

206266
[[params.versions]]
207267
version = "v0.19"
208268
url = "https://v0-19-x.sdk.operatorframework.io"
269+
kube_version = "1.18.2"
270+
client_go_version = "v12.0.0+incompatible"
209271

210272
[[params.versions]]
211273
version = "v0.18"
212274
url = "https://v0-18-x.sdk.operatorframework.io"
275+
kube_version = "1.18.2"
276+
client_go_version = "v12.0.0+incompatible"
213277

214278
[[params.versions]]
215279
version = "v0.17"
216280
url = "https://github.com/operator-framework/operator-sdk/tree/v0.17.x/doc"
217-
281+
kube_version = "1.17.2"
282+
client_go_version = "v12.0.0+incompatible"
218283

219284
# User interface configuration
220285
[params.ui]

Diff for: website/content/en/docs/overview/_index.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ binary or project type to look up a Y-axis version to plug into the compatibilit
6969

7070
By binary:
7171

72-
| Binary | Lookup strategy |
73-
|-------------------------|-------------------------------|
74-
| `operator-sdk` | `$ operator-sdk version` |
75-
| `ansible-operator` | `$ ansible-operator version` |
76-
| `helm-operator` | `$ helm-operator version` |
72+
| Binary | Lookup strategy | Kubernetes version | `client-go` version |
73+
|-------------------------|-------------------------------|-----------------------|----------------------------|
74+
| `operator-sdk` | `$ operator-sdk version` | {{% kube-version %}} | {{% client-go-version %}} |
75+
| `ansible-operator` | `$ ansible-operator version` | {{% kube-version %}} | {{% client-go-version %}} |
76+
| `helm-operator` | `$ helm-operator version` | {{% kube-version %}} | {{% client-go-version %}} |
7777

7878
By project type (replace `${IMAGE_VERSION}` with base image version in your project `Dockerfile`):
7979

Diff for: website/layouts/shortcodes/client-go-version.html

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{{- $siteURL := .Page.Site.BaseURL -}}
2+
{{- $done := false -}}
3+
{{- range .Page.Site.Params.versions -}}
4+
{{- $verUrl := printf "%s/" .url -}}
5+
{{- if eq $verUrl $siteURL -}}
6+
{{- $done = true -}}
7+
<code>{{- .client_go_version -}}</code>
8+
{{- end -}}
9+
{{- end -}}
10+
{{- if eq $done false -}}
11+
{{- range where .Page.Site.Params.versions "version" "Latest Release" -}}
12+
<code>{{- .client_go_version -}}</code>
13+
{{- end -}}
14+
{{- end -}}

Diff for: website/layouts/shortcodes/kube-version.html

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{{- $siteURL := .Page.Site.BaseURL -}}
2+
{{- $done := false -}}
3+
{{- range .Page.Site.Params.versions -}}
4+
{{- $verUrl := printf "%s/" .url -}}
5+
{{- if eq $verUrl $siteURL -}}
6+
{{- $done = true -}}
7+
<code>{{- .kube_version -}}</code>
8+
{{- end -}}
9+
{{- end -}}
10+
{{- if eq $done false -}}
11+
{{- range where .Page.Site.Params.versions "version" "Latest Release" -}}
12+
<code>{{- .kube_version -}}</code>
13+
{{- end -}}
14+
{{- end -}}

Diff for: website/scripts/update_branch_mappings.sh

+4-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@ if grep -C 1 "\[\[params\.versions\]\]" website/config.toml | grep -q "version =
1515
exit 0
1616
fi
1717

18+
KUBE_VERSION="$(cat Makefile | grep "export K8S_VERSION" | awk -F= '{ gsub(/ /,""); print $2 }')"
19+
CLIENT_GO_VERSION="$(cat go.mod | grep "k8s.io/client-go" | awk -F" " '{ print $2 }')"
20+
1821
MARKER="##RELEASE_ADDME##"
19-
PARAMS_VERSION="[[params.versions]]\\n version = \"${VERSION_PATCHLESS}\"\\n url = \"https://${VERSION_X_DOMAIN}.sdk.operatorframework.io\""
22+
PARAMS_VERSION="[[params.versions]]\\n version = \"${VERSION_PATCHLESS}\"\\n url = \"https://${VERSION_X_DOMAIN}.sdk.operatorframework.io\"\\n kube_version = \"${KUBE_VERSION}\"\\n client_go_version = \"${CLIENT_GO_VERSION}\""
2023

2124
sed -i -E $'s@'${MARKER}'@'"${MARKER}\\n\\n${PARAMS_VERSION}"'@g' "$CONFIG_PATH"
2225

Diff for: website/scripts/update_latest_release_compat.sh

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
3+
# This script updates the latest release version's `kube_version` and `client_go_version`
4+
# variable to be up to date. This change should be committed in the prerelease commit.
5+
6+
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
7+
CONFIG_PATH="${DIR}/../config.toml"
8+
9+
KUBE_VERSION="$(cat Makefile | grep "export K8S_VERSION" | awk -F= '{ gsub(/ /,""); print $2 }')"
10+
CLIENT_GO_VERSION="$(cat go.mod | grep "k8s.io/client-go" | awk -F" " '{ print $2 }')"
11+
12+
KUBE_MARKER="##LATEST_RELEASE_KUBE_VERSION##"
13+
CLIENT_GO_MARKER="##LATEST_RELEASE_CLIENT_GO_VERSION##"
14+
15+
perl -0777 -pi -e $'s@'"${KUBE_MARKER}\\n kube_version = ".+'@'"${KUBE_MARKER}\\n kube_version = \"${KUBE_VERSION}\""'@g' ${CONFIG_PATH}
16+
perl -0777 -pi -e $'s@'"${CLIENT_GO_MARKER}\\n client_go_version = ".+'@'"${CLIENT_GO_MARKER}\\n client_go_version = \"${CLIENT_GO_VERSION}\""'@g' ${CONFIG_PATH}

0 commit comments

Comments
 (0)