Skip to content

Commit 0210eba

Browse files
committed
merge upstream/v1.6.0 into master
2 parents 392eeac + 14efefe commit 0210eba

File tree

17,374 files changed

+34146
-5517918
lines changed

Some content is hidden

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

17,374 files changed

+34146
-5517918
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: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,33 @@ changes should be cherry-picked to all release series that will support the new
2626
* `test/*`: search for occurrences of the previous Kubernetes version
2727
* `Tiltfile`
2828
* 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/48ae58e51f9723ab7b9635d0e05ee54c4843707a/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/48ae58e51f9723ab7b9635d0e05ee54c4843707a/test/framework/bootstrap/kind_provider.go#L40)
2932
* Verify the quickstart manually
30-
* Prior art: #7156
31-
* bump `InitWithKubernetesVersion` and `WorkloadKubernetesVersion` in `clusterctl_upgrade_test.go`
33+
* Bump `InitWithKubernetesVersion` and `WorkloadKubernetesVersion` in `clusterctl_upgrade_test.go`
34+
* Note: Only bump for Cluster API versions that will support the new Kubernetes release.
35+
* Prior art: #9160
3236
* [ ] 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):
33-
* For the main branch and the release branch of the latest supported Cluster API minor release:
34-
* Add new periodic upgrade job.
35-
* Adjust presubmit jobs so that we have the latest upgrade jobs available on PRs.
3637
* For the main branch:
37-
* periodics & presubmits:
38-
* Bump `KUBEBUILDER_ENVTEST_KUBERNETES_VERSION` of the `test-mink8s` jobs to the new minimum supported management cluster version.
3938
* periodics:
40-
* Bump `KUBERNETES_VERSION_MANAGEMENT` of the `e2e-mink8s` job to the new minimum supported management cluster version.
4139
* Drop the oldest upgrade job as the oldest Kubernetes minor version is now out of support.
42-
* Prior art: https://github.com/kubernetes/test-infra/pull/27421
40+
* Add new upgrade job which upgrades from the previous to the new Kubernetes version.
41+
* periodics & presubmits:
42+
* Bump `KUBERNETES_VERSION_MANAGEMENT` of the `e2e-mink8s` job to the new minimum supported management cluster version.
43+
* Bump `KUBEBUILDER_ENVTEST_KUBERNETES_VERSION` of the `test-mink8s` jobs to the new minimum supported management cluster version.
44+
* Adjust the `-latest` upgrade job to upgrade from the new Kubernetes to the next Kubernetes version.
45+
* For the release branch of the latest supported Cluster API minor release:
46+
* periodics & presubmits:
47+
* Adust the `-latest` upgrade jobs to upgrade to the new Kubernetes version instead of latest.
48+
* Note: Also check if `ETCD_VERSION_UPGRADE_TO` or `COREDNS_VERSION_UPGRADE_TO` needs to change for the upgrades jobs to the new or next Kubernetes version.
49+
* For etcd, see the `DefaultEtcdVersion` kubeadm constant: [e.g. for v1.28.0](https://github.com/kubernetes/kubernetes/blob/v1.28.0/cmd/kubeadm/app/constants/constants.go#L308)
50+
* For coredns, see the `CoreDNSVersion` kubeadm constant:[e.g. for v1.28.0](https://github.com/kubernetes/kubernetes/blob/v1.28.0/cmd/kubeadm/app/constants/constants.go#L344)
51+
* Prior art: https://github.com/kubernetes/test-infra/pull/30347 https://github.com/kubernetes/test-infra/pull/30406 https://github.com/kubernetes/test-infra/pull/30407
4352
* [ ] Update book:
4453
* Update supported versions in `versions.md`
4554
* Update job documentation in `jobs.md`
46-
* Prior art: #7194 #7196
55+
* Prior art: #9161
4756
* [ ] Issues specific to the Kubernetes minor release:
4857
* Sometimes there are adjustments that we have to make in Cluster API to be able to support
4958
a new Kubernetes minor version. Please add these issues here when they are identified.

.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: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Please see the documentation for all configuration options:
2+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
3+
version: 2
4+
updates:
5+
# GitHub Actions
6+
- package-ecosystem: "github-actions"
7+
directory: "/"
8+
schedule:
9+
interval: "weekly"
10+
commit-message:
11+
prefix: ":seedling:"
12+
labels:
13+
- "area/ci"
14+
- "ok-to-test"
15+
16+
# Main Go module
17+
- package-ecosystem: "gomod"
18+
directory: "/"
19+
schedule:
20+
interval: "weekly"
21+
day: "monday"
22+
## group all dependencies with a k8s.io prefix into a single PR.
23+
groups:
24+
kubernetes:
25+
patterns: [ "k8s.io/*" ]
26+
ignore:
27+
# Ignore controller-runtime as its upgraded manually.
28+
- dependency-name: "sigs.k8s.io/controller-runtime"
29+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
30+
# Ignore k8s and its transitives modules as they are upgraded manually together with controller-runtime.
31+
- dependency-name: "k8s.io/*"
32+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
33+
- dependency-name: "go.etcd.io/*"
34+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
35+
- dependency-name: "google.golang.org/grpc"
36+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
37+
# Bumping the kustomize API independently can break compatibility with client-go as they share k8s.io/kube-openapi as a dependency.
38+
- dependency-name: "sigs.k8s.io/kustomize/api"
39+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
40+
commit-message:
41+
prefix: ":seedling:"
42+
labels:
43+
- "area/dependency"
44+
- "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/dependabot.yml

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

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

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

.github/workflows/lint-docs-weekly.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.
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@b4ffde65f46336ab88eb53be808477a3936bae11 # tag=v4.1.1
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@93397bea11091df50f3d7e59dc26a7711a8bcfbe # tag=v4.1.0
28+
with:
29+
go-version: ${{ steps.vars.outputs.go_version }}
30+
- uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 # tag=v3.3.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@1bad3abcf0d6ec49a5857d124b0bfb52dc7bb081 # tag=v9.1.3
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'
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: PR approve GH Workflows
2+
3+
on:
4+
pull_request_target:
5+
types:
6+
- edited
7+
- labeled
8+
- reopened
9+
- synchronize
10+
11+
jobs:
12+
approve:
13+
name: Approve ok-to-test
14+
if: contains(github.event.pull_request.labels.*.name, 'ok-to-test')
15+
runs-on: ubuntu-latest
16+
permissions:
17+
actions: write
18+
steps:
19+
- name: Update PR
20+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
21+
continue-on-error: true
22+
with:
23+
github-token: ${{ secrets.GITHUB_TOKEN }}
24+
script: |
25+
const result = await github.rest.actions.listWorkflowRunsForRepo({
26+
owner: context.repo.owner,
27+
repo: context.repo.repo,
28+
event: "pull_request",
29+
status: "action_required",
30+
head_sha: context.payload.pull_request.head.sha,
31+
per_page: 100
32+
});
33+
34+
for (var run of result.data.workflow_runs) {
35+
await github.rest.actions.approveWorkflowRun({
36+
owner: context.repo.owner,
37+
repo: context.repo.repo,
38+
run_id: run.id
39+
});
40+
}

0 commit comments

Comments
 (0)