Skip to content

Commit 3ad8d1b

Browse files
authored
Merge branch 'main' into issue-10544
2 parents e08a75e + 5a04c4d commit 3ad8d1b

File tree

417 files changed

+24193
-5664
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

417 files changed

+24193
-5664
lines changed

.github/ISSUE_TEMPLATE/kubernetes_bump.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ Prerequisites:
7272
* Set new default image for the [test framework](https://github.com/kubernetes-sigs/cluster-api/blob/0f47a19e038ee6b0d3b1e7675a62cdaf84face8c/test/framework/bootstrap/kind_provider.go#L40)
7373
* If code changes are required for CAPD to incorporate the new Kind version, update [kind latestMode](https://github.com/kubernetes-sigs/cluster-api/blob/0f47a19e038ee6b0d3b1e7675a62cdaf84face8c/test/infrastructure/kind/mapper.go#L66)
7474
* Verify the quickstart manually
75-
* Prior art: TODO (previously #9160 and #10094)
75+
* Prior art: #10610
76+
* [ ] Cherry-pick above PR to the latest release branch.
7677

7778
### Using new Kubernetes dependencies
7879

.github/dependabot.yaml

Lines changed: 19 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,48 @@ updates:
77
directory: "/"
88
schedule:
99
interval: "weekly"
10+
groups:
11+
all-github-actions:
12+
patterns: [ "*" ]
1013
commit-message:
1114
prefix: ":seedling:"
1215
labels:
1316
- "area/ci"
1417
- "ok-to-test"
1518

16-
# Main Go module
19+
# Go modules
1720
- package-ecosystem: "gomod"
18-
directory: "/"
21+
directories:
22+
- "/"
23+
- "/test"
24+
- "/hack/tools"
1925
schedule:
2026
interval: "weekly"
2127
day: "monday"
2228
## group all dependencies with a k8s.io prefix into a single PR.
2329
groups:
24-
kubernetes:
25-
patterns: [ "k8s.io/*" ]
30+
all-go-mod-patch-and-minor:
31+
patterns: [ "*" ]
32+
update-types: [ "patch", "minor" ]
2633
ignore:
2734
# Ignore controller-runtime as its upgraded manually.
2835
- dependency-name: "sigs.k8s.io/controller-runtime"
2936
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
3037
# Ignore k8s and its transitives modules as they are upgraded manually together with controller-runtime.
3138
- dependency-name: "k8s.io/*"
3239
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
40+
- dependency-name: "github.com/prometheus/*"
41+
update-types: [ "version-update:semver-major", "version-update:semver-minor"]
3342
- dependency-name: "go.etcd.io/*"
3443
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
3544
- dependency-name: "google.golang.org/grpc"
3645
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
46+
# Note: We have to keep this 100% in sync with k8s.io, so we get exactly the behavior
47+
# that the k8s.io CEL code expects.
48+
- dependency-name: "github.com/google/cel-go"
49+
# Ignore kind as its upgraded manually.
50+
- dependency-name: "sigs.k8s.io/kind"
51+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
3752
# Bumping the kustomize API independently can break compatibility with client-go as they share k8s.io/kube-openapi as a dependency.
3853
- dependency-name: "sigs.k8s.io/kustomize/api"
3954
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
@@ -42,63 +57,3 @@ updates:
4257
labels:
4358
- "area/dependency"
4459
- "ok-to-test"
45-
46-
# Test Go module
47-
- package-ecosystem: "gomod"
48-
directory: "/test"
49-
schedule:
50-
interval: "weekly"
51-
day: "tuesday"
52-
## group all dependencies with a k8s.io prefix into a single PR.
53-
groups:
54-
kubernetes:
55-
patterns: [ "k8s.io/*" ]
56-
ignore:
57-
# Ignore controller-runtime as its upgraded manually.
58-
- dependency-name: "sigs.k8s.io/controller-runtime"
59-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
60-
# Ignore k8s and its transitives modules as they are upgraded manually together with controller-runtime.
61-
- dependency-name: "k8s.io/*"
62-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
63-
- dependency-name: "go.etcd.io/*"
64-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
65-
- dependency-name: "google.golang.org/grpc"
66-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
67-
# Bumping the kustomize API independently can break compatibility with client-go as they share k8s.io/kube-openapi as a dependency.
68-
- dependency-name: "sigs.k8s.io/kustomize/api"
69-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
70-
commit-message:
71-
prefix: ":seedling:"
72-
labels:
73-
- "area/dependency"
74-
- "ok-to-test"
75-
76-
# Hack/tools Go module
77-
- package-ecosystem: "gomod"
78-
directory: "/hack/tools"
79-
schedule:
80-
interval: "weekly"
81-
day: "wednesday"
82-
## group all dependencies with a k8s.io prefix into a single PR.
83-
groups:
84-
kubernetes:
85-
patterns: [ "k8s.io/*" ]
86-
ignore:
87-
# Ignore controller-runtime as its upgraded manually.
88-
- dependency-name: "sigs.k8s.io/controller-runtime"
89-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
90-
# Ignore k8s and its transitives modules as they are upgraded manually together with controller-runtime.
91-
- dependency-name: "k8s.io/*"
92-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
93-
- dependency-name: "go.etcd.io/*"
94-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
95-
- dependency-name: "google.golang.org/grpc"
96-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
97-
# Bumping the kustomize API independently can break compatibility with client-go as they share k8s.io/kube-openapi as a dependency.
98-
- dependency-name: "sigs.k8s.io/kustomize/api"
99-
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
100-
commit-message:
101-
prefix: ":seedling:"
102-
labels:
103-
- "area/dependency"
104-
- "ok-to-test"

.github/workflows/pr-dependabot.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ jobs:
1919
runs-on: ubuntu-latest
2020
steps:
2121
- name: Check out code into the Go module directory
22-
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
22+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
2323
- name: Calculate go version
2424
id: vars
2525
run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT
2626
- name: Set up Go
27-
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # tag=v5.0.0
27+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
2828
with:
2929
go-version: ${{ steps.vars.outputs.go_version }}
3030
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # tag=v4.0.2

.github/workflows/pr-gh-workflow-approve.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ on:
88
- reopened
99
- synchronize
1010

11+
permissions: {}
12+
1113
jobs:
1214
approve:
1315
name: Approve ok-to-test

.github/workflows/pr-golangci-lint.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@ jobs:
1919
- test
2020
- hack/tools
2121
steps:
22-
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
22+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
2323
- name: Calculate go version
2424
id: vars
2525
run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT
2626
- name: Set up Go
27-
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # tag=v5.0.0
27+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
2828
with:
2929
go-version: ${{ steps.vars.outputs.go_version }}
3030
- name: golangci-lint
31-
uses: golangci/golangci-lint-action@9d1e0624a798bb64f6c3cea93db47765312263dc # tag=v5.1.0
31+
uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # tag=v6.0.1
3232
with:
33-
version: v1.57.2
33+
version: v1.59.0
3434
args: --out-format=colored-line-number
3535
working-directory: ${{matrix.working-directory}}

.github/workflows/pr-md-link-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
name: Broken Links
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
17+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
1818
- uses: gaurav-nelson/github-action-markdown-link-check@5c5dfc0ac2e225883c0e5f03a85311ec2830d368 # tag=v1
1919
with:
2020
use-quiet-mode: 'yes'

.github/workflows/release.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ jobs:
1717
release_tag: ${{ steps.release-version.outputs.release_version }}
1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
20+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
2121
with:
2222
fetch-depth: 0
2323
- name: Get changed files
2424
id: changed-files
25-
uses: tj-actions/changed-files@0874344d6ebbaa00a27da73276ae7162fadcaf69 # tag=v44.3.0
25+
uses: tj-actions/changed-files@cc733854b1f224978ef800d29e4709d5ee2883e4 # tag=v44.5.5
2626
- name: Get release version
2727
id: release-version
2828
run: |
@@ -87,14 +87,14 @@ jobs:
8787
env:
8888
RELEASE_TAG: ${{needs.push_release_tags.outputs.release_tag}}
8989
- name: checkout code
90-
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
90+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
9191
with:
9292
fetch-depth: 0
9393
ref: ${{ env.RELEASE_TAG }}
9494
- name: Calculate go version
9595
run: echo "go_version=$(make go-version)" >> $GITHUB_ENV
9696
- name: Set up Go
97-
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # tag=v5.0.0
97+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
9898
with:
9999
go-version: ${{ env.go_version }}
100100
- name: generate release artifacts
@@ -105,7 +105,7 @@ jobs:
105105
curl -L "https://raw.githubusercontent.com/${{ github.repository }}/main/CHANGELOG/${{ env.RELEASE_TAG }}.md" \
106106
-o "${{ env.RELEASE_TAG }}.md"
107107
- name: Release
108-
uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # tag=v2.0.4
108+
uses: softprops/action-gh-release@a74c6b72af54cfa997e81df42d94703d6313a2d0 # tag=v2.0.6
109109
with:
110110
draft: true
111111
files: out/*

.github/workflows/weekly-md-link-check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
branch: [ main, release-1.7, release-1.6 ]
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
20+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
2121
with:
2222
ref: ${{ matrix.branch }}
2323
- uses: gaurav-nelson/github-action-markdown-link-check@5c5dfc0ac2e225883c0e5f03a85311ec2830d368 # tag=v1

.github/workflows/weekly-security-scan.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ jobs:
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Check out code
21-
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
21+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
2222
with:
2323
ref: ${{ matrix.branch }}
2424
- name: Calculate go version
2525
id: vars
2626
run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT
2727
- name: Set up Go
28-
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # tag=v5.0.0
28+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
2929
with:
3030
go-version: ${{ steps.vars.outputs.go_version }}
3131
- name: Run verify security target

.github/workflows/weekly-test-release.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
branch: [ main, release-1.7, release-1.6 ]
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # tag=v4.1.4
23+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
2424
with:
2525
ref: ${{ matrix.branch }}
2626
fetch-depth: 0
@@ -32,7 +32,7 @@ jobs:
3232
- name: Calculate go version
3333
run: echo "go_version=$(make go-version)" >> $GITHUB_ENV
3434
- name: Set up Go
35-
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # tag=v5.0.0
35+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
3636
with:
3737
go-version: ${{ env.go_version }}
3838
- name: Test release

.golangci.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ linters:
1919
- bidichk
2020
- bodyclose
2121
- containedctx
22+
- copyloopvar
2223
- dogsled
2324
- dupword
2425
- durationcheck
2526
- errcheck
2627
- errchkjson
27-
- exportloopref
2828
- gci
2929
- ginkgolinter
3030
- goconst
@@ -38,6 +38,7 @@ linters:
3838
- govet
3939
- importas
4040
- ineffassign
41+
- intrange
4142
- loggercheck
4243
- misspell
4344
- nakedret
@@ -51,6 +52,7 @@ linters:
5152
- rowserrcheck
5253
- staticcheck
5354
- stylecheck
55+
- tenv
5456
- thelper
5557
- typecheck
5658
- unconvert
@@ -232,7 +234,15 @@ issues:
232234
# should be removed as the referenced deprecated item is removed from the project.
233235
- linters:
234236
- staticcheck
235-
text: "SA1019: (bootstrapv1.ClusterStatus|KubeadmConfigSpec.UseExperimentalRetryJoin|scope.Config.Spec.UseExperimentalRetryJoin|DockerMachine.Spec.Bootstrapped|machineStatus.Bootstrapped|c.TopologyPlan) is deprecated"
237+
text: "SA1019: (bootstrapv1.ClusterStatus|KubeadmConfigSpec.UseExperimentalRetryJoin|scope.Config.Spec.UseExperimentalRetryJoin|DockerMachine.Spec.Bootstrapped|machineStatus.Bootstrapped|c.TopologyPlan|clusterv1.ClusterClassVariableMetadata|(variable|currentDefinition|specVar|newVariableDefinition|statusVarDefinition).Metadata) is deprecated"
238+
# Deprecations for MD revision management
239+
- linters:
240+
- staticcheck
241+
text: "SA1019: (deployment|m|md)(.Spec.RevisionHistoryLimit)|clusterv1.RevisionHistoryAnnotation|c.RolloutUndo is deprecated"
242+
# Deprecations for MHC MaxUnhealthy, UnhealthyRange
243+
- linters:
244+
- staticcheck
245+
text: "SA1019: (mhc|m)(.Spec.MaxUnhealthy|.Spec.UnhealthyRange) is deprecated"
236246
# Specific exclude rules for deprecated packages that are still part of the codebase. These
237247
# should be removed as the referenced deprecated packages are removed from the project.
238248
- linters:
@@ -288,6 +298,12 @@ issues:
288298
- stylecheck
289299
path: util/defaulting/defaulting.go
290300
text: should not use dot imports
301+
# Large parts of this file are duplicate from k/k. Let's ignore "emptyStringTest" to reduce the noise in diffs
302+
# and to avoid making mistakes by diverging from upstream just because of this purely stylistic linter finding.
303+
- linters:
304+
- gocritic
305+
text: "emptyStringTest"
306+
path: internal/topology/variables/clusterclass_variable_validation.go
291307
# Append should be able to assign to a different var/slice.
292308
- linters:
293309
- gocritic

.markdownlinkcheck.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"ignorePatterns": [{
33
"pattern": "^http://localhost"
4+
},{
5+
"pattern": "https://azure.microsoft.com/en-us/products/kubernetes-service"
46
}],
57
"httpHeaders": [{
68
"comment": "Workaround as suggested here: https://github.com/tcort/markdown-link-check/issues/201",

CHANGELOG/v1.6.5.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
## 👌 Kubernetes version support
2+
3+
- Management Cluster: v1.25.x -> v1.29.x
4+
- Workload Cluster: v1.23.x -> v1.29.x
5+
6+
[More information about version support can be found here](https://cluster-api.sigs.k8s.io/reference/versions.html)
7+
8+
## Changes since v1.6.4
9+
## :chart_with_upwards_trend: Overview
10+
- 6 new commits merged
11+
- 4 bugs fixed 🐛
12+
13+
## :bug: Bug Fixes
14+
- CAPD: Verify lb config after writing it (#10462)
15+
- clusterctl: Ensure cert-manager objects get applied before other provider objects (#10504)
16+
- e2e: Kubetest: also gather junit reports in case of errors observed from ginkgo (#10495)
17+
- e2e: Test: Ensure ownerRef assertions for all Kinds are evaluated (#10593)
18+
19+
## :seedling: Others
20+
- API: Allow users to specify webhook server cert and key names (#10582)
21+
- clusterctl: Bump cert-manager to 1.14.5 (#10518)
22+
23+
## Dependencies
24+
25+
### Added
26+
_Nothing has changed._
27+
28+
### Changed
29+
_Nothing has changed._
30+
31+
### Removed
32+
_Nothing has changed._
33+
34+
_Thanks to all our contributors!_ 😊

0 commit comments

Comments
 (0)