diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 61634d5a45..4ac5bc16b2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,11 @@ updates: directory: "/" schedule: interval: "weekly" + labels: + - "ok-to-test" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + labels: + - "ok-to-test" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b2b4f3e574..e568103e27 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,12 +13,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: build_minikube: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -37,15 +40,15 @@ jobs: echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -63,8 +66,8 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7c20b89fea..8cd0cc6e3b 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,12 +7,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: generate-docs: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -26,7 +29,7 @@ jobs: echo "::set-output name=changes::$c" - name: Create PR if: ${{ steps.gendocs.outputs.changes != '' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: Update auto-generated docs and translations diff --git a/.github/workflows/functional_verified.yml b/.github/workflows/functional_verified.yml index 18c086fb49..b6e3926878 100644 --- a/.github/workflows/functional_verified.yml +++ b/.github/workflows/functional_verified.yml @@ -23,6 +23,9 @@ env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: # Runs before all other jobs # builds the minikube binaries @@ -30,8 +33,8 @@ jobs: if: contains(github.event.pull_request.labels.*.name, 'ok-to-test') runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -43,11 +46,13 @@ jobs: sudo apt-get install -y libvirt-dev MINIKUBE_BUILD_IN_DOCKER=y make cross e2e-cross debs cp -r test/integration/testdata ./out - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: minikube_binaries path: out functional_docker_ubuntu_arm64: + permissions: + contents: none needs: [ build_minikube ] runs-on: [ self-hosted, arm64 ] env: @@ -110,13 +115,13 @@ jobs: hostname || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries @@ -162,7 +167,7 @@ jobs: echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_docker_ubuntu_arm64 path: minikube_binaries/report @@ -190,6 +195,8 @@ jobs: # After all integration tests finished # collect all the reports and upload them upload_all_reports: + permissions: + contents: none needs: [ functional_docker_ubuntu_arm64, @@ -197,14 +204,14 @@ jobs: runs-on: ubuntu-20.04 steps: - name: download all extra reports - uses: actions/download-artifact@v2-preview + uses: actions/download-artifact@9fde3de0b74bd6bc202952485c264b551a4f9405 - name: upload all extra reports shell: bash {0} continue-on-error: true run: | mkdir -p all_reports cp -r ./functional_docker_ubuntu_arm64 ./all_reports/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: all_reports path: all_reports diff --git a/.github/workflows/leaderboard.yml b/.github/workflows/leaderboard.yml index 83649b69a1..93099be57b 100644 --- a/.github/workflows/leaderboard.yml +++ b/.github/workflows/leaderboard.yml @@ -8,12 +8,15 @@ on: types: [published] env: GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: update-leaderboard: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -29,7 +32,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.MINIKUBE_BOT_PAT }} - name: Create PR if: ${{ steps.leaderboard.outputs.changes != '' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: Update leaderboard diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 81c61a5ac3..db125a97e3 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -15,14 +15,17 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: # Runs before all other jobs # builds the minikube binaries build_minikube: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -41,15 +44,15 @@ jobs: echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -67,8 +70,8 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -86,6 +89,8 @@ jobs: # Run the following integration tests after the build_minikube # They will run in parallel and use the binaries in previous step functional_docker_ubuntu: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -115,7 +120,7 @@ jobs: docker ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -126,7 +131,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -164,7 +169,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_docker_ubuntu path: minikube_binaries/report @@ -185,6 +190,8 @@ jobs: if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_docker_containerd_ubuntu: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -214,7 +221,7 @@ jobs: docker ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -225,7 +232,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -263,7 +270,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_docker_containerd_ubuntu path: minikube_binaries/report @@ -285,6 +292,8 @@ jobs: if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_podman_ubuntu: + permissions: + contents: none needs: [ build_minikube ] env: TIME_ELAPSED: time @@ -317,7 +326,7 @@ jobs: podman ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -327,7 +336,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -365,7 +374,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_podman_ubuntu path: minikube_binaries/report @@ -387,6 +396,8 @@ jobs: if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_virtualbox_macos: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -402,7 +413,7 @@ jobs: sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -428,7 +439,7 @@ jobs: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off sudo /usr/libexec/ApplicationFirewall/socketfilterfw -k - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -464,7 +475,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_virtualbox_macos path: minikube_binaries/report @@ -485,6 +496,8 @@ jobs: if [ "$numPass" -lt 33 ];then echo "*** Failed to pass at least 33 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_baremetal_ubuntu18_04: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -511,7 +524,7 @@ jobs: curl -L https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-${VERSION}-linux-amd64.tar.gz --output crictl-${VERSION}-linux-amd64.tar.gz sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -522,7 +535,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -558,7 +571,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: none_ubuntu18_04 path: minikube_binaries/report @@ -581,6 +594,8 @@ jobs: # After all integration tests finished # collect all the reports and upload them upload_all_reports: + permissions: + contents: none if: always() needs: [ @@ -593,7 +608,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: download all reports - uses: actions/download-artifact@v2-preview + uses: actions/download-artifact@9fde3de0b74bd6bc202952485c264b551a4f9405 - name: upload all reports shell: bash {0} continue-on-error: true @@ -606,7 +621,7 @@ jobs: cp -r ./functional_virtualbox_macos ./all_reports/ cp -r ./functional_baremetal_ubuntu18_04 ./all_reports/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: all_reports path: all_reports diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0071977229..f097934d35 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -13,14 +13,17 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: # Runs before all other jobs # builds the minikube binaries build_minikube: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -39,15 +42,15 @@ jobs: echo workspace $GITHUB_WORKSPACE echo "end of debug stuff" echo $(which jq) - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: minikube_binaries path: out lint: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -65,8 +68,8 @@ jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -84,6 +87,8 @@ jobs: # Run the following integration tests after the build_minikube # They will run in parallel and use the binaries in previous step functional_docker_ubuntu: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -113,7 +118,7 @@ jobs: docker ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -123,7 +128,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -162,7 +167,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_docker_ubuntu path: minikube_binaries/report @@ -183,6 +188,8 @@ jobs: if [ "$numPass" -lt 36 ];then echo "*** Failed to pass at least 36 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_docker_containerd_ubuntu: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -212,7 +219,7 @@ jobs: docker ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -223,7 +230,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -262,7 +269,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_docker_containerd_ubuntu path: minikube_binaries/report @@ -284,6 +291,8 @@ jobs: if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_podman_ubuntu: + permissions: + contents: none needs: [ build_minikube ] env: TIME_ELAPSED: time @@ -316,7 +325,7 @@ jobs: podman ps || true echo "--------------------------" # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -326,7 +335,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -365,7 +374,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_podman_ubuntu path: minikube_binaries/report @@ -387,6 +396,8 @@ jobs: if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_virtualbox_macos: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -402,7 +413,7 @@ jobs: sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -428,7 +439,7 @@ jobs: sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off sudo /usr/libexec/ApplicationFirewall/socketfilterfw -k - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -465,7 +476,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: functional_virtualbox_macos path: minikube_binaries/report @@ -486,6 +497,8 @@ jobs: if [ "$numPass" -lt 33 ];then echo "*** Failed to pass at least 33 ! ***";exit 2;fi if [ "$numPass" -eq 0 ];then echo "*** Passed! ***";exit 0;fi functional_baremetal_ubuntu18_04: + permissions: + contents: none needs: [build_minikube] env: TIME_ELAPSED: time @@ -512,7 +525,7 @@ jobs: curl -L https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-${VERSION}-linux-amd64.tar.gz --output crictl-${VERSION}-linux-amd64.tar.gz sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin # go 1.14.6+ is needed because of this bug https://github.com/golang/go/issues/39308 - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -523,7 +536,7 @@ jobs: curl -LO https://github.com/medyagh/gopogh/releases/download/v0.9.0/gopogh-linux-amd64 sudo install gopogh-linux-amd64 /usr/local/bin/gopogh - name: Download Binaries - uses: actions/download-artifact@v1 + uses: actions/download-artifact@fdafc3f9f2e2a522dc1d230e6a03de57a1e71c95 with: name: minikube_binaries - name: Run Integration Test @@ -560,7 +573,7 @@ jobs: echo 'STAT<> $GITHUB_ENV echo "${STAT}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: none_ubuntu18_04 path: minikube_binaries/report @@ -583,6 +596,8 @@ jobs: # After all integration tests finished # collect all the reports and upload them upload_all_reports: + permissions: + contents: none if: always() needs: [ @@ -595,7 +610,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: download all reports - uses: actions/download-artifact@v2-preview + uses: actions/download-artifact@9fde3de0b74bd6bc202952485c264b551a4f9405 - name: upload all reports shell: bash {0} continue-on-error: true @@ -608,7 +623,7 @@ jobs: cp -r ./functional_virtualbox_macos ./all_reports/ cp -r ./functional_baremetal_ubuntu18_04 ./all_reports/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@6673cd052c4cd6fcf4b4e6e60ea986c889389535 with: name: all_reports path: all_reports diff --git a/.github/workflows/sync-minikube.yml b/.github/workflows/sync-minikube.yml index edfc87df88..3c7bb46649 100644 --- a/.github/workflows/sync-minikube.yml +++ b/.github/workflows/sync-minikube.yml @@ -6,6 +6,9 @@ on: # every day at 7am & 7pm pacific - cron: "0 2,14 * * *" +permissions: + contents: read + jobs: sync-images: runs-on: ubuntu-latest @@ -13,13 +16,13 @@ jobs: run: working-directory: ./image-syncer steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 with: repository: denverdino/image-syncer path: ./image-syncer - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: 1.17 diff --git a/.github/workflows/time-to-k8s-public-chart.yml b/.github/workflows/time-to-k8s-public-chart.yml index 60ce9cd5b7..67b1178024 100644 --- a/.github/workflows/time-to-k8s-public-chart.yml +++ b/.github/workflows/time-to-k8s-public-chart.yml @@ -7,6 +7,9 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: time-to-k8s-public-chart-docker: if: github.repository == 'kubernetes/minikube' @@ -16,8 +19,8 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: 'us-west-1' steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -35,14 +38,14 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_DEFAULT_REGION: 'us-west-1' steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 - name: Install kubectl shell: bash run: | curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/darwin/amd64/kubectl sudo install kubectl /usr/local/bin/kubectl kubectl version --client=true - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true diff --git a/.github/workflows/time-to-k8s.yml b/.github/workflows/time-to-k8s.yml index 7e44463ce5..205dc8e4e9 100644 --- a/.github/workflows/time-to-k8s.yml +++ b/.github/workflows/time-to-k8s.yml @@ -6,14 +6,17 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: benchmark: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 - name: Checkout submodules run: git submodule update --init - - uses: actions/setup-go@v2 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -23,7 +26,7 @@ jobs: ./hack/benchmark/time-to-k8s/time-to-k8s.sh echo "::set-output name=version::$(minikube version --short)" - name: Create PR - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: add time-to-k8s benchmark for ${{ steps.timeToK8sBenchmark.outputs.version }} diff --git a/.github/workflows/translations.yml b/.github/workflows/translations.yml index f1d6844571..181af87707 100644 --- a/.github/workflows/translations.yml +++ b/.github/workflows/translations.yml @@ -7,12 +7,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: unit_test: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true diff --git a/.github/workflows/twitter-bot.yml b/.github/workflows/twitter-bot.yml index 6130796ac8..8bad19d64f 100644 --- a/.github/workflows/twitter-bot.yml +++ b/.github/workflows/twitter-bot.yml @@ -10,7 +10,7 @@ jobs: twitter-release: runs-on: ubuntu-20.04 steps: - - uses: ethomson/send-tweet-action@v1 + - uses: ethomson/send-tweet-action@288f9339e0412e3038dce350e0da5ecdf12133a6 with: status: "minikube ${GITHUB_REF_NAME} was just released! Check it out: https://github.com/kubernetes/minikube/blob/master/CHANGELOG.md" consumer-key: ${{ secrets.TWITTER_API_KEY }} diff --git a/.github/workflows/update-golang-version.yml b/.github/workflows/update-golang-version.yml index e2f1794568..2d4ffc228e 100644 --- a/.github/workflows/update-golang-version.yml +++ b/.github/workflows/update-golang-version.yml @@ -7,12 +7,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: bump-golang-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -23,7 +26,7 @@ jobs: echo "::set-output name=changes::$(git status --porcelain)" - name: Create PR if: ${{ steps.bumpGolang.outputs.changes != '' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: bump golang versions diff --git a/.github/workflows/update-golint-version.yml b/.github/workflows/update-golint-version.yml index 6a319cf2df..5ba9c675a8 100644 --- a/.github/workflows/update-golint-version.yml +++ b/.github/workflows/update-golint-version.yml @@ -7,12 +7,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: bump-golint-version: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -23,7 +26,7 @@ jobs: echo "::set-output name=changes::$(git status --porcelain)" - name: Create PR if: ${{ steps.bumpGolint.outputs.changes != '' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: bump golint versions diff --git a/.github/workflows/update-k8s-versions.yml b/.github/workflows/update-k8s-versions.yml index 6aa16f41a6..9a11171836 100644 --- a/.github/workflows/update-k8s-versions.yml +++ b/.github/workflows/update-k8s-versions.yml @@ -7,12 +7,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: bump-k8s-versions: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -28,7 +31,7 @@ jobs: echo "::set-output name=changes::$c" - name: Create PR if: ${{ steps.bumpk8s.outputs.changes != '' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: bump default/newest kubernetes versions diff --git a/.github/workflows/update-kubadm-constants.yml b/.github/workflows/update-kubadm-constants.yml index 85b6a40daa..b964076250 100644 --- a/.github/workflows/update-kubadm-constants.yml +++ b/.github/workflows/update-kubadm-constants.yml @@ -7,12 +7,15 @@ on: env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.17.7' +permissions: + contents: read + jobs: bump-k8s-versions: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 - - uses: actions/setup-go@v2 + - uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 + - uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab with: go-version: ${{env.GO_VERSION}} stable: true @@ -26,7 +29,7 @@ jobs: echo "::set-output name=changes::$c" - name: Create PR if: ${{ steps.bumpKubAdmConsts.outputs.changes != '' }} - uses: peter-evans/create-pull-request@v3 + uses: peter-evans/create-pull-request@d6d5519d05f5814158ef015b8448f2f74648c421 with: token: ${{ secrets.MINIKUBE_BOT_PAT }} commit-message: update image constants for kubeadm images diff --git a/Makefile b/Makefile index 47b82aa5d3..888d445531 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ KUBERNETES_VERSION ?= $(shell egrep "DefaultKubernetesVersion =" pkg/minikube/co KIC_VERSION ?= $(shell egrep "Version =" pkg/drivers/kic/types.go | cut -d \" -f2) # Default to .0 for higher cache hit rates, as build increments typically don't require new ISO versions -ISO_VERSION ?= v1.25.2 +ISO_VERSION ?= v1.25.2-1648142972-13800 # Dashes are valid in semver, but not Linux packaging. Use ~ to delimit alpha/beta DEB_VERSION ?= $(subst -,~,$(RAW_VERSION)) DEB_REVISION ?= 0 @@ -76,7 +76,7 @@ MINIKUBE_RELEASES_URL=https://github.com/kubernetes/minikube/releases/download KERNEL_VERSION ?= 4.19.202 # latest from https://github.com/golangci/golangci-lint/releases # update this only by running `make update-golint-version` -GOLINT_VERSION ?= v1.44.2 +GOLINT_VERSION ?= v1.45.2 # Limit number of default jobs, to avoid the CI builds running out of memory GOLINT_JOBS ?= 4 # see https://github.com/golangci/golangci-lint#memory-usage-of-golangci-lint diff --git a/cmd/auto-pause/auto-pause.go b/cmd/auto-pause/auto-pause.go index b5d816a9bc..e877878e89 100644 --- a/cmd/auto-pause/auto-pause.go +++ b/cmd/auto-pause/auto-pause.go @@ -103,6 +103,7 @@ func runPause() { mu.Lock() defer mu.Unlock() if runtimePaused { + out.Styled(style.AddonEnable, "Auto-pause is already enabled.") return } diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index ee8483447f..228d6d4499 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -43,6 +43,8 @@ import ( gopshost "github.com/shirou/gopsutil/v3/host" "github.com/spf13/cobra" "github.com/spf13/viper" + "golang.org/x/text/cases" + "golang.org/x/text/language" "k8s.io/klog/v2" cmdcfg "k8s.io/minikube/cmd/minikube/cmd/config" @@ -108,7 +110,7 @@ func platform() string { // Show the distro version if possible hi, err := gopshost.Info() if err == nil { - s.WriteString(fmt.Sprintf("%s %s", strings.Title(hi.Platform), hi.PlatformVersion)) + s.WriteString(fmt.Sprintf("%s %s", cases.Title(language.Und).String(hi.Platform), hi.PlatformVersion)) klog.Infof("hostinfo: %+v", hi) } else { klog.Warningf("gopshost.Info returned error: %v", err) diff --git a/deploy/addons/metrics-server/metrics-apiservice.yaml.tmpl b/deploy/addons/metrics-server/metrics-apiservice.yaml.tmpl index 324294329b..31b5b8feaf 100644 --- a/deploy/addons/metrics-server/metrics-apiservice.yaml.tmpl +++ b/deploy/addons/metrics-server/metrics-apiservice.yaml.tmpl @@ -5,12 +5,13 @@ metadata: labels: kubernetes.io/minikube-addons: metrics-server addonmanager.kubernetes.io/mode: Reconcile + k8s-app: metrics-server spec: + group: metrics.k8s.io + groupPriorityMinimum: 100 + insecureSkipTLSVerify: true service: name: metrics-server namespace: kube-system - group: metrics.k8s.io version: v1beta1 - insecureSkipTLSVerify: true - groupPriorityMinimum: 100 versionPriority: 100 diff --git a/deploy/addons/metrics-server/metrics-server-deployment.yaml.tmpl b/deploy/addons/metrics-server/metrics-server-deployment.yaml.tmpl index f7b7cd3f0c..e8ed7029e4 100644 --- a/deploy/addons/metrics-server/metrics-server-deployment.yaml.tmpl +++ b/deploy/addons/metrics-server/metrics-server-deployment.yaml.tmpl @@ -40,7 +40,7 @@ spec: resources: requests: cpu: 100m - memory: 300Mi + memory: 200Mi ports: - name: https containerPort: 4443 diff --git a/deploy/addons/metrics-server/metrics-server-rbac.yaml.tmpl b/deploy/addons/metrics-server/metrics-server-rbac.yaml.tmpl index eb8ad76699..8966849200 100644 --- a/deploy/addons/metrics-server/metrics-server-rbac.yaml.tmpl +++ b/deploy/addons/metrics-server/metrics-server-rbac.yaml.tmpl @@ -1,87 +1,102 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + k8s-app: metrics-server + addonmanager.kubernetes.io/mode: Reconcile + name: metrics-server + namespace: kube-system +--- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: system:aggregated-metrics-reader labels: - rbac.authorization.k8s.io/aggregate-to-view: "true" - rbac.authorization.k8s.io/aggregate-to-edit: "true" + k8s-app: metrics-server rbac.authorization.k8s.io/aggregate-to-admin: "true" + rbac.authorization.k8s.io/aggregate-to-edit: "true" + rbac.authorization.k8s.io/aggregate-to-view: "true" addonmanager.kubernetes.io/mode: Reconcile rules: -- apiGroups: ["metrics.k8s.io"] - resources: ["pods", "nodes"] - verbs: ["get", "list", "watch"] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: metrics-server - namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile +- apiGroups: + - metrics.k8s.io + resources: + - pods + - nodes + verbs: + - get + - list + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: + labels: + k8s-app: metrics-server + addonmanager.kubernetes.io/mode: Reconcile name: metrics-server-auth-reader namespace: kube-system - labels: - addonmanager.kubernetes.io/mode: Reconcile roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: extension-apiserver-authentication-reader subjects: - - kind: ServiceAccount - name: metrics-server - namespace: kube-system +- kind: ServiceAccount + name: metrics-server + namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: metrics-server:system:auth-delegator labels: + k8s-app: metrics-server addonmanager.kubernetes.io/mode: Reconcile roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:auth-delegator subjects: - - kind: ServiceAccount - name: metrics-server - namespace: kube-system +- kind: ServiceAccount + name: metrics-server + namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: system:metrics-server labels: + k8s-app: metrics-server addonmanager.kubernetes.io/mode: Reconcile rules: - - apiGroups: - - "" - resources: - - pods - - nodes - - nodes/stats - - namespaces - - configmaps - verbs: - - get - - list - - watch +- apiGroups: + - "" + resources: + - nodes/metrics + verbs: + - get +- apiGroups: + - "" + resources: + - pods + - nodes + verbs: + - get + - list + - watch --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: system:metrics-server labels: + k8s-app: metrics-server addonmanager.kubernetes.io/mode: Reconcile + name: system:metrics-server roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: system:metrics-server subjects: - - kind: ServiceAccount - name: metrics-server - namespace: kube-system +- kind: ServiceAccount + name: metrics-server + namespace: kube-system diff --git a/deploy/addons/metrics-server/metrics-server-service.yaml.tmpl b/deploy/addons/metrics-server/metrics-server-service.yaml.tmpl index 84c4a570db..6de750a8c0 100644 --- a/deploy/addons/metrics-server/metrics-server-service.yaml.tmpl +++ b/deploy/addons/metrics-server/metrics-server-service.yaml.tmpl @@ -4,6 +4,7 @@ metadata: name: metrics-server namespace: kube-system labels: + k8s-app: metrics-server kubernetes.io/name: "Metrics-server" kubernetes.io/minikube-addons: metrics-server kubernetes.io/minikube-addons-endpoint: metrics-server diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash index b13fd3cd60..e387920172 100644 --- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash +++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.hash @@ -12,3 +12,4 @@ sha256 ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1 v1.4.4.t sha256 285a3f4c00a87538bd7d0a82a0a8a758458c02b925349f44f3189f480c326038 v1.4.6.tar.gz sha256 3bb9f54be022067847f5930d21ebbfe4e7a67f589d78930aa0ac713492c28bcc v1.4.9.tar.gz sha256 85a531725f15e2d136131119d42af4507a5389e0947015152075c4c93816fb5c v1.4.12.tar.gz +sha256 7507913ba169c103ab67bc51bec31cd977d4348d7bc842da32b7eab5f930a14b v1.5.10.tar.gz diff --git a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk index ab743d7df3..d62620300a 100644 --- a/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk +++ b/deploy/iso/minikube-iso/package/containerd-bin/containerd-bin.mk @@ -3,8 +3,8 @@ # containerd # ################################################################################ -CONTAINERD_BIN_VERSION = v1.4.12 -CONTAINERD_BIN_COMMIT = 7b11cfaabd73bb80907dd23182b9347b4245eb5d +CONTAINERD_BIN_VERSION = v1.5.10 +CONTAINERD_BIN_COMMIT = 2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc CONTAINERD_BIN_SITE = https://github.com/containerd/containerd/archive CONTAINERD_BIN_SOURCE = $(CONTAINERD_BIN_VERSION).tar.gz CONTAINERD_BIN_DEPENDENCIES = host-go libgpgme diff --git a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash index bd509b0e4e..82c62806a8 100644 --- a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash +++ b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.hash @@ -24,3 +24,5 @@ sha256 76fd7543bc92d4364a11060f43a5131893a76c6e6e9d6de3a6bb6292c110b631 v1.20.0. sha256 36d9f4cf4966342e2d4099e44d8156c55c6a10745c67ce4f856aa9f6dcc2d9ba v1.20.2.tar.gz sha256 bc53ea8977e252bd9812974c33ff654ee22076598e901464468c5c105a5ef773 v1.22.0.tar.gz sha256 6e1c0e393cd16af907fabb24e4cc068e27c606c5f1071060d46efdcd29cb5c0d v1.22.1.tar.gz +sha256 34097a0f535aa79cf990aaee5d3ff6226663587b188cbee11089f120e7f869e4 v1.22.2.tar.gz +sha256 52836549cfa27a688659576be9266f4837357a6fa162b1d0a05fa8da62c724b3 v1.22.3.tar.gz diff --git a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk index 3d87e44ae0..8d6bad04d6 100644 --- a/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk +++ b/deploy/iso/minikube-iso/package/crio-bin/crio-bin.mk @@ -4,8 +4,8 @@ # ################################################################################ -CRIO_BIN_VERSION = v1.22.1 -CRIO_BIN_COMMIT = 63ca93845d5fe05cdca826367afcb601ece8d7ad +CRIO_BIN_VERSION = v1.22.3 +CRIO_BIN_COMMIT = d93b2dfb8d0f2ad0f8b9061d941e3b216baa5814 CRIO_BIN_SITE = https://github.com/cri-o/cri-o/archive CRIO_BIN_SOURCE = $(CRIO_BIN_VERSION).tar.gz CRIO_BIN_DEPENDENCIES = host-go libgpgme diff --git a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash index 62e60271d7..d8f2288ab6 100644 --- a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash +++ b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.hash @@ -33,3 +33,4 @@ sha256 e3b6c3b11518281a51fb0eee73138482b83041e908f01adf8abd3a24b34ea21e docker- sha256 34ad50146fce29b28e5115a1e8510dd5232459c9a4a9f28f65909f92cca314d9 docker-20.10.7.tgz sha256 7ea11ecb100fdc085dbfd9ab1ff380e7f99733c890ed815510a5952e5d6dd7e0 docker-20.10.8.tgz sha256 ee9b5be14e54bf92f48c82c2e6a83fbdd1c5329e8f247525a9ed2fe90d9f89a5 docker-20.10.12.tgz +sha256 39edf7c8d773939ff5e4d318ae565691a9c7e754ed768e172757e58898fb7079 docker-20.10.13.tgz diff --git a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk index dae096c148..31ec3c1184 100644 --- a/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk +++ b/deploy/iso/minikube-iso/package/docker-bin/docker-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_BIN_VERSION = 20.10.12 +DOCKER_BIN_VERSION = 20.10.13 DOCKER_BIN_SITE = https://download.docker.com/linux/static/stable/x86_64 DOCKER_BIN_SOURCE = docker-$(DOCKER_BIN_VERSION).tgz diff --git a/deploy/iso/minikube-iso/package/podman/podman.hash b/deploy/iso/minikube-iso/package/podman/podman.hash index 4f5158b977..27cdae3dfc 100644 --- a/deploy/iso/minikube-iso/package/podman/podman.hash +++ b/deploy/iso/minikube-iso/package/podman/podman.hash @@ -2,3 +2,5 @@ sha256 a16846fe076aaf2c9ea2e854c3baba9fb838d916be7fb4b5be332e6c92d907d4 v1.9.3.t sha256 5ebaa6e0dbd7fd1863f70d2bc71dc8a94e195c3339c17e3cac4560c9ec5747f8 v2.1.1.tar.gz sha256 ec5473e51fa28f29af323473fc484f742dc7df23d06d8ba9f217f13382893a71 v2.2.0.tar.gz sha256 3212bad60d945c1169b27da03959f36d92d1d8964645c701a5a82a89118e96d1 v2.2.1.tar.gz +sha256 5a0d42e03d15e32c5c54a147da5ef1b8928ec00982ac9e3f1edc82c5e614b6d2 v3.1.2.tar.gz +sha256 b0c4f9a11eb500b1d440d5e51a6c0c632aa4ac458e2dc0362f50f999eb7fbf31 v3.4.2.tar.gz diff --git a/deploy/iso/minikube-iso/package/podman/podman.mk b/deploy/iso/minikube-iso/package/podman/podman.mk index a2170ba395..5361066577 100644 --- a/deploy/iso/minikube-iso/package/podman/podman.mk +++ b/deploy/iso/minikube-iso/package/podman/podman.mk @@ -1,5 +1,5 @@ -PODMAN_VERSION = v2.2.1 -PODMAN_COMMIT = a0d478edea7f775b7ce32f8eb1a01e75374486cb +PODMAN_VERSION = v3.4.2 +PODMAN_COMMIT = 2ad1fd3555de12de34e20898cc2ef901f08fe5ed PODMAN_SITE = https://github.com/containers/podman/archive PODMAN_SOURCE = $(PODMAN_VERSION).tar.gz PODMAN_LICENSE = Apache-2.0 diff --git a/deploy/iso/minikube-iso/package/runc-master/runc-master.hash b/deploy/iso/minikube-iso/package/runc-master/runc-master.hash index c04a16b990..4d904c3782 100644 --- a/deploy/iso/minikube-iso/package/runc-master/runc-master.hash +++ b/deploy/iso/minikube-iso/package/runc-master/runc-master.hash @@ -12,3 +12,4 @@ sha256 144973344b73627b5f69aa88b9e6655d692447ec317a0d5fa9777496a8ac186e 12644e61 sha256 821ff8629329b4b7e4ccf24b5bf369c9739887736be30ba06a0d8053eb0e0b23 b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7.tar.gz sha256 50cc479cabf6e7edb9070a7c28b3460b0acc2a01650fc5934f5037cb96b9e2cf 4144b63817ebcc5b358fc2c8ef95f7cddd709aa7.tar.gz sha256 1f47e3ff66cdcca1f890b15e74e884c4ff81d16d1044cc9900a1eb10cfb3d8e7 52b36a2dd837e8462de8e01458bf02cf9eea47dd.tar.gz +sha256 91525356b71fbf8e05deddc955d3f40e0d4aedcb15d26bdd2850a9986852ae5b f46b6ba2c9314cfc8caae24a32ec5fe9ef1059fe.tar.gz diff --git a/deploy/iso/minikube-iso/package/runc-master/runc-master.mk b/deploy/iso/minikube-iso/package/runc-master/runc-master.mk index 278c8b0d61..9f52e8c8e9 100644 --- a/deploy/iso/minikube-iso/package/runc-master/runc-master.mk +++ b/deploy/iso/minikube-iso/package/runc-master/runc-master.mk @@ -4,8 +4,8 @@ # ################################################################################ -# As of 2021-08-20, v1.0.2 -RUNC_MASTER_VERSION = 52b36a2dd837e8462de8e01458bf02cf9eea47dd +# As of 2021-12-03, v1.0.3 +RUNC_MASTER_VERSION = f46b6ba2c9314cfc8caae24a32ec5fe9ef1059fe RUNC_MASTER_SITE = https://github.com/opencontainers/runc/archive RUNC_MASTER_SOURCE = $(RUNC_MASTER_VERSION).tar.gz RUNC_MASTER_LICENSE = Apache-2.0 diff --git a/deploy/kicbase/Dockerfile b/deploy/kicbase/Dockerfile index c240d6ca0c..7983889b8b 100644 --- a/deploy/kicbase/Dockerfile +++ b/deploy/kicbase/Dockerfile @@ -126,9 +126,7 @@ RUN clean-install \ openssh-server \ dnsutils \ # libglib2.0-0 is required for conmon, which is required for podman - libglib2.0-0 \ - # fuse3 is required for fuse-overlayfs - fuse3 + libglib2.0-0 # install docker # use the bionic packages for arm32 @@ -139,19 +137,6 @@ RUN export ARCH=$(dpkg --print-architecture | sed 's/armhf/arm-v7/') && \ apt-key add - < docker.key && \ clean-install docker-ce docker-ce-cli containerd.io -# install fuse-overlayfs (used by rootless; apt-get version is old) -RUN curl -sSL --retry 5 --output /usr/local/bin/fuse-overlayfs https://github.com/containers/fuse-overlayfs/releases/download/${FUSE_OVERLAYFS_VERSION}/fuse-overlayfs-$(uname -m) \ - && chmod +x /usr/local/bin/fuse-overlayfs - -# install containerd-fuse-overlayfs (used by rootless) -RUN export ARCH=$(dpkg --print-architecture | sed 's/ppc64el/ppc64le/' | sed 's/armhf/arm-v7/') \ - && echo "Installing containerd-fuse-overlayfs..." \ - && export CONTAINERD_FUSE_OVERLAYFS_BASE_URL="https://github.com/containerd/fuse-overlayfs-snapshotter/releases/download/v${CONTAINERD_FUSE_OVERLAYFS_VERSION}" \ - && curl -sSL --retry 5 --output /tmp/containerd-fuse-overlayfs.tgz "${CONTAINERD_FUSE_OVERLAYFS_BASE_URL}/containerd-fuse-overlayfs-${CONTAINERD_FUSE_OVERLAYFS_VERSION}-linux-${ARCH}.tar.gz" \ - && tar -C /usr/local/bin -xzvf /tmp/containerd-fuse-overlayfs.tgz \ - && rm -rf /tmp/containerd-fuse-overlayfs.tgz -COPY deploy/kicbase/containerd-fuse-overlayfs.service /etc/systemd/system/containerd-fuse-overlayfs.service - # install buildkit RUN export ARCH=$(dpkg --print-architecture | sed 's/ppc64el/ppc64le/' | sed 's/armhf/arm-v7/') \ && echo "Installing buildkit ..." \ diff --git a/deploy/kicbase/containerd-fuse-overlayfs.service b/deploy/kicbase/containerd-fuse-overlayfs.service deleted file mode 100644 index a3d12bd567..0000000000 --- a/deploy/kicbase/containerd-fuse-overlayfs.service +++ /dev/null @@ -1,13 +0,0 @@ -# From https://github.com/kubernetes-sigs/kind/blob/0d3780371091b2dc9ff6eea1b6054f14ff5d970a/images/base/files/etc/systemd/system/containerd-fuse-overlayfs.service -[Unit] -Description=containerd fuse-overlayfs snapshotter -PartOf=containerd.service - -[Service] -ExecStart=/usr/local/bin/containerd-fuse-overlayfs-grpc /run/containerd-fuse-overlayfs.sock /var/lib/containerd-fuse-overlayfs -Type=notify -Restart=always -RestartSec=1 - -[Install] -WantedBy=multi-user.target diff --git a/go.mod b/go.mod index 982e641cac..8719dc7ab7 100644 --- a/go.mod +++ b/go.mod @@ -3,11 +3,11 @@ module k8s.io/minikube go 1.17 require ( - cloud.google.com/go/storage v1.20.0 + cloud.google.com/go/storage v1.21.0 contrib.go.opencensus.io/exporter/stackdriver v0.13.10 github.com/Delta456/box-cli-maker/v2 v2.2.2 github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2 - github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.0.0 + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.3.0 github.com/Microsoft/hcsshim v0.8.17 // indirect github.com/Parallels/docker-machine-parallels/v2 v2.0.1 github.com/VividCortex/godaemon v1.0.0 @@ -19,7 +19,7 @@ require ( github.com/cloudevents/sdk-go/v2 v2.8.0 github.com/cloudfoundry-attic/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21 // indirect - github.com/docker/docker v20.10.12+incompatible + github.com/docker/docker v20.10.14+incompatible github.com/docker/go-units v0.4.0 github.com/docker/machine v0.16.2 github.com/elazarl/goproxy v0.0.0-20210110162100-a92cc753f88e @@ -64,37 +64,37 @@ require ( github.com/pmezard/go-difflib v1.0.0 github.com/russross/blackfriday v1.5.3-0.20200218234912-41c5fccfd6f6 // indirect github.com/samalba/dockerclient v0.0.0-20160414174713-91d7393ff859 // indirect - github.com/shirou/gopsutil/v3 v3.22.1 - github.com/spf13/cobra v1.3.0 + github.com/shirou/gopsutil/v3 v3.22.2 + github.com/spf13/cobra v1.4.0 github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.10.1 github.com/zchee/go-vmnet v0.0.0-20161021174912-97ebf9174097 go.opencensus.io v0.23.0 - go.opentelemetry.io/otel v1.4.1 - go.opentelemetry.io/otel/sdk v1.4.0 - go.opentelemetry.io/otel/trace v1.4.1 + go.opentelemetry.io/otel v1.6.1 + go.opentelemetry.io/otel/sdk v1.6.1 + go.opentelemetry.io/otel/trace v1.6.1 golang.org/x/build v0.0.0-20190927031335-2835ba2e683f golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 golang.org/x/exp v0.0.0-20210220032938-85be41e4509f golang.org/x/mod v0.5.1 - golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b + golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a golang.org/x/sync v0.0.0-20210220032951-036812b2e83c - golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 + golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 golang.org/x/text v0.3.7 - gonum.org/v1/plot v0.10.0 - google.golang.org/api v0.71.0 + gonum.org/v1/plot v0.11.0 + google.golang.org/api v0.73.0 gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 // indirect gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.23.4 - k8s.io/apimachinery v0.23.4 - k8s.io/client-go v0.23.4 + k8s.io/api v0.23.5 + k8s.io/apimachinery v0.23.5 + k8s.io/client-go v0.23.5 k8s.io/cluster-bootstrap v0.0.0 - k8s.io/component-base v0.23.4 - k8s.io/klog/v2 v2.40.1 - k8s.io/kubectl v0.22.2 + k8s.io/component-base v0.23.5 + k8s.io/klog/v2 v2.60.1 + k8s.io/kubectl v0.23.5 k8s.io/utils v0.0.0-20211116205334-6203023598ed - libvirt.org/go/libvirt v1.7010.0 + libvirt.org/go/libvirt v1.8001.0 sigs.k8s.io/sig-storage-lib-external-provisioner/v6 v6.3.0 ) @@ -106,11 +106,12 @@ require ( cloud.google.com/go/iam v0.1.1 // indirect cloud.google.com/go/monitoring v1.1.0 // indirect cloud.google.com/go/trace v1.0.0 // indirect + git.sr.ht/~sbinet/gg v0.3.1 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd // indirect github.com/Microsoft/go-winio v0.5.0 // indirect github.com/VividCortex/ewma v1.1.1 // indirect - github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527 // indirect + github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b // indirect github.com/aws/aws-sdk-go v1.38.49 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect @@ -127,14 +128,13 @@ require ( github.com/docker/go-connections v0.4.0 // indirect github.com/evanphx/json-patch v4.12.0+incompatible // indirect github.com/fatih/color v1.13.0 // indirect - github.com/fogleman/gg v1.3.0 // indirect github.com/fsnotify/fsnotify v1.5.1 // 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.2 // indirect + github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-pdf/fpdf v0.5.0 // indirect + github.com/go-pdf/fpdf v0.6.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect @@ -192,13 +192,13 @@ require ( go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.19.0 // indirect - golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d // indirect + golang.org/x/image v0.0.0-20220302094943-723b81ca9867 // indirect golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8 // indirect - google.golang.org/grpc v1.44.0 // indirect + google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6 // indirect + google.golang.org/grpc v1.45.0 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.66.2 // indirect diff --git a/go.sum b/go.sum index 08ef077cae..eff9e6f7f1 100644 --- a/go.sum +++ b/go.sum @@ -23,12 +23,10 @@ cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.88.0/go.mod h1:dnKwfYbP9hQhefiUvpbcAyoGSHUrOxR20JVElLiUvEY= cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U= cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y= @@ -40,6 +38,7 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= 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.2.0/go.mod h1:xlogom/6gr8RJGBe7nT2eGsQYAFUbbv8dbC29qE3Xmw= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0 h1:b1zWmYuuHz7gO9kDcM/EpHGr06UgsYNRpNJzI2kFiLM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -60,8 +59,8 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= 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.20.0 h1:kv3rQ3clEQdxqokkCCgQo+bxPqcuXiROjxvnKb8Oqdk= -cloud.google.com/go/storage v1.20.0/go.mod h1:TiC1o6FxNCG8y5gB7rqCsFZCIYPMPZCO81ppOoEPLGI= +cloud.google.com/go/storage v1.21.0 h1:HwnT2u2D309SFDHQII6m18HlrCi3jAXhUMTLOWXYH14= +cloud.google.com/go/storage v1.21.0/go.mod h1:XmRlxkgPjlBONznT2dDUU/5XlpU2OjMnKuqnZI01LAA= cloud.google.com/go/trace v1.0.0 h1:laKx2y7IWMjguCe5zZx6n7qLtREk4kyE69SXVC0VSN8= cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= contrib.go.opencensus.io/exporter/stackdriver v0.13.10 h1:a9+GZPUe+ONKUwULjlEOucMMG0qfSCCenlji0Nhqbys= @@ -69,6 +68,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.10/go.mod h1:I5htMbyta491eUx dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -105,8 +106,8 @@ github.com/Delta456/box-cli-maker/v2 v2.2.2 h1:CpSLcPgi5pY4+arzpyuWN2+nU8gHqto2Y github.com/Delta456/box-cli-maker/v2 v2.2.2/go.mod h1:idItIMZeyx3bg73XwSgsLeZd+gdpD2IvGbR3FC8a9TU= github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2 h1:rMamBsR6iCT9Y5m2Il6vFGJvY7FAgck4AoA/LobheKU= github.com/GoogleCloudPlatform/docker-credential-gcr v0.0.0-20210713212222-faed5e8b8ca2/go.mod h1:BB1eHdMLYEFuFdBlRMb0N7YGVdM5s6Pt0njxgvfbGGs= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.0.0 h1:38fNtfhHY6bs22b/D6+hDzO6JR0rDzpGPD36dY2uPL4= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.0.0/go.mod h1:jE23wM1jvwSKgdGcoOkj5j9n1VWtncW36pL2bK1JU+0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.3.0 h1:JLLDOHEcoREA54hzOnjr8KQcZCvX0E8KhosjE0F1jaQ= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.3.0/go.mod h1:Pe8G2QFgCaohbU/zHRBjn0YaFh9z8/HtuEDh/Lyo04E= github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd h1:sjQovDkwrZp8u+gxLtPgKGjk5hCxuy2hrRejBTA9xFU= github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= @@ -143,9 +144,11 @@ github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdc github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= github.com/VividCortex/godaemon v1.0.0 h1:aHYrScWvgaSOdAoYCdObWXLm+e1rldP9Pwb1ZvuZkQw= github.com/VividCortex/godaemon v1.0.0/go.mod h1:hBWe/72KbGt/lb95E+Sh9ersdYbB57Dt6CG66S1YPno= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527 h1:NImof/JkF93OVWZY+PINgl6fPtQyF6f+hNUtZ0QZA1c= -github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -181,7 +184,6 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= @@ -333,7 +335,6 @@ github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgU github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= @@ -379,8 +380,8 @@ github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4Kfc github.com/docker/docker v17.12.0-ce-rc1.0.20181225093023-5ddb1d410a8b+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v17.12.0-ce-rc1.0.20190115220918-5ec31380a5d3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.12+incompatible h1:CEeNmFM0QZIsJCZKMkZx0ZcahTiewkrgiwfYD+dfl1U= -github.com/docker/docker v20.10.12+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.14+incompatible h1:+T9/PRYWNDo5SZl5qS1r9Mo/0Q8AwxKKPtu9S1yxM0w= +github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.3 h1:zI2p9+1NQYdnG6sMU26EX4aVGlqbInSQxQXLvzJ4RPQ= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= @@ -430,7 +431,6 @@ github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= @@ -472,8 +472,11 @@ github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7 github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= @@ -493,8 +496,9 @@ github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dp github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-pdf/fpdf v0.5.0 h1:GHpcYsiDV2hdo77VTOuTF9k1sN8F8IY7NjnCo9x+NPY= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= @@ -600,7 +604,6 @@ github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/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/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= @@ -642,7 +645,6 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -686,13 +688,10 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95 h1:S4qyfL2sEm5Budr4KVMyEniCy+PbS55651I/a+Kn/NQ= github.com/hectane/go-acl v0.0.0-20190604041725-da78bae5fc95/go.mod h1:QiyDdbZLaJ/mZP4Zwc9g2QsfaEA4o7XvvgZegSci5/E= @@ -798,7 +797,6 @@ github.com/machine-drivers/docker-machine-driver-vmware v0.1.5/go.mod h1:dTnTzUH github.com/machine-drivers/machine v0.7.1-0.20211105063445-78a84df85426 h1:gVDPCmqwvHQ4ox/9svvnkomYJAAiV59smbPdTK4DIm4= github.com/machine-drivers/machine v0.7.1-0.20211105063445-78a84df85426/go.mod h1:79Uwa2hGd5S39LDJt58s8JZcIhGEK6pkq9bsuTbFWbk= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -1042,7 +1040,6 @@ github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfF github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= @@ -1052,8 +1049,8 @@ github.com/sayboras/dockerclient v1.0.0/go.mod h1:mUmEoqt0b+uQg57s006FsvL4mybi+N github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shirou/gopsutil/v3 v3.22.1 h1:33y31Q8J32+KstqPfscvFwBlNJ6xLaBy4xqBXzlYV5w= -github.com/shirou/gopsutil/v3 v3.22.1/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= +github.com/shirou/gopsutil/v3 v3.22.2 h1:wCrArWFkHYIdDxx/FSfF5RB4dpJYW6t7rcp3+zL8uks= +github.com/shirou/gopsutil/v3 v3.22.2/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= 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= @@ -1082,10 +1079,9 @@ github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= -github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -1096,9 +1092,7 @@ 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.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= @@ -1113,8 +1107,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -1161,6 +1156,7 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= @@ -1190,35 +1186,33 @@ go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.24.0 h1:qW6j1kJU24yo2xIu16Py4m4AXn1dd+s2uKllGnTFAm0= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.24.0/go.mod h1:7W3JSDYTtH3qKKHrS1fMiwLtK7iZFLPq1+7htfspX/E= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.26.0 h1:sdwza9BScvbOFaZLhvKDQc54vQ8CWM8jD9BO2t+rP4E= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.26.0/go.mod h1:4vatbW3QwS11DK0H0SB7FR31/VbthXcYorswdkVXdyg= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel v1.0.0-RC3/go.mod h1:Ka5j3ua8tZs4Rkq4Ex3hwgBgOchyPVq5S6P2lz//nKQ= -go.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg= go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU= -go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= -go.opentelemetry.io/otel v1.4.1 h1:QbINgGDDcoQUoMJa2mMaWno49lja9sHwp6aoa2n3a4g= -go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= +go.opentelemetry.io/otel v1.1.0/go.mod h1:7cww0OW51jQ8IaZChIEdqLwgh+44+7uiTdWsAL0wQpA= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.6.1 h1:6r1YrcTenBvYa1x491d0GGpTVBsNECmrc/K6b+zDeis= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/internal/metric v0.23.0 h1:mPfzm9Iqhw7G2nDBmUAjFTfPqLZPbOW2k7QI57ITbaI= -go.opentelemetry.io/otel/internal/metric v0.23.0/go.mod h1:z+RPiDJe30YnCrOhFGivwBS+DU1JU/PiLKkk4re2DNY= +go.opentelemetry.io/otel/internal/metric v0.24.0 h1:O5lFy6kAl0LMWBjzy3k//M8VjEaTDWL9DPJuqZmWIAA= +go.opentelemetry.io/otel/internal/metric v0.24.0/go.mod h1:PSkQG+KuApZjBpC6ea6082ZrWUUy/w132tJ/LOU3TXk= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/metric v0.23.0 h1:mYCcDxi60P4T27/0jchIDFa1WHEfQeU3zH9UEMpnj2c= -go.opentelemetry.io/otel/metric v0.23.0/go.mod h1:G/Nn9InyNnIv7J6YVkQfpc0JCfKBNJaERBGw08nqmVQ= +go.opentelemetry.io/otel/metric v0.24.0 h1:Rg4UYHS6JKR1Sw1TxnI13z7q/0p/XAbgIqUTagvLJuU= +go.opentelemetry.io/otel/metric v0.24.0/go.mod h1:tpMFnCD9t+BEGiWY2bWF5+AwjuAdM0lSowQ4SBA3/K4= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI= -go.opentelemetry.io/otel/sdk v1.4.0 h1:LJE4SW3jd4lQTESnlpQZcBhQ3oci0U2MLR5uhicfTHQ= -go.opentelemetry.io/otel/sdk v1.4.0/go.mod h1:71GJPNJh4Qju6zJuYl1CrYtXbrgfau/M9UAggqiy1UE= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.6.1 h1:ZmcNyMhcuAYIb/Nr6QhBPTMopMTbov/47wHt1gibkoY= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/otel/trace v1.0.0-RC3/go.mod h1:VUt2TUYd8S2/ZRX09ZDFZQwn2RqfMB5MzO17jBojGxo= -go.opentelemetry.io/otel/trace v1.0.0/go.mod h1:PXTWqayeFUlJV1YDNhsJYB184+IvAH814St6o6ajzIs= go.opentelemetry.io/otel/trace v1.0.1/go.mod h1:5g4i4fKLaX2BQpSBsxw8YYcgKpMMSW3x7ZTuYBr3sUk= -go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= -go.opentelemetry.io/otel/trace v1.4.1 h1:O+16qcdTrT7zxv2J6GejTPFinSwA++cYerC5iSiF8EQ= -go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= +go.opentelemetry.io/otel/trace v1.1.0/go.mod h1:i47XtdcBQiktu5IsrPqOHe8w+sBmnLwwHt8wiUsWGTI= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.6.1 h1:f8c93l5tboBYZna1nWk0W9DYyMzJXDWdZcJZ0Kb400U= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1287,8 +1281,10 @@ golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+o golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d h1:RNPAfi2nHY7C2srAV8A49jpsYr0ADedCk1wq6fTMTvs= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867 h1:TcHcE0vrmgzNH1v3ppjcMGbhG5+9fMuvOmUYwNEF4q4= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1375,9 +1371,9 @@ golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210716203947-853a461950ff/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= @@ -1401,8 +1397,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.0.0-20220223155221-ee480838109b h1:clP8eMhB30EHdc0bd2Twtq6kgU7yl5ub2cQLSdrv1Dg= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a h1:qfl7ob3DIEs3Ml9oLuPwY2N04gymzAW04WsUQHIClgM= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= 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= @@ -1527,19 +1523,20 @@ golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220207234003-57398862261d/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-20220227234510-4e6760a101f9 h1:nhht2DYV/Sn3qOayu8lM+cU1ii9sTLUeBQwQQfUHtrs= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 h1:y/woIyUBFbpQGKS0u1aHF/40WUDnek3fPOyD08H5Vng= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1631,6 +1628,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff h1:VX/uD7MK0AHXGiScH3fsieUQUcpmRERPDYtqZdJnA+Q= golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/tools v0.1.9 h1:j9KsMiaP1c3B0OTQGth0/k+miLGTgLsAFUCrF2vLcF8= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1638,13 +1637,15 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1N golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3 h1:DnoIG+QAMaF5NvxnGe/oKsgKcAc6PcUyl8q0VetfQ8s= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.0 h1:ymLukg4XJlQnYUJCp+coQq5M7BsUJFk6XQE4HPflwdw= -gonum.org/v1/plot v0.10.0/go.mod h1:JWIHJ7U20drSQb/aDpTetJzfC1KlAPldJLpkSy88dvQ= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +gonum.org/v1/plot v0.11.0 h1:z2ZkgNqW34d0oYUzd80RRlc0L9kWtenqK4kflZG1lGc= +gonum.org/v1/plot v0.11.0/go.mod h1:fH9YnKnDKax0u5EzHVXvhN5HJwtMFWIOLNuhgUahbCQ= google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1679,14 +1680,15 @@ google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdr google.golang.org/api v0.58.0/go.mod h1:cAbP2FsxoGVNwtgNAmmn3y5G1TWAiVYRmg4yku3lv+E= google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= google.golang.org/api v0.64.0/go.mod h1:931CdxA8Rm4t6zqTFGSsgwbAEZ2+GMYurbndwSimebM= google.golang.org/api v0.66.0/go.mod h1:I1dmXYpX7HGwz/ejRxwQp2qj5bFAz93HiCU1C1oYd9M= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.68.0/go.mod h1:sOM8pTpwgflXRhz+oC8H2Dr+UcbMqkPPWNJo88Q7TH8= +google.golang.org/api v0.69.0/go.mod h1:boanBiw+h5c3s+tBPgEzLDRHfFLWV0qXxRHz3ws7C80= google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0 h1:SgWof18M8V2NylsX7bL4fM28j+nFdRopHZbdipaaw20= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.73.0 h1:O9bThUh35K1rvUrQwTUQ1eqLC/IYyzUpWavYIO2EXvo= +google.golang.org/api v0.73.0/go.mod h1:lbd/q6BRFJbdpV6OUCXstVeiI5mL/d3/WifG7iNKnjI= 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= @@ -1748,8 +1750,6 @@ google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxH google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210721163202-f1cecdd8b78a/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210722135532-667f2b7c528f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= @@ -1765,8 +1765,6 @@ google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211018162055-cf77aa76bad2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -1775,11 +1773,15 @@ google.golang.org/genproto v0.0.0-20220111164026-67b88f271998/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20220114231437-d2e6a121cae0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220204002441-d6cc3cc0770e/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207185906-7721543eae58/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220211171837-173942840c17/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220216160803-4663080d8bc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= 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-20220304144024-325a89244dc8 h1:U9V52f6rAgINH7kT+musA1qF8kWyVOxzF8eYuOVuFwQ= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6 h1:FglFEfyj61zP3c6LgjmVHxYxZWXYul9oiS1EZqD5gLc= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= 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= @@ -1810,10 +1812,10 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1845,7 +1847,6 @@ gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMy gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= @@ -1885,49 +1886,45 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= k8s.io/api v0.19.1/go.mod h1:+u/k4/K/7vp4vsfdT7dyl8Oxk1F26Md4g5F26Tu85PU= 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.2/go.mod h1:y3ydYpLJAaDI+BbSe2xmGcqxiWHmWjkEeIbiwHvnPR8= k8s.io/api v0.22.4/go.mod h1:Rgs+9gIGYC5laXQSZZ9JqT5NevNgoGiOdVWi1BAB3qk= -k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= -k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= +k8s.io/api v0.23.5 h1:zno3LUiMubxD/V1Zw3ijyKO3wxrhbUF1Ck+VjBvfaoA= +k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= 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.2/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= k8s.io/apimachinery v0.22.4/go.mod h1:yU6oA6Gnax9RrxGzVvPFFJ+mpnW6PBSqp0sx0I0HHW0= -k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= -k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apimachinery v0.23.5 h1:Va7dwhp8wgkUPWsEXk6XglXWU4IKYLKNlv8VkX7SDM0= +k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= 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= -k8s.io/cli-runtime v0.22.2/go.mod h1:tkm2YeORFpbgQHEK/igqttvPTRIHFRz5kATlw53zlMI= +k8s.io/cli-runtime v0.23.5/go.mod h1:oY6QDF2qo9xndSq32tqcmRp2UyXssdGrLfjAVymgbx4= 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.22.2/go.mod h1:sAlhrkVDf50ZHx6z4K0S40wISNTarf1r800F+RlCF6U= -k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= -k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= +k8s.io/client-go v0.23.5 h1:zUXHmEuqx0RY4+CsnkOn5l0GU+skkRXKGJrhmE2SLd8= +k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= k8s.io/cluster-bootstrap v0.22.4 h1:2ZhV/1K4GiCrnmDHHbBnN3bERWn+Nxrtxmxp6uYYThI= k8s.io/cluster-bootstrap v0.22.4/go.mod h1:fTQZ6u9G6fg2LHhB8nEgZLnXIhCDSRYuLUUS5pgW8RY= -k8s.io/code-generator v0.22.2/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= +k8s.io/code-generator v0.23.5/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= 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.22.2/go.mod h1:5Br2QhI9OTe79p+TzPe9JKNQYvEKbq9rTJDWllunGug= -k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= -k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= -k8s.io/component-helpers v0.22.2/go.mod h1:+N61JAR9aKYSWbnLA88YcFr9K/6ISYvRNybX7QW7Rs8= +k8s.io/component-base v0.23.5 h1:8qgP5R6jG1BBSXmRYW+dsmitIrpk8F/fPEvgDenMCCE= +k8s.io/component-base v0.23.5/go.mod h1:c5Nq44KZyt1aLl0IpHX82fhsn84Sb0jjzwjpcA42bY0= +k8s.io/component-helpers v0.23.5/go.mod h1:5riXJgjTIs+ZB8xnf5M2anZ8iQuq37a0B/0BgoPQuSM= 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= k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= @@ -1935,26 +1932,25 @@ k8s.io/klog/v2 v2.3.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/klog/v2 v2.40.1 h1:P4RRucWk/lFOlDdkAr3mc7iWFkgKrZY9qZMAgek06S4= -k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.60.1 h1:VW25q3bZx9uE3vvdL6M8ezOX79vA2Aq1nEWLqNQclHc= +k8s.io/klog/v2 v2.60.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/kubectl v0.22.2 h1:KMyYNZoBshaL3XKx04X07DtpoD4vMrdkfiN/G2Qx/PU= -k8s.io/kubectl v0.22.2/go.mod h1:BApg2j0edxLArCOfO0ievI27EeTQqBDMNU9VQH734iQ= +k8s.io/kubectl v0.23.5 h1:DmDULqCaF4qstj0Im143XmncvqWtJxHzK8IrW2BzlU0= +k8s.io/kubectl v0.23.5/go.mod h1:lLgw7cVY8xbd7o637vOXPca/w6HC205KsPCRDYRCxwE= k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -k8s.io/metrics v0.22.2/go.mod h1:GUcsBtpsqQD1tKFS/2wCKu4ZBowwRncLOJH1rgWs3uw= +k8s.io/metrics v0.23.5/go.mod h1:WNAtV2a5BYbmDS8+7jSqYYV6E3efuGTpIwJ8PTD1wgs= k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -libvirt.org/go/libvirt v1.7010.0 h1:DlllozmFIhjuF5DL9Z19UOcKfgFp3T0RjWtxdiBjPpM= -libvirt.org/go/libvirt v1.7010.0/go.mod h1:1WiFE8EjZfq+FCVog+rvr1yatKbKZ9FaFMZgEqxEJqQ= +libvirt.org/go/libvirt v1.8001.0 h1:JpmhiPLs+DA5shqjsqjGr4YIkVaLiDghI8qk9e34JXg= +libvirt.org/go/libvirt v1.8001.0/go.mod h1:1WiFE8EjZfq+FCVog+rvr1yatKbKZ9FaFMZgEqxEJqQ= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= @@ -1964,10 +1960,10 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyz sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/api v0.8.11/go.mod h1:a77Ls36JdfCWojpUqR6m60pdGY1AYFix4AH83nJtY1g= -sigs.k8s.io/kustomize/cmd/config v0.9.13/go.mod h1:7547FLF8W/lTaDf0BDqFTbZxM9zqwEJqCKN9sSR0xSs= -sigs.k8s.io/kustomize/kustomize/v4 v4.2.0/go.mod h1:MOkR6fmhwG7hEDRXBYELTi5GSFcLwfqwzTRHW3kv5go= -sigs.k8s.io/kustomize/kyaml v0.11.0/go.mod h1:GNMwjim4Ypgp/MueD3zXHLRJEjz7RvtPae0AwlvEMFM= +sigs.k8s.io/kustomize/api v0.10.1/go.mod h1:2FigT1QN6xKdcnGS2Ppp1uIWrtWN28Ms8A3OZUZhwr8= +sigs.k8s.io/kustomize/cmd/config v0.10.2/go.mod h1:K2aW7nXJ0AaT+VA/eO0/dzFLxmpFcTzudmAgDwPY1HQ= +sigs.k8s.io/kustomize/kustomize/v4 v4.4.1/go.mod h1:qOKJMMz2mBP+vcS7vK+mNz4HBLjaQSWRY22EF6Tb7Io= +sigs.k8s.io/kustomize/kyaml v0.13.0/go.mod h1:FTJxEZ86ScK184NpGSAQcfEqee0nul8oLCK30D47m4E= sigs.k8s.io/sig-storage-lib-external-provisioner/v6 v6.3.0 h1:IKsKAnscMyIOqyl8s8V7guTcx0QBEa6OT57EPgAgpmM= sigs.k8s.io/sig-storage-lib-external-provisioner/v6 v6.3.0/go.mod h1:DhZ52sQMJHW21+JXyA2LRUPRIxKnrNrwh+QFV+2tVA4= sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/hack/benchmark/time-to-k8s/chart.go b/hack/benchmark/time-to-k8s/chart.go index ba03ecadfa..e0ebcbcc18 100644 --- a/hack/benchmark/time-to-k8s/chart.go +++ b/hack/benchmark/time-to-k8s/chart.go @@ -19,10 +19,8 @@ package main import ( "bytes" "encoding/csv" - "flag" "fmt" "io" - "log" "os" "strconv" @@ -45,27 +43,12 @@ type run struct { type runs struct { version string runs []run + cpus []cpu } -func main() { - csvPath := flag.String("csv", "", "path to the CSV file") - chartPath := flag.String("output", "", "path to output the chart to") - flag.Parse() - - // map of the apps (minikube, kind, k3d) and their runs - apps := make(map[string]runs) - - if err := readInCSV(*csvPath, apps); err != nil { - log.Fatal(err) - } - - values, totals, names := values(apps) - - outputMarkdownTable(values, totals, names) - - if err := createChart(*chartPath, values, totals, names); err != nil { - log.Fatal(err) - } +type cpu struct { + cpuPct float64 // percentage + cpuTime float64 // second } func readInCSV(csvPath string, apps map[string]runs) error { @@ -91,8 +74,8 @@ func readInCSV(csvPath string, apps map[string]runs) error { values := []float64{} - // 8-13 contain the run results - for i := 8; i <= 13; i++ { + // 8-16 contain the run results + for i := 8; i <= 16; i++ { v, err := strconv.ParseFloat(d[i], 64) if err != nil { return err @@ -100,6 +83,7 @@ func readInCSV(csvPath string, apps map[string]runs) error { values = append(values, v) } newRun := run{values[0], values[1], values[2], values[3], values[4], values[5]} + newCPU := cpu{values[6], values[8]} // get the app from the map and add the new run to it name := d[0] @@ -108,14 +92,18 @@ func readInCSV(csvPath string, apps map[string]runs) error { k = runs{version: d[5]} } k.runs = append(k.runs, newRun) + k.cpus = append(k.cpus, newCPU) apps[name] = k } return nil } -func values(apps map[string]runs) ([]plotter.Values, []float64, []string) { +func values(apps map[string]runs) ([]plotter.Values, []plotter.Values, []plotter.Values, []float64, []string) { var cmdValues, apiValues, k8sValues, dnsSvcValues, appValues, dnsAnsValues plotter.Values + var cpuPctValues, cpuTimeValues plotter.Values + var cpuMinikube, cpuKind, cpuK3d plotter.Values + names := []string{} totals := []float64{} @@ -123,6 +111,8 @@ func values(apps map[string]runs) ([]plotter.Values, []float64, []string) { for _, name := range []string{"minikube", "kind", "k3d"} { app := apps[name] var cmd, api, k8s, dnsSvc, appRun, dnsAns float64 + var cpuPct, cpuTime float64 + names = append(names, app.version) for _, l := range app.runs { @@ -134,6 +124,11 @@ func values(apps map[string]runs) ([]plotter.Values, []float64, []string) { dnsAns += l.dnsAns } + for _, l := range app.cpus { + cpuPct += l.cpuPct + cpuTime += l.cpuTime + } + c := float64(len(app.runs)) cmdAvg := cmd / c @@ -143,6 +138,9 @@ func values(apps map[string]runs) ([]plotter.Values, []float64, []string) { appAvg := appRun / c dnsAnsAvg := dnsAns / c + cpuPctAvg := cpuPct / c + cpuTimeAvg := cpuTime / c + cmdValues = append(cmdValues, cmdAvg) apiValues = append(apiValues, apiAvg) k8sValues = append(k8sValues, k8sAvg) @@ -152,11 +150,32 @@ func values(apps map[string]runs) ([]plotter.Values, []float64, []string) { total := cmdAvg + apiAvg + k8sAvg + dnsSvcAvg + appAvg + dnsAnsAvg totals = append(totals, total) + + cpuPctValues = append(cpuPctValues, cpuPctAvg) + cpuTimeValues = append(cpuTimeValues, cpuTimeAvg) + + cpuSummary := []float64{cpuPctAvg, cpuTimeAvg} + + switch name { + case "minikube": + cpuMinikube = cpuSummary + case "kind": + cpuKind = cpuSummary + case "k3d": + cpuK3d = cpuSummary + } + } - values := []plotter.Values{cmdValues, apiValues, k8sValues, dnsSvcValues, appValues, dnsAnsValues} + runningTime := []plotter.Values{cmdValues, apiValues, k8sValues, dnsSvcValues, appValues, dnsAnsValues} - return values, totals, names + // for markdown table, row is either cpu utilization or cpu time, col is process name + cpu := []plotter.Values{cpuPctValues, cpuTimeValues} + + // row is process name, col is either cpu utilization, or cpu time + cpureverse := []plotter.Values{cpuMinikube, cpuKind, cpuK3d} + + return runningTime, cpu, cpureverse, totals, names } func outputMarkdownTable(categories []plotter.Values, totals []float64, names []string) { @@ -184,7 +203,7 @@ func outputMarkdownTable(categories []plotter.Values, totals []float64, names [] t.SetCenterSeparator("|") t.AppendBulk(c) t.Render() - fmt.Println(b.String()) + data.TimeMarkdown = b.String() } func createChart(chartPath string, values []plotter.Values, totals []float64, names []string) error { @@ -252,7 +271,13 @@ func createChart(chartPath string, values []plotter.Values, totals []float64, na p.Add(l) - return p.Save(12*vg.Inch, 8*vg.Inch, chartPath) + if err := p.Save(12*vg.Inch, 8*vg.Inch, chartPath); err != nil { + return err + } + + data.TimeChart = chartPath + + return nil } func createBars(values plotter.Values, index int) (*plotter.BarChart, error) { diff --git a/hack/benchmark/time-to-k8s/cpu.go b/hack/benchmark/time-to-k8s/cpu.go new file mode 100644 index 0000000000..a69d106726 --- /dev/null +++ b/hack/benchmark/time-to-k8s/cpu.go @@ -0,0 +1,116 @@ +/* +Copyright 2021 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package main + +import ( + "bytes" + "fmt" + + "github.com/olekukonko/tablewriter" + "gonum.org/v1/plot" + "gonum.org/v1/plot/plotter" + "gonum.org/v1/plot/plotutil" + "gonum.org/v1/plot/vg" +) + +var fields = []string{"CPU Utilization(%)", "CPU Time(seconds)"} + +func cpuMarkdownTable(categories []plotter.Values, names []string) { + + // categories row is the either cpu pct or time, col is process name + headers := append([]string{""}, names...) + c := [][]string{} + for i, values := range categories { + row := []string{fields[i]} + for _, value := range values { + row = append(row, fmt.Sprintf("%.3f", value)) + } + c = append(c, row) + } + b := new(bytes.Buffer) + t := tablewriter.NewWriter(b) + t.SetAutoWrapText(false) + t.SetHeader(headers) + t.SetAutoFormatHeaders(false) + t.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false}) + t.SetCenterSeparator("|") + t.AppendBulk(c) + t.Render() + data.CPUMarkdown = b.String() +} + +func createCPUChart(chartPath string, values []plotter.Values, names []string) error { + p := plot.New() + p.Title.Text = "CPU utilization to go from 0 to successful Kubernetes deployment" + p.Y.Label.Text = "CPU utilization" + setYMax(p, values) + + w := vg.Points(20) + + barsA, err := plotter.NewBarChart(values[0], w) + if err != nil { + return err + } + barsA.LineStyle.Width = vg.Length(0) + barsA.Color = plotutil.Color(0) + barsA.Offset = -w + + barsB, err := plotter.NewBarChart(values[1], w) + if err != nil { + return err + } + barsB.LineStyle.Width = vg.Length(0) + barsB.Color = plotutil.Color(1) + barsB.Offset = 0 + + barsC, err := plotter.NewBarChart(values[2], w) + if err != nil { + return err + } + barsC.LineStyle.Width = vg.Length(0) + barsC.Color = plotutil.Color(2) + barsC.Offset = w + + p.Add(barsA, barsB, barsC) + p.Legend.Add(names[0], barsA) + p.Legend.Add(names[1], barsB) + p.Legend.Add(names[2], barsC) + + p.Legend.Top = true + p.NominalX(fields...) + + if err := p.Save(8*vg.Inch, 8*vg.Inch, chartPath); err != nil { + return err + } + + data.CPUChart = chartPath + + return nil +} + +func setYMax(p *plot.Plot, values []plotter.Values) { + ymax := 0.0 + for _, value := range values { + for _, v := range value { + if v > ymax { + ymax = v + } + } + } + + p.Y.Max = ymax + 5 +} diff --git a/hack/benchmark/time-to-k8s/page.go b/hack/benchmark/time-to-k8s/page.go new file mode 100644 index 0000000000..36cfb6f5b5 --- /dev/null +++ b/hack/benchmark/time-to-k8s/page.go @@ -0,0 +1,108 @@ +/* +Copyright 2021 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package main + +import ( + "flag" + "fmt" + "log" + "os" + "text/template" + "time" +) + +var page = `--- +title: "{{.Version}} Benchmark" +linkTitle: "{{.Version}} Benchmark" +weight: -{{.Weight}} +--- + +![time-to-k8s]({{.TimeChart}}) + +{{.TimeMarkdown}} + + +![cpu-to-k8s]({{.CPUChart}}) + +{{.CPUMarkdown}} +` + +type Data struct { + Version string + Weight string + TimeChart string + TimeMarkdown string + CPUChart string + CPUMarkdown string +} + +var data Data + +func main() { + csvPath := flag.String("csv", "", "path to the CSV file") + imagePath := flag.String("image", "", "path to output the chart to") + pagePath := flag.String("page", "", "path to output the page to") + + flag.Parse() + + t := time.Now() + data.Weight = fmt.Sprintf("%d%d%d", t.Year(), t.Month(), t.Day()) + + // map of the apps (minikube, kind, k3d) and their runs + apps := make(map[string]runs) + + if err := readInCSV(*csvPath, apps); err != nil { + log.Fatalf("fail to readin cvs file with err %s", err) + } + + runningTime, cpuMdPlot, cpuChartPlot, totals, names := values(apps) + + // markdown table for running time + outputMarkdownTable(runningTime, totals, names) + + // chart for running time + if err := createChart(*imagePath+"-time.png", runningTime, totals, names); err != nil { + log.Fatalf("fail to create running time chart with err %s", err) + } + + // markdown table for cpu utilization + cpuMarkdownTable(cpuMdPlot, names) + + // chart for cpu utilization + if err := createCPUChart(*imagePath+"-cpu.png", cpuChartPlot, names); err != nil { + log.Fatalf("fail to create CPU chart with err %s", err) + } + + // generate page and save + tmpl, err := template.New("msg").Parse(page) + + if err != nil { + log.Fatal(err) + } + + f, err := os.Create(*pagePath) + if err != nil { + log.Fatalf("fail to create file under path %s, with err %s", *pagePath, err) + } + + if err = tmpl.Execute(f, data); err != nil { + log.Fatalf("fail to populate the page with err %s", err) + } + + f.Close() + +} diff --git a/hack/benchmark/time-to-k8s/time-to-k8s.sh b/hack/benchmark/time-to-k8s/time-to-k8s.sh index 213f538aea..348cd86a96 100755 --- a/hack/benchmark/time-to-k8s/time-to-k8s.sh +++ b/hack/benchmark/time-to-k8s/time-to-k8s.sh @@ -37,12 +37,10 @@ run_benchmark() { go run . --config local-kubernetes.yaml --iterations 10 --output output.csv ) } -generate_chart() { - go run ./hack/benchmark/time-to-k8s/chart.go --csv ./hack/benchmark/time-to-k8s/time-to-k8s-repo/output.csv --output ./site/static/images/benchmarks/timeToK8s/"$1".png >> ./site/content/en/docs/benchmarks/timeToK8s/"$1".md -} +# create page and generate chart inside the code create_page() { - printf -- "---\ntitle: \"%s Benchmark\"\nlinkTitle: \"%s Benchmark\"\nweight: -$(date +'%Y%m%d')\n---\n\n![time-to-k8s](/images/benchmarks/timeToK8s/%s.png)\n" "$1" "$1" "$1" > ./site/content/en/docs/benchmarks/timeToK8s/"$1".md + go run ./hack/benchmark/time-to-k8s/*.go --csv ./hack/benchmark/time-to-k8s/time-to-k8s-repo/output.csv --image ./site/static/images/benchmarks/timeToK8s/"$1" --page ./site/content/en/docs/benchmarks/timeToK8s/"$1".md } cleanup() { @@ -56,5 +54,4 @@ install_minikube VERSION=$(minikube version --short) run_benchmark create_page "$VERSION" -generate_chart "$VERSION" cleanup diff --git a/hack/jenkins/cloud_shell_functional_tests_docker.sh b/hack/jenkins/cloud_shell_functional_tests_docker.sh index c6b8968b13..512e3108b4 100755 --- a/hack/jenkins/cloud_shell_functional_tests_docker.sh +++ b/hack/jenkins/cloud_shell_functional_tests_docker.sh @@ -22,7 +22,7 @@ # EXTRA_BUILD_ARGS (optional): Extra args to be passed into the minikube integrations tests # access_token: The Github API access token. Injected by the Jenkins credential provider. -set -ex +set -x gcloud cloud-shell ssh --authorize-session << EOF OS="linux" @@ -48,3 +48,14 @@ gcloud cloud-shell ssh --authorize-session << EOF chmod +x ./common.sh source ./common.sh EOF + +code=$? +if [ $code -gt 0 ]; then + curl -L -u minikube-bot:${access_token} \ + "https://api.github.com/repos/kubernetes/minikube/statuses/${COMMIT}" \ + -H "Content-Type: application/json" \ + -X POST \ + -d "{\"state\": \"failure\", \"description\": \"Jenkins: Cloud Shell failed to start\", \"target_url\": \"https://storage.googleapis.com/minikube-builds/logs/${MINIKUBE_LOCATION}/${ROOT_JOB_ID}/Docker_Cloud_Shell.html\", \"context\": \"Docker_Cloud_Shell\"}" +fi + +exit $code diff --git a/pkg/addons/addons_autopause.go b/pkg/addons/addons_autopause.go index ec8836fa4f..3b33b7f9bd 100644 --- a/pkg/addons/addons_autopause.go +++ b/pkg/addons/addons_autopause.go @@ -31,8 +31,8 @@ import ( "k8s.io/minikube/pkg/minikube/sysinit" ) -// enableOrDisableAutoPause enables the service after the config was copied by generic enble -func enableOrDisableAutoPause(cc *config.ClusterConfig, name string, val string) error { +// enableOrDisableAutoPause enables the service after the config was copied by generic enable. +func enableOrDisableAutoPause(cc *config.ClusterConfig, name, val string) error { enable, err := strconv.ParseBool(val) if err != nil { return errors.Wrapf(err, "parsing bool: %s", name) @@ -44,16 +44,18 @@ func enableOrDisableAutoPause(cc *config.ClusterConfig, name string, val string) if enable { if err := sysinit.New(co.CP.Runner).EnableNow("auto-pause"); err != nil { klog.ErrorS(err, "failed to enable", "service", "auto-pause") + return err } } - port := co.CP.Port // api server port - if enable { // if enable then need to calculate the forwarded port + port := co.CP.Port // API server port + if enable { // if enable, calculate the forwarded port port = constants.AutoPauseProxyPort if driver.NeedsPortForward(cc.Driver) { port, err = oci.ForwardedPort(cc.Driver, cc.Name, port) if err != nil { klog.ErrorS(err, "failed to get forwarded port for", "auto-pause port", port) + return err } } } @@ -64,7 +66,7 @@ func enableOrDisableAutoPause(cc *config.ClusterConfig, name string, val string) return err } if updated { - klog.Infof("%s context has been updated to point to auto-pause proxy %s:%s", cc.Name, co.CP.Hostname, co.CP.Port) + klog.Infof("%s context has been updated to point to auto-pause proxy %s:%d", cc.Name, co.CP.Hostname, port) } else { klog.Info("no need to update kube-context for auto-pause proxy") } diff --git a/pkg/drivers/kic/oci/oci.go b/pkg/drivers/kic/oci/oci.go index 5f5a84ce8d..93b3bd8e24 100644 --- a/pkg/drivers/kic/oci/oci.go +++ b/pkg/drivers/kic/oci/oci.go @@ -162,9 +162,6 @@ func CreateContainerNode(p CreateParams) error { // including some ones docker would otherwise do by default. // for now this is what we want. in the future we may revisit this. "--privileged", - // enable /dev/fuse explicitly for fuse-overlayfs - // (Rootless Docker does not automatically mount /dev/fuse with --privileged) - "--device", "/dev/fuse", "--security-opt", "seccomp=unconfined", // ignore seccomp "--tmpfs", "/tmp", // various things depend on working /tmp "--tmpfs", "/run", // systemd wants a writable /run diff --git a/pkg/minikube/assets/addons.go b/pkg/minikube/assets/addons.go index 172be04263..f84060372f 100755 --- a/pkg/minikube/assets/addons.go +++ b/pkg/minikube/assets/addons.go @@ -304,7 +304,7 @@ var Addons = map[string]*Addon{ "metrics-server-service.yaml", "0640"), }, false, "metrics-server", "kubernetes", map[string]string{ - "MetricsServer": "metrics-server/metrics-server:v0.4.2@sha256:dbc33d7d35d2a9cc5ab402005aa7a0d13be6192f3550c7d42cba8d2d5e3a5d62", + "MetricsServer": "metrics-server/metrics-server:v0.6.1@sha256:5ddc6458eb95f5c70bd13fdab90cbd7d6ad1066e5b528ad1dcb28b76c5fb2f00", }, map[string]string{ "MetricsServer": "k8s.gcr.io", }), diff --git a/pkg/minikube/constants/constants.go b/pkg/minikube/constants/constants.go index b0a0413397..8eb3f72ccf 100644 --- a/pkg/minikube/constants/constants.go +++ b/pkg/minikube/constants/constants.go @@ -33,10 +33,10 @@ var ( const ( // DefaultKubernetesVersion is the default Kubernetes version // dont update till #10545 is solved - DefaultKubernetesVersion = "v1.23.3" + DefaultKubernetesVersion = "v1.23.5" // NewestKubernetesVersion is the newest Kubernetes version to test against // NOTE: You may need to update coreDNS & etcd versions in pkg/minikube/bootstrapper/images/images.go - NewestKubernetesVersion = "v1.23.4-rc.0" + NewestKubernetesVersion = "v1.23.6-rc.0" // OldestKubernetesVersion is the oldest Kubernetes version to test against OldestKubernetesVersion = "v1.16.0" // NoKubernetesVersion is the version used when users does NOT want to install kubernetes diff --git a/pkg/minikube/cruntime/containerd.go b/pkg/minikube/cruntime/containerd.go index e8bb1567fd..2b96ba21bd 100644 --- a/pkg/minikube/cruntime/containerd.go +++ b/pkg/minikube/cruntime/containerd.go @@ -70,12 +70,6 @@ oom_score = 0 [cgroup] path = "" -[proxy_plugins] -# fuse-overlayfs is used for rootless -[proxy_plugins."fuse-overlayfs"] - type = "snapshot" - address = "/run/containerd-fuse-overlayfs.sock" - [plugins] [plugins."io.containerd.monitor.v1.cgroups"] no_prometheus = false @@ -208,9 +202,6 @@ func generateContainerdConfig(cr CommandRunner, imageRepository string, kv semve } pauseImage := images.Pause(kv, imageRepository) snapshotter := "overlayfs" - if inUserNamespace { - snapshotter = "fuse-overlayfs" - } opts := struct { PodInfraContainerImage string SystemdCgroup bool @@ -239,6 +230,16 @@ func generateContainerdConfig(cr CommandRunner, imageRepository string, kv semve // Enable idempotently enables containerd on a host func (r *Containerd) Enable(disOthers, forceSystemd, inUserNamespace bool) error { + if inUserNamespace { + if err := CheckKernelCompatibility(r.Runner, 5, 11); err != nil { + // For using overlayfs + return fmt.Errorf("kernel >= 5.11 is required for rootless mode: %w", err) + } + if err := CheckKernelCompatibility(r.Runner, 5, 13); err != nil { + // For avoiding SELinux error with overlayfs + klog.Warningf("kernel >= 5.13 is recommended for rootless mode %v", err) + } + } if disOthers { if err := disableOthers(r, r.Runner); err != nil { klog.Warningf("disableOthers: %v", err) @@ -254,12 +255,6 @@ func (r *Containerd) Enable(disOthers, forceSystemd, inUserNamespace bool) error return err } - if inUserNamespace { - if err := r.Init.EnableNow("containerd-fuse-overlayfs"); err != nil { - return err - } - } - // Otherwise, containerd will fail API requests with 'Unimplemented' return r.Init.Restart("containerd") } diff --git a/pkg/minikube/cruntime/crio.go b/pkg/minikube/cruntime/crio.go index 9cbcc5238f..86af57ac97 100644 --- a/pkg/minikube/cruntime/crio.go +++ b/pkg/minikube/cruntime/crio.go @@ -150,18 +150,13 @@ func enableIPForwarding(cr CommandRunner) error { // enableRootless enables configurations for running CRI-O in Rootless Docker. // // 1. Create /etc/systemd/system/crio.service.d/10-rootless.conf to set _CRIO_ROOTLESS=1 -// 2. Create /etc/crio/crio.conf.d/10-fuse-overlayfs.conf to enable fuse-overlayfs -// 3. Reload systemd +// 2. Reload systemd // // See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-in-userns/#configuring-cri func (r *CRIO) enableRootless() error { files := map[string]string{ "/etc/systemd/system/crio.service.d/10-rootless.conf": `[Service] Environment="_CRIO_ROOTLESS=1" -`, - "/etc/crio/crio.conf.d/10-fuse-overlayfs.conf": `[crio] -storage_driver = "overlay" -storage_option = ["overlay.mount_program=/usr/local/bin/fuse-overlayfs"] `, } for target, content := range files { @@ -211,6 +206,14 @@ func (r *CRIO) Enable(disOthers, forceSystemd, inUserNamespace bool) error { } } if inUserNamespace { + if err := CheckKernelCompatibility(r.Runner, 5, 11); err != nil { + // For using overlayfs + return fmt.Errorf("kernel >= 5.11 is required for rootless mode: %w", err) + } + if err := CheckKernelCompatibility(r.Runner, 5, 13); err != nil { + // For avoiding SELinux error with overlayfs + klog.Warningf("kernel >= 5.13 is recommended for rootless mode %v", err) + } if err := r.enableRootless(); err != nil { return err } diff --git a/pkg/minikube/cruntime/cruntime.go b/pkg/minikube/cruntime/cruntime.go index 514ad97670..76833ed82d 100644 --- a/pkg/minikube/cruntime/cruntime.go +++ b/pkg/minikube/cruntime/cruntime.go @@ -20,6 +20,7 @@ package cruntime import ( "fmt" "os/exec" + "strings" "github.com/blang/semver/v4" "github.com/pkg/errors" @@ -316,3 +317,22 @@ func CheckCompatibility(cr Manager) error { } return compatibleWithVersion(cr.Name(), v) } + +// CheckKernelCompatibility returns an error when the kernel is older than the specified version. +func CheckKernelCompatibility(cr CommandRunner, major, minor int) error { + expected := fmt.Sprintf("%d.%d", major, minor) + unameRes, err := cr.RunCmd(exec.Command("uname", "-r")) + if err != nil { + return err + } + actual := strings.TrimSpace(unameRes.Stdout.String()) + sortRes, err := cr.RunCmd(exec.Command("sh", "-euc", fmt.Sprintf(`(echo %s; echo %s) | sort -V | head -n1`, actual, expected))) + if err != nil { + return err + } + comparison := strings.TrimSpace(sortRes.Stdout.String()) + if comparison != expected { + return NewErrServiceVersion("kernel", expected, actual) + } + return nil +} diff --git a/pkg/minikube/download/iso.go b/pkg/minikube/download/iso.go index 994b9c68c3..7227eae071 100644 --- a/pkg/minikube/download/iso.go +++ b/pkg/minikube/download/iso.go @@ -40,7 +40,7 @@ const fileScheme = "file" // DefaultISOURLs returns a list of ISO URL's to consult by default, in priority order func DefaultISOURLs() []string { v := version.GetISOVersion() - isoBucket := "minikube/iso" + isoBucket := "minikube-builds/iso/13800" return []string{ fmt.Sprintf("https://storage.googleapis.com/%s/minikube-%s.iso", isoBucket, v), fmt.Sprintf("https://github.com/kubernetes/minikube/releases/download/%s/minikube-%s.iso", v, v), diff --git a/pkg/minikube/driver/driver.go b/pkg/minikube/driver/driver.go index 34e277009a..0b2e317c93 100644 --- a/pkg/minikube/driver/driver.go +++ b/pkg/minikube/driver/driver.go @@ -24,6 +24,8 @@ import ( "strconv" "strings" + "golang.org/x/text/cases" + "golang.org/x/text/language" "k8s.io/klog/v2" "k8s.io/minikube/pkg/drivers/kic/oci" "k8s.io/minikube/pkg/minikube/constants" @@ -221,7 +223,7 @@ func FullName(name string) string { } return "Docker" default: - return strings.Title(name) + return cases.Title(language.Und).String(name) } } diff --git a/pkg/minikube/registry/drvs/docker/docker.go b/pkg/minikube/registry/drvs/docker/docker.go index cc6bb558b8..8dbc83cb46 100644 --- a/pkg/minikube/registry/drvs/docker/docker.go +++ b/pkg/minikube/registry/drvs/docker/docker.go @@ -22,12 +22,13 @@ import ( "os" "os/exec" "runtime" - "strconv" "strings" "time" + "github.com/blang/semver/v4" "github.com/docker/machine/libmachine/drivers" "github.com/pkg/errors" + "github.com/spf13/viper" "k8s.io/klog/v2" "k8s.io/minikube/pkg/drivers/kic" "k8s.io/minikube/pkg/drivers/kic/oci" @@ -37,8 +38,11 @@ import ( "k8s.io/minikube/pkg/minikube/registry" ) -var docURL = "https://minikube.sigs.k8s.io/docs/drivers/docker/" -var minDockerVersion = []int{18, 9, 0} +const ( + docURL = "https://minikube.sigs.k8s.io/docs/drivers/docker/" + minDockerVersion = "18.09.0" + recommendedDockerVersion = "20.10.0" +) func init() { if err := registry.Register(registry.DriverDef{ @@ -130,11 +134,13 @@ func status() (retState registry.State) { }() klog.Infof("docker version: %s", o) - s := checkDockerVersion(strings.TrimSpace(string(o))) // remove '\n' from o at the end - if s.Error != nil { - return s + if !viper.GetBool("force") { + s := checkDockerVersion(strings.TrimSpace(string(o))) // remove '\n' from o at the end + if s.Error != nil { + return s + } + recordImprovement(s) } - recordImprovement(s) si, err := oci.CachedDaemonInfo("docker") if err != nil { @@ -174,8 +180,9 @@ func checkDockerVersion(o string) registry.State { } } - hintInstallOfficial := fmt.Sprintf("Install the official release of %s (Minimum recommended version is %2d.%02d.%d, current version is %s)", - driver.FullName(driver.Docker), minDockerVersion[0], minDockerVersion[1], minDockerVersion[2], parts[1]) + versionMsg := fmt.Sprintf("(Minimum recommended version is %s, minimum supported version is %s, current version is %s)", recommendedDockerVersion, minDockerVersion, parts[1]) + hintInstallOfficial := fmt.Sprintf("Install the official release of %s %s", driver.FullName(driver.Docker), versionMsg) + hintUpdate := fmt.Sprintf("Upgrade %s to a newer version %s", driver.FullName(driver.Docker), versionMsg) p := strings.SplitN(parts[1], ".", 3) switch l := len(p); l { @@ -195,31 +202,40 @@ func checkDockerVersion(o string) registry.State { } } - for i, s := range p { - k, err := strconv.Atoi(s) - if err != nil { - return registry.State{ - Installed: true, - Healthy: true, - NeedsImprovement: true, - Fix: hintInstallOfficial, - Doc: docURL, - } - } - - if k > minDockerVersion[i] { - return registry.State{Installed: true, Healthy: true, Error: nil} - } else if k < minDockerVersion[i] { - return registry.State{ - Installed: true, - Healthy: true, - NeedsImprovement: true, - Fix: fmt.Sprintf("Upgrade %s to a newer version (Minimum recommended version is %2d.%02d.%d)", driver.FullName(driver.Docker), minDockerVersion[0], minDockerVersion[1], minDockerVersion[2]), - Doc: docURL + "#requirements"} + currSemver, err := semver.ParseTolerant(strings.Join(p, ".")) + if err != nil { + return registry.State{ + Installed: true, + Healthy: true, + NeedsImprovement: true, + Fix: hintInstallOfficial, + Doc: docURL, } } + // these values are consts and their conversions are covered in unit tests + minSemver, _ := semver.ParseTolerant(minDockerVersion) + recSemver, _ := semver.ParseTolerant(recommendedDockerVersion) - return registry.State{Installed: true, Healthy: true, Error: nil} + if currSemver.GTE(recSemver) { + return registry.State{Installed: true, Healthy: true, Error: nil} + } + if currSemver.GTE(minSemver) { + return registry.State{ + Installed: true, + Healthy: true, + NeedsImprovement: true, + Fix: hintUpdate, + Doc: docURL + "#requirements"} + } + + return registry.State{ + Reason: "PROVIDER_DOCKER_VERSION_LOW", + Error: oci.ErrMinDockerVersion, + Installed: true, + Healthy: false, + NeedsImprovement: true, + Fix: hintUpdate, + Doc: docURL + "#requirements"} } // checkNeedsImprovement if overlay mod is installed on a system diff --git a/pkg/minikube/registry/drvs/docker/docker_test.go b/pkg/minikube/registry/drvs/docker/docker_test.go index 0d3e6ac890..3d03231f3c 100644 --- a/pkg/minikube/registry/drvs/docker/docker_test.go +++ b/pkg/minikube/registry/drvs/docker/docker_test.go @@ -21,6 +21,7 @@ import ( "strings" "testing" + "github.com/blang/semver/v4" "k8s.io/minikube/pkg/minikube/driver" ) @@ -55,30 +56,41 @@ func appendVersionVariations(tc []testCase, v []int, reason string) []testCase { return appendedTc } +func stringToIntSlice(t *testing.T, s string) []int { + sem, err := semver.ParseTolerant(s) + if err != nil { + t.Fatalf("failed to parse %s to semver: %v", s, err) + } + return []int{int(sem.Major), int(sem.Minor), int(sem.Patch)} +} + func TestCheckDockerVersion(t *testing.T) { + recParts := stringToIntSlice(t, recommendedDockerVersion) + minParts := stringToIntSlice(t, minDockerVersion) + tc := []testCase{ { version: "windows-20.0.1", expect: "PROVIDER_DOCKER_WINDOWS_CONTAINERS", }, { - version: fmt.Sprintf("linux-%02d.%02d", minDockerVersion[0], minDockerVersion[1]), + version: fmt.Sprintf("linux-%02d.%02d", recParts[0], recParts[1]), expect: "", }, { - version: fmt.Sprintf("linux-%02d.%02d.%02d", minDockerVersion[0], minDockerVersion[1], minDockerVersion[2]), + version: fmt.Sprintf("linux-%s", recommendedDockerVersion), expect: "", }, } for i := 0; i < 3; i++ { v := make([]int, 3) - copy(v, minDockerVersion) + copy(v, minParts) - v[i] = minDockerVersion[i] + 1 + v[i] = minParts[i] + 1 tc = appendVersionVariations(tc, v, "") - v[i] = minDockerVersion[i] - 1 + v[i] = minParts[i] - 1 if v[2] < 0 { // skip test if patch version is negative number. continue @@ -86,27 +98,39 @@ func TestCheckDockerVersion(t *testing.T) { tc = appendVersionVariations(tc, v, "PROVIDER_DOCKER_VERSION_LOW") } + recommendedSupported := fmt.Sprintf("Minimum recommended version is %s, minimum supported version is %s", recommendedDockerVersion, minDockerVersion) + install := fmt.Sprintf("Install the official release of %s (%s, current version is %%s)", driver.FullName(driver.Docker), recommendedSupported) + update := fmt.Sprintf("Upgrade %s to a newer version (%s, current version is %%s)", driver.FullName(driver.Docker), recommendedSupported) tc = append(tc, []testCase{ { // "dev" is set when Docker (Moby) was installed with `make binary && make install` - version: "linux-dev", - expect: "", - expectFixContains: fmt.Sprintf("Install the official release of %s (Minimum recommended version is %02d.%02d.%d, current version is dev)", - driver.FullName(driver.Docker), minDockerVersion[0], minDockerVersion[1], minDockerVersion[2]), + version: "linux-dev", + expect: "", + expectFixContains: fmt.Sprintf(install, "dev"), }, { // "library-import" is set when Docker (Moby) was installed with `go build github.com/docker/docker/cmd/dockerd` (unrecommended, but valid) - version: "linux-library-import", - expect: "", - expectFixContains: fmt.Sprintf("Install the official release of %s (Minimum recommended version is %02d.%02d.%d, current version is library-import)", - driver.FullName(driver.Docker), minDockerVersion[0], minDockerVersion[1], minDockerVersion[2]), + version: "linux-library-import", + expect: "", + expectFixContains: fmt.Sprintf(install, "library-import"), }, { // "foo.bar.baz" is a triplet that cannot be parsed as "%02d.%02d.%d" - version: "linux-foo.bar.baz", - expect: "", - expectFixContains: fmt.Sprintf("Install the official release of %s (Minimum recommended version is %02d.%02d.%d, current version is foo.bar.baz)", - driver.FullName(driver.Docker), minDockerVersion[0], minDockerVersion[1], minDockerVersion[2]), + version: "linux-foo.bar.baz", + expect: "", + expectFixContains: fmt.Sprintf(install, "foo.bar.baz"), + }, + { + // "linux-18.09.9" is older than minimum recommended version + version: "linux-18.09.9", + expect: "", + expectFixContains: fmt.Sprintf(update, "18.09.9"), + }, + { + // "linux-18.06.2" is older than minimum required version + version: "linux-18.06.2", + expect: "PROVIDER_DOCKER_VERSION_LOW", + expectFixContains: fmt.Sprintf(update, "18.06.2"), }, }...) diff --git a/site/content/en/docs/commands/start.md b/site/content/en/docs/commands/start.md index 94c46620e2..e422d3fd5a 100644 --- a/site/content/en/docs/commands/start.md +++ b/site/content/en/docs/commands/start.md @@ -69,9 +69,9 @@ minikube start [flags] --insecure-registry strings Insecure Docker registries to pass to the Docker daemon. The default service CIDR range will automatically be added. --install-addons If set, install addons. Defaults to true. (default true) --interactive Allow user prompts for more information (default true) - --iso-url strings Locations to fetch the minikube ISO from. (default [https://storage.googleapis.com/minikube/iso/minikube-v1.25.2.iso,https://github.com/kubernetes/minikube/releases/download/v1.25.2/minikube-v1.25.2.iso,https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.25.2.iso]) + --iso-url strings Locations to fetch the minikube ISO from. (default [https://storage.googleapis.com/minikube-builds/iso/13800/minikube-v1.25.2-1648142972-13800.iso,https://github.com/kubernetes/minikube/releases/download/v1.25.2-1648142972-13800/minikube-v1.25.2-1648142972-13800.iso,https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.25.2-1648142972-13800.iso]) --keep-context This will keep the existing kubectl context and will create a minikube context. - --kubernetes-version string The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.23.3, 'latest' for v1.23.4-rc.0). Defaults to 'stable'. + --kubernetes-version string The Kubernetes version that the minikube VM will use (ex: v1.2.3, 'stable' for v1.23.5, 'latest' for v1.23.6-rc.0). Defaults to 'stable'. --kvm-gpu Enable experimental NVIDIA GPU support in minikube --kvm-hidden Hide the hypervisor signature from the guest in minikube (kvm2 driver only) --kvm-network string The KVM default network name. (kvm2 driver only) (default "default") diff --git a/site/content/en/docs/drivers/docker.md b/site/content/en/docs/drivers/docker.md index 9b4bfd63fd..8f312a983a 100644 --- a/site/content/en/docs/drivers/docker.md +++ b/site/content/en/docs/drivers/docker.md @@ -13,7 +13,7 @@ The Docker driver allows you to install Kubernetes into an existing Docker insta {{% tab "Standard Docker" %}} ## Requirements -- [Install Docker](https://hub.docker.com/search?q=&type=edition&offering=community&sort=updated_at&order=desc) 18.09 or higher +- [Install Docker](https://hub.docker.com/search?q=&type=edition&offering=community&sort=updated_at&order=desc) 18.09 or higher (20.10 or higher is recommended) - amd64 or arm64 system. - If using WSL complete [these steps]({{}}) first @@ -34,6 +34,7 @@ minikube config set driver docker ## Requirements - Docker 20.10 or higher, see https://rootlesscontaine.rs/getting-started/docker/ - Cgroup v2 delegation, see https://rootlesscontaine.rs/getting-started/common/cgroup2/ +- Kernel 5.11 or later (5.13 or later is recommended when SELinux is enabled), see https://rootlesscontaine.rs/how-it-works/overlayfs/ ## Usage diff --git a/site/content/en/docs/tutorials/setup_minikube_gui.md b/site/content/en/docs/tutorials/setup_minikube_gui.md index 13eaa64d26..538220e4df 100644 --- a/site/content/en/docs/tutorials/setup_minikube_gui.md +++ b/site/content/en/docs/tutorials/setup_minikube_gui.md @@ -24,7 +24,7 @@ date: 2022-02-25 {{% tab Stable %}} 1. Download the zipped folder ```shell -curl -LO https://storage.googleapis.com/minikube-gui/v0.0.1/minikube-gui-mac.zip +curl -LO https://storage.googleapis.com/minikube-gui/latest/minikube-gui-mac.zip ``` {{% /tab %}} {{% tab Nightly %}} @@ -54,9 +54,9 @@ open dist/systray.app {{% windowstab %}} {{% tabs %}} {{% tab Stable %}} -1. Download the zipped folder via PowerShell (below) or via your [browser](https://storage.googleapis.com/minikube-gui/v0.0.1/minikube-gui-windows.zip) (faster) +1. Download the zipped folder via PowerShell (below) or via your [browser](https://storage.googleapis.com/minikube-gui/latest/minikube-gui-windows.zip) (faster) ```shell -Invoke-WebRequest -Uri 'https://storage.googleapis.com/minikube-gui/v0.0.1/minikube-gui-windows.zip' -UseBasicParsing +Invoke-WebRequest -Uri 'https://storage.googleapis.com/minikube-gui/latest/minikube-gui-windows.zip' -UseBasicParsing ``` {{% /tab %}} {{% tab Nightly %}} @@ -86,7 +86,7 @@ Expand-Archive minikube-gui-windows.zip {{% tab Stable %}} 1. Download the zipped folder ```shell -curl -LO https://storage.googleapis.com/minikube-gui/v0.0.1/minikube-gui-linux.zip +curl -LO https://storage.googleapis.com/minikube-gui/latest/minikube-gui-linux.zip ``` {{% /tab %}} {{% tab Nightly %}} diff --git a/translations/de.json b/translations/de.json index 44abe74bdc..b782c32376 100644 --- a/translations/de.json +++ b/translations/de.json @@ -64,6 +64,7 @@ "Another minikube instance is downloading dependencies... ": "Eine andere Minikube-Instanz lädt Abhängigkeiten herunter... ", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Ein anderes Programm benutzt eine Datei, die Minikube benötigt. Wenn Sie Hyper-V verwenden, versuchen Sie die minikube VM aus dem Hyper-V Manager heraus zu stoppen", "At least needs control plane nodes to enable addon": "Benötige mindestens Control Plane Nodes um das Addon zu aktivieren", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "Treiber {{.driver}} wurde automatisch ausgewählt", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Treiber {{.driver}} wurde automatisch ausgewählt. Andere Möglichkeiten: {{.alternates}}", "Available Commands": "Verfügbare Befehle", @@ -988,7 +989,7 @@ "zsh completion.": "", "{{ .name }}: Suggestion: {{ .suggestion}}": "{{ .name }}: Vorschlag: {{ .suggestion}}", "{{.Driver}} is currently using the {{.StorageDriver}} storage driver, consider switching to overlay2 for better performance": "{{.Driver}} verwendet derzeit den {{.StorageDriver}} Storage Treiber, erwäge zu overlay2 zu wechseln für bessere Performance", - "{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "{{.count}} Node{{if get .count 1}}s{{end}} angehalten.", + "{{.count}} node{{if gt .count 1}}s{{end}} stopped.": "{{.count}} Node{{if gt .count 1}}s{{end}} angehalten.", "{{.driver_name}} \"{{.cluster}}\" {{.machine_type}} is missing, will recreate.": "{{.driver_name}} \"{{.cluster}}\" {{.machine_type}} fehlt, wird neu erstellt.", "{{.driver_name}} couldn't proceed because {{.driver_name}} service is not healthy.": "{{.driver_name}} konnte nicht weiterlaufen, da {{.driver_name}} Service nicht funktional ist.", "{{.driver_name}} has less than 2 CPUs available, but Kubernetes requires at least 2 to be available": "{{.driver_name}} verfügt über weniger als 2 CPUs, aber Kubernetes benötigt mindestens 2 verfügbare CPUs", diff --git a/translations/es.json b/translations/es.json index 12d0e9d3e0..cdcffc3cc4 100644 --- a/translations/es.json +++ b/translations/es.json @@ -66,6 +66,7 @@ "Another minikube instance is downloading dependencies... ": "Otra instancia de minikube esta descargando dependencias...", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Otro programa está usando un archivo requerido por minikube. Si estas usando Hyper-V, intenta detener la máquina virtual de minikube desde el administrador de Hyper-V", "At least needs control plane nodes to enable addon": "Al menos se necesita un nodo de plano de control para habilitar el addon", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "Controlador {{.driver}} seleccionado automáticamente", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Controlador {{.driver}} seleccionado automáticamente. Otras opciones: {{.alternates}}", "Available Commands": "Comandos disponibles", diff --git a/translations/fr.json b/translations/fr.json index 5abdf8a4ca..53eb921644 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -65,6 +65,7 @@ "Another minikube instance is downloading dependencies... ": "Une autre instance minikube télécharge des dépendances", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Un autre programme utilise un fichier requis par minikube. Si vous utilisez Hyper-V, essayez d'arrêter la machine virtuelle minikube à partir du gestionnaire Hyper-V", "At least needs control plane nodes to enable addon": "Nécessite au moins des nœuds de plan de contrôle pour activer le module", + "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}}", "Available Commands": "Commandes disponibles", @@ -318,9 +319,9 @@ "If present, writes to the provided file instead of stdout.": "S'il est présent, écrit dans le fichier fourni au lieu de la sortie standard.", "If set, automatically updates drivers to the latest version. Defaults to true.": "Si défini, met automatiquement à jour les pilotes vers la dernière version. La valeur par défaut est true.", "If set, delete the current cluster if start fails and try again. Defaults to false.": "Si défini, supprime le cluster actuel si le démarrage échoue et réessaye. La valeur par défaut est false.", - "If set, disables metrics reporting (CPU and memory usage), this can improve CPU usage. Defaults to false.": "", + "If set, disables metrics reporting (CPU and memory usage), this can improve CPU usage. Defaults to false.": "S'il est défini, désactive les rapports de métriques (utilisation du processeur et de la mémoire), cela peut améliorer l'utilisation du processeur. La valeur par défaut est false.", "If set, disables optimizations that are set for local Kubernetes. Including decreasing CoreDNS replicas from 2 to 1 and increasing kubeadm housekeeping-interval from 10s to 5m. Defaults to false.": "S'il est défini, désactive les optimisations définies pour Kubernetes local. Y compris la diminution des répliques CoreDNS de 2 à 1 et l'augmentation de l'intervalle de maintenance kubeadm de 10 s à 5 m. La valeur par défaut est false.", - "If set, disables optimizations that are set for local Kubernetes. Including decreasing CoreDNS replicas from 2 to 1. Defaults to false.": "", + "If set, disables optimizations that are set for local Kubernetes. Including decreasing CoreDNS replicas from 2 to 1. Defaults to false.": "S'il est défini, désactive les optimisations définies pour Kubernetes local. Y compris la diminution des répliques CoreDNS de 2 à 1. La valeur par défaut est false.", "If set, download tarball of preloaded images if available to improve start time. Defaults to true.": "Si défini, télécharge l'archive tar des images préchargées si disponibles pour améliorer le temps de démarrage. La valeur par défaut est true.", "If set, force the container runtime to use systemd as cgroup manager. Defaults to false.": "S'il est défini, force l'environnement d'exécution du conteneur à utiliser systemd comme gestionnaire de groupe de contrôle. La valeur par défaut est false.", "If set, install addons. Defaults to true.": "Si défini, installe les modules. La valeur par défaut est true.", @@ -968,9 +969,9 @@ "{{.name}} is already running": "{{.name}} est déjà en cours d'exécution", "{{.name}} was successfully configured": "{{.name}} a été configuré avec succès", "{{.n}} is nearly out of disk space, which may cause deployments to fail! ({{.p}}% of capacity)": "{{.n}} manque presque d'espace disque, ce qui peut entraîner l'échec des déploiements ! ({{.p}} % de la capacité)", - "{{.n}} is nearly out of disk space, which may cause deployments to fail! ({{.p}}% of capacity). You can pass '--force' to skip this check.": "", + "{{.n}} is nearly out of disk space, which may cause deployments to fail! ({{.p}}% of capacity). You can pass '--force' to skip this check.": "{{.n}} est presque à court d'espace disque, ce qui peut entraîner l'échec des déploiements ! ({{.p}} % de la capacité). Vous pouvez passer '--force' pour ignorer cette vérification.", "{{.n}} is out of disk space! (/var is at {{.p}}% of capacity)": "{{.n}} n'a plus d'espace disque ! (/var est à {{.p}} % de capacité)", - "{{.n}} is out of disk space! (/var is at {{.p}}% of capacity). You can pass '--force' to skip this check.": "", + "{{.n}} is out of disk space! (/var is at {{.p}}% of capacity). You can pass '--force' to skip this check.": "{{.n}} n'a plus d'espace disque ! (/var est à {{.p}} % de la capacité). Vous pouvez passer '--force' pour ignorer cette vérification.", "{{.ociBin}} rmi {{.images}}": "{{.ociBin}} rmi {{.images}}", "{{.ocibin}} is taking an unsually long time to respond, consider restarting {{.ocibin}}": "{{.ocibin}} prend un temps anormalement long pour répondre, pensez à redémarrer {{.ocibin}}", "{{.path}} is version {{.client_version}}, which may have incompatibilites with Kubernetes {{.cluster_version}}.": "{{.path}} est la version {{.client_version}}, qui peut comporter des incompatibilités avec Kubernetes {{.cluster_version}}.", diff --git a/translations/ja.json b/translations/ja.json index 1c41d05c9e..806a7a7605 100644 --- a/translations/ja.json +++ b/translations/ja.json @@ -67,6 +67,7 @@ "Another minikube instance is downloading dependencies... ": "別の minikube のインスタンスが、依存関係をダウンロードしています... ", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "別のプログラムが、minikube に必要なファイルを使用しています。Hyper-V を使用している場合は、Hyper-V マネージャー内から minikube VM を停止してみてください", "At least needs control plane nodes to enable addon": "アドオンを有効にするには、少なくともコントロールプレーンノードが必要です", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "{{.driver}} ドライバーが自動的に選択されました", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "{{.driver}} ドライバーが自動的に選択されました。他の選択肢: {{.alternates}}", "Available Commands": "利用可能なコマンド", diff --git a/translations/ko.json b/translations/ko.json index 3b16f8902b..acc9d13afa 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -69,6 +69,7 @@ "Another minikube instance is downloading dependencies... ": "", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "", "At least needs control plane nodes to enable addon": "", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "자동적으로 {{.driver}} 드라이버가 선택되었습니다", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "자동적으로 {{.driver}} 드라이버가 선택되었습니다. 다른 드라이버 목록: {{.alternates}}", "Available Commands": "사용 가능한 명령어", diff --git a/translations/pl.json b/translations/pl.json index a7223b57bc..78a3d7fa6e 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -67,6 +67,7 @@ "Another minikube instance is downloading dependencies... ": "Inny program minikube już pobiera zależności...", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "Inny program używa pliku wymaganego przez minikube. Jeśli używasz Hyper-V, spróbuj zatrzymać maszynę wirtualną minikube z poziomu managera Hyper-V", "At least needs control plane nodes to enable addon": "Wymaga węzłów z płaszczyzny kontrolnej do włączenia addona", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "Automatycznie wybrano sterownik {{.driver}}", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "Automatycznie wybrano sterownik {{.driver}}. Inne możliwe sterowniki: {{.alternates}}", "Available Commands": "Dostępne polecenia", diff --git a/translations/ru.json b/translations/ru.json index 5cbbc79e26..b8c9e585d3 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -60,6 +60,7 @@ "Another minikube instance is downloading dependencies... ": "", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "", "At least needs control plane nodes to enable addon": "", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "", "Available Commands": "", diff --git a/translations/strings.txt b/translations/strings.txt index a634bd3f14..8dd453de3d 100644 --- a/translations/strings.txt +++ b/translations/strings.txt @@ -60,6 +60,7 @@ "Another minikube instance is downloading dependencies... ": "", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "", "At least needs control plane nodes to enable addon": "", + "Auto-pause is already enabled.": "", "Automatically selected the {{.driver}} driver": "", "Automatically selected the {{.driver}} driver. Other choices: {{.alternates}}": "", "Available Commands": "", diff --git a/translations/zh-CN.json b/translations/zh-CN.json index dc20948fa1..325f6dda19 100644 --- a/translations/zh-CN.json +++ b/translations/zh-CN.json @@ -78,6 +78,7 @@ "Another minikube instance is downloading dependencies... ": "", "Another program is using a file required by minikube. If you are using Hyper-V, try stopping the minikube VM from within the Hyper-V manager": "", "At least needs control plane nodes to enable addon": "", + "Auto-pause is already enabled.": "", "Automatically selected the '{{.driver}}' driver": "自动选择 '{{.driver}}' 驱动", "Automatically selected the '{{.driver}}' driver (alternates: {{.alternates}})": "自动选择 '{{.driver}}' 驱动(可选项:{{.alternates}})", "Automatically selected the {{.driver}} driver": "自动选择 {{.driver}} 驱动",