Skip to content

Commit df03ecc

Browse files
author
cloud-team-rebase-bot
committed
merge upstream/v1.8.4 into master
2 parents c364116 + 3cce0d9 commit df03ecc

File tree

27,722 files changed

+32770
-8381848
lines changed

Some content is hidden

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

27,722 files changed

+32770
-8381848
lines changed

.ci-operator.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.

.dockerignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ Makefile
2222
# We need the following yaml files while building clusterctl in the container
2323
!cmd/clusterctl/config/manifest/clusterctl-api.yaml
2424
!cmd/clusterctl/client/cluster/assets/cert-manager-test-resources.yaml
25-
!openshift/manifests/*.yaml
2625

2726
# ignores changes to test-only code to avoid extra rebuilds
2827
test/e2e/**

.github/ISSUE_TEMPLATE/kubernetes_bump.md

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,20 @@ This issue is tracking the tasks that should be implemented **after** the Kubern
1111

1212
## Tasks
1313

14-
Prerequisites:
15-
* [ ] Decide which Cluster API release series will support the new Kubernetes version
16-
* If feasible we usually cherry-pick the changes back to the latest release series.
14+
**Note:** If feasible we usually cherry-pick the changes back to the latest release series.
1715

1816
### Supporting managing and running on the new Kubernetes version
1917

2018
This section contains tasks to update our book, e2e testing and CI to use and test the new Kubernetes version
2119
as well as changes to Cluster API that we might have to make to support the new Kubernetes version. All of these
2220
changes should be cherry-picked to all release series that will support the new Kubernetes version.
2321

24-
* [ ] Modify quickstart and CAPD to use the new Kubernetes release:
25-
* Bump the Kubernetes version in:
26-
* `test/*`: search for occurrences of the previous Kubernetes version
27-
* `Tiltfile`
28-
* Ensure the latest available kind version is used (including the latest images for this kind release)
29-
* Add new images in the [kind mapper.go](https://github.com/kubernetes-sigs/cluster-api/blob/0f47a19e038ee6b0d3b1e7675a62cdaf84face8c/test/infrastructure/kind/mapper.go#L79).
30-
* See the [kind releases page](https://github.com/kubernetes-sigs/kind/releases) for the list of released images.
31-
* Set new default image for the [test framework](https://github.com/kubernetes-sigs/cluster-api/blob/0f47a19e038ee6b0d3b1e7675a62cdaf84face8c/test/framework/bootstrap/kind_provider.go#L40)
32-
* 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)
33-
* Prior art: #10094
34-
* Verify the quickstart manually
35-
* Bump `InitWithKubernetesVersion` and `WorkloadKubernetesVersion` in `clusterctl_upgrade_test.go`
36-
* Note: Only bump for Cluster API versions that will support the new Kubernetes release.
37-
* Prior art: #9160
22+
* [ ] Continuously modify CAPD to use early versions of the upcoming Kubernetes release (betas and rcs):
23+
* Bump the Kubernetes version in `test/*` except for `test/infrastructure/kind/*`.
24+
* Prior art: #10384
25+
* [ ] Modify CAPD to use the new Kubernetes release after it is GA:
26+
* Bump the Kubernetes version in `test/*` except for `test/infrastructure/kind/*`.
27+
* Prior art: #10454
3828
* [ ] Ensure the jobs are adjusted to provide test coverage according to our [support policy](https://cluster-api.sigs.k8s.io/reference/versions.html#supported-kubernetes-versions):
3929

4030
* At the `.versions` section in the `cluster-api-prowjob-gen.yaml` file in [test-infra](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/cluster-api/):
@@ -55,13 +45,36 @@ changes should be cherry-picked to all release series that will support the new
5545
TEST_INFRA_DIR=../../k8s.io/test-infra make generate-test-infra-prowjobs
5646
```
5747

48+
* Prior art: #32456
49+
5850
* [ ] Update book:
5951
* Update supported versions in `versions.md`
60-
* Prior art: #9161
52+
* Prior art: #10454
53+
6154
* [ ] Issues specific to the Kubernetes minor release:
6255
* Sometimes there are adjustments that we have to make in Cluster API to be able to support
6356
a new Kubernetes minor version. Please add these issues here when they are identified.
6457

58+
### Bump quickstart and kind image references in CAPD
59+
60+
Prerequisites:
61+
62+
* The target Kubernetes version is GA
63+
* There is a new [kind version with/or a new set of kind images](https://github.com/kubernetes-sigs/kind/releases) for the target Kubernetes version
64+
65+
* [ ] Bump quickstart and kind image references in CAPD:
66+
* Bump the Kubernetes version in:
67+
* `docs/*`
68+
* `Tiltfile`
69+
* Bump kind image references in CAPD (and also kind if necessary, including the latest images for this kind release)
70+
* Add new images in the [kind mapper.go](https://github.com/kubernetes-sigs/cluster-api/blob/0f47a19e038ee6b0d3b1e7675a62cdaf84face8c/test/infrastructure/kind/mapper.go#L79).
71+
* See the [kind releases page](https://github.com/kubernetes-sigs/kind/releases) for the list of released images.
72+
* Set new default image for the [test framework](https://github.com/kubernetes-sigs/cluster-api/blob/0f47a19e038ee6b0d3b1e7675a62cdaf84face8c/test/framework/bootstrap/kind_provider.go#L40)
73+
* 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)
74+
* Verify the quickstart manually
75+
* Prior art: #10610
76+
* [ ] Cherry-pick above PR to the latest release branch.
77+
6578
### Using new Kubernetes dependencies
6679

6780
This section contains tasks to update Cluster API to use the latest Kubernetes Go dependencies and related topics
@@ -72,17 +85,19 @@ run the Cluster API controllers on the new Kubernetes version.
7285
* [ ] Ensure there is a new controller-runtime minor release which uses the new Kubernetes Go dependencies.
7386
* [ ] Update our Prow jobs for the `main` branch to use the correct `kubekins-e2e` image via the configuration file and by running `make generate-test-infra-prowjobs`.
7487
* It is recommended to have one PR for presubmit and one for periodic jobs to reduce the risk of breaking the periodic jobs.
75-
* Prior art: presubmit jobs: https://github.com/kubernetes/test-infra/pull/27311
76-
* Prior art: periodic jobs: https://github.com/kubernetes/test-infra/pull/27326
88+
* Prior art: https://github.com/kubernetes/test-infra/pull/32380
7789
* [ ] Bump the Go version in Cluster API: (if Kubernetes is using a new Go minor version)
7890
* Search for the currently used Go version across the repository and update it
7991
* We have to at least modify it in: `hack/ensure-go.sh`, `.golangci.yml`, `cloudbuild*.yaml`, `go.mod`, `Makefile`, `netlify.toml`, `Tiltfile`
80-
* Prior art: #7135
92+
* Prior art: #10452
8193
* [ ] Bump controller-runtime
8294
* [ ] Bump controller-tools
8395
* [ ] Bump the Kubernetes version used in integration tests via `KUBEBUILDER_ENVTEST_KUBERNETES_VERSION` in `Makefile`
8496
* **Note**: This PR should be cherry-picked as well. It is part of this section as it depends on kubebuilder/controller-runtime
8597
releases and is not strictly necessary for [Supporting managing and running on the new Kubernetes version](#supporting-managing-and-running-on-the-new-kubernetes-version).
98+
* Prior art to release envtest binaries: https://github.com/kubernetes-sigs/kubebuilder/pull/3864
8699
* Prior art: #7193
87100
* [ ] Bump conversion-gen via `CONVERSION_GEN_VER` in `Makefile`
88101
* Prior art: #7118
102+
103+
After release of CAPI v1.X.x (that supports Kubernetes v1.Y):

.github/ISSUE_TEMPLATE/release_tracking.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,7 @@ Continuously:
8181
If and when necessary:
8282
* [ ] [Release Lead] [Track] [Bump the Cluster API apiVersion](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-bump-the-cluster-api-apiversion)
8383
* [ ] [Release Lead] [Track] [Bump the Kubernetes version](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-bump-the-kubernetes-version)
84-
* [ ] [Release Lead] [Track Release and Improvement tasks](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-release-and-improvement-tasks)
84+
* [ ] [Release Lead] [Track Release and Improvement tasks](https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/release/release-tasks.md#optional-track-release-and-improvement-tasks)
85+
86+
/priority critical-urgent
87+
/kind feature

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<!-- Thanks for sending a pull request! Here are some tips for you:
2+
1. If this is your first time, please read our contributor guidelines: https://github.com/kubernetes-sigs/cluster-api/blob/main/CONTRIBUTING.md#contributing-a-patch and developer guide https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/book/src/developer/guide.md
3+
4+
2. Please add an icon to the title of this PR (see https://sigs.k8s.io/cluster-api/CONTRIBUTING.md#contributing-a-patch), and delete this line and similar ones
5+
the icon will be either ⚠️ (:warning:, major or breaking changes), ✨ (:sparkles:, feature additions), 🐛 (:bug:, patch and bugfixes), 📖 (:book:, documentation or proposals), or 🌱 (:seedling:, minor or other)
6+
-->
7+
8+
**What this PR does / why we need it**:
9+
10+
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
11+
Fixes #
12+
13+
<!--
14+
Please label this pull request according to what area(s) you are addressing. For reference on PR/issue labels, see: https://github.com/kubernetes-sigs/cluster-api/labels?q=area+
15+
16+
Area example:
17+
/area runtime-sdk
18+
-->

.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"
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: PR dependabot code generation and go modules fix
2+
3+
# This action runs on other PRs opened by dependabot. It updates modules and generated code on PRs opened by dependabot.
4+
on:
5+
pull_request:
6+
branches:
7+
- dependabot/**
8+
push:
9+
branches:
10+
- dependabot/**
11+
workflow_dispatch:
12+
13+
permissions:
14+
contents: write # Allow to update the PR.
15+
16+
jobs:
17+
build:
18+
name: Build
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Check out code into the Go module directory
22+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
23+
- name: Calculate go version
24+
id: vars
25+
run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT
26+
- name: Set up Go
27+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
28+
with:
29+
go-version: ${{ steps.vars.outputs.go_version }}
30+
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # tag=v4.0.2
31+
name: Restore go cache
32+
with:
33+
path: |
34+
~/.cache/go-build
35+
~/go/pkg/mod
36+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
37+
restore-keys: |
38+
${{ runner.os }}-go-
39+
- name: Update all modules
40+
run: make generate-modules
41+
- name: Update generated code
42+
run: make generate
43+
- uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # tag=v9.1.4
44+
name: Commit changes
45+
with:
46+
author_name: dependabot[bot]
47+
author_email: 49699333+dependabot[bot]@users.noreply.github.com
48+
default_author: github_actor
49+
message: 'Update generated code'

.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
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: PR golangci-lint
2+
3+
on:
4+
pull_request:
5+
types: [opened, edited, synchronize, reopened]
6+
7+
# Remove all permissions from GITHUB_TOKEN except metadata.
8+
permissions: {}
9+
10+
jobs:
11+
golangci:
12+
name: lint
13+
runs-on: ubuntu-latest
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
working-directory:
18+
- ""
19+
- test
20+
- hack/tools
21+
steps:
22+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
23+
- name: Calculate go version
24+
id: vars
25+
run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT
26+
- name: Set up Go
27+
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
28+
with:
29+
go-version: ${{ steps.vars.outputs.go_version }}
30+
- name: golangci-lint
31+
uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # tag=v6.0.1
32+
with:
33+
version: v1.59.0
34+
args: --out-format=colored-line-number
35+
working-directory: ${{matrix.working-directory}}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
name: Broken Links
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # tag=v4.1.2
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'
2121
config-file: .markdownlinkcheck.json
2222
check-modified-files-only: 'yes'
23-
base-branch: release-1.7
23+
base-branch: release-1.8

0 commit comments

Comments
 (0)