From 45262e5daa3ddfe0c6cdcb881d2af1d3532e9ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Ma=C3=AEtre?= Date: Sat, 29 Oct 2022 11:20:33 +0200 Subject: [PATCH 01/46] Upgrade Cilium to version 1.12.3 --- pkg/minikube/cni/cilium.go | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/pkg/minikube/cni/cilium.go b/pkg/minikube/cni/cilium.go index 2bd478c978..ddfcb288e4 100644 --- a/pkg/minikube/cni/cilium.go +++ b/pkg/minikube/cni/cilium.go @@ -129,10 +129,10 @@ data: sidecar-istio-proxy-image: "cilium/istio_proxy" # Name of the cluster. Only relevant when building a mesh of clusters. - cluster-name: default + cluster-name: cluster # Unique ID of the cluster. Must be unique across all conneted clusters and # in the range of 1 and 255. Only relevant when building a mesh of clusters. - cluster-id: "" + cluster-id: "1" # Encapsulation mode for communication between nodes # Possible values: @@ -299,6 +299,22 @@ rules: - list - watch - delete + - apiGroups: + - "" + resources: + - nodes + verbs: + - list + - watch +- apiGroups: + - "" + resources: + # To remove node taints + - nodes + # To set NetworkUnavailable false on startup + - nodes/status + verbs: + - patch - apiGroups: - discovery.k8s.io resources: @@ -444,7 +460,7 @@ spec: httpGet: host: '127.0.0.1' path: /healthz - port: 9876 + port: 9879 scheme: HTTP httpHeaders: - name: "brief" @@ -461,7 +477,7 @@ spec: httpGet: host: '127.0.0.1' path: /healthz - port: 9876 + port: 9879 scheme: HTTP httpHeaders: - name: "brief" @@ -508,7 +524,7 @@ spec: key: custom-cni-conf name: cilium-config optional: true - image: "quay.io/cilium/cilium:v1.9.9@sha256:a85d5cff13f8231c2e267d9fc3c6e43d24be4a75dac9f641c11ec46e7f17624d" + image: "quay.io/cilium/cilium:v1.12.3@sha256:30de50c4dc0a1e1077e9e7917a54d5cab253058b3f779822aec00f5c817ca826" imagePullPolicy: IfNotPresent lifecycle: postStart: @@ -570,7 +586,7 @@ spec: # same directory where we install cilium cni plugin so that exec permissions # are available. - 'cp /usr/bin/cilium-mount /hostbin/cilium-mount && nsenter --cgroup=/hostproc/1/ns/cgroup --mount=/hostproc/1/ns/mnt "${BIN_PATH}/cilium-mount" $CGROUP_ROOT; rm /hostbin/cilium-mount' - image: "quay.io/cilium/cilium:v1.9.9@sha256:a85d5cff13f8231c2e267d9fc3c6e43d24be4a75dac9f641c11ec46e7f17624d" + image: "quay.io/cilium/cilium:v1.12.3@sha256:30de50c4dc0a1e1077e9e7917a54d5cab253058b3f779822aec00f5c817ca826" imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /hostproc @@ -600,7 +616,7 @@ spec: key: wait-bpf-mount name: cilium-config optional: true - image: "quay.io/cilium/cilium:v1.9.9@sha256:a85d5cff13f8231c2e267d9fc3c6e43d24be4a75dac9f641c11ec46e7f17624d" + image: "quay.io/cilium/cilium:v1.12.3@sha256:30de50c4dc0a1e1077e9e7917a54d5cab253058b3f779822aec00f5c817ca826" imagePullPolicy: IfNotPresent name: clean-cilium-state securityContext: @@ -762,7 +778,7 @@ spec: key: debug name: cilium-config optional: true - image: "quay.io/cilium/operator-generic:v1.9.9@sha256:3726a965cd960295ca3c5e7f2b543c02096c0912c6652eb8bbb9ce54bcaa99d8" + image: "quay.io/cilium/operator-generic:v1.12.3@sha256:816ec1da586139b595eeb31932c61a7c13b07fb4a0255341c0e0f18608e84eff" imagePullPolicy: IfNotPresent name: cilium-operator livenessProbe: From 79bc6d29687ca74b7f7d1105feb6f94c97bb671f Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 4 Nov 2022 10:31:11 -0700 Subject: [PATCH 02/46] Release v1.28.0 --- CHANGELOG.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 4 ++-- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c7c3fa2b3..b30032fb4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,69 @@ # Release Notes +## Version 1.28.0 - 2022-11-04 + +**SECURITY WARNING:** Log4j CVEs were detected in an image the `efk` addon uses, if you don't use the `efk` addon no action is required. If you use the addon we recommend running `minikube addons disable efk` to terminate the vulnerable pods. +See [#15280[(https://github.com/kubernetes/minikube/issues/15280) for more details. + +Security: +* Prevent enabling `efk` addon due to containing Log4j CVE [#15281](https://github.com/kubernetes/minikube/pull/15281) + +Features: +* Auto select network on QEMU [#15266](https://github.com/kubernetes/minikube/pull/15266) +* Implement mounting on QEMU with socket_vmnet [#15108](https://github.com/kubernetes/minikube/pull/15108) +* Added cloud-spanner emulator addon [#15160](https://github.com/kubernetes/minikube/pull/15160) +* Add `minikube license` command [#15158](https://github.com/kubernetes/minikube/pull/15158) + +Minor Improvements: +* Allow port forwarding on Linux with Docker Desktop [#15126](https://github.com/kubernetes/minikube/pull/15126) +* Add back service to mount VirtualBox host directory into the guest. [#14784](https://github.com/kubernetes/minikube/pull/14784) +* ISO: Add FANOTIFY_ACCESS_PERMISSIONS to kernel configs [#15232](https://github.com/kubernetes/minikube/pull/15232) +* When enabling addon warn if addon has no associated Github username [#15081](https://github.com/kubernetes/minikube/pull/15081) + +Bug Fixes: +* Fix detecting preload cache of size 0 as valid [#15256](https://github.com/kubernetes/minikube/pull/15256) +* Fix always writing to daemon by trimming `docker.io` from image name [#14956](https://github.com/kubernetes/minikube/pull/14956) +* Fix minikube tunnel repeated printout of status [#14933](https://github.com/kubernetes/minikube/pull/14933) + +Version Upgrades: +* Upgrade Portainer addon to 2.15.1 & HTTPS access enabled [#15172](https://github.com/kubernetes/minikube/pull/15172) +* Upgrade Headlamp addon to 0.13.0 [#15186](https://github.com/kubernetes/minikube/pull/15186) +* ISO: Upgrade Docker from 20.10.18 to 20.10.20 [#15159](https://github.com/kubernetes/minikube/pull/15159) +* KIC: Upgrade base image from ubuntu:focal-20220826 to ubuntu:focal-20220922 [#15075](https://github.com/kubernetes/minikube/pull/15075) +* KCI: Upgrade base image from ubuntu:focal-20220922 to ubuntu:focal-20221019 [#15219](https://github.com/kubernetes/minikube/pull/15219) + +For a more detailed changelog, including changes occurring in pre-release versions, see [CHANGELOG.md](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md). + +Thank you to our contributors for this release! + +- Chris Kannon +- Francis Laniel +- Jeff MAURY +- Jevon Tane +- Medya Ghazizadeh +- Nitin Agarwal +- Oldřich Jedlička +- Rahil Patel +- Steven Powell +- Tian +- Yue Yang +- joaquimrocha +- klaases +- shixiuguo + +Thank you to our PR reviewers for this release! + +- spowelljr (25 comments) +- medyagh (14 comments) + +Thank you to our triage members for this release! + +- RA489 (64 comments) +- klaases (39 comments) +- afbjorklund (23 comments) +- spowelljr (22 comments) +- medyagh (4 comments) + ## Version 1.27.1 - 2022-10-07 Features (Experimental): diff --git a/Makefile b/Makefile index ad1302358e..30b04ebc81 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,8 @@ # Bump these on release - and please check ISO_VERSION for correctness. VERSION_MAJOR ?= 1 -VERSION_MINOR ?= 27 -VERSION_BUILD ?= 1 +VERSION_MINOR ?= 28 +VERSION_BUILD ?= 0 RAW_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD) VERSION ?= v$(RAW_VERSION) From 7f346f88e75e9a1f4b90bc550abc31d5e1ebea0e Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 4 Nov 2022 11:56:42 -0700 Subject: [PATCH 03/46] pin cloud-spanner-emulator/emulator image --- pkg/minikube/assets/addons.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index 94f98a9d37..d8194d7d26 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -745,7 +745,7 @@ var Addons = map[string]*Addon{ "cloud-spanner": NewAddon([]*BinAsset{ MustBinAsset(addons.CloudSpanner, "cloud-spanner/deployment.yaml", vmpath.GuestAddonsDir, "deployment.yaml", "6040"), }, false, "cloud-spanner", "Google", "", "https://minikube.sigs.k8s.io/docs/handbook/addons/cloud-spanner/", map[string]string{ - "CloudSpannerAddon": "cloud-spanner-emulator/emulator", + "CloudSpannerAddon": "cloud-spanner-emulator/emulator:1.4.6@sha256:b9341271be665a97f8ef778a752f0f63bea8c8a90bcdf79c03fb6c3444a8478d", }, map[string]string{ "CloudSpannerAddon": "gcr.io", }), From 986b1ebd987211ed16f8cc10aed7d2c42fc8392f Mon Sep 17 00:00:00 2001 From: Steven Powell <44844360+spowelljr@users.noreply.github.com> Date: Fri, 4 Nov 2022 13:15:46 -0700 Subject: [PATCH 04/46] Fix bracket on link --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b30032fb4a..fa8bcee25c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## Version 1.28.0 - 2022-11-04 **SECURITY WARNING:** Log4j CVEs were detected in an image the `efk` addon uses, if you don't use the `efk` addon no action is required. If you use the addon we recommend running `minikube addons disable efk` to terminate the vulnerable pods. -See [#15280[(https://github.com/kubernetes/minikube/issues/15280) for more details. +See [#15280](https://github.com/kubernetes/minikube/issues/15280) for more details. Security: * Prevent enabling `efk` addon due to containing Log4j CVE [#15281](https://github.com/kubernetes/minikube/pull/15281) From ce3ffdc1acb204bd51041c65739167fdc86cfd7f Mon Sep 17 00:00:00 2001 From: minikube-bot Date: Fri, 4 Nov 2022 20:21:37 +0000 Subject: [PATCH 05/46] Update leaderboard --- .../en/docs/contrib/leaderboard/v1.28.0.html | 474 ++++++++++++++++++ 1 file changed, 474 insertions(+) create mode 100644 site/content/en/docs/contrib/leaderboard/v1.28.0.html diff --git a/site/content/en/docs/contrib/leaderboard/v1.28.0.html b/site/content/en/docs/contrib/leaderboard/v1.28.0.html new file mode 100644 index 0000000000..71ef7586fa --- /dev/null +++ b/site/content/en/docs/contrib/leaderboard/v1.28.0.html @@ -0,0 +1,474 @@ +--- +title: "v1.28.0 - 2022-11-04" +linkTitle: "v1.28.0 - 2022-11-04" +weight: -110 +--- + + + kubernetes/minikube - Leaderboard + + + + + + + + +

kubernetes/minikube

+
2022-10-07 — 2022-11-04
+ + +

Reviewers

+ + +
+

Most Influential

+

# of Merged PRs reviewed

+
+ +
+ +
+

Most Helpful

+

# of words written in merged PRs

+
+ +
+ +
+

Most Demanding

+

# of Review Comments in merged PRs

+
+ +
+ + +

Pull Requests

+ + +
+

Most Active

+

# of Pull Requests Merged

+
+ +
+ +
+

Big Movers

+

Lines of code (delta)

+
+ +
+ +
+

Most difficult to review

+

Average PR size (added+changed)

+
+ +
+ + +

Issues

+ + +
+

Most Active

+

# of comments

+
+ +
+ +
+

Most Helpful

+

# of words (excludes authored)

+
+ +
+ +
+

Top Closers

+

# of issues closed (excludes authored)

+
+ +
+ + + + From 2c217e5ac76a9ca0e979eeea8dfc5932f2a2667d Mon Sep 17 00:00:00 2001 From: minikube-bot Date: Fri, 4 Nov 2022 13:54:22 -0700 Subject: [PATCH 06/46] Update releases.json & releases-v2.json to include v1.28.0 --- deploy/minikube/releases-v2.json | 26 ++++++++++++++++++++++++++ deploy/minikube/releases.json | 8 ++++++++ site/content/en/docs/_index.md | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/deploy/minikube/releases-v2.json b/deploy/minikube/releases-v2.json index 02847a3064..4866ee1865 100644 --- a/deploy/minikube/releases-v2.json +++ b/deploy/minikube/releases-v2.json @@ -1,4 +1,30 @@ [ + { + "checksums": { + "amd64": { + "darwin": "667ab2baeae7829392533a9ef733e94ea88c87a8edf38ee088d349077152cc95", + "linux": "58cead5ece9815a61d4be253a07b2385f8cf373d9e1eba5c9783444e4e9e2d8e", + "windows": "65304e5c5c98a688fb0abc2d76d77b3b441f9501d6dfa71d96a0532f4114d34c" + }, + "arm": { + "linux": "802af1d58e5707f2c1e2253f88dadf79bbde25bd803ad726d68ef21eb2b2b75a" + }, + "arm64": { + "darwin": "8dc1b6018ce7ba344394e26dac62a7db477dbfcba63d9cdf55ea8e0c2fc755f4", + "linux": "648d09c00ceee3b53d60ea92796c772abcb42bd9bb7e871fe0b233e39a4675ce" + }, + "ppc64le": { + "linux": "27b4d08b98711ab89306e92085d7dd129339c170483d1c54343a71dfa75b4cc7" + }, + "s390x": { + "linux": "3067c320e521b6ad1642b50eb955305ec7cefca54b53f73713494a857b1431a0" + }, + "darwin": "667ab2baeae7829392533a9ef733e94ea88c87a8edf38ee088d349077152cc95", + "linux": "58cead5ece9815a61d4be253a07b2385f8cf373d9e1eba5c9783444e4e9e2d8e", + "windows": "65304e5c5c98a688fb0abc2d76d77b3b441f9501d6dfa71d96a0532f4114d34c" + }, + "name": "v1.28.0" + }, { "checksums": { "amd64": { diff --git a/deploy/minikube/releases.json b/deploy/minikube/releases.json index 3f381d31f8..85f546fa05 100644 --- a/deploy/minikube/releases.json +++ b/deploy/minikube/releases.json @@ -1,4 +1,12 @@ [ + { + "checksums": { + "darwin": "667ab2baeae7829392533a9ef733e94ea88c87a8edf38ee088d349077152cc95", + "linux": "58cead5ece9815a61d4be253a07b2385f8cf373d9e1eba5c9783444e4e9e2d8e", + "windows": "65304e5c5c98a688fb0abc2d76d77b3b441f9501d6dfa71d96a0532f4114d34c" + }, + "name": "v1.28.0" + }, { "checksums": { "darwin": "aa60ff42b4d60b1a65552a5f527d78f68efa887e1eab0af013996badfbccc3c8", diff --git a/site/content/en/docs/_index.md b/site/content/en/docs/_index.md index 0fd6d5d072..85db4dced5 100644 --- a/site/content/en/docs/_index.md +++ b/site/content/en/docs/_index.md @@ -11,7 +11,7 @@ minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows ![Screenshot](/images/screenshot.png) -🎉 Latest Release: v1.27.1 - Oct 07, 2022 ([changelog](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md)) +🎉 Latest Release: v1.28.0 - Nov 04, 2022 ([changelog](https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md)) ## Highlights From c2089d1ce9b21465a7622c83e75f1166dc51beb0 Mon Sep 17 00:00:00 2001 From: minikube-bot Date: Fri, 4 Nov 2022 21:22:55 +0000 Subject: [PATCH 07/46] add time-to-k8s benchmark for v1.28.0 --- .../en/docs/benchmarks/timeToK8s/v1.28.0.md | 27 ++++++++++++++++++ .../benchmarks/timeToK8s/v1.28.0-cpu.png | Bin 0 -> 28359 bytes .../benchmarks/timeToK8s/v1.28.0-time.png | Bin 0 -> 35809 bytes 3 files changed, 27 insertions(+) create mode 100644 site/content/en/docs/benchmarks/timeToK8s/v1.28.0.md create mode 100644 site/static/images/benchmarks/timeToK8s/v1.28.0-cpu.png create mode 100644 site/static/images/benchmarks/timeToK8s/v1.28.0-time.png diff --git a/site/content/en/docs/benchmarks/timeToK8s/v1.28.0.md b/site/content/en/docs/benchmarks/timeToK8s/v1.28.0.md new file mode 100644 index 0000000000..26c799a35b --- /dev/null +++ b/site/content/en/docs/benchmarks/timeToK8s/v1.28.0.md @@ -0,0 +1,27 @@ +--- +title: "v1.28.0 Benchmark" +linkTitle: "v1.28.0 Benchmark" +weight: -20221104 +--- + +![time-to-k8s](/images/benchmarks/timeToK8s/v1.28.0-time.png) + +| | minikube version: v1.28.0 | kind v0.17.0 go1.19.2 linux/amd64 | k3d version v5.4.6 | +|----------------------|---------------------------|-----------------------------------|--------------------| +| Command Exec | 28.848 | 19.486 | 14.791 | +| API Server Answering | 0.069 | 0.075 | 0.094 | +| Kubernetes SVC | 0.066 | 0.064 | 0.062 | +| DNS SVC | 0.065 | 0.062 | 0.059 | +| App Running | 18.409 | 26.851 | 13.316 | +| DNS Answering | 4.162 | 1.137 | 2.340 | +| Total | 51.619 | 47.676 | 30.663 | + + + +![cpu-to-k8s](/images/benchmarks/timeToK8s/v1.28.0-cpu.png) + +| | minikube version: v1.28.0 | kind v0.17.0 go1.19.2 linux/amd64 | k3d version v5.4.6 | +|--------------------|---------------------------|-----------------------------------|--------------------| +| CPU Utilization(%) | 39.645 | 45.967 | 45.781 | +| CPU Time(seconds) | 20.052 | 21.956 | 14.047 | + diff --git a/site/static/images/benchmarks/timeToK8s/v1.28.0-cpu.png b/site/static/images/benchmarks/timeToK8s/v1.28.0-cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..1245117fc3b79b01642d8052f7deeb2fac655199 GIT binary patch literal 28359 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 z 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 XPxq3}lk0`vAd$o;V8adX=pX+BZ#SLX literal 0 HcmV?d00001 diff --git a/site/static/images/benchmarks/timeToK8s/v1.28.0-time.png b/site/static/images/benchmarks/timeToK8s/v1.28.0-time.png new file mode 100644 index 0000000000000000000000000000000000000000..777cc0b6e8969748ced21de8daba29c364177e01 GIT binary patch literal 35809 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�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 l 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 literal 0 HcmV?d00001 From 6f2971121b90990c092fb1fcf0dfebf904aa6123 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 4 Nov 2022 16:02:50 -0700 Subject: [PATCH 08/46] update time-to-k8s --- hack/benchmark/time-to-k8s/time-to-k8s-repo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hack/benchmark/time-to-k8s/time-to-k8s-repo b/hack/benchmark/time-to-k8s/time-to-k8s-repo index a1f382413b..552fcb3a17 160000 --- a/hack/benchmark/time-to-k8s/time-to-k8s-repo +++ b/hack/benchmark/time-to-k8s/time-to-k8s-repo @@ -1 +1 @@ -Subproject commit a1f382413bb7f572f198167f58fbb3abbf51d38b +Subproject commit 552fcb3a171f6216f233dfdba5dce9aca1efda50 From a8a79322b9bc15824f014ab081bc62f7f5da0531 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 4 Nov 2022 16:20:08 -0700 Subject: [PATCH 09/46] fix setting multiline output --- .github/workflows/docs.yml | 4 +++- .github/workflows/leaderboard.yml | 4 +++- .github/workflows/update-golang-version.yml | 4 +++- .github/workflows/update-golint-version.yml | 4 +++- .github/workflows/update-gopogh-version.yml | 4 +++- .github/workflows/update-gotestsum-version.yml | 4 +++- .github/workflows/update-k8s-versions.yml | 4 +++- .github/workflows/update-kubeadm-constants.yml | 4 +++- .github/workflows/yearly-leaderboard.yml | 4 +++- 9 files changed, 27 insertions(+), 9 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 65d4033799..ddd33cbdfa 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,7 +26,9 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" - echo "changes=$c" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$c" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.gendocs.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/leaderboard.yml b/.github/workflows/leaderboard.yml index edde68e2f4..f540266cd7 100644 --- a/.github/workflows/leaderboard.yml +++ b/.github/workflows/leaderboard.yml @@ -25,7 +25,9 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" - echo "changes=$c" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$c" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }} - name: Create PR diff --git a/.github/workflows/update-golang-version.yml b/.github/workflows/update-golang-version.yml index c485a7e9bb..54597bec67 100644 --- a/.github/workflows/update-golang-version.yml +++ b/.github/workflows/update-golang-version.yml @@ -22,7 +22,9 @@ jobs: id: bumpGolang run: | make update-golang-version - echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.bumpGolang.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/update-golint-version.yml b/.github/workflows/update-golint-version.yml index cd127ad6da..38582e4404 100644 --- a/.github/workflows/update-golint-version.yml +++ b/.github/workflows/update-golint-version.yml @@ -22,7 +22,9 @@ jobs: id: bumpGolint run: | make update-golint-version - echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.bumpGolint.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/update-gopogh-version.yml b/.github/workflows/update-gopogh-version.yml index 56dcb3f2a5..28724e6df2 100644 --- a/.github/workflows/update-gopogh-version.yml +++ b/.github/workflows/update-gopogh-version.yml @@ -22,7 +22,9 @@ jobs: id: bumpGopogh run: | make update-gopogh-version - echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.bumpGopogh.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/update-gotestsum-version.yml b/.github/workflows/update-gotestsum-version.yml index d50133724e..77b692928a 100644 --- a/.github/workflows/update-gotestsum-version.yml +++ b/.github/workflows/update-gotestsum-version.yml @@ -22,7 +22,9 @@ jobs: id: bumpGotestsum run: | make update-gotestsum-version - echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.bumpGotestsum.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/update-k8s-versions.yml b/.github/workflows/update-k8s-versions.yml index a92794154f..fc51619ad5 100644 --- a/.github/workflows/update-k8s-versions.yml +++ b/.github/workflows/update-k8s-versions.yml @@ -27,7 +27,9 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" - echo "changes=$c" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$c" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.bumpk8s.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/update-kubeadm-constants.yml b/.github/workflows/update-kubeadm-constants.yml index 9e597361e1..e5e54427ca 100644 --- a/.github/workflows/update-kubeadm-constants.yml +++ b/.github/workflows/update-kubeadm-constants.yml @@ -25,7 +25,9 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" - echo "changes=$c" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$c" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT - name: Create PR if: ${{ steps.bumpKubeadmConsts.outputs.changes != '' }} uses: peter-evans/create-pull-request@b4d51739f96fca8047ad065eccef63442d8e99f7 diff --git a/.github/workflows/yearly-leaderboard.yml b/.github/workflows/yearly-leaderboard.yml index 5c4b0581cf..857709eb2d 100644 --- a/.github/workflows/yearly-leaderboard.yml +++ b/.github/workflows/yearly-leaderboard.yml @@ -27,7 +27,9 @@ jobs: id: yearlyLeaderboard run: | make update-yearly-leaderboard - echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "changes<> $GITHUB_OUTPUT + echo "$(git status --porcelain)" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT env: GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }} - name: Create PR From 74b9a47121af4d51a4800005ad64482d2b8ac7e1 Mon Sep 17 00:00:00 2001 From: Carlos Santana Date: Sat, 5 Nov 2022 12:09:07 -0400 Subject: [PATCH 10/46] Typo on qemu workaround for /var/db/dhcpd_leases errors --- site/content/en/docs/drivers/qemu.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/en/docs/drivers/qemu.md b/site/content/en/docs/drivers/qemu.md index 6a10227db4..0dc72579a7 100644 --- a/site/content/en/docs/drivers/qemu.md +++ b/site/content/en/docs/drivers/qemu.md @@ -73,7 +73,7 @@ If you're seeing errors related to `/var/db/dhcpd_leases` we recommend the follo 1. Uninstall `socket_vmnet`: ```shell cd socket_vmnet -sudo make uninstll +sudo make uninstall sudo rm /var/run/socket_vmnet ``` 2. Reboot From e5a1d5c59c89e8a98a0bea826fef7306a9a0b1e5 Mon Sep 17 00:00:00 2001 From: Carlos Santana Date: Sat, 5 Nov 2022 12:11:56 -0400 Subject: [PATCH 11/46] make uninstall already do the sudo rm /var/run/socket_vmnet --- site/content/en/docs/drivers/qemu.md | 1 - 1 file changed, 1 deletion(-) diff --git a/site/content/en/docs/drivers/qemu.md b/site/content/en/docs/drivers/qemu.md index 0dc72579a7..15df08b0d5 100644 --- a/site/content/en/docs/drivers/qemu.md +++ b/site/content/en/docs/drivers/qemu.md @@ -74,7 +74,6 @@ If you're seeing errors related to `/var/db/dhcpd_leases` we recommend the follo ```shell cd socket_vmnet sudo make uninstall -sudo rm /var/run/socket_vmnet ``` 2. Reboot 3. Reinsitall `socket_vmnet`: From 23c9a00630034cbb5abe258a97042b85e36b83db Mon Sep 17 00:00:00 2001 From: imjoseangel Date: Sun, 6 Nov 2022 00:37:03 +0100 Subject: [PATCH 12/46] Fix typo and titles for better readability --- site/content/en/docs/drivers/qemu.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/site/content/en/docs/drivers/qemu.md b/site/content/en/docs/drivers/qemu.md index 6a10227db4..36ba47d0c5 100644 --- a/site/content/en/docs/drivers/qemu.md +++ b/site/content/en/docs/drivers/qemu.md @@ -38,7 +38,8 @@ The QEMU driver has two networking options, `user` & `socket_vmnet`. The `user` network is not a dedicated network, it doesn't support some networking commands such as `minikube service` and `minikube tunnel`, and its IP address is not reachable from the host. {{% /tab %}} {{% tab "socket_vmnet - experimental/needs installation" %}} -##### Requirements + +### Requirements Requires macOS 10.15 or later and socket_vmnet. @@ -48,7 +49,8 @@ git clone https://github.com/lima-vm/socket_vmnet.git && cd socket_vmnet sudo make PREFIX=/opt/socket_vmnet install ``` -##### Usage +### Usage + ```shell minikube start --driver qemu --network socket_vmnet ``` @@ -63,21 +65,25 @@ The `socket_vmnet` network is a dedicated network and supports the `minikube ser When using the `user` network (default) the guest uses **only** the first `nameserver` entry in the hosts `/etc/resolv.conf` for DNS lookup. If your first `nameserver` entry is a corporate/internal DNS it's likely it will cause an issue. If you see the warning `❗ This VM is having trouble accessing https://registry.k8s.io` on `minikube start` you are likely being affected by this. This may prevent your cluster from starting entirely and you won't be able to pull remote images. More details can be found at: [#15021](https://github.com/kubernetes/minikube/issues/15021) -##### Workarounds: +#### Workarounds: + 1. If possible, reorder your `/etc/resolv.conf` to have a general `nameserver` entry first (eg. `8.8.8.8`) and reboot your machine. 2. Use `--network=socket_vmnet` ### 2. `/var/db/dhcpd_leases` errors If you're seeing errors related to `/var/db/dhcpd_leases` we recommend the following: + 1. Uninstall `socket_vmnet`: + ```shell cd socket_vmnet sudo make uninstll sudo rm /var/run/socket_vmnet ``` 2. Reboot -3. Reinsitall `socket_vmnet`: +3. Reinstall `socket_vmnet`: + ```shell cd socket_vmnet sudo make install From 6766987cefb3de364583337f5356ce09c9ad4e94 Mon Sep 17 00:00:00 2001 From: Jeff MAURY Date: Mon, 7 Nov 2022 09:11:15 +0100 Subject: [PATCH 13/46] Fix french translation Signed-off-by: Jeff MAURY --- translations/fr.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/translations/fr.json b/translations/fr.json index d8e2db78dd..ece66fdcd6 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -24,7 +24,7 @@ "--kvm-numa-count range is 1-8": "la tranche de --kvm-numa-count est 1 à 8", "--network flag is only valid with the docker/podman and KVM drivers, it will be ignored": "l'indicateur --network est valide uniquement avec les pilotes docker/podman et KVM, il va être ignoré", "--network flag is only valid with the docker/podman, KVM and Qemu drivers, it will be ignored": "L'indicateur --network n'est valide qu'avec les pilotes docker/podman, KVM et Qemu, il sera ignoré", - "--network with QEMU must be 'user' or 'socket_vmnet'": "", + "--network with QEMU must be 'user' or 'socket_vmnet'": "--network avec QEMU doit être 'user' ou 'socket_vmnet'", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete {{.profile}}\n\t\t minikube start {{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start {{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) Recréez le cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n\t\t minikube delete {{.profile}}\n\t\t minikube start {{.profile}} - -kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Créez un deuxième cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n \t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Utiliser le cluster existant à la version Kubernetes {{.old}}, en exécutant :\n\t \n\t\t minikube start {{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t \t", "1) Recreate the cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube delete{{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Create a second cluster with Kubernetes {{.new}}, by running:\n\t \n\t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Use the existing cluster at version Kubernetes {{.old}}, by running:\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t\t": "1) Recréez le cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n\t\t minikube delete {{.profile}}\n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t2) Créez un deuxième cluster avec Kubernetes {{.new}}, en exécutant :\n\t \n \t\t minikube start -p {{.suggestedName}} --kubernetes-version={{.prefix}}{{.new}}\n\t \n\t\t3) Utiliser le cluster existant à la version Kubernetes {{.old}}, en exécutant :\n\t \n\t\t minikube start{{.profile}} --kubernetes-version={{.prefix}}{{.old}}\n\t \t", "1. Click on \"Docker for Desktop\" menu icon\n\t\t\t2. Click \"Preferences\"\n\t\t\t3. Click \"Resources\"\n\t\t\t4. Increase \"CPUs\" slider bar to 2 or higher\n\t\t\t5. Click \"Apply \u0026 Restart\"": "1. Cliquez sur l'icône de menu \"Docker for Desktop\"\n\t\t\t2. Cliquez sur \"Preferences\"\n\t\t\t3. Cliquez sur \"Ressources\"\n\t\t\t4. Augmentez la barre de défilement \"CPU\" à 2 ou plus\n\t\t\t5. Cliquez sur \"Apply \u0026 Restart\"", @@ -74,7 +74,7 @@ "Auto-pause is already enabled.": "La pause automatique est déjà activée.", "Automatically selected the {{.driver}} driver": "Choix automatique du pilote {{.driver}}", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Choix automatique du pilote {{.driver}}. Autres choix: {{.alternates}}", - "Automatically selected the {{.network}} network": "", + "Automatically selected the {{.network}} network": "Sélection automatique du réseau {{.network}}", "Available Commands": "Commandes disponibles", "Basic Commands:": "Commandes basiques :", "Because you are using a Docker driver on {{.operating_system}}, the terminal needs to be open to run it.": "Comme vous utilisez un pilote Docker sur {{.operating_system}}, le terminal doit être ouvert pour l'exécuter.", @@ -718,7 +718,7 @@ "The service namespace": "L'espace de nom du service", "The service/ingress {{.resource}} requires privileged ports to be exposed: {{.ports}}": "Le service/ingress {{.resource}} nécessite l'exposition des ports privilégiés : {{.ports}}", "The services namespace": "L'espace de noms des services", - "The socket_vmnet network is only supported on macOS": "", + "The socket_vmnet network is only supported on macOS": "Le réseau socket_vmnet n'est pris en charge que sur macOS", "The time interval for each check that wait performs in seconds": "L'intervalle de temps pour chaque contrôle que wait effectue en secondes", "The value passed to --format is invalid": "La valeur passée à --format n'est pas valide", "The value passed to --format is invalid: {{.error}}": "La valeur passée à --format n'est pas valide : {{.error}}", @@ -861,7 +861,7 @@ "You are trying to run a windows .exe binary inside WSL. For better integration please use a Linux binary instead (Download at https://minikube.sigs.k8s.io/docs/start/.). Otherwise if you still want to do this, you can do it using --force": "Vous essayez d'exécuter un binaire Windows .exe dans WSL. Pour une meilleure intégration, veuillez utiliser un binaire Linux à la place (Télécharger sur https://minikube.sigs.k8s.io/docs/start/.). Sinon, si vous voulez toujours le faire, vous pouvez le faire en utilisant --force", "You are trying to run amd64 binary on M1 system. Please consider running darwin/arm64 binary instead (Download at {{.url}}.)": "Vous essayez d'exécuter le binaire amd64 sur le système M1. Veuillez utiliser le binaire darwin/arm64 à la place (télécharger sur {{.url}}.)", "You are trying to run the amd64 binary on an M1 system.\nPlease consider running the darwin/arm64 binary instead.\nDownload at {{.url}}": "Vous essayez d'exécuter le binaire amd64 sur un système M1.\nVeuillez envisager d'exécuter le binaire darwin/arm64 à la place.\nTéléchargez sur {{.url}}", - "You are using the QEMU driver without a dedicated network, which doesn't support `minikube service` \u0026 `minikube tunnel` commands.": "", + "You are using the QEMU driver without a dedicated network, which doesn't support `minikube service` \u0026 `minikube tunnel` commands.": "Vous utilisez le pilote QEMU sans réseau dédié, qui ne prend pas en charge les commandes `minikube service` \u0026 `minikube tunnel`.", "You are using the QEMU driver without a dedicated network, which doesn't support `minikube service` \u0026 `minikube tunnel` commands.\nTo try the experimental dedicated network see: https://minikube.sigs.k8s.io/docs/drivers/qemu/#networking": "Vous utilisez le pilote QEMU sans réseau dédié, qui ne prend pas en charge les commandes `minikube service` \u0026 `minikube tunnel`.\nPour essayer le réseau dédié expérimental, voir : https://minikube.sigs.k8s.io/docs /drivers/qemu/#networking", "You can create one using 'minikube start'.\n\t\t": "Vous pouvez en créer un en utilisant 'minikube start'.\n\t\t", "You can delete them using the following command(s): ": "Vous pouvez les supprimer à l'aide de la ou des commandes suivantes :", @@ -903,7 +903,7 @@ "config modifies minikube config files using subcommands like \"minikube config set driver kvm2\"\nConfigurable fields: \n\n": "config modifie les fichiers de configuration de minikube à l'aide de sous-commandes telles que \"minikube config set driver kvm2\"\nChamps configurables : \n\n", "config view failed": "échec de la vue de configuration", "containers paused status: {{.paused}}": "état des conteneurs en pause : {{.paused}}", - "dashboard": "", + "dashboard": "tableau de bord", "dashboard service is not running: {{.error}}": "le service de tableau de bord ne fonctionne pas : {{.error}}", "delete ctx": "supprimer ctx", "deleting node": "suppression d'un nœud", @@ -930,7 +930,7 @@ "failed to set cloud shell kubelet config options": "échec de la définition des options de configuration cloud shell kubelet", "failed to set extra option": "impossible de définir une option supplémentaire", "failed to start node": "échec du démarrage du nœud", - "false": "", + "false": "faux", "fish completion failed": "la complétion fish a échoué", "fish completion.": "complétion fish.", "if true, will embed the certs in kubeconfig.": "si vrai, intégrera les certificats dans kubeconfig.", @@ -986,12 +986,12 @@ "scheduled stop is not supported on the none driver, skipping scheduling": "l'arrêt programmé n'est pas pris en charge sur le pilote none, programmation non prise en compte", "service {{.namespace_name}}/{{.service_name}} has no node port": "le service {{.namespace_name}}/{{.service_name}} n'a pas de port de nœud", "set tunnel bind address, empty or '*' indicates the tunnel should be available for all interfaces": "définit l'adresse de liaison du tunnel, vide ou '*' indique que le tunnel doit être disponible pour toutes les interfaces", - "socket_vmnet was not found on the system, resolve by:\n\n\t\tOption 1) Installing socket_vmnet:\n\n\t\t https://minikube.sigs.k8s.io/docs/drivers/qemu/#networking\n\n\t\tOption 2) Using the user network:\n\n\t\t minikube start{{.profile}} --driver qemu --network user": "", + "socket_vmnet was not found on the system, resolve by:\n\n\t\tOption 1) Installing socket_vmnet:\n\n\t\t https://minikube.sigs.k8s.io/docs/drivers/qemu/#networking\n\n\t\tOption 2) Using the user network:\n\n\t\t minikube start{{.profile}} --driver qemu --network user": "socket_vmnet n'a pas été trouvé sur le système, résolvez le par :\n\n\t\tOption 1) Installation de socket_vmnet :\n\n\t\t https://minikube.sigs.k8s.io/docs/drivers/qemu/ #networking\n\n\t\tOption 2) Utilisation du réseau utilisateur :\n\n\t\t minikube start{{.profile}} --driver qemu --network user", "stat failed": "stat en échec", "status json failure": "état du JSON en échec", "status text failure": "état du texte en échec", "too many arguments ({{.ArgCount}}).\nusage: minikube config set PROPERTY_NAME PROPERTY_VALUE": "trop d'arguments ({{.ArgCount}}).\nusage : jeu de configuration de minikube PROPERTY_NAME PROPERTY_VALUE", - "true": "", + "true": "vrai", "tunnel creates a route to services deployed with type LoadBalancer and sets their Ingress to their ClusterIP. for a detailed example see https://minikube.sigs.k8s.io/docs/tasks/loadbalancer": "le tunnel crée une route vers les services déployés avec le type LoadBalancer et définit leur Ingress sur leur ClusterIP. Pour un exemple détaillé, voir https://minikube.sigs.k8s.io/docs/tasks/loadbalancer", "unable to bind flags": "impossible de lier les configurations", "unable to daemonize: {{.err}}": "impossible de démoniser : {{.err}}", From af24d50c21096344c09c5fff0b9181d55a181bf0 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Mon, 7 Nov 2022 10:57:19 -0500 Subject: [PATCH 14/46] update Kubervirt image --- pkg/minikube/assets/addons.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index d8194d7d26..a02ef4c49c 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -296,7 +296,7 @@ var Addons = map[string]*Addon{ "pod.yaml", "0640"), }, false, "kubevirt", "3rd party (KubeVirt)", "", "https://minikube.sigs.k8s.io/docs/tutorials/kubevirt/", map[string]string{ - "Kubectl": "bitnami/kubectl:1.17@sha256:de642e973d3d0ef60e4d0a1f92286a9fdae245535c5990d4762bbe86fcf95887", + "Kubectl": "bitnami/kubectl:1.24.7@sha256:195f5a7a40cfb06e308701ae850abfa436d23baf9d39c0282298e540c9d07863", }, map[string]string{ "Kubectl": "docker.io", }), From d9fcb0cd99332433596909cf7f42f050dca038eb Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Mon, 7 Nov 2022 12:53:20 -0500 Subject: [PATCH 15/46] add comment about multiline GITHUB_OUTPUT --- .github/workflows/docs.yml | 1 + .github/workflows/leaderboard.yml | 1 + .github/workflows/update-golang-version.yml | 1 + .github/workflows/update-golint-version.yml | 1 + .github/workflows/update-gopogh-version.yml | 1 + .github/workflows/update-gotestsum-version.yml | 1 + .github/workflows/update-k8s-versions.yml | 1 + .github/workflows/update-kubeadm-constants.yml | 1 + .github/workflows/yearly-leaderboard.yml | 1 + 9 files changed, 9 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ddd33cbdfa..05a1600766 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -26,6 +26,7 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$c" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/leaderboard.yml b/.github/workflows/leaderboard.yml index f540266cd7..12b7a8909e 100644 --- a/.github/workflows/leaderboard.yml +++ b/.github/workflows/leaderboard.yml @@ -25,6 +25,7 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$c" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/update-golang-version.yml b/.github/workflows/update-golang-version.yml index 54597bec67..63cd6f63ce 100644 --- a/.github/workflows/update-golang-version.yml +++ b/.github/workflows/update-golang-version.yml @@ -22,6 +22,7 @@ jobs: id: bumpGolang run: | make update-golang-version + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$(git status --porcelain)" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/update-golint-version.yml b/.github/workflows/update-golint-version.yml index 38582e4404..55775f5f6e 100644 --- a/.github/workflows/update-golint-version.yml +++ b/.github/workflows/update-golint-version.yml @@ -22,6 +22,7 @@ jobs: id: bumpGolint run: | make update-golint-version + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$(git status --porcelain)" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/update-gopogh-version.yml b/.github/workflows/update-gopogh-version.yml index 28724e6df2..ef8ddd168e 100644 --- a/.github/workflows/update-gopogh-version.yml +++ b/.github/workflows/update-gopogh-version.yml @@ -22,6 +22,7 @@ jobs: id: bumpGopogh run: | make update-gopogh-version + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$(git status --porcelain)" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/update-gotestsum-version.yml b/.github/workflows/update-gotestsum-version.yml index 77b692928a..facf9fdd31 100644 --- a/.github/workflows/update-gotestsum-version.yml +++ b/.github/workflows/update-gotestsum-version.yml @@ -22,6 +22,7 @@ jobs: id: bumpGotestsum run: | make update-gotestsum-version + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$(git status --porcelain)" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/update-k8s-versions.yml b/.github/workflows/update-k8s-versions.yml index fc51619ad5..921f32f239 100644 --- a/.github/workflows/update-k8s-versions.yml +++ b/.github/workflows/update-k8s-versions.yml @@ -27,6 +27,7 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$c" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/update-kubeadm-constants.yml b/.github/workflows/update-kubeadm-constants.yml index e5e54427ca..5bc7eae6f3 100644 --- a/.github/workflows/update-kubeadm-constants.yml +++ b/.github/workflows/update-kubeadm-constants.yml @@ -25,6 +25,7 @@ jobs: c=$(git status --porcelain) c="${c//$'\n'/'%0A'}" c="${c//$'\r'/'%0D'}" + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$c" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT diff --git a/.github/workflows/yearly-leaderboard.yml b/.github/workflows/yearly-leaderboard.yml index 857709eb2d..1d784baacb 100644 --- a/.github/workflows/yearly-leaderboard.yml +++ b/.github/workflows/yearly-leaderboard.yml @@ -27,6 +27,7 @@ jobs: id: yearlyLeaderboard run: | make update-yearly-leaderboard + # The following is to support multiline with GITHUB_OUTPUT, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings echo "changes<> $GITHUB_OUTPUT echo "$(git status --porcelain)" >> $GITHUB_OUTPUT echo "EOF" >> $GITHUB_OUTPUT From 386a0f64ef08ddecc59725347591978ce9ba528a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 18:04:57 +0000 Subject: [PATCH 16/46] Bump github.com/google/slowjam from 1.0.0 to 1.0.1 Bumps [github.com/google/slowjam](https://github.com/google/slowjam) from 1.0.0 to 1.0.1. - [Release notes](https://github.com/google/slowjam/releases) - [Commits](https://github.com/google/slowjam/compare/v1.0.0...v1.0.1) --- updated-dependencies: - dependency-name: github.com/google/slowjam dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 3bd6717c5a..b215c535fd 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3 github.com/google/go-cmp v0.5.9 github.com/google/go-containerregistry v0.12.0 - github.com/google/slowjam v1.0.0 + github.com/google/slowjam v1.0.1 github.com/google/uuid v1.3.0 github.com/hashicorp/go-getter v1.6.2 github.com/hashicorp/go-retryablehttp v0.7.1 diff --git a/go.sum b/go.sum index 43082de545..242066a976 100644 --- a/go.sum +++ b/go.sum @@ -584,8 +584,8 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/slowjam v1.0.0 h1:dA9flW4oGTJcSy8FpEvdq8JKwPFVgqYwMmjhqlb2L+s= -github.com/google/slowjam v1.0.0/go.mod h1:mNktULbvWfYVMKKmpt94Rp3jMtmhQZLS0iR+W84S0mM= +github.com/google/slowjam v1.0.1 h1:RrR0qrKELIC1iv7r1FgbtohxDl6QytIj67B9brpgrdg= +github.com/google/slowjam v1.0.1/go.mod h1:13Ws7TkS56WroVpQFout67W7EjTn+VUVhKxJqPgopWg= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -754,12 +754,10 @@ github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7 github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= -github.com/maruel/panicparse v1.5.0/go.mod h1:aOutY/MUjdj80R0AEVI9qE2zHqig+67t2ffUDDiLzAM= github.com/mattbaird/jsonpatch v0.0.0-20200820163806-098863c1fc24 h1:uYuGXJBAi1umT+ZS4oQJUgKtfXCAYTR+n9zw1ViT0vA= github.com/mattbaird/jsonpatch v0.0.0-20200820163806-098863c1fc24/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= @@ -780,7 +778,6 @@ github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vq github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.1.29/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= From b33a35e673876fcfead11c4d770f381ef7ffea66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 18:05:09 +0000 Subject: [PATCH 17/46] Bump github.com/shirou/gopsutil/v3 from 3.22.9 to 3.22.10 Bumps [github.com/shirou/gopsutil/v3](https://github.com/shirou/gopsutil) from 3.22.9 to 3.22.10. - [Release notes](https://github.com/shirou/gopsutil/releases) - [Commits](https://github.com/shirou/gopsutil/compare/v3.22.9...v3.22.10) --- updated-dependencies: - dependency-name: github.com/shirou/gopsutil/v3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 3bd6717c5a..11df0efe51 100644 --- a/go.mod +++ b/go.mod @@ -61,7 +61,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 github.com/russross/blackfriday v1.6.0 // indirect github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect - github.com/shirou/gopsutil/v3 v3.22.9 + github.com/shirou/gopsutil/v3 v3.22.10 github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.13.0 diff --git a/go.sum b/go.sum index 43082de545..29f849774d 100644 --- a/go.sum +++ b/go.sum @@ -986,8 +986,8 @@ github.com/sayboras/dockerclient v1.0.0 h1:awHcxOzTP07Gl1SJAhkTCTagyJwgA6f/Az/Z4 github.com/sayboras/dockerclient v1.0.0/go.mod h1:mUmEoqt0b+uQg57s006FsvL4mybi+N5wINLDBGtaPTY= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= -github.com/shirou/gopsutil/v3 v3.22.9 h1:yibtJhIVEMcdw+tCTbOPiF1VcsuDeTE4utJ8Dm4c5eA= -github.com/shirou/gopsutil/v3 v3.22.9/go.mod h1:bBYl1kjgEJpWpxeHmLI+dVHWtyAwfcmSBLDsp2TNT8A= +github.com/shirou/gopsutil/v3 v3.22.10 h1:4KMHdfBRYXGF9skjDWiL4RA2N+E8dRdodU/bOZpPoVg= +github.com/shirou/gopsutil/v3 v3.22.10/go.mod h1:QNza6r4YQoydyCfo6rH0blGfKahgibh4dQmV5xdFkQk= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= @@ -1038,6 +1038,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -1046,8 +1047,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= From ac05e0cd735e414710071c37206fb673c4da6dbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 20:11:56 +0000 Subject: [PATCH 18/46] Bump github.com/spf13/viper from 1.13.0 to 1.14.0 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.13.0 to 1.14.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.13.0...v1.14.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 19 ++++++++++--------- go.sum | 42 ++++++++++++++++++++++-------------------- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/go.mod b/go.mod index 573bd46d3d..ad987a990d 100644 --- a/go.mod +++ b/go.mod @@ -64,7 +64,7 @@ require ( github.com/shirou/gopsutil/v3 v3.22.10 github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.13.0 + github.com/spf13/viper v1.14.0 github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097 go.opencensus.io v0.23.0 go.opentelemetry.io/otel v1.11.1 @@ -80,7 +80,7 @@ require ( golang.org/x/term v0.1.0 golang.org/x/text v0.4.0 gonum.org/v1/plot v0.12.0 - google.golang.org/api v0.100.0 + google.golang.org/api v0.102.0 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.25.3 @@ -106,7 +106,8 @@ require ( require ( cloud.google.com/go v0.104.0 // indirect - cloud.google.com/go/compute v1.10.0 // indirect + cloud.google.com/go/compute v1.12.1 // indirect + cloud.google.com/go/compute/metadata v0.2.1 // indirect cloud.google.com/go/iam v0.3.0 // indirect cloud.google.com/go/monitoring v1.1.0 // indirect cloud.google.com/go/trace v1.2.0 // indirect @@ -137,7 +138,7 @@ require ( github.com/emicklei/go-restful/v3 v3.8.0 // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/fatih/color v1.13.0 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-fonts/liberation v0.2.0 // indirect github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 // indirect github.com/go-logr/logr v1.2.3 // indirect @@ -200,7 +201,7 @@ require ( github.com/rivo/uniseg v0.2.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sirupsen/logrus v1.9.0 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect @@ -210,16 +211,16 @@ require ( github.com/vbatts/tar-split v0.11.2 // indirect github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect - go.uber.org/atomic v1.7.0 // indirect + go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.8.0 // indirect - go.uber.org/zap v1.19.0 // indirect + go.uber.org/zap v1.21.0 // indirect golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect golang.org/x/net v0.1.0 // indirect - golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect + golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect golang.org/x/tools v0.1.12 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a // indirect + google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect google.golang.org/grpc v1.50.1 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index cd34ecd3ee..b1063f1ad4 100644 --- a/go.sum +++ b/go.sum @@ -41,8 +41,10 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.10.0 h1:aoLIYaA1fX3ywihqpBk2APQKOo20nXsp1GEZQbx5Jk4= -cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= @@ -416,8 +418,8 @@ github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -1006,8 +1008,8 @@ github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4k github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= @@ -1026,8 +1028,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -1122,17 +1124,18 @@ go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4 go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.19.0 h1:mZQZefskPPCMIBCSEH0v2/iUqqLrYtaeqwD6FUGUnFE= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/build v0.0.0-20190927031335-2835ba2e683f h1:hXVePvSFG7tPGX4Pwk1d10ePFfoTCc0QmISfpKOHsS8= golang.org/x/build v0.0.0-20190927031335-2835ba2e683f/go.mod h1:fYw7AShPAhGMdXqA9gRadk/CcMsvLlClpE5oBwnS3dM= @@ -1408,13 +1411,13 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1439,8 +1442,8 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= -golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1462,7 +1465,6 @@ golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1550,8 +1552,8 @@ google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3h google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.100.0 h1:LGUYIrbW9pzYQQ8NWXlaIVkgnfubVBZbMFb9P8TK374= -google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1635,8 +1637,8 @@ google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a h1:GH6UPn3ixhWcKDhpnEC55S75cerLPdpp3hrhfKYjZgw= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= From 83d50b7de236affb3d3f5e4577334206c3e50a16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Nov 2022 20:16:54 +0000 Subject: [PATCH 19/46] Bump cloud.google.com/go/storage from 1.27.0 to 1.28.0 Bumps [cloud.google.com/go/storage](https://github.com/googleapis/google-cloud-go) from 1.27.0 to 1.28.0. - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/spanner/v1.27.0...spanner/v1.28.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/storage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index ad987a990d..d935ccbb60 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module k8s.io/minikube go 1.19 require ( - cloud.google.com/go/storage v1.27.0 + cloud.google.com/go/storage v1.28.0 contrib.go.opencensus.io/exporter/stackdriver v0.13.12 github.com/Delta456/box-cli-maker/v2 v2.3.0 github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2 @@ -108,7 +108,7 @@ require ( cloud.google.com/go v0.104.0 // indirect cloud.google.com/go/compute v1.12.1 // indirect cloud.google.com/go/compute/metadata v0.2.1 // indirect - cloud.google.com/go/iam v0.3.0 // indirect + cloud.google.com/go/iam v0.5.0 // indirect cloud.google.com/go/monitoring v1.1.0 // indirect cloud.google.com/go/trace v1.2.0 // indirect git.sr.ht/~sbinet/gg v0.3.1 // indirect diff --git a/go.sum b/go.sum index b1063f1ad4..d9bb39ebec 100644 --- a/go.sum +++ b/go.sum @@ -47,8 +47,8 @@ cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22m cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0 h1:fz9X5zyTWBmamZsqvqZqD7khbifcZF/q+Z1J8pfhIUg= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= cloud.google.com/go/monitoring v1.1.0 h1:ZnyNdf/XRcynMmKzRSNTOdOyYPs6G7do1l2D2hIvIKo= cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= @@ -61,8 +61,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= -cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.0 h1:DLrIZ6xkeZX6K70fU/boWx5INJumt6f+nwwWSHXzzGY= +cloud.google.com/go/storage v1.28.0/go.mod h1:qlgZML35PXA3zoEnIkiPLY4/TOkUleufRlu6qmcf7sI= cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= cloud.google.com/go/trace v1.2.0 h1:oIaB4KahkIUOpLSAAjEJ8y2desbjY/x/RfP4O3KAtTI= cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= From e2679ccd7a99443e0155dbc09139d3bcb1d76b01 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Mon, 7 Nov 2022 16:06:55 -0500 Subject: [PATCH 20/46] add additional memory overhead for VirtualBox --- cmd/minikube/cmd/start.go | 12 +++++++++--- cmd/minikube/cmd/start_flags.go | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 30229af1db..e07fd4d2cc 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -1399,7 +1399,7 @@ func validateChangedMemoryFlags(drvName string) { if err != nil { klog.Warningf("Unable to query memory limits: %+v", err) } - req = noLimitMemory(sysLimit, containerLimit) + req = noLimitMemory(sysLimit, containerLimit, drvName) } else { req, err = util.CalculateSizeInMB(memString) if err != nil { @@ -1409,12 +1409,18 @@ func validateChangedMemoryFlags(drvName string) { validateRequestedMemorySize(req, drvName) } -func noLimitMemory(sysLimit int, containerLimit int) int { +func noLimitMemory(sysLimit, containerLimit int, drvName string) int { if containerLimit != 0 { return containerLimit } // Recommend 1GB to handle OS/VM overhead - return sysLimit - 1024 + sysOverhead := 1024 + if drvName == "virtualbox" { + // VirtualBox fully allocates all requested memory on start, it doesn't dynamically allocate when needed like other drivers + // Because of this allow more system overhead to prevent out of memory issues + sysOverhead = 1536 + } + return sysLimit - sysOverhead } // This function validates if the --registry-mirror diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go index 4fd838fcf8..74edf48e09 100644 --- a/cmd/minikube/cmd/start_flags.go +++ b/cmd/minikube/cmd/start_flags.go @@ -369,7 +369,7 @@ func getMemorySize(cmd *cobra.Command, drvName string) int { memString := viper.GetString(memory) var err error if memString == constants.MaxResources { - mem = noLimitMemory(sysLimit, containerLimit) + mem = noLimitMemory(sysLimit, containerLimit, drvName) } else { mem, err = pkgutil.CalculateSizeInMB(memString) if err != nil { From 9d85be1a99d800f8477fed6ad613a6a8e2fd2467 Mon Sep 17 00:00:00 2001 From: Eng Zer Jun Date: Mon, 7 Nov 2022 21:33:10 +0800 Subject: [PATCH 21/46] test: use `T.Setenv` to set env vars in tests This commit replaces `os.Setenv` with `t.Setenv` in tests. The environment variable is automatically restored to its original value when the test and all its subtests complete. Reference: https://pkg.go.dev/testing#T.Setenv Signed-off-by: Eng Zer Jun --- cmd/minikube/cmd/config/set_test.go | 4 +- cmd/minikube/cmd/delete_test.go | 8 +- cmd/minikube/cmd/docker-env_test.go | 3 +- cmd/minikube/cmd/start_test.go | 12 +-- pkg/addons/addons_test.go | 4 +- pkg/drivers/kic/oci/oci_test.go | 34 ++++--- pkg/minikube/config/profile_test.go | 99 +++++++++---------- pkg/minikube/kubeconfig/kubeconfig_test.go | 7 +- pkg/minikube/localpath/localpath_test.go | 10 +- pkg/minikube/machine/cache_binaries_test.go | 11 +-- pkg/minikube/machine/client_test.go | 4 +- pkg/minikube/out/out_test.go | 6 +- pkg/minikube/proxy/proxy_test.go | 34 +------ pkg/minikube/service/service_test.go | 10 +- pkg/minikube/shell/shell_test.go | 5 +- .../storageclass/storageclass_test.go | 6 +- pkg/util/utils_test.go | 10 +- test/integration/skaffold_test.go | 7 +- 18 files changed, 91 insertions(+), 183 deletions(-) diff --git a/cmd/minikube/cmd/config/set_test.go b/cmd/minikube/cmd/config/set_test.go index ca2cdc0d6b..fd1b068af8 100644 --- a/cmd/minikube/cmd/config/set_test.go +++ b/cmd/minikube/cmd/config/set_test.go @@ -68,9 +68,7 @@ func createTestConfig(t *testing.T) { t.Helper() td := t.TempDir() - if err := os.Setenv(localpath.MinikubeHome, td); err != nil { - t.Fatalf("error setting up test environment. could not set %s due to %+v", localpath.MinikubeHome, err) - } + t.Setenv(localpath.MinikubeHome, td) // Not necessary, but it is a handy random alphanumeric if err := os.MkdirAll(localpath.MakeMiniPath("config"), 0777); err != nil { diff --git a/cmd/minikube/cmd/delete_test.go b/cmd/minikube/cmd/delete_test.go index 2626f3a69a..d91f6d5b3d 100644 --- a/cmd/minikube/cmd/delete_test.go +++ b/cmd/minikube/cmd/delete_test.go @@ -86,9 +86,7 @@ func TestDeleteProfile(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if err := os.Setenv(localpath.MinikubeHome, td); err != nil { - t.Errorf("setenv: %v", err) - } + t.Setenv(localpath.MinikubeHome, td) beforeProfiles, err := fileNames(filepath.Join(localpath.MiniPath(), "profiles")) if err != nil { @@ -163,9 +161,7 @@ func TestDeleteAllProfiles(t *testing.T) { t.Fatalf("copy: %v", err) } - if err := os.Setenv(localpath.MinikubeHome, td); err != nil { - t.Errorf("error setting up test environment. could not set %s", localpath.MinikubeHome) - } + t.Setenv(localpath.MinikubeHome, td) pFiles, err := fileNames(filepath.Join(localpath.MiniPath(), "profiles")) if err != nil { diff --git a/cmd/minikube/cmd/docker-env_test.go b/cmd/minikube/cmd/docker-env_test.go index e36d61cdfc..705437ae3a 100644 --- a/cmd/minikube/cmd/docker-env_test.go +++ b/cmd/minikube/cmd/docker-env_test.go @@ -19,7 +19,6 @@ package cmd import ( "bytes" "encoding/json" - "os" "strings" "testing" @@ -443,7 +442,7 @@ func TestValidDockerProxy(t *testing.T) { } for _, tc := range tests { - os.Setenv("ALL_PROXY", tc.proxy) + t.Setenv("ALL_PROXY", tc.proxy) valid := isValidDockerProxy("ALL_PROXY") if tc.isValid && valid != tc.isValid { t.Errorf("Expect %#v to be valid docker proxy", tc.proxy) diff --git a/cmd/minikube/cmd/start_test.go b/cmd/minikube/cmd/start_test.go index 838d79afbb..5b5201a4be 100644 --- a/cmd/minikube/cmd/start_test.go +++ b/cmd/minikube/cmd/start_test.go @@ -18,7 +18,6 @@ package cmd import ( "fmt" - "os" "strings" "testing" @@ -172,13 +171,6 @@ func TestGenerateCfgFromFlagsHTTPProxyHandling(t *testing.T) { // Set default disk size value in lieu of flag init viper.SetDefault(humanReadableDiskSize, defaultDiskSize) - originalEnv := os.Getenv("HTTP_PROXY") - defer func() { - err := os.Setenv("HTTP_PROXY", originalEnv) - if err != nil { - t.Fatalf("Error reverting env HTTP_PROXY to it's original value. Got err: %s", err) - } - }() k8sVersion := constants.NewestKubernetesVersion rtime := constants.DefaultContainerRuntime var tests = []struct { @@ -222,9 +214,7 @@ func TestGenerateCfgFromFlagsHTTPProxyHandling(t *testing.T) { for _, test := range tests { t.Run(test.description, func(t *testing.T) { cmd := &cobra.Command{} - if err := os.Setenv("HTTP_PROXY", test.proxy); err != nil { - t.Fatalf("Unexpected error setting HTTP_PROXY: %v", err) - } + t.Setenv("HTTP_PROXY", test.proxy) cfg.DockerEnv = []string{} // clear docker env to avoid pollution proxy.SetDockerEnv() diff --git a/pkg/addons/addons_test.go b/pkg/addons/addons_test.go index ab53590305..ae42cc56e3 100644 --- a/pkg/addons/addons_test.go +++ b/pkg/addons/addons_test.go @@ -32,9 +32,7 @@ func createTestProfile(t *testing.T) string { t.Helper() td := t.TempDir() - if err := os.Setenv(localpath.MinikubeHome, td); err != nil { - t.Errorf("error setting up test environment. could not set %s", localpath.MinikubeHome) - } + t.Setenv(localpath.MinikubeHome, td) // Not necessary, but it is a handy random alphanumeric name := filepath.Base(td) diff --git a/pkg/drivers/kic/oci/oci_test.go b/pkg/drivers/kic/oci/oci_test.go index 16d6be11ff..f31df575b6 100644 --- a/pkg/drivers/kic/oci/oci_test.go +++ b/pkg/drivers/kic/oci/oci_test.go @@ -22,10 +22,10 @@ import ( ) func TestPointToHostDockerDaemonEmpty(t *testing.T) { - _ = os.Setenv("DOCKER_HOST", "foo_host") - _ = os.Setenv("DOCKER_CERT_PATH", "foo_cert_path") - _ = os.Setenv("DOCKER_TLS_VERIFY", "foo_tls_verify") - _ = os.Setenv("MINIKUBE_ACTIVE_DOCKERD", "minikube") + t.Setenv("DOCKER_HOST", "foo_host") + t.Setenv("DOCKER_CERT_PATH", "foo_cert_path") + t.Setenv("DOCKER_TLS_VERIFY", "foo_tls_verify") + t.Setenv("MINIKUBE_ACTIVE_DOCKERD", "minikube") _ = os.Unsetenv("MINIKUBE_EXISTING_DOCKER_HOST") _ = os.Unsetenv("MINIKUBE_EXISTING_DOCKER_CERT_PATH") @@ -45,13 +45,14 @@ func TestPointToHostDockerDaemonEmpty(t *testing.T) { } func TestPointToHostDockerDaemon(t *testing.T) { - _ = os.Setenv("DOCKER_HOST", "foo_host") - _ = os.Setenv("DOCKER_CERT_PATH", "foo_cert_path") - _ = os.Setenv("DOCKER_TLS_VERIFY", "foo_tls_verify") + t.Setenv("DOCKER_HOST", "foo_host") + t.Setenv("DOCKER_CERT_PATH", "foo_cert_path") + t.Setenv("DOCKER_TLS_VERIFY", "foo_tls_verify") + t.Setenv("MINIKUBE_ACTIVE_DOCKERD", "minikube") - _ = os.Setenv("MINIKUBE_EXISTING_DOCKER_HOST", "bar_host") - _ = os.Setenv("MINIKUBE_EXISTING_DOCKER_CERT_PATH", "bar_cert_path") - _ = os.Setenv("MINIKUBE_EXISTING_DOCKER_TLS_VERIFY", "bar_tls_verify") + t.Setenv("MINIKUBE_EXISTING_DOCKER_HOST", "bar_host") + t.Setenv("MINIKUBE_EXISTING_DOCKER_CERT_PATH", "bar_cert_path") + t.Setenv("MINIKUBE_EXISTING_DOCKER_TLS_VERIFY", "bar_tls_verify") if err := PointToHostDockerDaemon(); err != nil { t.Fatalf("failed to set docker environment: got %v", err) @@ -72,8 +73,8 @@ func TestPointToHostDockerDaemon(t *testing.T) { } func TestPointToHostPodmanEmpty(t *testing.T) { - _ = os.Setenv("CONTAINER_HOST", "foo_host") - _ = os.Setenv("MINIKUBE_ACTIVE_PODMAN", "minikube") + t.Setenv("CONTAINER_HOST", "foo_host") + t.Setenv("MINIKUBE_ACTIVE_PODMAN", "minikube") _ = os.Unsetenv("MINIKUBE_EXISTING_CONTAINER_HOST") @@ -91,9 +92,10 @@ func TestPointToHostPodmanEmpty(t *testing.T) { } func TestPointToHostPodman(t *testing.T) { - _ = os.Setenv("CONTAINER_HOST", "foo_host") + t.Setenv("CONTAINER_HOST", "foo_host") + t.Setenv("MINIKUBE_ACTIVE_PODMAN", "minikube") - _ = os.Setenv("MINIKUBE_EXISTING_CONTAINER_HOST", "bar_host") + t.Setenv("MINIKUBE_EXISTING_CONTAINER_HOST", "bar_host") if err := PointToHostPodman(); err != nil { t.Fatalf("failed to set podman environment: got %v", err) @@ -130,8 +132,8 @@ func TestDaemonHost(t *testing.T) { {"docker", "", "ssh://127.0.0.1/bar", "127.0.0.1", true}, } for _, test := range tests { - _ = os.Setenv("CONTAINER_HOST", test.containerHost) - _ = os.Setenv("DOCKER_HOST", test.dockerHost) + t.Setenv("CONTAINER_HOST", test.containerHost) + t.Setenv("DOCKER_HOST", test.dockerHost) if v := IsExternalDaemonHost(test.driver); v != test.expectedExternal { t.Errorf("invalid result of IsExternalDaemonHost. got: %v, want: %v", v, test.expectedExternal) } diff --git a/pkg/minikube/config/profile_test.go b/pkg/minikube/config/profile_test.go index 1513a4c003..5ef6542ff4 100644 --- a/pkg/minikube/config/profile_test.go +++ b/pkg/minikube/config/profile_test.go @@ -284,65 +284,56 @@ func TestGetPrimaryControlPlane(t *testing.T) { } for _, tc := range tests { - // To save converted config file from old style config at ./testdata/.minikube, - // rather than at env(MINIKUBE_HOME) which depends on test environment - originalMinikubeHomeEnv := os.Getenv("MINIKUBE_HOME") - err = os.Setenv("MINIKUBE_HOME", miniDir) - if err != nil { - t.Fatalf("Failed to set ENV \"MINIKUBE_HOME\" for %s", miniDir) - } + t.Run(tc.description, func(t *testing.T) { + // To save converted config file from old style config at ./testdata/.minikube, + // rather than at env(MINIKUBE_HOME) which depends on test environment + t.Setenv("MINIKUBE_HOME", miniDir) - cc, err := DefaultLoader.LoadConfigFromFile(tc.profile, miniDir) - if err != nil { - t.Fatalf("Failed to load config for %s", tc.description) - } - - // temporarily copy the original profile config - originalFilePath := profileFilePath(tc.profile, miniDir) - tempFilePath := filepath.Join(miniDir, "profiles", tc.profile, "config_temp.json") - - d, err := os.ReadFile(originalFilePath) - if err != nil { - t.Fatalf("Failed to read config file : %s", originalFilePath) - } - - err = os.WriteFile(tempFilePath, d, 0644) - if err != nil { - t.Fatalf("Failed to write temporal config file : %s", tempFilePath) - } - - // get primary control plane - viper.Set(ProfileName, tc.profile) - n, err := PrimaryControlPlane(cc) - if err != nil { - t.Fatalf("Unexpected error getting primary control plane: %v", err) - } - - if n.Name != tc.expectedName { - t.Errorf("Unexpected name. expected: %s, got: %s", tc.expectedName, n.Name) - } - - if n.IP != tc.expectedIP { - t.Errorf("Unexpected name. expected: %s, got: %s", tc.expectedIP, n.IP) - } - - if n.Port != tc.expectedPort { - t.Errorf("Unexpected name. expected: %d, got: %d", tc.expectedPort, n.Port) - } - - defer func() { - // reset profile config - err = os.Rename(tempFilePath, originalFilePath) + cc, err := DefaultLoader.LoadConfigFromFile(tc.profile, miniDir) if err != nil { - t.Fatalf("Failed to move temporal config file (%s) to original file path (%s)", - tempFilePath, originalFilePath) + t.Fatalf("Failed to load config for %s", tc.description) } - // reset env(MINIKUBE_HOME) - err = os.Setenv("MINIKUBE_HOME", originalMinikubeHomeEnv) + // temporarily copy the original profile config + originalFilePath := profileFilePath(tc.profile, miniDir) + tempFilePath := filepath.Join(miniDir, "profiles", tc.profile, "config_temp.json") + t.Cleanup(func() { + // reset profile config + err = os.Rename(tempFilePath, originalFilePath) + if err != nil { + t.Fatalf("Failed to move temporal config file (%s) to original file path (%s)", + tempFilePath, originalFilePath) + } + }) + + d, err := os.ReadFile(originalFilePath) if err != nil { - t.Fatalf("Failed to reset ENV \"MINIKUBE_HOME\" to original value (%s)", originalMinikubeHomeEnv) + t.Fatalf("Failed to read config file : %s", originalFilePath) } - }() + + err = os.WriteFile(tempFilePath, d, 0644) + if err != nil { + t.Fatalf("Failed to write temporal config file : %s", tempFilePath) + } + + // get primary control plane + viper.Set(ProfileName, tc.profile) + n, err := PrimaryControlPlane(cc) + if err != nil { + t.Fatalf("Unexpected error getting primary control plane: %v", err) + } + + if n.Name != tc.expectedName { + t.Errorf("Unexpected name. expected: %s, got: %s", tc.expectedName, n.Name) + } + + if n.IP != tc.expectedIP { + t.Errorf("Unexpected name. expected: %s, got: %s", tc.expectedIP, n.IP) + } + + if n.Port != tc.expectedPort { + t.Errorf("Unexpected name. expected: %d, got: %d", tc.expectedPort, n.Port) + } + }) } } diff --git a/pkg/minikube/kubeconfig/kubeconfig_test.go b/pkg/minikube/kubeconfig/kubeconfig_test.go index 9171df3ddb..eedc082391 100644 --- a/pkg/minikube/kubeconfig/kubeconfig_test.go +++ b/pkg/minikube/kubeconfig/kubeconfig_test.go @@ -456,7 +456,7 @@ func TestUpdateIP(t *testing.T) { }, } - os.Setenv(localpath.MinikubeHome, "/home/la-croix") + t.Setenv(localpath.MinikubeHome, "/home/la-croix") for _, test := range tests { test := test @@ -492,8 +492,7 @@ func TestUpdateIP(t *testing.T) { } func TestMissingContext(t *testing.T) { - t.Parallel() - os.Setenv(localpath.MinikubeHome, "/home/la-croix") + t.Setenv(localpath.MinikubeHome, "/home/la-croix") configFilename := tempFile(t, kubeConfigMissingContext) defer os.Remove(configFilename) if _, err := UpdateEndpoint("minikube", "192.168.10.100", 8080, configFilename, nil); err != nil { @@ -796,7 +795,7 @@ func TestGetKubeConfigPath(t *testing.T) { } for _, test := range tests { - os.Setenv(clientcmd.RecommendedConfigPathEnvVar, test.input) + t.Setenv(clientcmd.RecommendedConfigPathEnvVar, test.input) if result := PathFromEnv(); result != os.ExpandEnv(test.want) { t.Errorf("Expected first split chunk, got: %s", result) } diff --git a/pkg/minikube/localpath/localpath_test.go b/pkg/minikube/localpath/localpath_test.go index 8988df943c..9b73737bbf 100644 --- a/pkg/minikube/localpath/localpath_test.go +++ b/pkg/minikube/localpath/localpath_test.go @@ -18,7 +18,6 @@ package localpath import ( "fmt" - "os" "path/filepath" "runtime" "strings" @@ -70,17 +69,10 @@ func TestMiniPath(t *testing.T) { {"/tmp/", "/tmp"}, {"", homedir.HomeDir()}, } - originalEnv := os.Getenv(MinikubeHome) - defer func() { // revert to pre-test env var - err := os.Setenv(MinikubeHome, originalEnv) - if err != nil { - t.Fatalf("Error reverting env %s to its original value (%s) var after test ", MinikubeHome, originalEnv) - } - }() for _, tc := range testCases { t.Run(tc.env, func(t *testing.T) { expectedPath := filepath.Join(tc.basePath, ".minikube") - os.Setenv(MinikubeHome, tc.env) + t.Setenv(MinikubeHome, tc.env) path := MiniPath() if path != expectedPath { t.Errorf("MiniPath expected to return '%s', but got '%s'", expectedPath, path) diff --git a/pkg/minikube/machine/cache_binaries_test.go b/pkg/minikube/machine/cache_binaries_test.go index 030b1407c8..a6f1e3135e 100644 --- a/pkg/minikube/machine/cache_binaries_test.go +++ b/pkg/minikube/machine/cache_binaries_test.go @@ -18,7 +18,6 @@ package machine import ( "fmt" - "os" "strings" "testing" @@ -85,9 +84,6 @@ func TestCopyBinary(t *testing.T) { func TestCacheBinariesForBootstrapper(t *testing.T) { download.DownloadMock = download.CreateDstDownloadMock - oldMinikubeHome := os.Getenv("MINIKUBE_HOME") - defer os.Setenv("MINIKUBE_HOME", oldMinikubeHome) - minikubeHome := t.TempDir() var tc = []struct { @@ -110,7 +106,7 @@ func TestCacheBinariesForBootstrapper(t *testing.T) { } for _, test := range tc { t.Run(test.version, func(t *testing.T) { - os.Setenv("MINIKUBE_HOME", test.minikubeHome) + t.Setenv("MINIKUBE_HOME", test.minikubeHome) err := CacheBinariesForBootstrapper(test.version, test.clusterBootstrapper, nil, "") if err != nil && !test.err { t.Fatalf("Got unexpected error %v", err) @@ -134,11 +130,8 @@ func TestExcludedBinariesNotDownloaded(t *testing.T) { return download.CreateDstDownloadMock(src, dst) } - oldMinikubeHome := os.Getenv("MINIKUBE_HOME") - defer os.Setenv("MINIKUBE_HOME", oldMinikubeHome) - minikubeHome := t.TempDir() - os.Setenv("MINIKUBE_HOME", minikubeHome) + t.Setenv("MINIKUBE_HOME", minikubeHome) if err := CacheBinariesForBootstrapper("v1.16.0", clusterBootstrapper, []string{binaryToExclude}, ""); err != nil { t.Errorf("Failed to cache binaries: %v", err) diff --git a/pkg/minikube/machine/client_test.go b/pkg/minikube/machine/client_test.go index 6a63feeb96..7ddd379bab 100644 --- a/pkg/minikube/machine/client_test.go +++ b/pkg/minikube/machine/client_test.go @@ -123,8 +123,8 @@ func TestRunDriver(t *testing.T) { // called with the proper environment variables, we setup the libmachine driver. testutil.MakeTempDir(t) - os.Setenv(localbinary.PluginEnvKey, localbinary.PluginEnvVal) - os.Setenv(localbinary.PluginEnvDriverName, driver.VirtualBox) + t.Setenv(localbinary.PluginEnvKey, localbinary.PluginEnvVal) + t.Setenv(localbinary.PluginEnvDriverName, driver.VirtualBox) // Capture stdout and reset it later. old := os.Stdout diff --git a/pkg/minikube/out/out_test.go b/pkg/minikube/out/out_test.go index c3d4ee195a..76be25399e 100644 --- a/pkg/minikube/out/out_test.go +++ b/pkg/minikube/out/out_test.go @@ -60,7 +60,7 @@ func TestOutT(t *testing.T) { for _, override := range []bool{true, false} { t.Run(fmt.Sprintf("%s-override-%v", tc.message, override), func(t *testing.T) { // Set MINIKUBE_IN_STYLE= - os.Setenv(OverrideEnv, strconv.FormatBool(override)) + t.Setenv(OverrideEnv, strconv.FormatBool(override)) f := tests.NewFakeFile() SetOutFile(f) Step(tc.style, tc.message, tc.params) @@ -78,7 +78,7 @@ func TestOutT(t *testing.T) { } func TestOut(t *testing.T) { - os.Setenv(OverrideEnv, "") + t.Setenv(OverrideEnv, "") testCases := []struct { format string @@ -108,7 +108,7 @@ func TestOut(t *testing.T) { } func TestErr(t *testing.T) { - os.Setenv(OverrideEnv, "0") + t.Setenv(OverrideEnv, "0") f := tests.NewFakeFile() SetErrFile(f) Err("xyz123 %s\n", "%s%%%d") diff --git a/pkg/minikube/proxy/proxy_test.go b/pkg/minikube/proxy/proxy_test.go index aa1341af49..a7da8cd7e9 100644 --- a/pkg/minikube/proxy/proxy_test.go +++ b/pkg/minikube/proxy/proxy_test.go @@ -134,17 +134,7 @@ func TestCheckEnv(t *testing.T) { } for _, tc := range testCases { t.Run(fmt.Sprintf("%s in %s", tc.ip, tc.envName), func(t *testing.T) { - originalEnv := os.Getenv(tc.envName) - defer func() { // revert to pre-test env var - err := os.Setenv(tc.envName, originalEnv) - if err != nil { - t.Fatalf("Error reverting env (%s) to its original value (%s) var after test ", tc.envName, originalEnv) - } - }() - - if err := os.Setenv(tc.envName, tc.mockEnvValue); err != nil { - t.Error("Error setting env var for taste case") - } + t.Setenv(tc.envName, tc.mockEnvValue) if got := checkEnv(tc.ip, tc.envName); got != tc.want { t.Errorf("CheckEnv(%v,%v) got %v ; want is %v", tc.ip, tc.envName, got, tc.want) } @@ -166,17 +156,8 @@ func TestIsIPExcluded(t *testing.T) { {"foo", "1.2.3.4", false}, } for _, tc := range testCases { - originalEnv := os.Getenv("NO_PROXY") - defer func() { // revert to pre-test env var - err := os.Setenv("NO_PROXY", originalEnv) - if err != nil { - t.Fatalf("Error reverting env NO_PROXY to its original value (%s) var after test ", originalEnv) - } - }() t.Run(fmt.Sprintf("exclude %s NO_PROXY(%v)", tc.ip, tc.env), func(t *testing.T) { - if err := os.Setenv("NO_PROXY", tc.env); err != nil { - t.Errorf("Error during setting env: %v", err) - } + t.Setenv("NO_PROXY", tc.env) if excluded := IsIPExcluded(tc.ip); excluded != tc.excluded { t.Fatalf("IsIPExcluded(%v) should return %v. NO_PROXY=%v", tc.ip, tc.excluded, tc.env) } @@ -196,18 +177,9 @@ func TestExcludeIP(t *testing.T) { {"foo", "", true}, {"foo", "1.2.3.4", true}, } - originalEnv := os.Getenv("NO_PROXY") - defer func() { // revert to pre-test env var - err := os.Setenv("NO_PROXY", originalEnv) - if err != nil { - t.Fatalf("Error reverting env NO_PROXY to its original value (%s) var after test ", originalEnv) - } - }() for _, tc := range testCases { t.Run(fmt.Sprintf("exclude %s NO_PROXY(%s)", tc.ip, tc.env), func(t *testing.T) { - if err := os.Setenv("NO_PROXY", tc.env); err != nil { - t.Errorf("Error during setting env: %v", err) - } + t.Setenv("NO_PROXY", tc.env) err := ExcludeIP(tc.ip) if err != nil && !tc.wantAErr { t.Errorf("ExcludeIP(%v) returned unexpected error %v", tc.ip, err) diff --git a/pkg/minikube/service/service_test.go b/pkg/minikube/service/service_test.go index cf6fa7d30c..42293cb529 100644 --- a/pkg/minikube/service/service_test.go +++ b/pkg/minikube/service/service_test.go @@ -557,14 +557,6 @@ func revertK8sClient(k K8sClient) { } func TestGetCoreClient(t *testing.T) { - originalEnv := os.Getenv("KUBECONFIG") - defer func() { - err := os.Setenv("KUBECONFIG", originalEnv) - if err != nil { - t.Fatalf("Error reverting env KUBECONFIG to its original value. Got err (%s)", err) - } - }() - mockK8sConfig := `apiVersion: v1 clusters: - cluster: @@ -616,7 +608,7 @@ users: if err != nil { t.Fatalf("Unexpected error when writing to file %v. Error: %v", test.kubeconfigPath, err) } - os.Setenv("KUBECONFIG", mockK8sConfigPath) + t.Setenv("KUBECONFIG", mockK8sConfigPath) k8s := K8sClientGetter{} _, err = k8s.GetCoreClient("minikube") diff --git a/pkg/minikube/shell/shell_test.go b/pkg/minikube/shell/shell_test.go index 12b57260c0..e0e2dc3728 100644 --- a/pkg/minikube/shell/shell_test.go +++ b/pkg/minikube/shell/shell_test.go @@ -123,10 +123,7 @@ set -e bar;`}, } func TestDetectSet(t *testing.T) { - orgShellEnv := os.Getenv("SHELL") - defer os.Setenv("SHELL", orgShellEnv) - - os.Setenv("SHELL", "/bin/bash") + t.Setenv("SHELL", "/bin/bash") if s, err := Detect(); err != nil { t.Fatalf("unexpected error: '%v' during shell detection. Returned shell: %s", err, s) } else if s == "" { diff --git a/pkg/minikube/storageclass/storageclass_test.go b/pkg/minikube/storageclass/storageclass_test.go index 246b800e3c..0686628f56 100644 --- a/pkg/minikube/storageclass/storageclass_test.go +++ b/pkg/minikube/storageclass/storageclass_test.go @@ -235,7 +235,7 @@ func TestGetStoragev1(t *testing.T) { defer os.Remove(configFile.Name()) for _, test := range tests { t.Run(test.description, func(t *testing.T) { - if err := setK8SConfig(test.config, configFile.Name()); err != nil { + if err := setK8SConfig(t, test.config, configFile.Name()); err != nil { t.Fatalf(err.Error()) } @@ -251,13 +251,13 @@ func TestGetStoragev1(t *testing.T) { } } -func setK8SConfig(config, kubeconfigPath string) error { +func setK8SConfig(t *testing.T, config, kubeconfigPath string) error { mockK8sConfigByte := []byte(config) mockK8sConfigPath := kubeconfigPath err := os.WriteFile(mockK8sConfigPath, mockK8sConfigByte, 0644) if err != nil { return fmt.Errorf("Unexpected error when writing to file %v. Error: %v", kubeconfigPath, err) } - os.Setenv("KUBECONFIG", mockK8sConfigPath) + t.Setenv("KUBECONFIG", mockK8sConfigPath) return nil } diff --git a/pkg/util/utils_test.go b/pkg/util/utils_test.go index 67a0d855f6..195a64d258 100644 --- a/pkg/util/utils_test.go +++ b/pkg/util/utils_test.go @@ -129,9 +129,7 @@ func TestMaybeChownDirRecursiveToMinikubeUser(t *testing.T) { } if os.Getenv("CHANGE_MINIKUBE_NONE_USER") == "" { - if err := os.Setenv("CHANGE_MINIKUBE_NONE_USER", "1"); nil != err { - t.Error("failed to set env: CHANGE_MINIKUBE_NONE_USER") - } + t.Setenv("CHANGE_MINIKUBE_NONE_USER", "1") } if os.Getenv("SUDO_USER") == "" { @@ -139,11 +137,7 @@ func TestMaybeChownDirRecursiveToMinikubeUser(t *testing.T) { if nil != err { t.Error("fail to get user") } - os.Setenv("SUDO_USER", user.Username) - err = os.Setenv("SUDO_USER", user.Username) - if nil != err { - t.Error("failed to set env: SUDO_USER") - } + t.Setenv("SUDO_USER", user.Username) } cases := []struct { diff --git a/test/integration/skaffold_test.go b/test/integration/skaffold_test.go index 78351f8b29..ecdd92f82d 100644 --- a/test/integration/skaffold_test.go +++ b/test/integration/skaffold_test.go @@ -89,8 +89,7 @@ func TestSkaffold(t *testing.T) { } } - oldPath := os.Getenv("PATH") - os.Setenv("PATH", fmt.Sprintf("%s%s%s", filepath.Dir(abs), pathSeparator, os.Getenv("PATH"))) + t.Setenv("PATH", fmt.Sprintf("%s%s%s", filepath.Dir(abs), pathSeparator, os.Getenv("PATH"))) // make sure 'docker' and 'minikube' are now in PATH for _, binary := range []string{"minikube", "docker"} { @@ -100,10 +99,6 @@ func TestSkaffold(t *testing.T) { } } - defer func() { - os.Setenv("PATH", oldPath) - }() - // make sure "skaffold run" exits without failure cmd := exec.CommandContext(ctx, tf.Name(), "run", "--minikube-profile", profile, "--kube-context", profile, "--status-check=true", "--port-forward=false", "--interactive=false") cmd.Dir = "testdata/skaffold" From e54aa8f48da0c5f56907a0492fd6ecd5c44f4d0c Mon Sep 17 00:00:00 2001 From: minikube-bot Date: Wed, 9 Nov 2022 14:59:32 +0000 Subject: [PATCH 22/46] bump golang versions --- .github/workflows/build.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/functional_verified.yml | 2 +- .github/workflows/leaderboard.yml | 2 +- .github/workflows/master.yml | 2 +- .github/workflows/pr.yml | 2 +- .github/workflows/sync-minikube.yml | 2 +- .github/workflows/time-to-k8s-public-chart.yml | 2 +- .github/workflows/time-to-k8s.yml | 2 +- .github/workflows/translations.yml | 2 +- .github/workflows/update-golang-version.yml | 2 +- .github/workflows/update-golint-version.yml | 2 +- .github/workflows/update-gopogh-version.yml | 2 +- .github/workflows/update-gotestsum-version.yml | 2 +- .github/workflows/update-k8s-versions.yml | 2 +- .github/workflows/update-kubeadm-constants.yml | 2 +- .github/workflows/yearly-leaderboard.yml | 2 +- Makefile | 2 +- hack/jenkins/common.ps1 | 2 +- hack/jenkins/installers/check_install_golang.sh | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 73900cd5df..36cb789919 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ on: - "!deploy/iso/**" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 05a1600766..6e00c4d115 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -6,7 +6,7 @@ on: - master env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/functional_verified.yml b/.github/workflows/functional_verified.yml index 46d9676025..64052f0b68 100644 --- a/.github/workflows/functional_verified.yml +++ b/.github/workflows/functional_verified.yml @@ -22,7 +22,7 @@ on: - deleted env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/leaderboard.yml b/.github/workflows/leaderboard.yml index 12b7a8909e..4ecc2a2230 100644 --- a/.github/workflows/leaderboard.yml +++ b/.github/workflows/leaderboard.yml @@ -6,7 +6,7 @@ on: - 'v*-beta.*' env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 45df5da39d..c781e102f4 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -14,7 +14,7 @@ on: - "!deploy/iso/**" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 772bf4196d..f1cba5ffb0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -12,7 +12,7 @@ on: - "!deploy/iso/**" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/sync-minikube.yml b/.github/workflows/sync-minikube.yml index b2189ffe51..3f2041c6e5 100644 --- a/.github/workflows/sync-minikube.yml +++ b/.github/workflows/sync-minikube.yml @@ -6,7 +6,7 @@ on: - cron: "0 2,14 * * *" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/time-to-k8s-public-chart.yml b/.github/workflows/time-to-k8s-public-chart.yml index ce436c3a3c..dd1375b8dd 100644 --- a/.github/workflows/time-to-k8s-public-chart.yml +++ b/.github/workflows/time-to-k8s-public-chart.yml @@ -6,7 +6,7 @@ on: - cron: "0 2,14 * * *" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/time-to-k8s.yml b/.github/workflows/time-to-k8s.yml index 5bb512ae08..5b6fc8db71 100644 --- a/.github/workflows/time-to-k8s.yml +++ b/.github/workflows/time-to-k8s.yml @@ -5,7 +5,7 @@ on: types: [released] env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml index 064b85d097..3ee67796b0 100644 --- a/.github/workflows/translations.yml +++ b/.github/workflows/translations.yml @@ -6,7 +6,7 @@ on: - "translations/**" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/update-golang-version.yml b/.github/workflows/update-golang-version.yml index 63cd6f63ce..f12f68e529 100644 --- a/.github/workflows/update-golang-version.yml +++ b/.github/workflows/update-golang-version.yml @@ -6,7 +6,7 @@ on: - cron: "0 9 * * 1" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/update-golint-version.yml b/.github/workflows/update-golint-version.yml index 55775f5f6e..ea9b03c412 100644 --- a/.github/workflows/update-golint-version.yml +++ b/.github/workflows/update-golint-version.yml @@ -6,7 +6,7 @@ on: - cron: "0 10 * * 1" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/update-gopogh-version.yml b/.github/workflows/update-gopogh-version.yml index ef8ddd168e..1a430823e1 100644 --- a/.github/workflows/update-gopogh-version.yml +++ b/.github/workflows/update-gopogh-version.yml @@ -6,7 +6,7 @@ on: - cron: "0 9 * * 1" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/update-gotestsum-version.yml b/.github/workflows/update-gotestsum-version.yml index facf9fdd31..8ef21b9fc5 100644 --- a/.github/workflows/update-gotestsum-version.yml +++ b/.github/workflows/update-gotestsum-version.yml @@ -6,7 +6,7 @@ on: - cron: "0 10 * * 1" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/update-k8s-versions.yml b/.github/workflows/update-k8s-versions.yml index 921f32f239..eabb9e998d 100644 --- a/.github/workflows/update-k8s-versions.yml +++ b/.github/workflows/update-k8s-versions.yml @@ -6,7 +6,7 @@ on: - cron: "0 8 * * 1" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/update-kubeadm-constants.yml b/.github/workflows/update-kubeadm-constants.yml index 5bc7eae6f3..d5ec2436ff 100644 --- a/.github/workflows/update-kubeadm-constants.yml +++ b/.github/workflows/update-kubeadm-constants.yml @@ -6,7 +6,7 @@ on: - cron: "0 6 * * 1" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/.github/workflows/yearly-leaderboard.yml b/.github/workflows/yearly-leaderboard.yml index 1d784baacb..3c5c918512 100644 --- a/.github/workflows/yearly-leaderboard.yml +++ b/.github/workflows/yearly-leaderboard.yml @@ -6,7 +6,7 @@ on: - cron: "0 0 2 * *" env: GOPROXY: https://proxy.golang.org - GO_VERSION: '1.19.2' + GO_VERSION: '1.19.3' permissions: contents: read diff --git a/Makefile b/Makefile index 30b04ebc81..1fdc071ee5 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ RPM_REVISION ?= 0 # used by hack/jenkins/release_build_and_upload.sh and KVM_BUILD_IMAGE, see also BUILD_IMAGE below # update this only by running `make update-golang-version` -GO_VERSION ?= 1.19.2 +GO_VERSION ?= 1.19.3 # update this only by running `make update-golang-version` GO_K8S_VERSION_PREFIX ?= v1.25.0 diff --git a/hack/jenkins/common.ps1 b/hack/jenkins/common.ps1 index ab73df1979..d429dee38c 100644 --- a/hack/jenkins/common.ps1 +++ b/hack/jenkins/common.ps1 @@ -30,7 +30,7 @@ function Write-GithubStatus { $env:SHORT_COMMIT=$env:COMMIT.substring(0, 7) $gcs_bucket="minikube-builds/logs/$env:MINIKUBE_LOCATION/$env:ROOT_JOB_ID" $env:MINIKUBE_SUPPRESS_DOCKER_PERFORMANCE="true" -$GoVersion = "1.19.2" +$GoVersion = "1.19.3" # Docker's kubectl breaks things, and comes earlier in the path than the regular kubectl. So download the expected kubectl and replace Docker's version. $KubeVersion = (Invoke-WebRequest -Uri 'https://storage.googleapis.com/kubernetes-release/release/stable.txt' -UseBasicParsing).Content diff --git a/hack/jenkins/installers/check_install_golang.sh b/hack/jenkins/installers/check_install_golang.sh index 861b30e831..2fbb16a4ab 100755 --- a/hack/jenkins/installers/check_install_golang.sh +++ b/hack/jenkins/installers/check_install_golang.sh @@ -22,7 +22,7 @@ if (($# < 1)); then exit 1 fi -VERSION_TO_INSTALL=1.19.2 +VERSION_TO_INSTALL=1.19.3 INSTALL_PATH=${1} function current_arch() { From 9ed675cbde3f1f8825e3dddddd254dc3e4f87cbf Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Wed, 9 Nov 2022 10:19:54 -0500 Subject: [PATCH 23/46] update go --- Makefile | 2 +- deploy/addons/auto-pause/Dockerfile | 2 +- deploy/iso/minikube-iso/go.hash | 1 + deploy/kicbase/Dockerfile | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 1fdc071ee5..61280a396e 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ KVM_GO_VERSION ?= $(GO_VERSION:.0=) INSTALL_SIZE ?= $(shell du out/minikube-windows-amd64.exe | cut -f1) BUILDROOT_BRANCH ?= 2021.02.12 # the go version on the line below is for the ISO and does not need to be updated often -GOLANG_OPTIONS = GO_VERSION=1.19.2 GO_HASH_FILE=$(PWD)/deploy/iso/minikube-iso/go.hash +GOLANG_OPTIONS = GO_VERSION=1.19.3 GO_HASH_FILE=$(PWD)/deploy/iso/minikube-iso/go.hash BUILDROOT_OPTIONS = BR2_EXTERNAL=../../deploy/iso/minikube-iso $(GOLANG_OPTIONS) REGISTRY ?= gcr.io/k8s-minikube diff --git a/deploy/addons/auto-pause/Dockerfile b/deploy/addons/auto-pause/Dockerfile index 8db63196b1..2b2bd1543b 100644 --- a/deploy/addons/auto-pause/Dockerfile +++ b/deploy/addons/auto-pause/Dockerfile @@ -1,2 +1,2 @@ -FROM golang:1.19.2 +FROM golang:1.19.3 ADD auto-pause-hook /auto-pause-hook diff --git a/deploy/iso/minikube-iso/go.hash b/deploy/iso/minikube-iso/go.hash index ca6cdbbe67..ae24e46cc8 100644 --- a/deploy/iso/minikube-iso/go.hash +++ b/deploy/iso/minikube-iso/go.hash @@ -3,4 +3,5 @@ sha256 3a70e5055509f347c0fb831ca07a2bf3b531068f349b14a3c652e9b5b67beb5d go1.17 sha256 0012386ddcbb5f3350e407c679923811dbd283fcdc421724931614a842ecbc2d go1.18.3.src.tar.gz sha256 27871baa490f3401414ad793fba49086f6c855b1c584385ed7771e1204c7e179 go1.19.1.src.tar.gz sha256 2ce930d70a931de660fdaf271d70192793b1b240272645bf0275779f6704df6b go1.19.2.src.tar.gz +sha256 18ac263e39210bcf68d85f4370e97fb1734166995a1f63fb38b4f6e07d90d212 go1.19.3.src.tar.gz sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/deploy/kicbase/Dockerfile b/deploy/kicbase/Dockerfile index 7bbae67973..62227f4ccc 100644 --- a/deploy/kicbase/Dockerfile +++ b/deploy/kicbase/Dockerfile @@ -19,7 +19,7 @@ # multi-stage docker build so we can build auto-pause for arm64 -FROM golang:1.19.2 as auto-pause +FROM golang:1.19.3 as auto-pause WORKDIR /src # auto-pause depends on core minikube code so we need to pass the whole source code as the context # copy in the minimal amount of source code possible From 98ec3a9f03bfabd2eb54315516aa85163777fa99 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Wed, 9 Nov 2022 11:53:13 -0500 Subject: [PATCH 24/46] update auto-pause addon image --- Makefile | 2 +- pkg/minikube/assets/addons.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 61280a396e..9daa44194a 100644 --- a/Makefile +++ b/Makefile @@ -108,7 +108,7 @@ SHA512SUM=$(shell command -v sha512sum || echo "shasum -a 512") GVISOR_TAG ?= latest # auto-pause-hook tag to push changes to -AUTOPAUSE_HOOK_TAG ?= v0.0.2 +AUTOPAUSE_HOOK_TAG ?= v0.0.3 # prow-test tag to push changes to PROW_TEST_TAG ?= v0.0.3 diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index a02ef4c49c..142746eacb 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -120,7 +120,7 @@ var Addons = map[string]*Addon{ // GuestPersistentDir }, false, "auto-pause", "Google", "", "", map[string]string{ - "AutoPauseHook": "k8s-minikube/auto-pause-hook:v0.0.2@sha256:c76be418df5ca9c66d0d11c2c68461acbf4072c1cdfc17e64729c5ef4d5a4128", + "AutoPauseHook": "k8s-minikube/auto-pause-hook:v0.0.3@sha256:2ff12878e569802afa75baf65701ab913a88fe61a1cbb22fdc852b1345af2a5c", }, map[string]string{ "AutoPauseHook": "gcr.io", }), From 28beac4edb0bfcd1e8dd47866ca017b39b1a5df2 Mon Sep 17 00:00:00 2001 From: Predrag Rogic Date: Wed, 9 Nov 2022 22:56:29 +0000 Subject: [PATCH 25/46] fix kubelet localStorageCapacityIsolation option for different k8s versions --- cmd/minikube/cmd/start_flags.go | 13 ++++++++-- .../bootstrapper/bsutil/ktmpl/v1beta3.go | 3 +++ pkg/minikube/bootstrapper/bsutil/kubeadm.go | 16 +++++++++++++ .../bootstrapper/bsutil/kubeadm_test.go | 24 +++++++++++++++++++ pkg/minikube/bootstrapper/bsutil/kubelet.go | 10 ++++++++ 5 files changed, 64 insertions(+), 2 deletions(-) diff --git a/cmd/minikube/cmd/start_flags.go b/cmd/minikube/cmd/start_flags.go index 4fd838fcf8..409d74d2b9 100644 --- a/cmd/minikube/cmd/start_flags.go +++ b/cmd/minikube/cmd/start_flags.go @@ -620,9 +620,18 @@ func generateNewConfigFromFlags(cmd *cobra.Command, k8sVersion string, rtime str } out.Styled(style.Notice, "Using {{.driver_name}} driver with root privileges", out.V{"driver_name": driver.FullName(drvName)}) } + // for btrfs: if k8s < v1.25.0-beta.0 set kubelet's LocalStorageCapacityIsolation feature gate flag to false, + // and if k8s >= v1.25.0-beta.0 (when it went ga and removed as feature gate), set kubelet's localStorageCapacityIsolation option (via kubeadm config) to false. + // ref: https://github.com/kubernetes/minikube/issues/14728#issue-1327885840 if si.StorageDriver == "btrfs" { - klog.Info("auto-setting LocalStorageCapacityIsolation to false because using btrfs storage driver") - cc.KubernetesConfig.FeatureGates = addFeatureGate(cc.KubernetesConfig.FeatureGates, "LocalStorageCapacityIsolation=false") + if semver.MustParse(strings.TrimPrefix(k8sVersion, version.VersionPrefix)).LT(semver.MustParse("1.25.0-beta.0")) { + klog.Info("auto-setting LocalStorageCapacityIsolation to false because using btrfs storage driver") + cc.KubernetesConfig.FeatureGates = addFeatureGate(cc.KubernetesConfig.FeatureGates, "LocalStorageCapacityIsolation=false") + } else if !cc.KubernetesConfig.ExtraOptions.Exists("kubelet.localStorageCapacityIsolation=false") { + if err := cc.KubernetesConfig.ExtraOptions.Set("kubelet.localStorageCapacityIsolation=false"); err != nil { + exit.Error(reason.InternalConfigSet, "failed to set extra option", err) + } + } } if runtime.GOOS == "linux" && si.DockerOS == "Docker Desktop" { out.WarningT("For an improved experience it's recommended to use Docker Engine instead of Docker Desktop.\nDocker Engine installation instructions: https://docs.docker.com/engine/install/#server") diff --git a/pkg/minikube/bootstrapper/bsutil/ktmpl/v1beta3.go b/pkg/minikube/bootstrapper/bsutil/ktmpl/v1beta3.go index f6df7e499b..c2b73c6350 100644 --- a/pkg/minikube/bootstrapper/bsutil/ktmpl/v1beta3.go +++ b/pkg/minikube/bootstrapper/bsutil/ktmpl/v1beta3.go @@ -78,6 +78,9 @@ authentication: x509: clientCAFile: {{.ClientCAFile}} cgroupDriver: {{.CgroupDriver}} +{{- range $key, $val := .KubeletConfigOpts}} +{{$key}}: {{$val}} +{{- end}} clusterDomain: "{{if .DNSDomain}}{{.DNSDomain}}{{else}}cluster.local{{end}}" # disable disk resource management by default imageGCHighThresholdPercent: 100 diff --git a/pkg/minikube/bootstrapper/bsutil/kubeadm.go b/pkg/minikube/bootstrapper/bsutil/kubeadm.go index cbe857d082..112a395de6 100644 --- a/pkg/minikube/bootstrapper/bsutil/kubeadm.go +++ b/pkg/minikube/bootstrapper/bsutil/kubeadm.go @@ -109,6 +109,7 @@ func GenerateKubeadmYAML(cc config.ClusterConfig, n config.Node, r cruntime.Mana ControlPlaneAddress string KubeProxyOptions map[string]string ResolvConfSearchRegression bool + KubeletConfigOpts map[string]string }{ CertDir: vmpath.GuestKubernetesCertsDir, ServiceCIDR: constants.DefaultServiceCIDR, @@ -133,6 +134,7 @@ func GenerateKubeadmYAML(cc config.ClusterConfig, n config.Node, r cruntime.Mana ControlPlaneAddress: constants.ControlPlaneAlias, KubeProxyOptions: createKubeProxyOptions(k8s.ExtraOptions), ResolvConfSearchRegression: HasResolvConfSearchRegression(k8s.KubernetesVersion), + KubeletConfigOpts: kubeletConfigOpts(k8s.ExtraOptions), } if k8s.ServiceCIDR != "" { @@ -215,3 +217,17 @@ func HasResolvConfSearchRegression(k8sVersion string) bool { } return versionSemver.EQ(semver.Version{Major: 1, Minor: 25}) } + +// kubeletConfigOpts extracts only those kubelet extra options allowed by kubeletConfigParams. +func kubeletConfigOpts(extraOpts config.ExtraOptionSlice) map[string]string { + args := map[string]string{} + for _, eo := range extraOpts { + if eo.Component != Kubelet { + continue + } + if config.ContainsParam(kubeletConfigParams, eo.Key) { + args[eo.Key] = eo.Value + } + } + return args +} diff --git a/pkg/minikube/bootstrapper/bsutil/kubeadm_test.go b/pkg/minikube/bootstrapper/bsutil/kubeadm_test.go index baa9cebe81..8a9548b3b3 100644 --- a/pkg/minikube/bootstrapper/bsutil/kubeadm_test.go +++ b/pkg/minikube/bootstrapper/bsutil/kubeadm_test.go @@ -307,3 +307,27 @@ func TestEtcdExtraArgs(t *testing.T) { t.Errorf("machines mismatch (-want +got):\n%s", diff) } } + +func TestKubeletConfig(t *testing.T) { + expected := map[string]string{ + "localStorageCapacityIsolation": "false", + } + extraOpts := append(getExtraOpts(), []config.ExtraOption{ + { + Component: Kubelet, + Key: "unsupported-config-option", + Value: "any", + }, { + Component: Kubelet, + Key: "localStorageCapacityIsolation", + Value: "false", + }, { + Component: Kubelet, + Key: "kubelet.cgroups-per-qos", + Value: "false", + }}...) + actual := kubeletConfigOpts(extraOpts) + if diff := cmp.Diff(expected, actual); diff != "" { + t.Errorf("machines mismatch (-want +got):\n%s", diff) + } +} diff --git a/pkg/minikube/bootstrapper/bsutil/kubelet.go b/pkg/minikube/bootstrapper/bsutil/kubelet.go index dc3a009996..b358d06300 100644 --- a/pkg/minikube/bootstrapper/bsutil/kubelet.go +++ b/pkg/minikube/bootstrapper/bsutil/kubelet.go @@ -36,6 +36,11 @@ import ( "k8s.io/minikube/pkg/util" ) +// kubeletConfigParams are the only allowed kubelet parameters for kubeadmin config file and not to be used as kubelet flags +var kubeletConfigParams = []string{ + "localStorageCapacityIsolation", +} + func extraKubeletOpts(mc config.ClusterConfig, nc config.Node, r cruntime.Manager) (map[string]string, error) { k8s := mc.KubernetesConfig version, err := util.ParseKubernetesVersion(k8s.KubernetesVersion) @@ -95,6 +100,11 @@ func extraKubeletOpts(mc config.ClusterConfig, nc config.Node, r cruntime.Manage extraOpts["feature-gates"] = kubeletFeatureArgs } + // filter out non-flag extra kubelet config options + for _, opt := range kubeletConfigParams { + delete(extraOpts, opt) + } + return extraOpts, nil } From e8a13c9ad048065faef05c4ea8dc200e4fcd72d4 Mon Sep 17 00:00:00 2001 From: Medya Gh Date: Wed, 9 Nov 2022 15:41:12 -0800 Subject: [PATCH 26/46] fix the spanner addon --- deploy/addons/cloud-spanner/deployment.yaml | 2 +- pkg/minikube/assets/addons.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/addons/cloud-spanner/deployment.yaml b/deploy/addons/cloud-spanner/deployment.yaml index c95aca0343..85e2500e21 100644 --- a/deploy/addons/cloud-spanner/deployment.yaml +++ b/deploy/addons/cloud-spanner/deployment.yaml @@ -19,7 +19,7 @@ spec: spec: containers: - name: cloud-spanner-emulator - image: gcr.io/cloud-spanner-emulator/emulator:latest + image: {{.CustomRegistries.CloudSpanner | default .ImageRepository | default .Registries.CloudSpanner}}{{.Images.CloudSpanner}} imagePullPolicy: IfNotPresent ports: - containerPort: 9020 diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index a02ef4c49c..55d5c7ac09 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -745,9 +745,9 @@ var Addons = map[string]*Addon{ "cloud-spanner": NewAddon([]*BinAsset{ MustBinAsset(addons.CloudSpanner, "cloud-spanner/deployment.yaml", vmpath.GuestAddonsDir, "deployment.yaml", "6040"), }, false, "cloud-spanner", "Google", "", "https://minikube.sigs.k8s.io/docs/handbook/addons/cloud-spanner/", map[string]string{ - "CloudSpannerAddon": "cloud-spanner-emulator/emulator:1.4.6@sha256:b9341271be665a97f8ef778a752f0f63bea8c8a90bcdf79c03fb6c3444a8478d", + "CloudSpanner": "cloud-spanner-emulator/emulator:1.4.6@sha256:b9341271be665a97f8ef778a752f0f63bea8c8a90bcdf79c03fb6c3444a8478d", }, map[string]string{ - "CloudSpannerAddon": "gcr.io", + "CloudSpanner": "gcr.io", }), } From c722fcbaf3a979fc62b97f40cdf4b37c2fc0fbd1 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 10:17:31 -0500 Subject: [PATCH 27/46] update ingress addon images --- pkg/minikube/assets/addons.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index a02ef4c49c..ab0022854e 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -247,16 +247,16 @@ var Addons = map[string]*Addon{ "ingress-deploy.yaml", "0640"), }, false, "ingress", "Kubernetes", "", "https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/", map[string]string{ - // https://github.com/kubernetes/ingress-nginx/blob/c32f9a43279425920c41ba2e54dfcb1a54c0daf7/deploy/static/provider/kind/deploy.yaml#L834 - "IngressController": "ingress-nginx/controller:v1.2.1@sha256:5516d103a9c2ecc4f026efbd4b40662ce22dc1f824fb129ed121460aaa5c47f8", - // https://github.com/kubernetes/ingress-nginx/blob/fc38b9f2aa2d68ee00c417cf97e727b77a00c175/deploy/static/provider/kind/deploy.yaml#L621 - "KubeWebhookCertgenCreate": "ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660", - // https://github.com/kubernetes/ingress-nginx/blob/fc38b9f2aa2d68ee00c417cf97e727b77a00c175/deploy/static/provider/kind/deploy.yaml#L673 - "KubeWebhookCertgenPatch": "ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660", + // https://github.com/kubernetes/ingress-nginx/blob/63dbbdbb3a099417f411fbd1d684fa2a287c96cd/deploy/static/provider/kind/deploy.yaml#L458 + "IngressController": "ingress-nginx/controller:v1.5.1@sha256:4ba73c697770664c1e00e9f968de14e08f606ff961c76e5d7033a4a9c593c629", + // https://github.com/kubernetes/ingress-nginx/blob/63dbbdbb3a099417f411fbd1d684fa2a287c96cd/deploy/static/provider/kind/deploy.yaml#L565 + "KubeWebhookCertgenCreate": "ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343@sha256:39c5b2e3310dc4264d638ad28d9d1d96c4cbb2b2dcfb52368fe4e3c63f61e10f", + // https://github.com/kubernetes/ingress-nginx/blob/63dbbdbb3a099417f411fbd1d684fa2a287c96cd/deploy/static/provider/kind/deploy.yaml#L614 + "KubeWebhookCertgenPatch": "ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343@sha256:39c5b2e3310dc4264d638ad28d9d1d96c4cbb2b2dcfb52368fe4e3c63f61e10f", }, map[string]string{ - "IngressController": "k8s.gcr.io", - "KubeWebhookCertgenCreate": "k8s.gcr.io", - "KubeWebhookCertgenPatch": "k8s.gcr.io", + "IngressController": "registry.k8s.io", + "KubeWebhookCertgenCreate": "registry.k8s.io", + "KubeWebhookCertgenPatch": "registry.k8s.io", }), "istio-provisioner": NewAddon([]*BinAsset{ MustBinAsset(addons.IstioProvisionerAssets, From 8b1b6d380c7075db9b7f2fe412763a3df2b7fa6b Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 14:51:38 -0500 Subject: [PATCH 28/46] ISO: Update Docker from 20.10.20 to 20.10.21 --- .../package/containerd-bin-aarch64/containerd-bin.hash | 1 + .../aarch64/package/containerd-bin-aarch64/containerd-bin.mk | 4 ++-- .../arch/aarch64/package/docker-bin-aarch64/docker-bin.hash | 1 + .../arch/aarch64/package/docker-bin-aarch64/docker-bin.mk | 2 +- .../arch/x86_64/package/containerd-bin/containerd-bin.hash | 1 + .../arch/x86_64/package/containerd-bin/containerd-bin.mk | 4 ++-- .../arch/x86_64/package/docker-bin/docker-bin.hash | 1 + .../minikube-iso/arch/x86_64/package/docker-bin/docker-bin.mk | 2 +- 8 files changed, 10 insertions(+), 6 deletions(-) diff --git a/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.hash b/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.hash index bff66331fa..9894c41be2 100644 --- a/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.hash +++ b/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.hash @@ -17,3 +17,4 @@ sha256 02b79d5e2b07b5e64cd28f1fe84395ee11eef95fc49fd923a9ab93022b148be6 v1.5.11. sha256 f422e21e35705d1e741c1f3280813e43f811eaff4dcc5cdafac8b8952b15f468 v1.6.4.tar.gz sha265 27afb673c20d53aa5c31aec07b38eb7e4dc911e7e1f0c76fac9513bbf070bd24 v1.6.6.tar.gz sha256 f5f938513c28377f64f85e84f2750d39f26b01262f3a062b7e8ce35b560ca407 v1.6.8.tar.gz +sha256 a034b2273533207d5d96bef8bd3fce1efff85139815efb756d90c705ae1a05ce v1.6.9.tar.gz diff --git a/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.mk b/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.mk index 7dd4a3f8fe..9bf242ea20 100644 --- a/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.mk +++ b/deploy/iso/minikube-iso/arch/aarch64/package/containerd-bin-aarch64/containerd-bin.mk @@ -3,8 +3,8 @@ # containerd # ################################################################################ -CONTAINERD_BIN_AARCH64_VERSION = v1.6.8 -CONTAINERD_BIN_AARCH64_COMMIT = 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6 +CONTAINERD_BIN_AARCH64_VERSION = v1.6.9 +CONTAINERD_BIN_AARCH64_COMMIT = 1c90a442489720eec95342e1789ee8a5e1b9536f CONTAINERD_BIN_AARCH64_SITE = https://github.com/containerd/containerd/archive CONTAINERD_BIN_AARCH64_SOURCE = $(CONTAINERD_BIN_AARCH64_VERSION).tar.gz CONTAINERD_BIN_AARCH64_DEPENDENCIES = host-go libgpgme diff --git a/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.hash b/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.hash index 656eb80596..b9de9cbdd6 100644 --- a/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.hash +++ b/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.hash @@ -5,3 +5,4 @@ sha256 249244024b507a6599084522cc73e73993349d13264505b387593f2b2ed603e6 docker-2 sha256 aa2b2da571fb9160df87fd5a831f203fb97655e35fb9c4e8d46e72078ae16acf docker-20.10.18.tgz sha256 a04414b3fcf537f0cff17cf01e2b7cb3e39013c10d12e7959547f11aaf71f63c docker-20.10.19.tgz sha256 ef69a2a8ddb87026a8b19e240b2ae3087764b7285860df7faee24e04024f2eb7 docker-20.10.20.tgz +sha256 b4ceb6151d4dd1bfc7557f5fe0317e29cfcac91f798c34fae7dee891a811f8ee docker-20.10.21.tgz diff --git a/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.mk b/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.mk index be60ac7be1..a3867b8c63 100644 --- a/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.mk +++ b/deploy/iso/minikube-iso/arch/aarch64/package/docker-bin-aarch64/docker-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_BIN_AARCH64_VERSION = 20.10.20 +DOCKER_BIN_AARCH64_VERSION = 20.10.21 DOCKER_BIN_AARCH64_SITE = https://download.docker.com/linux/static/stable/aarch64 DOCKER_BIN_AARCH64_SOURCE = docker-$(DOCKER_BIN_AARCH64_VERSION).tgz diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.hash b/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.hash index f86c77be1e..e87a009097 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.hash +++ b/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.hash @@ -17,3 +17,4 @@ sha256 02b79d5e2b07b5e64cd28f1fe84395ee11eef95fc49fd923a9ab93022b148be6 v1.5.11. sha256 f422e21e35705d1e741c1f3280813e43f811eaff4dcc5cdafac8b8952b15f468 v1.6.4.tar.gz sha256 27afb673c20d53aa5c31aec07b38eb7e4dc911e7e1f0c76fac9513bbf070bd24 v1.6.6.tar.gz sha256 f5f938513c28377f64f85e84f2750d39f26b01262f3a062b7e8ce35b560ca407 v1.6.8.tar.gz +sha256 a034b2273533207d5d96bef8bd3fce1efff85139815efb756d90c705ae1a05ce v1.6.9.tar.gz diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.mk b/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.mk index 2512323417..4e95a18514 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.mk +++ b/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.mk @@ -3,8 +3,8 @@ # containerd # ################################################################################ -CONTAINERD_BIN_VERSION = v1.6.8 -CONTAINERD_BIN_COMMIT = 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6 +CONTAINERD_BIN_VERSION = v1.6.9 +CONTAINERD_BIN_COMMIT = 1c90a442489720eec95342e1789ee8a5e1b9536f CONTAINERD_BIN_SITE = https://github.com/containerd/containerd/archive CONTAINERD_BIN_SOURCE = $(CONTAINERD_BIN_VERSION).tar.gz CONTAINERD_BIN_DEPENDENCIES = host-go libgpgme diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.hash b/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.hash index 0687a8005a..f2eae21124 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.hash +++ b/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.hash @@ -41,3 +41,4 @@ sha256 969210917b5548621a2b541caf00f86cc6963c6cf0fb13265b9731c3b98974d9 docker- sha256 0629b063fa3aa5660f3fb96f67edb0e20e92d5050b82403f95faf1c142177401 docker-20.10.18.tgz sha256 ddcd732baaa03958cc8f326a5dca09bcd8f348bb7d2737aaf67bbdd7d80302d1 docker-20.10.19.tgz sha256 a303cee9125c89abbbb6c4f044b3e2c01c7895e373b90d8de16a7ed25bb2530a docker-20.10.20.tgz +sha256 2582bed8772b283bda9d4565c0af76ee653c93d93dc6b8d0aad795d731a1bb81 docker-20.10.21.tgz diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.mk b/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.mk index 1cdb107191..0d426057a3 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.mk +++ b/deploy/iso/minikube-iso/arch/x86_64/package/docker-bin/docker-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_BIN_VERSION = 20.10.20 +DOCKER_BIN_VERSION = 20.10.21 DOCKER_BIN_SITE = https://download.docker.com/linux/static/stable/x86_64 DOCKER_BIN_SOURCE = docker-$(DOCKER_BIN_VERSION).tgz From 9c10fe28c0c540e42bfb9518a79c4fb73e0d37b6 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 15:08:39 -0500 Subject: [PATCH 29/46] update docsy --- site/themes/docsy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/themes/docsy b/site/themes/docsy index 2536303cad..f27daed900 160000 --- a/site/themes/docsy +++ b/site/themes/docsy @@ -1 +1 @@ -Subproject commit 2536303cad19991c673037f4f16332075141364a +Subproject commit f27daed90073fb74ca3afdc0250910abcfaa6bea From 03197d4a27b5aec7bc326a7c99fcefca5ad0616b Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 15:26:11 -0500 Subject: [PATCH 30/46] update docsy and hugo --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index b88ee5dd77..8376b1c5ad 100644 --- a/netlify.toml +++ b/netlify.toml @@ -4,7 +4,7 @@ publish = "site/public/" command = "pwd && cd themes/docsy && git submodule update -f --init && cd ../.. && hugo" [build.environment] -HUGO_VERSION = "0.83.1" +HUGO_VERSION = "0.105.0" [context.production.environment] HUGO_ENV = "production" From 0c947c774d521fb3e49f1259d213e3ded0abb505 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 15:30:07 -0500 Subject: [PATCH 31/46] website change to trigger build --- .../en/docs/benchmarks/imageBuild/benchmarkingprocess.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/content/en/docs/benchmarks/imageBuild/benchmarkingprocess.md b/site/content/en/docs/benchmarks/imageBuild/benchmarkingprocess.md index ce21fbace2..e2c71ee3c7 100644 --- a/site/content/en/docs/benchmarks/imageBuild/benchmarkingprocess.md +++ b/site/content/en/docs/benchmarks/imageBuild/benchmarkingprocess.md @@ -2,7 +2,7 @@ title: "About the Benchmarking Process" linkTitle: "About the Benchmarking Process" weight: 1 ---- +--- ## What's the difference between the four images? In the benchmarking charts you'll see four images: Few Large Layers, Few Small Layers, Many Large Layers, and Many Small Layers From d6aba1b047a8d3d32b62fcfab6042e917981ef85 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 15:44:16 -0500 Subject: [PATCH 32/46] add npm install --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 8376b1c5ad..934e54929d 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,7 +1,7 @@ [build] base = "site/" publish = "site/public/" -command = "pwd && cd themes/docsy && git submodule update -f --init && cd ../.. && hugo" +command = "pwd && cd themes/docsy && npm install && git submodule update -f --init && cd ../.. && hugo" [build.environment] HUGO_VERSION = "0.105.0" From 8cc6d77bf3c940dfaa83fc4e05e5740272f6da98 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 15:51:42 -0500 Subject: [PATCH 33/46] set node version --- netlify.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/netlify.toml b/netlify.toml index 934e54929d..cb662e169f 100644 --- a/netlify.toml +++ b/netlify.toml @@ -4,6 +4,7 @@ publish = "site/public/" command = "pwd && cd themes/docsy && npm install && git submodule update -f --init && cd ../.. && hugo" [build.environment] +NODE_VERSION = "14.21.1" HUGO_VERSION = "0.105.0" [context.production.environment] From 199a16d11ff2581a710d3fc462a54935c59159ed Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Thu, 10 Nov 2022 16:49:23 -0500 Subject: [PATCH 34/46] add npm install to fix local site buildg --- Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9daa44194a..82471551c3 100644 --- a/Makefile +++ b/Makefile @@ -921,10 +921,11 @@ endif site/themes/docsy/assets/vendor/bootstrap/package.js: ## update the website docsy theme git submodule - git submodule update -f --init --recursive + git submodule update -f --init out/hugo/hugo: mkdir -p out + (cd site/themes/docsy && npm install) test -d out/hugo || git clone https://github.com/gohugoio/hugo.git out/hugo (cd out/hugo && go build --tags extended) From 7dfaddc864086ec9d168dc1aa33289aa735e7177 Mon Sep 17 00:00:00 2001 From: shixiuguo Date: Fri, 11 Nov 2022 09:44:18 +0800 Subject: [PATCH 35/46] update the website --- .../arch/x86_64/package/hyperv-daemons/hv_fcopy_daemon.service | 2 +- .../arch/x86_64/package/hyperv-daemons/hv_kvp_daemon.service | 2 +- .../arch/x86_64/package/hyperv-daemons/hv_vss_daemon.service | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_fcopy_daemon.service b/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_fcopy_daemon.service index 88fed6f5ad..26ac294258 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_fcopy_daemon.service +++ b/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_fcopy_daemon.service @@ -1,6 +1,6 @@ [Unit] Description=Hyper-V FCOPY Daemon -Documentation=https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services#hyper-v-guest-service-interface +Documentation=https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services#hyper-v-guest-service-interface BindsTo=sys-devices-virtual-misc-vmbus\x21hv_fcopy.device [Service] diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_kvp_daemon.service b/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_kvp_daemon.service index 6cd7e9d6c1..3c87531fc3 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_kvp_daemon.service +++ b/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_kvp_daemon.service @@ -1,6 +1,6 @@ [Unit] Description=Hyper-V Key Value Pair Daemon -Documentation=https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services#hyper-v-data-exchange-service-kvp +Documentation=https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services#hyper-v-data-exchange-service-kvp BindsTo=sys-devices-virtual-misc-vmbus\x21hv_kvp.device [Service] diff --git a/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_vss_daemon.service b/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_vss_daemon.service index d12aa1dded..745044e8a7 100644 --- a/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_vss_daemon.service +++ b/deploy/iso/minikube-iso/arch/x86_64/package/hyperv-daemons/hv_vss_daemon.service @@ -1,6 +1,6 @@ [Unit] Description=Hyper-V VSS Daemon -Documentation=https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services#hyper-v-volume-shadow-copy-requestor +Documentation=https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/integration-services#hyper-v-volume-shadow-copy-requestor BindsTo=sys-devices-virtual-misc-vmbus\x21hv_vss.device [Service] From 314dcaadab36a3ca4be28d1375ed99717adf3c9f Mon Sep 17 00:00:00 2001 From: minikube-bot Date: Fri, 11 Nov 2022 01:46:35 +0000 Subject: [PATCH 36/46] Updating ISO to v1.28.0-1668110411-15341 --- Makefile | 2 +- pkg/minikube/download/iso.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 9daa44194a..b6ad3286b2 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/co KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2) # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions -ISO_VERSION ?= v1.28.0 +ISO_VERSION ?= v1.28.0-1668110411-15341 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta DEB_VERSION ?= $(subst -,~,$(RAW_VERSION)) DEB_REVISION ?= 0 diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go index 5cf6482601..6391444d47 100644 --- a/pkg/minikube/download/iso.go +++ b/pkg/minikube/download/iso.go @@ -41,7 +41,7 @@ const fileScheme = "file" // DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order func DefaultISOURLs() []string { v := version.GetISOVersion() - isoBucket := "minikube/iso" + isoBucket := "minikube-builds/iso/15341" return []string{ fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH), fmt.Sprintf("https://github.com/kubernetes/minikube/releases/download/%s/minikube-%s-%s.iso", v, v, runtime.GOARCH), From c24a66f63a0edc4ad2e90fca4dfb9e05c3df8c29 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 11 Nov 2022 14:49:13 -0500 Subject: [PATCH 37/46] update ingress yaml --- .../addons/ingress/ingress-deploy.yaml.tmpl | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/deploy/addons/ingress/ingress-deploy.yaml.tmpl b/deploy/addons/ingress/ingress-deploy.yaml.tmpl index 170b4bc691..ce5f9027e9 100644 --- a/deploy/addons/ingress/ingress-deploy.yaml.tmpl +++ b/deploy/addons/ingress/ingress-deploy.yaml.tmpl @@ -109,7 +109,7 @@ rules: - apiGroups: - "" resourceNames: - - ingress-controller-leader + - ingress-nginx-leader resources: - configmaps verbs: @@ -121,6 +121,21 @@ rules: - configmaps verbs: - create +- apiGroups: + - coordination.k8s.io + resourceNames: + - ingress-nginx-leader + resources: + - leases + verbs: + - get + - update +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create - apiGroups: - "" resources: @@ -128,6 +143,14 @@ rules: verbs: - create - patch +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - list + - watch + - get --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role @@ -167,6 +190,13 @@ rules: verbs: - list - watch +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - list + - watch - apiGroups: - "" resources: @@ -216,6 +246,14 @@ rules: - get - list - watch +- apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - list + - watch + - get --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -429,7 +467,7 @@ spec: containers: - args: - /nginx-ingress-controller - - --election-id=ingress-controller-leader + - --election-id=ingress-nginx-leader {{- if eq .IngressAPIVersion "v1"}} - --controller-class=k8s.io/ingress-nginx - --watch-ingress-without-class=true From 54ba36a9c9ad2524d991d4d618ab1f943eefa1c2 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Fri, 11 Nov 2022 15:36:30 -0500 Subject: [PATCH 38/46] site: tab deploying section on Getting Started --- site/content/en/docs/start/_index.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/site/content/en/docs/start/_index.md b/site/content/en/docs/start/_index.md index 2cce940961..746c2f2631 100644 --- a/site/content/en/docs/start/_index.md +++ b/site/content/en/docs/start/_index.md @@ -534,6 +534,8 @@ minikube dashboard

4Deploy applications

+{{% tabs %}} +{{% tab Service %}} Create a sample deployment and expose it on port 80: ```shell @@ -562,9 +564,8 @@ kubectl port-forward service/hello-minikube 7080:80 Tada! Your application is now available at [http://localhost:7080/](http://localhost:7080/). You should be able to see the request metadata from nginx such as the `CLIENT VALUES`, `SERVER VALUES`, `HEADERS RECEIVED` and the `BODY` in the application output. Try changing the path of the request and observe the changes in the `CLIENT VALUES`. Similarly, you can do a POST request to the same and observe the body show up in `BODY` section of the output. - -### LoadBalancer deployments - +{{% /tab %}} +{{% tab LoadBalancer %}} To access a LoadBalancer deployment, use the "minikube tunnel" command. Here is an example deployment: ```shell @@ -585,6 +586,8 @@ kubectl get services balanced ``` Your deployment is now available at <EXTERNAL-IP>:80 +{{% /tab %}} +{{% /tabs %}}

5Manage your cluster

From ffc41918781c1601d6b1391e0bb0d86d9940c53f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Huta=C5=99?= Date: Sat, 12 Nov 2022 22:05:07 +0100 Subject: [PATCH 39/46] site: Fix command name, missing letter in table header and deduplicate --- site/content/en/docs/handbook/accessing.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/site/content/en/docs/handbook/accessing.md b/site/content/en/docs/handbook/accessing.md index 9ad403b6fb..2bbd99d9d0 100644 --- a/site/content/en/docs/handbook/accessing.md +++ b/site/content/en/docs/handbook/accessing.md @@ -53,13 +53,10 @@ Services of type `NodePort` can be exposed via the `minikube service - $ kc get svc - AME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + $ kubectl get svc + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-minikube1 NodePort 10.100.238.34 8080:31389/TCP 3s - + ``` 4. Run service tunnel From 300cd09f0edf44be06f0d0adc95b261fed6a7ed2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 18:04:36 +0000 Subject: [PATCH 40/46] Bump golang.org/x/oauth2 from 0.1.0 to 0.2.0 Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/golang/oauth2/releases) - [Commits](https://github.com/golang/oauth2/compare/v0.1.0...v0.2.0) --- updated-dependencies: - dependency-name: golang.org/x/oauth2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 15 ++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index d935ccbb60..c534cfd357 100644 --- a/go.mod +++ b/go.mod @@ -74,10 +74,10 @@ require ( golang.org/x/crypto v0.1.0 golang.org/x/exp v0.0.0-20220909182711-5c715a9e8561 golang.org/x/mod v0.6.0 - golang.org/x/oauth2 v0.1.0 + golang.org/x/oauth2 v0.2.0 golang.org/x/sync v0.1.0 - golang.org/x/sys v0.1.0 - golang.org/x/term v0.1.0 + golang.org/x/sys v0.2.0 + golang.org/x/term v0.2.0 golang.org/x/text v0.4.0 gonum.org/v1/plot v0.12.0 google.golang.org/api v0.102.0 @@ -215,7 +215,7 @@ require ( go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.21.0 // indirect golang.org/x/image v0.0.0-20220902085622-e7cb96979f69 // indirect - golang.org/x/net v0.1.0 // indirect + golang.org/x/net v0.2.0 // indirect golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect golang.org/x/tools v0.1.12 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect diff --git a/go.sum b/go.sum index d9bb39ebec..5c23d14fc5 100644 --- a/go.sum +++ b/go.sum @@ -1265,8 +1265,8 @@ golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1285,8 +1285,8 @@ golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.1.0 h1:isLCZuhj4v+tYv7eskaN4v/TM+A1begWWgyVJDdl1+Y= -golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.2.0 h1:GtQkldQ9m7yvzCL1V+LrYow3Khe0eJH0w7RbX/VbaIU= +golang.org/x/oauth2 v0.2.0/go.mod h1:Cwn6afJ8jrQwYMxQDTpISoXmXW9I6qF6vDeuuoX3Ibs= golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1418,14 +1418,15 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20221017184919-83659145692c/go.mod h1:VTIZ7TEbF0BS9Sv9lPTvGbtW8i4z6GGbJBCM37uMCzY= -golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From a9da9daebac4d749fa24af336dc15eccf4f8244d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 18:04:54 +0000 Subject: [PATCH 41/46] Bump go.opencensus.io from 0.23.0 to 0.24.0 Bumps [go.opencensus.io](https://github.com/census-instrumentation/opencensus-go) from 0.23.0 to 0.24.0. - [Release notes](https://github.com/census-instrumentation/opencensus-go/releases) - [Commits](https://github.com/census-instrumentation/opencensus-go/compare/v0.23.0...v0.24.0) --- updated-dependencies: - dependency-name: go.opencensus.io dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index d935ccbb60..23edcf1671 100644 --- a/go.mod +++ b/go.mod @@ -66,7 +66,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.14.0 github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097 - go.opencensus.io v0.23.0 + go.opencensus.io v0.24.0 go.opentelemetry.io/otel v1.11.1 go.opentelemetry.io/otel/sdk v1.11.1 go.opentelemetry.io/otel/trace v1.11.1 diff --git a/go.sum b/go.sum index d9bb39ebec..0f2b67b469 100644 --- a/go.sum +++ b/go.sum @@ -1113,8 +1113,9 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4= go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= go.opentelemetry.io/otel/sdk v1.11.1 h1:F7KmQgoHljhUuJyA+9BiU+EkJfyX5nVVF4wyzWZpKxs= From 3d93e5f6cfd7c6db1b17d07801af7178a23148e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 18:05:14 +0000 Subject: [PATCH 42/46] Bump k8s.io/component-base from 0.25.3 to 0.25.4 Bumps [k8s.io/component-base](https://github.com/kubernetes/component-base) from 0.25.3 to 0.25.4. - [Release notes](https://github.com/kubernetes/component-base/releases) - [Commits](https://github.com/kubernetes/component-base/compare/v0.25.3...v0.25.4) --- updated-dependencies: - dependency-name: k8s.io/component-base dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index d935ccbb60..2512053536 100644 --- a/go.mod +++ b/go.mod @@ -83,11 +83,11 @@ require ( google.golang.org/api v0.102.0 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.25.3 - k8s.io/apimachinery v0.25.3 - k8s.io/client-go v0.25.3 + k8s.io/api v0.25.4 + k8s.io/apimachinery v0.25.4 + k8s.io/client-go v0.25.4 k8s.io/cluster-bootstrap v0.0.0 - k8s.io/component-base v0.25.3 + k8s.io/component-base v0.25.4 k8s.io/klog/v2 v2.80.1 k8s.io/kubectl v0.25.3 k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed diff --git a/go.sum b/go.sum index d9bb39ebec..dcbfb53daf 100644 --- a/go.sum +++ b/go.sum @@ -1748,15 +1748,15 @@ k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= k8s.io/api v0.22.4/go.mod h1:Rgs+9gIGYC5laXQSZZ9JqT5NevNgoGiOdVWi1BAB3qk= -k8s.io/api v0.25.3 h1:Q1v5UFfYe87vi5H7NU0p4RXC26PPMT8KOpr1TLQbCMQ= -k8s.io/api v0.25.3/go.mod h1:o42gKscFrEVjHdQnyRenACrMtbuJsVdP+WVjqejfzmI= +k8s.io/api v0.25.4 h1:3YO8J4RtmG7elEgaWMb4HgmpS2CfY1QlaOz9nwB+ZSs= +k8s.io/api v0.25.4/go.mod h1:IG2+RzyPQLllQxnhzD8KQNEu4c4YvyDTpSMztf4A0OQ= k8s.io/apimachinery v0.19.1/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= k8s.io/apimachinery v0.22.4/go.mod h1:yU6oA6Gnax9RrxGzVvPFFJ+mpnW6PBSqp0sx0I0HHW0= -k8s.io/apimachinery v0.25.3 h1:7o9ium4uyUOM76t6aunP0nZuex7gDf8VGwkR5RcJnQc= -k8s.io/apimachinery v0.25.3/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo= +k8s.io/apimachinery v0.25.4 h1:CtXsuaitMESSu339tfhVXhQrPET+EiWnIY1rcurKnAc= +k8s.io/apimachinery v0.25.4/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo= k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= @@ -1764,15 +1764,15 @@ k8s.io/client-go v0.19.1/go.mod h1:AZOIVSI9UUtQPeJD3zJFp15CEhSjRgAuQP5PWRJrCIQ= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= -k8s.io/client-go v0.25.3 h1:oB4Dyl8d6UbfDHD8Bv8evKylzs3BXzzufLiO27xuPs0= -k8s.io/client-go v0.25.3/go.mod h1:t39LPczAIMwycjcXkVc+CB+PZV69jQuNx4um5ORDjQA= +k8s.io/client-go v0.25.4 h1:3RNRDffAkNU56M/a7gUfXaEzdhZlYhoW8dgViGy5fn8= +k8s.io/client-go v0.25.4/go.mod h1:8trHCAC83XKY0wsBIpbirZU4NTUpbuhc2JnI7OruGZw= k8s.io/cluster-bootstrap v0.22.4 h1:2ZhV/1K4GiCrnmDHHbBnN3bERWn+Nxrtxmxp6uYYThI= k8s.io/cluster-bootstrap v0.22.4/go.mod h1:fTQZ6u9G6fg2LHhB8nEgZLnXIhCDSRYuLUUS5pgW8RY= k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/component-base v0.25.3 h1:UrsxciGdrCY03ULT1h/S/gXFCOPnLhUVwSyx+hM/zq4= -k8s.io/component-base v0.25.3/go.mod h1:WYoS8L+IlTZgU7rhAl5Ctpw0WdMxDfCC5dkxcEFa/TI= +k8s.io/component-base v0.25.4 h1:n1bjg9Yt+G1C0WnIDJmg2fo6wbEU1UGMRiQSjmj7hNQ= +k8s.io/component-base v0.25.4/go.mod h1:nnZJU8OP13PJEm6/p5V2ztgX2oyteIaAGKGMYb2L2cY= k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= From de32e62490d5b0f28acc5bcb432fcf198ea02929 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Nov 2022 22:31:44 +0000 Subject: [PATCH 43/46] Bump golang.org/x/crypto from 0.1.0 to 0.2.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/golang/crypto/releases) - [Commits](https://github.com/golang/crypto/compare/v0.1.0...v0.2.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 599027f8e0..d4f2f7c5f8 100644 --- a/go.mod +++ b/go.mod @@ -71,7 +71,7 @@ require ( go.opentelemetry.io/otel/sdk v1.11.1 go.opentelemetry.io/otel/trace v1.11.1 golang.org/x/build v0.0.0-20190927031335-2835ba2e683f - golang.org/x/crypto v0.1.0 + golang.org/x/crypto v0.2.0 golang.org/x/exp v0.0.0-20220909182711-5c715a9e8561 golang.org/x/mod v0.6.0 golang.org/x/oauth2 v0.2.0 diff --git a/go.sum b/go.sum index 325e7f14f2..b22613d131 100644 --- a/go.sum +++ b/go.sum @@ -1161,8 +1161,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.2.0 h1:BRXPfhNivWL5Yq0BGQ39a2sW6t44aODpfxkWjYdzewE= +golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= From 8ef4631bb49a2b8ee93caf8424223ec9c27843b2 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Tue, 15 Nov 2022 15:13:35 -0500 Subject: [PATCH 44/46] update GUI README --- gui/README.md | 24 ++++++++++++------- .../en/docs/tutorials/setup_minikube_gui.md | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/gui/README.md b/gui/README.md index e4ac30ea6b..c6128a468f 100644 --- a/gui/README.md +++ b/gui/README.md @@ -1,22 +1,28 @@ -# System Tray Icon +# minikube GUI + +## Prerequisites + +- minikube setup and available on your path, follow the [Getting Start doc](https://minikube.sigs.k8s.io/docs/start/) if not already done ## Running -Open in [Qt Creator](https://doc.qt.io/qtcreator/) GUI: +### From binary (end-user) + +View our documentation for downloading and running the GUI: [Setting Up minikube GUI](https://minikube.sigs.k8s.io/docs/tutorials/setup_minikube_gui/) + +### From Qt Creator + +Open in [Qt Creator](https://doc.qt.io/qtcreator/) via: ```shell -qtcreator systray.pro +qtcreator minikube.pro ``` -Or on the command line: +### From Command Line ```console $ qmake $ make ... -$ ./systray +$ ./minikube ``` - ----- - -See diff --git a/site/content/en/docs/tutorials/setup_minikube_gui.md b/site/content/en/docs/tutorials/setup_minikube_gui.md index 14e3ce0bd0..28916f3126 100644 --- a/site/content/en/docs/tutorials/setup_minikube_gui.md +++ b/site/content/en/docs/tutorials/setup_minikube_gui.md @@ -14,7 +14,7 @@ date: 2022-02-25 ## Before You Begin -- You will need to already have minikube setup on your machine, follow the [Getting Start doc]({{< ref "/docs/commands/start" >}}) if not already done. +- minikube setup and available on your path, follow the [Getting Start doc]({{< ref "/docs/start" >}}) if not already done ## Steps From 183919a66ac13b0f937d73991c8006dd8a880bd2 Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Tue, 15 Nov 2022 15:57:51 -0500 Subject: [PATCH 45/46] add ingress example --- site/content/en/docs/start/_index.md | 95 ++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/site/content/en/docs/start/_index.md b/site/content/en/docs/start/_index.md index 746c2f2631..e3b8203cc8 100644 --- a/site/content/en/docs/start/_index.md +++ b/site/content/en/docs/start/_index.md @@ -587,6 +587,101 @@ kubectl get services balanced Your deployment is now available at <EXTERNAL-IP>:80 {{% /tab %}} +{{% tab Ingress %}} +Enable ingress addon: +```shell +minikube addons enable ingress +``` + +The following example creates simple echo-server services and an Ingress object to route to these services. +```shell +kind: Pod +apiVersion: v1 +metadata: + name: foo-app + labels: + app: foo +spec: + containers: + - name: foo-app + image: docker.io/ealen/echo-server:0.7.0 +--- +kind: Service +apiVersion: v1 +metadata: + name: foo-service +spec: + selector: + app: foo + ports: + # Default port used by the image + - port: 80 +--- +kind: Pod +apiVersion: v1 +metadata: + name: bar-app + labels: + app: bar +spec: + containers: + - name: bar-app + image: docker.io/ealen/echo-server:0.7.0 +--- +kind: Service +apiVersion: v1 +metadata: + name: bar-service +spec: + selector: + app: bar + ports: + # Default port used by the image + - port: 80 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: example-ingress +spec: + rules: + - http: + paths: + - pathType: Prefix + path: "/foo" + backend: + service: + name: foo-service + port: + number: 80 + - pathType: Prefix + path: "/bar" + backend: + service: + name: bar-service + port: + number: 80 +--- +``` + +Apply the contents +```shell +kubectl apply -f https://storage.googleapis.com/minikube-site-examples/ingress-example.yaml +``` + +Wait for ingress address +```shell +kubectl get ingress +NAME CLASS HOSTS ADDRESS PORTS AGE +example-ingress nginx * 80 5m45s +``` + +Now verify that the ingress works +```shell +curl /foo +curl /bar +``` +{{% /tab %}} {{% /tabs %}}

5Manage your cluster

From a800f2758029acaf6f2226cb2c55f62ec6843a4c Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Wed, 16 Nov 2022 11:21:00 -0500 Subject: [PATCH 46/46] move license command to other section in help --- cmd/minikube/cmd/root.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/minikube/cmd/root.go b/cmd/minikube/cmd/root.go index 07011fc77a..d7f7ef4fae 100644 --- a/cmd/minikube/cmd/root.go +++ b/cmd/minikube/cmd/root.go @@ -282,7 +282,6 @@ func init() { updateCheckCmd, versionCmd, optionsCmd, - licenseCmd, }, }, } @@ -290,6 +289,7 @@ func init() { // Ungrouped commands will show up in the "Other Commands" section RootCmd.AddCommand(completionCmd) + RootCmd.AddCommand(licenseCmd) templates.ActsAsRootCommand(RootCmd, []string{"options"}, groups...) if err := viper.BindPFlags(RootCmd.PersistentFlags()); err != nil {