Merge branch 'master' into master

pull/15235/head
Chris Kannon 2022-11-17 09:58:49 -05:00 committed by GitHub
commit 2a86770a92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
84 changed files with 1146 additions and 373 deletions

View File

@ -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

View File

@ -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
@ -26,7 +26,10 @@ jobs:
c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}"
echo "changes=$c" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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

View File

@ -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
@ -25,7 +25,10 @@ jobs:
c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}"
echo "changes=$c" >> $GITHUB_OUTPUT
# 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<<EOF" >> $GITHUB_OUTPUT
echo "$c" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }}
- name: Create PR

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
@ -22,7 +22,10 @@ jobs:
id: bumpGolang
run: |
make update-golang-version
echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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
@ -22,7 +22,10 @@ jobs:
id: bumpGolint
run: |
make update-golint-version
echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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
@ -22,7 +22,10 @@ jobs:
id: bumpGopogh
run: |
make update-gopogh-version
echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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
@ -22,7 +22,10 @@ jobs:
id: bumpGotestsum
run: |
make update-gotestsum-version
echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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
@ -27,7 +27,10 @@ jobs:
c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}"
echo "changes=$c" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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
@ -25,7 +25,10 @@ jobs:
c=$(git status --porcelain)
c="${c//$'\n'/'%0A'}"
c="${c//$'\r'/'%0D'}"
echo "changes=$c" >> $GITHUB_OUTPUT
# 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<<EOF" >> $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

View File

@ -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
@ -27,7 +27,10 @@ jobs:
id: yearlyLeaderboard
run: |
make update-yearly-leaderboard
echo "changes=$(git status --porcelain)" >> $GITHUB_OUTPUT
# 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<<EOF" >> $GITHUB_OUTPUT
echo "$(git status --porcelain)" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }}
- name: Create PR

View File

@ -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):

View File

@ -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)
@ -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-1667831044-15235
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))
@ -34,7 +34,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
@ -45,7 +45,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
@ -110,7 +110,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
@ -927,10 +927,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)

View File

@ -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 {

View File

@ -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 {

View File

@ -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)

View File

@ -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 {

View File

@ -1428,7 +1428,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 {
@ -1438,12 +1438,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

View File

@ -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 {
@ -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" {
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")

View File

@ -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()

View File

@ -1,2 +1,2 @@
FROM golang:1.19.2
FROM golang:1.19.3
ADD auto-pause-hook /auto-pause-hook

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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": {

View File

@ -1,4 +1,12 @@
[
{
"checksums": {
"darwin": "667ab2baeae7829392533a9ef733e94ea88c87a8edf38ee088d349077152cc95",
"linux": "58cead5ece9815a61d4be253a07b2385f8cf373d9e1eba5c9783444e4e9e2d8e",
"windows": "65304e5c5c98a688fb0abc2d76d77b3b441f9501d6dfa71d96a0532f4114d34c"
},
"name": "v1.28.0"
},
{
"checksums": {
"darwin": "aa60ff42b4d60b1a65552a5f527d78f68efa887e1eab0af013996badfbccc3c8",

47
go.mod
View File

@ -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
@ -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
@ -61,33 +61,33 @@ 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
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
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.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.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
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
@ -106,8 +106,9 @@ require (
require (
cloud.google.com/go v0.104.0 // indirect
cloud.google.com/go/compute v1.10.0 // indirect
cloud.google.com/go/iam v0.3.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.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
@ -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/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
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

103
go.sum
View File

@ -41,12 +41,14 @@ 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=
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=
@ -59,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=
@ -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=
@ -584,8 +586,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 +756,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 +780,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=
@ -986,8 +985,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=
@ -1009,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=
@ -1029,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=
@ -1038,6 +1037,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 +1046,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=
@ -1112,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=
@ -1123,17 +1125,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=
@ -1158,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=
@ -1263,8 +1266,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=
@ -1283,8 +1286,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=
@ -1409,21 +1412,22 @@ 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.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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=
@ -1440,8 +1444,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=
@ -1463,7 +1467,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=
@ -1551,8 +1554,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=
@ -1636,8 +1639,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=
@ -1747,15 +1750,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=
@ -1763,15 +1766,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=

View File

@ -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 <https://doc.qt.io/qt-5/qtwidgets-desktop-systray-example.html>

@ -1 +1 @@
Subproject commit a1f382413bb7f572f198167f58fbb3abbf51d38b
Subproject commit 552fcb3a171f6216f233dfdba5dce9aca1efda50

View File

@ -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

View File

@ -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() {

View File

@ -1,10 +1,11 @@
[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.83.1"
NODE_VERSION = "14.21.1"
HUGO_VERSION = "0.105.0"
[context.production.environment]
HUGO_ENV = "production"

View File

@ -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)

View File

@ -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)
}

View File

@ -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",
}),
@ -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,
@ -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",
}),
@ -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",
"CloudSpanner": "cloud-spanner-emulator/emulator:1.4.6@sha256:b9341271be665a97f8ef778a752f0f63bea8c8a90bcdf79c03fb6c3444a8478d",
}, map[string]string{
"CloudSpannerAddon": "gcr.io",
"CloudSpanner": "gcr.io",
}),
}

View File

@ -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

View File

@ -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
}

View File

@ -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)
}
}

View File

@ -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
}

View File

@ -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:

View File

@ -284,13 +284,10 @@ func TestGetPrimaryControlPlane(t *testing.T) {
}
for _, tc := range tests {
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
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.Setenv("MINIKUBE_HOME", miniDir)
cc, err := DefaultLoader.LoadConfigFromFile(tc.profile, miniDir)
if err != nil {
@ -300,6 +297,14 @@ func TestGetPrimaryControlPlane(t *testing.T) {
// 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 {
@ -329,20 +334,6 @@ func TestGetPrimaryControlPlane(t *testing.T) {
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)
if err != nil {
t.Fatalf("Failed to move temporal config file (%s) to original file path (%s)",
tempFilePath, originalFilePath)
}
// reset env(MINIKUBE_HOME)
err = os.Setenv("MINIKUBE_HOME", originalMinikubeHomeEnv)
if err != nil {
t.Fatalf("Failed to reset ENV \"MINIKUBE_HOME\" to original value (%s)", originalMinikubeHomeEnv)
}
}()
})
}
}

View File

@ -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-builds/iso/15235"
isoBucket := "minikube-builds/iso/15341"
return []string{
fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s-%s.iso", isoBucket, v, runtime.GOARCH),

View File

@ -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)
}

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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=<override>
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")

View File

@ -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)

View File

@ -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")

View File

@ -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 == "" {

View File

@ -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
}

View File

@ -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 {

View File

@ -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

View File

@ -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 |

View File

@ -0,0 +1,474 @@
---
title: "v1.28.0 - 2022-11-04"
linkTitle: "v1.28.0 - 2022-11-04"
weight: -110
---
<html>
<head>
<title>kubernetes/minikube - Leaderboard</title>
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
</script>
<style>
body {
font-family: 'Open Sans', sans-serif;
background-color: #f7f7fa;
padding: 1em;
}
h1 {
color: rgba(66,133,244);
margin-bottom: 0em;
}
.subtitle {
color: rgba(23,90,201);
font-size: small;
}
pre {
white-space: pre-wrap;
word-wrap: break-word;
color: #666;
font-size: small;
}
h2.cli {
color: #666;
}
h2 {
color: #333;
}
.board p {
font-size: small;
color: #999;
text-align: center;
}
.board {
clear: right;
display: inline-block;
padding: 0.5em;
margin: 0.5em;
background-color: #fff;
}
.board:nth-child(4n+3) {
border: 2px solid rgba(66,133,244,0.25);
color: rgba(66,133,244);
}
.board:nth-child(4n+2) {
border: 2px solid rgba(219,68,55,0.25);
color: rgba rgba(219,68,55);
}
.board:nth-child(4n+1) {
border: 2px solid rgba(244,160,0,0.25);
color: rgba(244,160,0);
}
.board:nth-child(4n) {
border: 2px solid rgba(15,157,88,0.25);
color: rgba(15,157,88);
}
h3 {
text-align: center;
}
</style>
</head>
<body>
<h1>kubernetes/minikube</h1>
<div class="subtitle">2022-10-07 &mdash; 2022-11-04</div>
<h2>Reviewers</h2>
<div class="board">
<h3>Most Influential</h3>
<p># of Merged PRs reviewed</p>
<div id="chart_reviewCounts" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawreviewCounts);
function drawreviewCounts() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Merged PRs reviewed', type: 'number'}, { role: 'annotation' }],
["spowelljr", 9, "9"],
["medyagh", 8, "8"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewCounts'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most Helpful</h3>
<p># of words written in merged PRs</p>
<div id="chart_reviewWords" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawreviewWords);
function drawreviewWords() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of words written in merged PRs', type: 'number'}, { role: 'annotation' }],
["spowelljr", 720, "720"],
["medyagh", 218, "218"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewWords'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most Demanding</h3>
<p># of Review Comments in merged PRs</p>
<div id="chart_reviewComments" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawreviewComments);
function drawreviewComments() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Review Comments in merged PRs', type: 'number'}, { role: 'annotation' }],
["spowelljr", 14, "14"],
["medyagh", 11, "11"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_reviewComments'));
chart.draw(data, options);
};
</script>
</div>
<h2>Pull Requests</h2>
<div class="board">
<h3>Most Active</h3>
<p># of Pull Requests Merged</p>
<div id="chart_prCounts" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawprCounts);
function drawprCounts() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of Pull Requests Merged', type: 'number'}, { role: 'annotation' }],
["spowelljr", 16, "16"],
["rahil-p", 3, "3"],
["jeffmaury", 2, "2"],
["klaases", 2, "2"],
["eiffel-fl", 2, "2"],
["medyagh", 2, "2"],
["agarwalnit", 1, "1"],
["joaquimrocha", 1, "1"],
["zdxgs", 1, "1"],
["g1eny0ung", 1, "1"],
["oldium", 1, "1"],
["jevontane", 1, "1"],
["LJTian", 1, "1"],
["ckannon", 1, "1"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_prCounts'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Big Movers</h3>
<p>Lines of code (delta)</p>
<div id="chart_prDeltas" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawprDeltas);
function drawprDeltas() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: 'Lines of code (delta)', type: 'number'}, { role: 'annotation' }],
["spowelljr", 537, "537"],
["agarwalnit", 141, "141"],
["eiffel-fl", 75, "75"],
["rahil-p", 66, "66"],
["ckannon", 44, "44"],
["jevontane", 40, "40"],
["g1eny0ung", 21, "21"],
["oldium", 13, "13"],
["klaases", 10, "10"],
["medyagh", 7, "7"],
["joaquimrocha", 2, "2"],
["LJTian", 0, "0"],
["jeffmaury", 0, "0"],
["zdxgs", 0, "0"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_prDeltas'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most difficult to review</h3>
<p>Average PR size (added+changed)</p>
<div id="chart_prSize" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawprSize);
function drawprSize() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: 'Average PR size (added+changed)', type: 'number'}, { role: 'annotation' }],
["agarwalnit", 139, "139"],
["eiffel-fl", 35, "35"],
["spowelljr", 28, "28"],
["jevontane", 25, "25"],
["ckannon", 24, "24"],
["rahil-p", 15, "15"],
["g1eny0ung", 11, "11"],
["oldium", 7, "7"],
["klaases", 4, "4"],
["medyagh", 1, "1"],
["joaquimrocha", 1, "1"],
["LJTian", 0, "0"],
["jeffmaury", 0, "0"],
["zdxgs", 0, "0"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_prSize'));
chart.draw(data, options);
};
</script>
</div>
<h2>Issues</h2>
<div class="board">
<h3>Most Active</h3>
<p># of comments</p>
<div id="chart_comments" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawcomments);
function drawcomments() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of comments', type: 'number'}, { role: 'annotation' }],
["RA489", 63, "63"],
["klaases", 39, "39"],
["afbjorklund", 23, "23"],
["spowelljr", 22, "22"],
["medyagh", 4, "4"],
["coy18", 2, "2"],
["josepdcs", 2, "2"],
["git-zjx", 2, "2"],
["gobraves", 1, "1"],
["linux019", 1, "1"],
["zioproto", 1, "1"],
["lucastheisen", 1, "1"],
["amitmavgupta", 1, "1"],
["imflash217", 1, "1"],
["moeshinyo", 1, "1"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_comments'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Most Helpful</h3>
<p># of words (excludes authored)</p>
<div id="chart_commentWords" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawcommentWords);
function drawcommentWords() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of words (excludes authored)', type: 'number'}, { role: 'annotation' }],
["kevinevans1", 2674, "2674"],
["klaases", 1655, "1655"],
["spowelljr", 1034, "1034"],
["afbjorklund", 986, "986"],
["kertzi", 759, "759"],
["git-zjx", 700, "700"],
["rraval", 326, "326"],
["RA489", 287, "287"],
["coy18", 230, "230"],
["eric-saintetienne", 197, "197"],
["daro1337", 178, "178"],
["roy-work", 105, "105"],
["josepdcs", 96, "96"],
["medyagh", 90, "90"],
["zioproto", 69, "69"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_commentWords'));
chart.draw(data, options);
};
</script>
</div>
<div class="board">
<h3>Top Closers</h3>
<p># of issues closed (excludes authored)</p>
<div id="chart_issueCloser" style="width: 450px; height: 350px;"></div>
<script type="text/javascript">
google.charts.setOnLoadCallback(drawissueCloser);
function drawissueCloser() {
var data = new google.visualization.arrayToDataTable([
[{label:'',type:'string'},{label: '# of issues closed (excludes authored)', type: 'number'}, { role: 'annotation' }],
["klaases", 26, "26"],
["spowelljr", 22, "22"],
]);
var options = {
axisTitlesPosition: 'none',
bars: 'horizontal', // Required for Material Bar Charts.
axes: {
x: {
y: { side: 'top'} // Top x-axis.
}
},
legend: { position: "none" },
bar: { groupWidth: "85%" }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_issueCloser'));
chart.draw(data, options);
};
</script>
</div>
</body>
</html>

View File

@ -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,24 @@ 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
sudo make uninstall
```
2. Reboot
3. Reinsitall `socket_vmnet`:
3. Reinstall `socket_vmnet`:
```shell
cd socket_vmnet
sudo make install

View File

@ -53,13 +53,10 @@ Services of type `NodePort` can be exposed via the `minikube service <service-na
3. Check Node Port
```shell
kubectl get svc
```
<pre>
$ 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 <none> 8080:31389/TCP 3s
</pre>
```
4. Run service tunnel

View File

@ -534,6 +534,8 @@ minikube dashboard
<h2 class="step"><span class="fa-stack fa-1x"><i class="fa fa-circle fa-stack-2x"></i><strong class="fa-stack-1x text-primary">4</strong></span>Deploy applications</h2>
{{% 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,103 @@ kubectl get services balanced
```
Your deployment is now available at &lt;EXTERNAL-IP&gt;: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 * <your_ip_here> 80 5m45s
```
Now verify that the ingress works
```shell
curl <ip_from_above>/foo
curl <ip_from_above>/bar
```
{{% /tab %}}
{{% /tabs %}}
<h2 class="step"><span class="fa-stack fa-1x"><i class="fa fa-circle fa-stack-2x"></i><strong class="fa-stack-1x text-primary">5</strong></span>Manage your cluster</h2>

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

@ -1 +1 @@
Subproject commit 2536303cad19991c673037f4f16332075141364a
Subproject commit f27daed90073fb74ca3afdc0250910abcfaa6bea

View File

@ -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"

View File

@ -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.",
@ -719,7 +719,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}}",
@ -864,7 +864,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 :",
@ -906,7 +906,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",
@ -933,7 +933,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.",
@ -989,12 +989,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}}",