diff --git a/.github/workflows/functional_verified.yml b/.github/workflows/functional_verified.yml index fa35fb84b36c..cfa566b3b623 100644 --- a/.github/workflows/functional_verified.yml +++ b/.github/workflows/functional_verified.yml @@ -97,7 +97,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Docker Info shell: bash diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 1d0a3de80382..caa9b8e09ab5 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -125,7 +125,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -223,7 +223,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -325,7 +325,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -410,7 +410,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Install docker shell: bash run: | @@ -526,7 +526,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Set fs.protected_regular shell: bash run: | diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f07f7f3d0bc6..f432314d5273 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -123,7 +123,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -222,7 +222,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -339,7 +339,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -442,7 +442,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Download Binaries uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a with: @@ -528,7 +528,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Install docker shell: bash run: | @@ -645,7 +645,7 @@ jobs: - name: Install gopogh shell: bash run: | - go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 + go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 - name: Set fs.protected_regular shell: bash run: | diff --git a/.github/workflows/update-flannel-version.yml b/.github/workflows/update-flannel-version.yml index a6255039550e..142606436f0b 100644 --- a/.github/workflows/update-flannel-version.yml +++ b/.github/workflows/update-flannel-version.yml @@ -44,6 +44,6 @@ jobs: title: 'CNI: Update flannel from ${{ steps.bumpFlannel.outputs.OLD_VERSION }} to ${{ steps.bumpFlannel.outputs.NEW_VERSION }}' labels: ok-to-test body: | - The flannel project released a [new version](https://github.com/projectflannel/flannel) + The flannel project released a [new version](https://github.com/flannel-io/flannel) This PR was auto-generated by `make update-flannel-version` using [update-flannel-version.yml](https://github.com/kubernetes/minikube/tree/master/.github/workflows/update-flannel-version.yml) CI Workflow. diff --git a/Makefile b/Makefile index db4f50a6767d..0aee7fcb27db 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.31.0 +ISO_VERSION ?= v1.31.0-1690838458-16971 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta DEB_VERSION ?= $(subst -,~,$(RAW_VERSION)) @@ -78,7 +78,7 @@ MINIKUBE_RELEASES_URL=https://github.com/kubernetes/minikube/releases/download KERNEL_VERSION ?= 5.10.57 # latest from https://github.com/golangci/golangci-lint/releases # update this only by running `make update-golint-version` -GOLINT_VERSION ?= v1.53.3 +GOLINT_VERSION ?= v1.54.0 # Limit number of default jobs, to avoid the CI builds running out of memory GOLINT_JOBS ?= 4 # see https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint @@ -113,7 +113,9 @@ GVISOR_TAG ?= latest AUTOPAUSE_HOOK_TAG ?= v0.0.4 # prow-test tag to push changes to -PROW_TEST_TAG ?= v0.0.3 +PROW_TEST_TAG ?= v0.0.4 + +BUILDX_BUILDER ?= multiarch # storage provisioner tag to push changes to # NOTE: you will need to bump the PreloadVersion if you change this @@ -702,6 +704,7 @@ storage-provisioner-image-%: out/storage-provisioner-% docker-multi-arch-build: # installs QEMU static binaries to allow docker multi-arch build, see: https://github.com/docker/setup-qemu-action docker run --rm --privileged tonistiigi/binfmt:latest --install all + docker buildx create --name $(BUILDX_BUILDER) --bootstrap KICBASE_ARCH ?= linux/amd64,linux/arm64,linux/s390x,linux/arm,linux/ppc64le KICBASE_IMAGE_GCR ?= $(REGISTRY)/kicbase:$(KIC_VERSION) @@ -731,7 +734,8 @@ local-kicbase-debug: local-kicbase ## Builds a local kicbase image and switches .PHONY: build-kic-base-image build-kic-base-image: docker-multi-arch-build ## Build multi-arch local/kicbase:latest - docker buildx build -f ./deploy/kicbase/Dockerfile --platform $(KICBASE_ARCH) $(addprefix -t ,$(KICBASE_IMAGE_REGISTRIES)) --build-arg VERSION_JSON=$(VERSION_JSON) --build-arg COMMIT_SHA=${VERSION}-$(COMMIT_NOQUOTES) . + docker buildx build --builder $(BUILDX_BUILDER) -f ./deploy/kicbase/Dockerfile --platform $(KICBASE_ARCH) $(addprefix -t ,$(KICBASE_IMAGE_REGISTRIES)) --build-arg VERSION_JSON=$(VERSION_JSON) --build-arg COMMIT_SHA=${VERSION}-$(COMMIT_NOQUOTES) . + docker buildx rm $(BUILDX_BUILDER) .PHONY: push-kic-base-image push-kic-base-image: docker-multi-arch-build ## Push multi-arch local/kicbase:latest to all remote registries @@ -746,7 +750,8 @@ ifndef CIBUILD $(call user_confirm, 'Are you sure you want to push $(KICBASE_IMAGE_REGISTRIES) ?') endif ./deploy/kicbase/build_auto_pause.sh $(KICBASE_ARCH) - docker buildx build -f ./deploy/kicbase/Dockerfile --platform $(KICBASE_ARCH) $(addprefix -t ,$(KICBASE_IMAGE_REGISTRIES)) --push --build-arg VERSION_JSON=$(VERSION_JSON) --build-arg COMMIT_SHA=${VERSION}-$(COMMIT_NOQUOTES) --build-arg PREBUILT_AUTO_PAUSE=true . + docker buildx build --builder $(BUILDX_BUILDER) -f ./deploy/kicbase/Dockerfile --platform $(KICBASE_ARCH) $(addprefix -t ,$(KICBASE_IMAGE_REGISTRIES)) --push --build-arg VERSION_JSON=$(VERSION_JSON) --build-arg COMMIT_SHA=${VERSION}-$(COMMIT_NOQUOTES) --build-arg PREBUILT_AUTO_PAUSE=true . + docker buildx rm $(BUILDX_BUILDER) out/preload-tool: go build -ldflags="$(MINIKUBE_LDFLAGS)" -o $@ ./hack/preload-images/*.go @@ -871,7 +876,8 @@ kvm-image-amd64: installers/linux/kvm/Dockerfile.amd64 ## Convenient alias to b .PHONY: kvm-image-arm64 kvm-image-arm64: installers/linux/kvm/Dockerfile.arm64 docker-multi-arch-build ## Convenient alias to build the docker container - docker buildx build --platform linux/arm64 --build-arg "GO_VERSION=$(KVM_GO_VERSION)" -t $(KVM_BUILD_IMAGE_ARM64) -f $< $(dir $<) + docker buildx build --builder $(BUILDX_BUILDER) --platform linux/arm64 --build-arg "GO_VERSION=$(KVM_GO_VERSION)" -t $(KVM_BUILD_IMAGE_ARM64) -f $< $(dir $<) + docker buildx rm $(BUILDX_BUILDER) @echo "" @echo "$(@) successfully built" @@ -963,14 +969,12 @@ push-auto-pause-hook-image: auto-pause-hook-image docker login gcr.io/k8s-minikube $(MAKE) push-docker IMAGE=$(REGISTRY)/auto-pause-hook:$(AUTOPAUSE_HOOK_TAG) -.PHONY: prow-test-image -prow-test-image: - docker build --build-arg "GO_VERSION=$(GO_VERSION)" -t $(REGISTRY)/prow-test:$(PROW_TEST_TAG) ./deploy/prow - .PHONY: push-prow-test-image -push-prow-test-image: prow-test-image +push-prow-test-image: docker-multi-arch-build docker login gcr.io/k8s-minikube - $(MAKE) push-docker IMAGE=$(REGISTRY)/prow-test:$(PROW_TEST_TAG) + docker buildx build --push --builder $(BUILDX_BUILDER) --build-arg "GO_VERSION=$(GO_VERSION)" --platform linux/amd64,linux/arm64 -t $(REGISTRY)/prow-test:$(PROW_TEST_TAG) ./deploy/prow + docker buildx build --push --builder $(BUILDX_BUILDER) --build-arg "GO_VERSION=$(GO_VERSION)" --platform linux/amd64,linux/arm64 -t $(REGISTRY)/prow-test:latest ./deploy/prow + docker buildx rm $(BUILDX_BUILDER) .PHONY: out/performance-bot out/performance-bot: diff --git a/README.md b/README.md index 390ca3a42e73..7aa48f95441d 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ minikube runs the latest stable release of Kubernetes, with support for standard As well as developer-friendly features: * [Addons](https://minikube.sigs.k8s.io/docs/handbook/deploying/#addons) - a marketplace for developers to share configurations for running services on minikube -* [NVIDIA GPU support](https://minikube.sigs.k8s.io/docs/tutorials/nvidia_gpu/) - for machine learning +* [NVIDIA GPU support](https://minikube.sigs.k8s.io/docs/handbook/addons/nvidia/) - for machine learning * [Filesystem mounts](https://minikube.sigs.k8s.io/docs/handbook/mount/) **For more information, see the official [minikube website](https://minikube.sigs.k8s.io)** diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index b9f8de22fdae..dc9292c807b1 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -432,21 +432,24 @@ func validateBuiltImageVersion(r command.Runner, driverName string) { } func imageMatchesBinaryVersion(imageVersion, binaryVersion string) bool { + if binaryVersion == imageVersion { + return true + } + // the map below is used to map the binary version to the version the image expects // this is usually done when a patch version is released but a new ISO/Kicbase is not needed // that way a version mismatch warning won't be thrown // // ex. // the v1.31.0 and v1.31.1 minikube binaries both use v1.31.0 ISO & Kicbase - // to prevent the v1.31.1 binary from throwing a version mismatch warning we use the map to use change the binary version used in the comparison + // to prevent the v1.31.1 binary from throwing a version mismatch warning we use the map to change the binary version used in the comparison mappedVersions := map[string]string{ "v1.31.1": "v1.31.0", } - if v, ok := mappedVersions[binaryVersion]; ok { - binaryVersion = v - } - return binaryVersion == imageVersion + binaryVersion, ok := mappedVersions[binaryVersion] + + return ok && binaryVersion == imageVersion } func startWithDriver(cmd *cobra.Command, starter node.Starter, existing *config.ClusterConfig) (*kubeconfig.Settings, error) { @@ -1845,7 +1848,7 @@ func validateDockerStorageDriver(drvName string) { if si.StorageDriver == "overlay2" { return } - out.WarningT("{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance", out.V{"StorageDriver": si.StorageDriver, "Driver": drvName}) + out.WarningT("{{.Driver}} is currently using the {{.StorageDriver}} storage driver, setting preload=false", out.V{"StorageDriver": si.StorageDriver, "Driver": drvName}) viper.Set(preload, false) } 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 34158d814eeb..5df904bca2cc 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 @@ -24,3 +24,4 @@ sha256 7a90dc72f44e230eb5228ebac23b37e91f7d26d175d563099a8e1c0592047a28 v1.6.19. sha256 c80b1c7f04057108059fdec9c936fc1ec0dccafa45c00a1d54f14dceb6500552 v1.7.0.tar.gz sha256 fd844af82afda7242d8eba5e0086c5a0d54ddc3041c1bbdd4d3c62bfee844e3a v1.7.1.tar.gz sha256 68d20562c3164f61f2ec6951edb002bf12cd58b21448e0ab04c5ec56d4dcac43 v1.7.2.tar.gz +sha256 1fd19d2c75322bdbcb01d190a18d53940a4a79d909bd61a99f9e8e2dbc57a8fe v1.7.3.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 6e0e3b0d72aa..ad682a2b62c3 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.7.2 -CONTAINERD_BIN_AARCH64_COMMIT = 0cae528dd6cb557f7201036e9f43420650207b58 +CONTAINERD_BIN_AARCH64_VERSION = v1.7.3 +CONTAINERD_BIN_AARCH64_COMMIT = 7880925980b188f4c97b462f709d0db8e8962aff 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/x86_64/package/containerd-bin/containerd-bin.hash b/deploy/iso/minikube-iso/arch/x86_64/package/containerd-bin/containerd-bin.hash index 34158d814eeb..5df904bca2cc 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 @@ -24,3 +24,4 @@ sha256 7a90dc72f44e230eb5228ebac23b37e91f7d26d175d563099a8e1c0592047a28 v1.6.19. sha256 c80b1c7f04057108059fdec9c936fc1ec0dccafa45c00a1d54f14dceb6500552 v1.7.0.tar.gz sha256 fd844af82afda7242d8eba5e0086c5a0d54ddc3041c1bbdd4d3c62bfee844e3a v1.7.1.tar.gz sha256 68d20562c3164f61f2ec6951edb002bf12cd58b21448e0ab04c5ec56d4dcac43 v1.7.2.tar.gz +sha256 1fd19d2c75322bdbcb01d190a18d53940a4a79d909bd61a99f9e8e2dbc57a8fe v1.7.3.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 ede9b3c13e72..32415994911b 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.7.2 -CONTAINERD_BIN_COMMIT = 0cae528dd6cb557f7201036e9f43420650207b58 +CONTAINERD_BIN_VERSION = v1.7.3 +CONTAINERD_BIN_COMMIT = 7880925980b188f4c97b462f709d0db8e8962aff 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/prow/Dockerfile b/deploy/prow/Dockerfile index 9b95ad8d4d4d..f4395deaa967 100644 --- a/deploy/prow/Dockerfile +++ b/deploy/prow/Dockerfile @@ -35,7 +35,8 @@ ENV GOPATH=/home/prow/go \ # We're already inside docker though so we can be sure these are already mounted. # Trying to remount these makes for a very noisy error block in the beginning of # the pod logs, so we just comment out the call to it... :shrug: -RUN echo "Installing Packages ..." \ +RUN export ARCH=$(dpkg --print-architecture) \ + && echo "Installing Packages ..." \ && apt-get update \ && apt-get install -y --no-install-recommends \ apt-transport-https \ @@ -58,7 +59,7 @@ RUN echo "Installing Packages ..." \ unzip \ && rm -rf /var/lib/apt/lists/* \ && echo "Installing Go ..." \ - && export GO_TARBALL="go${GO_VERSION}.linux-amd64.tar.gz"\ + && export GO_TARBALL="go${GO_VERSION}.linux-${ARCH}.tar.gz"\ && curl -fsSL "https://storage.googleapis.com/golang/${GO_TARBALL}" --output "${GO_TARBALL}" \ && tar xzf "${GO_TARBALL}" -C /usr/local \ && rm "${GO_TARBALL}"\ @@ -66,7 +67,7 @@ RUN echo "Installing Packages ..." \ && echo "Installing Docker ..." \ && curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | apt-key add - \ && add-apt-repository \ - "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ + "deb [arch="$(dpkg --print-architecture)"] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \ $(lsb_release -cs) stable" \ && apt-get update \ && apt-get install -y --no-install-recommends docker-ce \ @@ -76,7 +77,7 @@ RUN echo "Installing Packages ..." \ && update-alternatives --set iptables /usr/sbin/iptables-legacy \ && update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy \ && echo "Installing Kubectl ..." \ - && curl -LO "https://dl.k8s.io/$(curl -sSL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \ + && curl -LO "https://dl.k8s.io/$(curl -sSL https://dl.k8s.io/release/stable.txt)/bin/linux/${ARCH}/kubectl" \ && chmod +x ./kubectl \ && cp kubectl /usr/local/bin # copy in image utility scripts diff --git a/go.mod b/go.mod index 3eaed7cf713d..993089c1c5db 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( cloud.google.com/go/storage v1.31.0 contrib.go.opencensus.io/exporter/stackdriver v0.13.14 github.com/Delta456/box-cli-maker/v2 v2.3.0 - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.17.0 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.18.0 github.com/Parallels/docker-machine-parallels/v2 v2.0.1 github.com/VividCortex/godaemon v1.0.0 github.com/blang/semver/v4 v4.0.0 @@ -15,16 +15,16 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 github.com/cheggaaa/pb/v3 v3.1.4 github.com/cloudevents/sdk-go/v2 v2.14.0 - github.com/docker/docker v24.0.4+incompatible + github.com/docker/docker v24.0.5+incompatible github.com/docker/go-units v0.5.0 github.com/docker/machine v0.16.2 github.com/elazarl/goproxy v0.0.0-20210110162100-a92cc753f88e github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3 github.com/google/go-cmp v0.5.9 - github.com/google/go-containerregistry v0.15.2 + github.com/google/go-containerregistry v0.16.1 github.com/google/slowjam v1.0.1 github.com/google/uuid v1.3.0 - github.com/hashicorp/go-getter v1.7.1 + github.com/hashicorp/go-getter v1.7.2 github.com/hashicorp/go-retryablehttp v0.7.4 github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95 // indirect github.com/hooklift/assert v0.0.0-20170704181755-9d1defd6d214 // indirect @@ -48,7 +48,7 @@ require ( github.com/pkg/profile v1.7.0 github.com/pmezard/go-difflib v1.0.0 github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect - github.com/shirou/gopsutil/v3 v3.23.6 + github.com/shirou/gopsutil/v3 v3.23.7 github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.16.0 @@ -58,16 +58,16 @@ require ( go.opentelemetry.io/otel/sdk v1.16.0 go.opentelemetry.io/otel/trace v1.16.0 golang.org/x/build v0.0.0-20190927031335-2835ba2e683f - golang.org/x/crypto v0.11.0 + golang.org/x/crypto v0.12.0 golang.org/x/exp v0.0.0-20230510235704-dd950f8aeaea golang.org/x/mod v0.12.0 golang.org/x/oauth2 v0.10.0 golang.org/x/sync v0.3.0 - golang.org/x/sys v0.10.0 - golang.org/x/term v0.10.0 - golang.org/x/text v0.11.0 + golang.org/x/sys v0.11.0 + golang.org/x/term v0.11.0 + golang.org/x/text v0.12.0 gonum.org/v1/plot v0.13.0 - google.golang.org/api v0.132.0 + google.golang.org/api v0.134.0 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.27.4 k8s.io/apimachinery v0.27.4 @@ -84,15 +84,15 @@ require ( require ( github.com/Xuanwo/go-locale v1.1.0 github.com/blang/semver v3.5.1+incompatible - github.com/docker/cli v24.0.4+incompatible + github.com/docker/cli v24.0.5+incompatible github.com/docker/go-connections v0.4.0 github.com/google/go-github/v53 v53.2.0 github.com/juju/clock v1.0.3 github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b github.com/juju/mutex/v2 v2.0.0 github.com/moby/patternmatcher v0.5.0 - github.com/opencontainers/runc v1.1.7 - github.com/santhosh-tekuri/jsonschema/v5 v5.3.0 + github.com/opencontainers/runc v1.1.8 + github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 ) require ( @@ -104,7 +104,7 @@ require ( cloud.google.com/go/trace v1.10.1 // indirect git.sr.ht/~sbinet/gg v0.4.1 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.41.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.42.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect @@ -122,7 +122,7 @@ require ( github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/cyphar/filepath-securejoin v0.2.3 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/docker/distribution v2.8.1+incompatible // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect github.com/docker/docker-credential-helpers v0.7.0 // indirect github.com/emicklei/go-restful/v3 v3.9.0 // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect @@ -195,7 +195,7 @@ require ( github.com/rivo/uniseg v0.2.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect - github.com/sirupsen/logrus v1.9.0 // indirect + github.com/sirupsen/logrus v1.9.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect @@ -213,12 +213,12 @@ require ( golang.org/x/image v0.7.0 // indirect golang.org/x/net v0.12.0 // indirect golang.org/x/time v0.1.0 // indirect - golang.org/x/tools v0.8.0 // indirect + golang.org/x/tools v0.9.1 // 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-20230706204954-ccb25ca9f130 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230720185612-659f7aaaa771 // indirect google.golang.org/grpc v1.56.2 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index 9baebb7b36dc..dcf4e4154fb9 100644 --- a/go.sum +++ b/go.sum @@ -246,11 +246,11 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Delta456/box-cli-maker/v2 v2.3.0 h1:rGdoK/Qt3shdT1uqRMGgPqrhtisGD7PamTW8vY5MyCA= github.com/Delta456/box-cli-maker/v2 v2.3.0/go.mod h1:Uv/kSX95LuNQn3C8wWazEIETE6MunPuYN+/knckbPQc= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.17.0 h1:DwGeS/9k9xdpnvVQuJF+L9bYNFvBCmCWlDA8d8opoZY= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.17.0/go.mod h1:SUVNJAkkyRKeM3L46/NhFGIz+Kx1zetN09qUs1XbMx8= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.41.0 h1:ZJwvlTjB8GycSRpysdcRv3FztommLDUfgii0VUUp5ys= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.41.0 h1:MWQ81b2TkSLbDpLINiKdZdoht1VMEHCKr4BSZpb/KQ8= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.41.0/go.mod h1:lz6DEePTxmjvYMtusOoS3qDAErC0STi/wmvqJucKY28= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.18.0 h1:82lUmcpHzBEpGP4qURZvMSU1rJV0AAfXtOCh7Qz6oDw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.18.0/go.mod h1:6abS6wU43wU97qP+JseSJq2+C8/XL50co74AhoMJwwU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.42.0 h1:thAXdOpdEJPWW7kZmD8wU/yhQjd7PA6L01TxFcR5OOY= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.42.0 h1:4gL61NwEDGAFvLJeEMjTYJm6r1T26k3QYuDZK9YEaAk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.42.0/go.mod h1:lz6DEePTxmjvYMtusOoS3qDAErC0STi/wmvqJucKY28= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= @@ -556,20 +556,20 @@ github.com/digitalocean/godo v1.78.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/cli v24.0.4+incompatible h1:Y3bYF9ekNTm2VFz5U/0BlMdJy73D+Y1iAAZ8l63Ydzw= -github.com/docker/cli v24.0.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v24.0.5+incompatible h1:WeBimjvS0eKdH4Ygx+ihVq1Q++xg36M/rMi4aXAvodc= +github.com/docker/cli v24.0.5+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v0.0.0-20180621001606-093424bec097/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v17.12.0-ce-rc1.0.20181225093023-5ddb1d410a8b+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v17.12.0-ce-rc1.0.20190115220918-5ec31380a5d3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v24.0.4+incompatible h1:s/LVDftw9hjblvqIeTiGYXBCD95nOEEl7qRsRrIOuQI= -github.com/docker/docker v24.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= +github.com/docker/docker v24.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= @@ -832,8 +832,8 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= -github.com/google/go-containerregistry v0.15.2 h1:MMkSh+tjSdnmJZO7ljvEqV1DjfekB6VUEAZgy3a+TQE= -github.com/google/go-containerregistry v0.15.2/go.mod h1:wWK+LnOv4jXMM23IT/F1wdYftGWGr47Is8CG+pmHK1Q= +github.com/google/go-containerregistry v0.16.1 h1:rUEt426sR6nyrL3gt+18ibRcvYpKYdpsa5ZW7MA08dQ= +github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-github/v53 v53.2.0 h1:wvz3FyF53v4BK+AsnvCmeNhf8AkTaeh2SoYu/XUvTtI= github.com/google/go-github/v53 v53.2.0/go.mod h1:XhFRObz+m/l+UCm9b7KSIC3lT3NWSXGt7mOsAWEloao= @@ -934,8 +934,8 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= -github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.2 h1:uJDtyXwEfalmp1PqdxuhZqrNkUyClZAhVeZYTArbqkg= +github.com/hashicorp/go-getter v1.7.2/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= @@ -1273,8 +1273,8 @@ github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rm github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/runc v1.1.7 h1:y2EZDS8sNng4Ksf0GUYNhKbTShZJPJg1FiXJNH/uoCk= -github.com/opencontainers/runc v1.1.7/go.mod h1:CbUumNnWCuTGFukNXahoo/RFBZvDAgRh/smNYNOhA50= +github.com/opencontainers/runc v1.1.8 h1:zICRlc+C1XzivLc3nzE+cbJV4LIi8tib6YG0MqC6OqA= +github.com/opencontainers/runc v1.1.8/go.mod h1:CbUumNnWCuTGFukNXahoo/RFBZvDAgRh/smNYNOhA50= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= @@ -1397,8 +1397,8 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.0 h1:uIkTLo0AGRc8l7h5l9r+GcYi9qfVPt6lD4/bhmzfiKo= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= +github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sayboras/dockerclient v1.0.0 h1:awHcxOzTP07Gl1SJAhkTCTagyJwgA6f/Az/Z4xMP2yg= github.com/sayboras/dockerclient v1.0.0/go.mod h1:mUmEoqt0b+uQg57s006FsvL4mybi+N5wINLDBGtaPTY= @@ -1408,8 +1408,8 @@ github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24 github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= -github.com/shirou/gopsutil/v3 v3.23.6 h1:5y46WPI9QBKBbK7EEccUPNXpJpNrvPuTD0O2zHEHT08= -github.com/shirou/gopsutil/v3 v3.23.6/go.mod h1:j7QX50DrXYggrpN30W0Mo+I4/8U2UUIQrnrhqUeWrAU= +github.com/shirou/gopsutil/v3 v3.23.7 h1:C+fHO8hfIppoJ1WdsVm1RoI0RwXoNdfTK7yWXV0wVj4= +github.com/shirou/gopsutil/v3 v3.23.7/go.mod h1:c4gnmoRC0hQuaLqvxnx1//VXQ0Ms/X9UnJF8pddY5z4= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= @@ -1427,8 +1427,9 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.1 h1:Ou41VVR3nMWWmTiEUnj0OlsgOSCUFgsPAOl6jRIcVtQ= +github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= @@ -1675,8 +1676,8 @@ golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= 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= @@ -1997,9 +1998,9 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.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-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2008,8 +2009,8 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.0.0-20221017184919-83659145692c/go.mod h1:VTIZ7TEbF0BS9Sv9lPTvGbtW8i4z6GGbJBCM37uMCzY= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= 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= @@ -2023,8 +2024,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2114,8 +2115,8 @@ golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= -golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= +golang.org/x/tools v0.9.1 h1:8WMNJAz3zrtPmnYC7ISf5dEn3MT0gY7jBJfw27yrrLo= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2177,8 +2178,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.132.0 h1:8t2/+qZ26kAOGSmOiHwVycqVaDg7q3JDILrNi/Z6rvc= -google.golang.org/api v0.132.0/go.mod h1:AeTBC6GpJnJSRJjktDcPX0QwtS8pGYZOV6MSuSCusw0= +google.golang.org/api v0.134.0 h1:ktL4Goua+UBgoP1eL1/60LwZJqa1sIzkLmvoR3hR6Gw= +google.golang.org/api v0.134.0/go.mod h1:sjRL3UnjTx5UqNQS9EWr9N8p7xbHpy1k0XGRLCf3Spk= 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= @@ -2301,8 +2302,8 @@ google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIY google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230720185612-659f7aaaa771 h1:Z8qdAF9GFsmcUuWQ5KVYIpP3PCKydn/YKORnghIalu4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230720185612-659f7aaaa771/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= 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= diff --git a/hack/conformance_tests.sh b/hack/conformance_tests.sh index 34f7f721dd6d..8bc830ec314b 100755 --- a/hack/conformance_tests.sh +++ b/hack/conformance_tests.sh @@ -47,7 +47,7 @@ curl -LO $sonobuoy tarball=$(echo $sonobuoy | awk -F "/" '{print $(NF)}') tar -xzf $tarball -./sonobuoy run --mode=certified-conformance --wait --alsologtostderr +./sonobuoy run --plugin-env=e2e.E2E_EXTRA_ARGS="--ginkgo.v" --mode=certified-conformance --wait --alsologtostderr outdir="$(mktemp -d)" ./sonobuoy retrieve "${outdir}" diff --git a/hack/jenkins/common.ps1 b/hack/jenkins/common.ps1 index 1286294d6fa6..de3a049fad79 100644 --- a/hack/jenkins/common.ps1 +++ b/hack/jenkins/common.ps1 @@ -68,7 +68,7 @@ gsutil.cmd -m cp -r gs://minikube-builds/$env:MINIKUBE_LOCATION/installers/check ./out/check_install_golang.ps1 # Download gopogh and gotestsum -go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 +go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 go install gotest.tools/gotestsum@v1.10.1 # temporary: remove the old install of gopogh & gotestsum as it's taking priority over our current install, preventing updating if (Test-Path "C:\Go") { @@ -120,7 +120,7 @@ If($env:EXTERNAL -eq "yes"){ cp testout.txt test_reports/out.txt cp testout.json test_reports/out.json cp testout.html test_reports/out.html - cp testout_summary.json test_reports/summary.txt + cp testout_summary.json test_reports/summary.json } Else { gsutil -qm cp testout.txt gs://$gcs_bucket/${env:JOB_NAME}out.txt gsutil -qm cp testout.json gs://$gcs_bucket/${env:JOB_NAME}.json diff --git a/hack/jenkins/common.sh b/hack/jenkins/common.sh index 0d6b8cd863d5..e9e9f6d63bb9 100755 --- a/hack/jenkins/common.sh +++ b/hack/jenkins/common.sh @@ -428,10 +428,7 @@ if ! type "jq" > /dev/null; then fi echo ">> Installing gopogh" -go install github.com/medyagh/gopogh/cmd/gopogh@v0.17.0 -# temporary: remove the old install of gopogh as it's taking priority over our current install, preventing updating -sudo rm -f /usr/local/bin/gopogh - +./installers/check_install_gopogh.sh echo ">> Running gopogh" if test -f "${HTML_OUT}"; then @@ -440,7 +437,13 @@ fi touch "${HTML_OUT}" touch "${SUMMARY_OUT}" -gopogh_status=$(gopogh -in "${JSON_OUT}" -out_html "${HTML_OUT}" -out_summary "${SUMMARY_OUT}" -name "${JOB_NAME}" -pr "${MINIKUBE_LOCATION}" -repo github.com/kubernetes/minikube/ -details "${COMMIT}:$(date +%Y-%m-%d):${ROOT_JOB_ID}") || true +if [ "$EXTERNAL" != "yes" ] && [ "$MINIKUBE_LOCATION" = "master" ] +then + gopogh -in "${JSON_OUT}" -out_html "${HTML_OUT}" -out_summary "${SUMMARY_OUT}" -name "${JOB_NAME}" -pr "${MINIKUBE_LOCATION}" -repo github.com/kubernetes/minikube/ -details "${COMMIT}:$(date +%Y-%m-%d):${ROOT_JOB_ID}" -db_backend "${GOPOGH_DB_BACKEND}" -db_host "${GOPOGH_DB_HOST}" -db_path "${GOPOGH_DB_PATH}" -use_cloudsql -use_iam_auth || true +else + gopogh -in "${JSON_OUT}" -out_html "${HTML_OUT}" -out_summary "${SUMMARY_OUT}" -name "${JOB_NAME}" -pr "${MINIKUBE_LOCATION}" -repo github.com/kubernetes/minikube/ -details "${COMMIT}:$(date +%Y-%m-%d):${ROOT_JOB_ID}" || true +fi +gopogh_status=$(cat "${SUMMARY_OUT}") fail_num=$(echo $gopogh_status | jq '.NumberOfFail') test_num=$(echo $gopogh_status | jq '.NumberOfTests') pessimistic_status="${fail_num} / ${test_num} failures" @@ -479,7 +482,7 @@ else cp "${TEST_OUT}" "$REPORTS_PATH/out.txt" cp "${JSON_OUT}" "$REPORTS_PATH/out.json" cp "${HTML_OUT}" "$REPORTS_PATH/out.html" - cp "${SUMMARY_OUT}" "$REPORTS_PATH/summary.txt" + cp "${SUMMARY_OUT}" "$REPORTS_PATH/summary.json" fi echo ">> Cleaning up after ourselves ..." diff --git a/hack/jenkins/cron/cleanup_and_reboot_Linux.sh b/hack/jenkins/cron/cleanup_and_reboot_Linux.sh index 462fd0274b90..ae3789fe5ee6 100755 --- a/hack/jenkins/cron/cleanup_and_reboot_Linux.sh +++ b/hack/jenkins/cron/cleanup_and_reboot_Linux.sh @@ -51,6 +51,11 @@ function cleanup() { fi fi sudo killall --user "${user}" minikube >/dev/null 2>&1 || true + # clear the known_host file (~/.ssh/known_hosts) + if test -f /home/${user}/.ssh/known_hosts; then + sudo echo "" > /home/${user}/.ssh/known_hosts + ssh-keyscan github.com >>~/.ssh/known_hosts + fi done # clean docker left overs echo -e "\ncleanup docker..." diff --git a/hack/jenkins/installers/check_install_gh.sh b/hack/jenkins/installers/check_install_gh.sh index cd3cda0ddc16..1003fb374ca5 100755 --- a/hack/jenkins/installers/check_install_gh.sh +++ b/hack/jenkins/installers/check_install_gh.sh @@ -16,7 +16,7 @@ set -eux -o pipefail -GH_VERSION="2.32.0" +GH_VERSION="2.32.1" echo "Installing latest version of gh" curl -qLO "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_amd64.tar.gz" diff --git a/hack/jenkins/installers/check_install_gopogh.sh b/hack/jenkins/installers/check_install_gopogh.sh new file mode 100755 index 000000000000..ec5101f415e0 --- /dev/null +++ b/hack/jenkins/installers/check_install_gopogh.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# Copyright 2023 The Kubernetes Authors All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -eux -o pipefail + +# installing golang so we can go install gopogh +./installers/check_install_golang.sh "/usr/local" || true + +# temporary: remove the old install of gopogh as it's taking priority over our current install, preventing updating +sudo rm -f /usr/local/bin/gopogh + +go install github.com/medyagh/gopogh/cmd/gopogh@v0.19.0 diff --git a/hack/jenkins/upload_integration_report.sh b/hack/jenkins/upload_integration_report.sh index a18207828741..68593e9a3720 100755 --- a/hack/jenkins/upload_integration_report.sh +++ b/hack/jenkins/upload_integration_report.sh @@ -44,6 +44,12 @@ HTML_OUT="$ARTIFACTS/out.html" echo ">> uploading ${HTML_OUT}" gsutil -qm cp "${HTML_OUT}" "gs://${JOB_GCS_BUCKET}.html" || true -SUMMARY_OUT="$ARTIFACTS/summary.txt" +SUMMARY_OUT="$ARTIFACTS/summary.json" echo ">> uploading ${SUMMARY_OUT}" gsutil -qm cp "${SUMMARY_OUT}" "gs://${JOB_GCS_BUCKET}_summary.json" || true + +if [ "$MINIKUBE_LOCATION" = "master" ] +then + ./installers/check_install_gopogh.sh + gopogh -in "${JSON_OUT}" -name "${JOB_NAME}" -pr "${MINIKUBE_LOCATION}" -repo github.com/kubernetes/minikube/ -details "${COMMIT}:$(date +%Y-%m-%d):${ROOT_JOB_ID}" -db_backend "${GOPOGH_DB_BACKEND}" -db_host "${GOPOGH_DB_HOST}" -db_path "${GOPOGH_DB_PATH}" -use_cloudsql -use_iam_auth || true +fi diff --git a/hack/update/get_version/get_version.go b/hack/update/get_version/get_version.go index 7cd9fd0eba3b..1992f1733890 100644 --- a/hack/update/get_version/get_version.go +++ b/hack/update/get_version/get_version.go @@ -44,7 +44,7 @@ var dependencies = map[string]dependency{ "go": {"Makefile", `GO_VERSION \?= (.*)`}, "go-github": {"go.mod", `github\.com\/google\/go-github\/.* (.*)`}, "golint": {"Makefile", `GOLINT_VERSION \?= (.*)`}, - "gopogh": {"hack/jenkins/common.sh", `github.com/medyagh/gopogh/cmd/gopogh@(.*)`}, + "gopogh": {"hack/jenkins/installers/check_install_gopogh.sh", `github.com/medyagh/gopogh/cmd/gopogh@(.*)`}, "gotestsum": {"hack/jenkins/installers/check_install_gotestsum.sh", `gotest\.tools/gotestsum@(.*)`}, "hugo": {"netlify.toml", `HUGO_VERSION = "(.*)"`}, "ingress": {addonsFile, `ingress-nginx/controller:(.*)@`}, diff --git a/hack/update/gopogh_version/update_gopogh_version.go b/hack/update/gopogh_version/update_gopogh_version.go index 32e56cc26c53..db9751dccd3e 100644 --- a/hack/update/gopogh_version/update_gopogh_version.go +++ b/hack/update/gopogh_version/update_gopogh_version.go @@ -52,7 +52,7 @@ var ( `github.com/medyagh/gopogh/cmd/gopogh@.*`: `github.com/medyagh/gopogh/cmd/gopogh@{{.StableVersion}}`, }, }, - "hack/jenkins/common.sh": { + "hack/jenkins/installers/check_install_gopogh.sh": { Replace: map[string]string{ `github.com/medyagh/gopogh/cmd/gopogh@.*`: `github.com/medyagh/gopogh/cmd/gopogh@{{.StableVersion}}`, }, diff --git a/netlify.toml b/netlify.toml index a45c6751d1b4..a9b5a17592b0 100644 --- a/netlify.toml +++ b/netlify.toml @@ -5,7 +5,7 @@ command = "pwd && cd themes/docsy && npm install && git submodule update -f --in [build.environment] NODE_VERSION = "14.21.1" -HUGO_VERSION = "v0.115.3" +HUGO_VERSION = "v0.116.1" [context.production.environment] HUGO_ENV = "production" diff --git a/pkg/drivers/kic/types.go b/pkg/drivers/kic/types.go index 0ec37feba544..4e9f5e6051c0 100644 --- a/pkg/drivers/kic/types.go +++ b/pkg/drivers/kic/types.go @@ -24,14 +24,14 @@ import ( const ( // Version is the current version of kic - Version = "v0.0.40" + Version = "v0.0.40-1690799191-16971" // SHA of the kic base image - baseImageSHA = "8cadf23777709e43eca447c47a45f5a4635615129267ce025193040ec92a1631" + baseImageSHA = "e2b8a0768c6a1fd3ed0453a7caf63756620121eab0a25a3ecf9665353865fd37" // The name of the GCR kicbase repository - gcrRepo = "gcr.io/k8s-minikube/kicbase" + gcrRepo = "gcr.io/k8s-minikube/kicbase-builds" // The name of the Dockerhub kicbase repository - dockerhubRepo = "docker.io/kicbase/stable" + dockerhubRepo = "docker.io/kicbase/build" ) var ( diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index d152f6e37ebb..ad8ec5181ad7 100644 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -297,7 +297,7 @@ var Addons = map[string]*Addon{ MustBinAsset(addons.InspektorGadgetAssets, "inspektor-gadget/ig-daemonset.yaml.tmpl", vmpath.GuestAddonsDir, "ig-daemonset.yaml", "0640"), }, false, "inspektor-gadget", "3rd party (inspektor-gadget.io)", "https://github.com/orgs/inspektor-gadget/people", "https://minikube.sigs.k8s.io/docs/handbook/addons/inspektor-gadget/", map[string]string{ - "InspektorGadget": "inspektor-gadget/inspektor-gadget:v0.18.1@sha256:32f20b28cb05502dd6bcd2364321c834b97317039b456cff6f074b09824a7ac5", + "InspektorGadget": "inspektor-gadget/inspektor-gadget:v0.19.0@sha256:900ee9d94e12c15caebf0f198a51b532e6e2e373f6adfdef6fc78d11f6ecc6ac", }, map[string]string{ "InspektorGadget": "ghcr.io", }), @@ -347,7 +347,7 @@ var Addons = map[string]*Addon{ "metrics-server-service.yaml", "0640"), }, false, "metrics-server", "Kubernetes", "", "", map[string]string{ - "MetricsServer": "metrics-server/metrics-server:v0.6.3@sha256:c60778fa1c44d0c5a0c4530ebe83f9243ee6fc02f4c3dc59226c201931350b10", + "MetricsServer": "metrics-server/metrics-server:v0.6.4@sha256:ee4304963fb035239bb5c5e8c10f2f38ee80efc16ecbdb9feb7213c17ae2e86e", }, map[string]string{ "MetricsServer": "registry.k8s.io", }), @@ -745,7 +745,7 @@ var Addons = map[string]*Addon{ MustBinAsset(addons.HeadlampAssets, "headlamp/headlamp-clusterrolebinding.yaml", vmpath.GuestAddonsDir, "headlamp-clusterrolebinding.yaml", "0640"), }, false, "headlamp", "3rd party (kinvolk.io)", "yolossn", "https://minikube.sigs.k8s.io/docs/handbook/addons/headlamp/", map[string]string{ - "Headlamp": "headlamp-k8s/headlamp:v0.18.0@sha256:67ba87b88218563eec9684525904936609713b02dcbcf4390cd055766217ed45", + "Headlamp": "headlamp-k8s/headlamp:v0.19.0@sha256:498ea22dc5acadaa4015e7a50335d21fdce45d9e8f1f8adf29c2777da4182f98", }, map[string]string{ "Headlamp": "ghcr.io", @@ -753,7 +753,7 @@ var Addons = map[string]*Addon{ "cloud-spanner": NewAddon([]*BinAsset{ MustBinAsset(addons.CloudSpanner, "cloud-spanner/deployment.yaml", vmpath.GuestAddonsDir, "deployment.yaml", "0640"), }, false, "cloud-spanner", "Google", "", "https://minikube.sigs.k8s.io/docs/handbook/addons/cloud-spanner/", map[string]string{ - "CloudSpanner": "cloud-spanner-emulator/emulator:1.5.7@sha256:79c79804e8dcc89a9f70e08c362340fcc0f1a15828fdb147e8ae42936d1c0455", + "CloudSpanner": "cloud-spanner-emulator/emulator:1.5.8@sha256:b0353f77bc1f47c74f86e60c61b64111be5724f9c459a862ec73772c85641bbb", }, map[string]string{ "CloudSpanner": "gcr.io", }), diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd-api-port.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd-api-port.yaml new file mode 100644 index 000000000000..51b47cfad49f --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd-api-port.yaml @@ -0,0 +1,74 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 12345 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///run/containerd/containerd.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:12345 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd-pod-network-cidr.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd-pod-network-cidr.yaml new file mode 100644 index 000000000000..f98fd3e0630e --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd-pod-network-cidr.yaml @@ -0,0 +1,74 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///run/containerd/containerd.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "192.168.32.0/20" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "192.168.32.0/20" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd.yaml new file mode 100644 index 000000000000..d13658877a26 --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/containerd.yaml @@ -0,0 +1,74 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///run/containerd/containerd.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/crio-options-gates.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/crio-options-gates.yaml new file mode 100644 index 000000000000..ae085b97dcd7 --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/crio-options-gates.yaml @@ -0,0 +1,81 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///var/run/crio/crio.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" + fail-no-swap: "true" + feature-gates: "a=b" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + feature-gates: "a=b" + kube-api-burst: "32" + leader-elect: "false" +scheduler: + extraArgs: + feature-gates: "a=b" + leader-elect: "false" + scheduler-name: "mini-scheduler" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s +mode: "iptables" diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/crio.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/crio.yaml new file mode 100644 index 000000000000..2ce451c19b75 --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/crio.yaml @@ -0,0 +1,74 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///var/run/crio/crio.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/default.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/default.yaml new file mode 100644 index 000000000000..02cd96367678 --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/default.yaml @@ -0,0 +1,74 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///var/run/dockershim.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/dns.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/dns.yaml new file mode 100644 index 000000000000..222868d9090b --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/dns.yaml @@ -0,0 +1,74 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///var/run/dockershim.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: minikube.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "minikube.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/image-repository.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/image-repository.yaml new file mode 100644 index 000000000000..750f5064ce1a --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/image-repository.yaml @@ -0,0 +1,75 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///var/run/dockershim.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +imageRepository: test/repo +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s diff --git a/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/options.yaml b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/options.yaml new file mode 100644 index 000000000000..9a2c61591c49 --- /dev/null +++ b/pkg/minikube/bootstrapper/bsutil/testdata/v1.28/options.yaml @@ -0,0 +1,78 @@ +apiVersion: kubeadm.k8s.io/v1beta3 +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: 1.1.1.1 + bindPort: 8443 +bootstrapTokens: + - groups: + - system:bootstrappers:kubeadm:default-node-token + ttl: 24h0m0s + usages: + - signing + - authentication +nodeRegistration: + criSocket: unix:///var/run/dockershim.sock + name: "mk" + kubeletExtraArgs: + node-ip: 1.1.1.1 + taints: [] +--- +apiVersion: kubeadm.k8s.io/v1beta3 +kind: ClusterConfiguration +apiServer: + certSANs: ["127.0.0.1", "localhost", "1.1.1.1"] + extraArgs: + enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota" + fail-no-swap: "true" +controllerManager: + extraArgs: + allocate-node-cidrs: "true" + kube-api-burst: "32" + leader-elect: "false" +scheduler: + extraArgs: + leader-elect: "false" + scheduler-name: "mini-scheduler" +certificatesDir: /var/lib/minikube/certs +clusterName: mk +controlPlaneEndpoint: control-plane.minikube.internal:8443 +etcd: + local: + dataDir: /var/lib/minikube/etcd + extraArgs: + proxy-refresh-interval: "70000" +kubernetesVersion: v1.28.0-rc.0 +networking: + dnsDomain: cluster.local + podSubnet: "10.244.0.0/16" + serviceSubnet: 10.96.0.0/12 +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +authentication: + x509: + clientCAFile: /var/lib/minikube/certs/ca.crt +cgroupDriver: systemd +hairpinMode: hairpin-veth +runtimeRequestTimeout: 15m +clusterDomain: "cluster.local" +# disable disk resource management by default +imageGCHighThresholdPercent: 100 +evictionHard: + nodefs.available: "0%" + nodefs.inodesFree: "0%" + imagefs.available: "0%" +failSwapOn: false +staticPodPath: /etc/kubernetes/manifests +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +kind: KubeProxyConfiguration +clusterCIDR: "10.244.0.0/16" +metricsBindAddress: 0.0.0.0:10249 +conntrack: + maxPerCore: 0 +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_established" + tcpEstablishedTimeout: 0s +# Skip setting "net.netfilter.nf_conntrack_tcp_timeout_close" + tcpCloseWaitTimeout: 0s +mode: "iptables" diff --git a/pkg/minikube/bootstrapper/images/images.go b/pkg/minikube/bootstrapper/images/images.go index b093fccf990f..118c922e9166 100644 --- a/pkg/minikube/bootstrapper/images/images.go +++ b/pkg/minikube/bootstrapper/images/images.go @@ -18,26 +18,22 @@ limitations under the License. package images import ( - "encoding/json" "fmt" - "io" - "net/http" + "os/exec" "path" + "runtime" + "strings" "k8s.io/klog/v2" "k8s.io/minikube/pkg/minikube/constants" + "k8s.io/minikube/pkg/minikube/download" "github.com/blang/semver/v4" "k8s.io/minikube/pkg/version" ) -const ( - // builds a docker v2 repository API call in the format https://registry.k8s.io/v2/coredns/coredns/tags/list - tagURLTemplate = "https://%s/v2/%s/tags/list" -) - // Pause returns the image name to pull for a given Kubernetes version func Pause(v semver.Version, mirror string) string { // Note: changing this logic requires bumping the preload version @@ -45,7 +41,7 @@ func Pause(v semver.Version, mirror string) string { // https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants.go // https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants_unix.go imageName := "pause" - pv := imageVersion(v, mirror, imageName, "3.6") + pv := imageVersion(v, imageName, "3.9") return fmt.Sprintf("%s:%s", path.Join(kubernetesRepo(mirror), imageName), pv) } @@ -70,38 +66,36 @@ func componentImage(name string, v semver.Version, mirror string) string { return fmt.Sprintf("%s:v%s", path.Join(kubernetesRepo(mirror), name), v) } -// fixes 13136 by getting the latest image version from the registry.k8s.io repository instead of hardcoded -func findLatestTagFromRepository(url string, lastKnownGood string) string { - client := &http.Client{} - errorMsg := fmt.Sprintf("Failed to get latest image version for %s, reverting to version %s.", url, lastKnownGood) - - resp, err := client.Get(url) - - if err != nil || resp.StatusCode != http.StatusOK { - klog.Warningf("%s Error %v", errorMsg, err) +func tagFromKubeadm(v, name, lastKnownGood string) string { + if runtime.GOOS != "linux" { + klog.Warningf("can only get tag from kubeadm on Linux") return lastKnownGood } - defer resp.Body.Close() - - body, err := io.ReadAll(resp.Body) + kubeadm, err := download.Binary("kubeadm", v, "linux", runtime.GOARCH, "") if err != nil { - klog.Warningf("%s Error %v", errorMsg, err) + klog.Warningf("failed to download kubeadm binary: %v", err) return lastKnownGood } - - type TagsResponse struct { - Name string `json:"name"` - Tags []string `json:"tags"` - } - - tags := TagsResponse{} - err = json.Unmarshal(body, &tags) - if err != nil || len(tags.Tags) < 1 { - klog.Warningf("%s Error %v", errorMsg, err) + // TODO: Once kubeadm graduates the "-experimental-output" flag to non-experimental should use JSON output here + b, err := exec.Command(kubeadm, "config", "images", "list").Output() + if err != nil { + klog.Warningf("failed getting kubeadm image list: %v", err) return lastKnownGood } - lastTagNum := len(tags.Tags) - 1 - return tags.Tags[lastTagNum] + lines := strings.Split(string(b), "\n") + for _, line := range lines { + if !strings.Contains(line, name) { + continue + } + parts := strings.Split(line, ":") + if len(parts) != 2 { + klog.Warningf("unexpected image format: %s", line) + return lastKnownGood + } + return parts[1] + } + klog.Warningf("failed to find %q image in kubeadm image list", name) + return lastKnownGood } // coreDNS returns the images used for CoreDNS @@ -114,7 +108,7 @@ func coreDNS(v semver.Version, mirror string) string { if semver.MustParseRange("<1.21.0-alpha.1")(v) { imageName = "coredns" } - cv := imageVersion(v, mirror, imageName, "v1.8.6") + cv := imageVersion(v, imageName, "v1.10.1") if mirror == constants.AliyunMirror { imageName = "coredns" @@ -129,17 +123,17 @@ func etcd(v semver.Version, mirror string) string { // Should match `DefaultEtcdVersion` in: // https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants.go imageName := "etcd" - ev := imageVersion(v, mirror, imageName, "3.5.0-0") + ev := imageVersion(v, imageName, "3.5.7-0") return fmt.Sprintf("%s:%s", path.Join(kubernetesRepo(mirror), imageName), ev) } -func imageVersion(v semver.Version, mirror, imageName, defaultVersion string) string { +func imageVersion(v semver.Version, imageName, defaultVersion string) string { versionString := fmt.Sprintf("v%s", v.String()) if ver, ok := constants.KubeadmImages[versionString][imageName]; ok { return ver } - return findLatestTagFromRepository(fmt.Sprintf(tagURLTemplate, kubernetesRepo(mirror), imageName), defaultVersion) + return tagFromKubeadm(versionString, imageName, defaultVersion) } // auxiliary returns images that are helpful for running minikube diff --git a/pkg/minikube/bootstrapper/images/images_test.go b/pkg/minikube/bootstrapper/images/images_test.go index 96d97fa4d9fc..ba2d05e7fa70 100644 --- a/pkg/minikube/bootstrapper/images/images_test.go +++ b/pkg/minikube/bootstrapper/images/images_test.go @@ -17,8 +17,6 @@ limitations under the License. package images import ( - "net/http" - "net/http/httptest" "strings" "testing" @@ -93,40 +91,6 @@ registry.k8s.io/coredns/coredns:v1.8.4 } } -func TestGetLatestTag(t *testing.T) { - serverResp := "{tags: [\"1.8.7\"]}" - server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - w.WriteHeader(http.StatusOK) - _, err := w.Write([]byte(serverResp)) - if err != nil { - t.Errorf("failed to write https response") - } - })) - defer server.Close() - - var testCases = []struct { - name string - url string - lastKnownGood string - wsResponse string - expect string - }{ - {name: "VersionGetSuccess", url: server.URL, lastKnownGood: "v1.8.6", wsResponse: `{"name": "coredns", "tags": ["v1.8.9"]}`, expect: "v1.8.9"}, - {name: "VersionGetFail", url: server.URL, lastKnownGood: "v1.8.6", wsResponse: `{"name": "nah", "nope": ["v1.8.9"]}`, expect: "v1.8.6"}, - {name: "VersionGetFailNone", url: server.URL, lastKnownGood: "v1.8.6", wsResponse: ``, expect: "v1.8.6"}, - {name: "VersionGetSuccessMultiple", url: server.URL, lastKnownGood: "v1.8.6", wsResponse: `{"name": "coredns", "tags": ["1.8.7","v1.8.9"]}`, expect: "v1.8.9"}, - } - for _, tc := range testCases { - t.Run(tc.name, func(t *testing.T) { - serverResp = tc.wsResponse - resp := findLatestTagFromRepository(tc.url, tc.lastKnownGood) - if diff := cmp.Diff(tc.expect, resp); diff != "" { - t.Errorf("Incorrect response version (-want +got):\n%s", diff) - } - }) - } -} - func TestEssentialsAliyunMirror(t *testing.T) { var testCases = []struct { version string diff --git a/pkg/minikube/cni/flannel.yaml b/pkg/minikube/cni/flannel.yaml index ac10bd0ac568..cb8ce4dff04b 100644 --- a/pkg/minikube/cni/flannel.yaml +++ b/pkg/minikube/cni/flannel.yaml @@ -139,8 +139,7 @@ spec: serviceAccountName: flannel initContainers: - name: install-cni-plugin - image: docker.io/flannel/flannel-cni-plugin:v1.1.2 - #image: docker.io/rancher/mirrored-flannelcni-flannel-cni-plugin:v1.1.2 + image: docker.io/flannel/flannel-cni-plugin:v1.2.0 command: - cp args: @@ -151,8 +150,7 @@ spec: - name: cni-plugin mountPath: /opt/cni/bin - name: install-cni - image: docker.io/flannel/flannel:v0.22.0 - #image: docker.io/rancher/mirrored-flannelcni-flannel:v0.22.0 + image: docker.io/flannel/flannel:v0.22.1 command: - cp args: @@ -166,8 +164,7 @@ spec: mountPath: /etc/kube-flannel/ containers: - name: kube-flannel - image: docker.io/flannel/flannel:v0.22.0 - #image: docker.io/rancher/mirrored-flannelcni-flannel:v0.22.0 + image: docker.io/flannel/flannel:v0.22.1 command: - /opt/bin/flanneld args: diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go index 41f84d4e17ad..d15c4115c175 100644 --- a/pkg/minikube/constants/constants.go +++ b/pkg/minikube/constants/constants.go @@ -34,10 +34,10 @@ var ( const ( // DefaultKubernetesVersion is the default Kubernetes version - DefaultKubernetesVersion = "v1.27.3" + DefaultKubernetesVersion = "v1.27.4" // NewestKubernetesVersion is the newest Kubernetes version to test against // NOTE: You may need to update coreDNS & etcd versions in pkg/minikube/bootstrapper/images/images.go - NewestKubernetesVersion = "v1.27.3" + NewestKubernetesVersion = "v1.28.0-rc.0" // OldestKubernetesVersion is the oldest Kubernetes version to test against OldestKubernetesVersion = "v1.16.0" // NoKubernetesVersion is the version used when users does NOT want to install kubernetes diff --git a/pkg/minikube/constants/constants_kubeadm_images.go b/pkg/minikube/constants/constants_kubeadm_images.go index e2bee859b57f..8d0451813f8c 100644 --- a/pkg/minikube/constants/constants_kubeadm_images.go +++ b/pkg/minikube/constants/constants_kubeadm_images.go @@ -18,6 +18,36 @@ package constants var ( KubeadmImages = map[string]map[string]string{ + "v1.28.0-rc.0": { + "coredns/coredns": "v1.10.1", + "etcd": "3.5.9-0", + "pause": "3.9", + }, + "v1.28.0-beta.0": { + "coredns/coredns": "v1.10.1", + "etcd": "3.5.9-0", + "pause": "3.9", + }, + "v1.27.4": { + "coredns/coredns": "v1.10.1", + "etcd": "3.5.7-0", + "pause": "3.9", + }, + "v1.26.7": { + "coredns/coredns": "v1.9.3", + "etcd": "3.5.6-0", + "pause": "3.9", + }, + "v1.25.12": { + "coredns/coredns": "v1.9.3", + "etcd": "3.5.6-0", + "pause": "3.8", + }, + "v1.24.16": { + "coredns/coredns": "v1.8.6", + "etcd": "3.5.6-0", + "pause": "3.7", + }, "v1.28.0-alpha.4": { "coredns/coredns": "v1.10.1", "etcd": "3.5.9-0", diff --git a/pkg/minikube/constants/constants_kubernetes_versions.go b/pkg/minikube/constants/constants_kubernetes_versions.go index 569bd55c7502..c73bae256f94 100644 --- a/pkg/minikube/constants/constants_kubernetes_versions.go +++ b/pkg/minikube/constants/constants_kubernetes_versions.go @@ -21,10 +21,13 @@ package constants // ValidKubernetesVersions is a list of Kubernetes versions in order from newest to oldest // This is used when outputting Kubernetes versions and to select the latest patch version when unspecified var ValidKubernetesVersions = []string{ + "v1.28.0-rc.0", + "v1.28.0-beta.0", "v1.28.0-alpha.4", "v1.28.0-alpha.3", "v1.28.0-alpha.2", "v1.28.0-alpha.1", + "v1.27.4", "v1.27.3", "v1.27.2", "v1.27.1", @@ -35,6 +38,7 @@ var ValidKubernetesVersions = []string{ "v1.27.0-alpha.3", "v1.27.0-alpha.2", "v1.27.0-alpha.1", + "v1.26.7", "v1.26.6", "v1.26.5", "v1.26.4", @@ -48,6 +52,7 @@ var ValidKubernetesVersions = []string{ "v1.26.0-alpha.3", "v1.26.0-alpha.2", "v1.26.0-alpha.1", + "v1.25.12", "v1.25.11", "v1.25.10", "v1.25.9", @@ -66,6 +71,7 @@ var ValidKubernetesVersions = []string{ "v1.25.0-alpha.3", "v1.25.0-alpha.2", "v1.25.0-alpha.1", + "v1.24.16", "v1.24.15", "v1.24.14", "v1.24.13", diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go index 9b22af405883..97f26bc68e79 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/16971" return []string{ fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH), diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md index 9c1e8c272020..e057555883a7 100644 --- a/site/content/en/docs/commands/start.md +++ b/site/content/en/docs/commands/start.md @@ -26,7 +26,7 @@ minikube start [flags] --apiserver-names strings A set of apiserver names which are used in the generated certificate for kubernetes. This can be used if you want to make the apiserver available from outside the machine --apiserver-port int The apiserver listening port (default 8443) --auto-update-drivers If set, automatically updates drivers to the latest version. Defaults to true. (default true) - --base-image string The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase:v0.0.40@sha256:8cadf23777709e43eca447c47a45f5a4635615129267ce025193040ec92a1631") + --base-image string The base image to use for docker/podman drivers. Intended for local development. (default "gcr.io/k8s-minikube/kicbase-builds:v0.0.40-1690799191-16971@sha256:e2b8a0768c6a1fd3ed0453a7caf63756620121eab0a25a3ecf9665353865fd37") --binary-mirror string Location to fetch kubectl, kubelet, & kubeadm binaries from. --cache-images If true, cache docker images for the current bootstrapper and load them into the machine. Always false with --driver=none. (default true) --cert-expiration duration Duration until minikube certificate expiration, defaults to three years (26280h). (default 26280h0m0s) @@ -71,7 +71,7 @@ minikube start [flags] --interactive Allow user prompts for more information (default true) --iso-url strings Locations to fetch the minikube ISO from. The list depends on the machine architecture. --keep-context This will keep the existing kubectl context and will create a minikube context. - --kubernetes-version string The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.27.3, 'latest' for v1.27.3). Defaults to 'stable'. + --kubernetes-version string The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.27.4, 'latest' for v1.28.0-rc.0). Defaults to 'stable'. --kvm-gpu Enable experimental NVIDIA GPU support in minikube --kvm-hidden Hide the hypervisor signature from the guest in minikube (kvm2 driver only) --kvm-network string The KVM default network name. (kvm2 driver only) (default "default") diff --git a/site/content/en/docs/contrib/leaderboard/2023.html b/site/content/en/docs/contrib/leaderboard/2023.html index d7051072b126..b52162f3e08e 100644 --- a/site/content/en/docs/contrib/leaderboard/2023.html +++ b/site/content/en/docs/contrib/leaderboard/2023.html @@ -87,7 +87,7 @@