From 323ca2b39e362d754db58e8378aa2c22eb977401 Mon Sep 17 00:00:00 2001 From: Camila Macedo <7708031+camilamacedo86@users.noreply.github.com> Date: Wed, 21 Jun 2023 15:02:12 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=96=20Update=20book=20v3=20by=20mergin?= =?UTF-8?q?g=20release-3.11=20=20(#3471)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * :seedling: Bump kubernetes-sigs/kubebuilder-release-tools Bumps [kubernetes-sigs/kubebuilder-release-tools](https://github.com/kubernetes-sigs/kubebuilder-release-tools) from 0.2.0 to 0.3.0. - [Release notes](https://github.com/kubernetes-sigs/kubebuilder-release-tools/releases) - [Changelog](https://github.com/kubernetes-sigs/kubebuilder-release-tools/blob/master/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/kubebuilder-release-tools/compare/v0.2.0...v0.3.0) --- updated-dependencies: - dependency-name: kubernetes-sigs/kubebuilder-release-tools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Update cronjob_types.go * πŸ“– fix untile typo in readmes (#3135) fix untile typo in readmes * corrected layout * co_doc * πŸ“– : update ComponentConfig tutorial (#3181) docs: update ComponentConfig * Bump github.com/onsi/gomega from 1.24.2 to 1.26.0 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.24.2 to 1.26.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.24.2...v1.26.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/ginkgo/v2 from 2.7.0 to 2.8.0 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.7.0 to 2.8.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.7.0...v2.8.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * change kustomize install templating to avoid tripping security alerts Signed-off-by: jberkhahn * Upgrade the k8s version from 1.26.0 to 1.26.1 and controller-runtime from 0.14.1 to 0.14.2 Signed-off-by: Yash Singh * feat: automatically update componentconfig tutorial Co-authored-by: Camila Macedo <7708031+camilamacedo86@users.noreply.github.com> chore: refactor * ⚠️ (kustomize/v2-alpha, go/v4-alpha): Upgrade kustomize from 4.5.7 to 5.0.0 (#3199) ⚠️ (kustomize/v2-alpha, go/v4-alpha): Upgrade kustomize from 4.5.7 to 5.0.0 (#3199) * [Fix] Generate docs * πŸ“– fix: sync docs tutorial with latest kb (#3209) * πŸ“– Update cronjob-tutorial (#3213) * :book: update the status of the proposals in the repo * Bump golang.org/x/text from 0.6.0 to 0.7.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.6.0...v0.7.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump golang.org/x/tools from 0.5.0 to 0.6.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.5.0 to 0.6.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.5.0...v0.6.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/ginkgo/v2 from 2.8.0 to 2.8.1 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.8.0 to 2.8.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.8.0...v2.8.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * :sparkles: (go/v3,go/v4-alpha) :Update controller-runtime and controller-tools dependencies (#3218) :sparkles: (go/v3,go/v4-alpha) :Update controller-runtime and controller-tools dependecies * :book: update the template for proposals (#3219) * :book: update the template for proposals * Apply suggestions from code review * πŸ› (Kubebuilder External Plugins API): fix populate PluginRequest.Universe which is empty (#3223) * fix: populate PluginRequest.Universe * test: add unit test for getUniverseMap * refactor: fix linting errors * docs(README): add latest release badge * 🌱 Bump golang.org/x/net from 0.6.0 to 0.7.0 (#3232) Bump golang.org/x/net from 0.6.0 to 0.7.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/golang/net/releases) - [Commits](https://github.com/golang/net/compare/v0.6.0...v0.7.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :book: design doc with proposal to re-scaffold projects from scratch (#3221) * Bump github.com/onsi/gomega from 1.26.0 to 1.27.1 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.26.0 to 1.27.1. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.26.0...v1.27.1) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * 🌱 Update golangci-lint to latest version * Bump github.com/onsi/ginkgo/v2 from 2.8.1 to 2.8.3 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.8.1 to 2.8.3. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.8.1...v2.8.3) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * :warning: (kustomize/v1) deprecated v1 version in favor of v2 (#3235) * :warning: deprecated kustomize/v1 plugin * Update docs/book/src/plugins/kustomize-v1.md Co-authored-by: Bryce Palmer * Update docs/book/src/plugins/kustomize-v1.md Co-authored-by: Bryce Palmer * Update docs/book/src/plugins/to-be-extended.md * Update docs/book/src/plugins/to-be-extended.md Co-authored-by: Varsha * Update pkg/plugins/common/kustomize/v1/plugin.go Co-authored-by: Bryce Palmer * Update docs/book/src/plugins/to-be-extended.md Co-authored-by: Varsha --------- Co-authored-by: Bryce Palmer Co-authored-by: Varsha * fix: XDG_CONFIG_HOME external plugin discovery * πŸ‘» : add tony as reviewer * test: increase coverage * Update helper_to_upgrade_projects_by_rescaffolding.md * Update api-changes.md Fix a typo in the docs * 🌱 Bump github.com/spf13/afero from 1.9.3 to 1.9.4 (#3254) Bump github.com/spf13/afero from 1.9.3 to 1.9.4 Bumps [github.com/spf13/afero](https://github.com/spf13/afero) from 1.9.3 to 1.9.4. - [Release notes](https://github.com/spf13/afero/releases) - [Commits](https://github.com/spf13/afero/compare/v1.9.3...v1.9.4) --- updated-dependencies: - dependency-name: github.com/spf13/afero dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 🌱 Bump github.com/onsi/ginkgo/v2 from 2.8.3 to 2.8.4 (#3253) Bump github.com/onsi/ginkgo/v2 from 2.8.3 to 2.8.4 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.8.3 to 2.8.4. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.8.3...v2.8.4) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/onsi/ginkgo/v2 from 2.8.4 to 2.9.0 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.8.4 to 2.9.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.8.4...v2.9.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * 🌱 Bump github.com/gobuffalo/flect from 1.0.0 to 1.0.2 (#3252) Bump github.com/gobuffalo/flect from 1.0.0 to 1.0.2 Bumps [github.com/gobuffalo/flect](https://github.com/gobuffalo/flect) from 1.0.0 to 1.0.2. - [Release notes](https://github.com/gobuffalo/flect/releases) - [Commits](https://github.com/gobuffalo/flect/compare/v1.0.0...v1.0.2) --- updated-dependencies: - dependency-name: github.com/gobuffalo/flect dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :warning: (go/v3) deprecate go/v3 in favor of go/v4 (#3238) * :warning: deprecate go/v3 * Apply suggestions from code review * Update pkg/plugins/golang/v4/plugin.go Co-authored-by: Bryce Palmer --------- Co-authored-by: Bryce Palmer * :warning: (kustomize/v2) Stabilize plugin. kustomize/v2-alpha was replaced with kustomize/v2 (#3234) * Bump golang.org/x/text from 0.7.0 to 0.8.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.7.0 to 0.8.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.7.0...v0.8.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump github.com/spf13/afero from 1.9.4 to 1.9.5 Bumps [github.com/spf13/afero](https://github.com/spf13/afero) from 1.9.4 to 1.9.5. - [Release notes](https://github.com/spf13/afero/releases) - [Commits](https://github.com/spf13/afero/compare/v1.9.4...v1.9.5) --- updated-dependencies: - dependency-name: github.com/spf13/afero dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/gomega from 1.27.1 to 1.27.2 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.1 to 1.27.2. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.1...v1.27.2) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * :seedling: Bump joelanford/go-apidiff from 0.5.0 to 0.6.0 (#3265) Bumps [joelanford/go-apidiff](https://github.com/joelanford/go-apidiff) from 0.5.0 to 0.6.0. - [Release notes](https://github.com/joelanford/go-apidiff/releases) - [Commits](https://github.com/joelanford/go-apidiff/compare/v0.5.0...v0.6.0) --- updated-dependencies: - dependency-name: joelanford/go-apidiff dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * πŸ“– : delete cronjob tutorial Incorrect kustomization.yaml (#3256) * :warning: (go/v4-alpha) stabilize go/v4 plugin. Plugin go/v4-alpha replaced with go/v4 (#3237) * [fix: go/v3, go/v4] Remove stale imports This PR removes the stale import: "pkg/envtest/printer" that is not needed after migrating to ginko/v2. Controller-runtime v0.14.0+ has migrated to use ginko/v2 and thereby removed "printer" package. The imports were still being scaffolded though not used in the codebase. Signed-off-by: Varsha Prasad Narsing * fix nit lint issue * :seedleing: stop to generate all samples for go/v3 * πŸ› fix: deprecate message should be in go/v3 (#3277) fix: deprecate message should be in go/v3 * 🌱 : fix sample project-v4-grafana (#3279) :bug: fix sample project-v4-grafana * :sparkles: make go/v4 default scaffold * :book: remove warning from quick start * :book: make component-config tuturial sample be based on go/v4 plugin * :book: updating the component config tutorial to use go/v4 * :book: update cronjob tutorial sample to use go/v4 * :sparkles: deprecate kustomize/v1 and go/v3 packages * :book: update multiversion tutorial to use go/v4 (#3282) * Bump github.com/onsi/ginkgo/v2 from 2.9.0 to 2.9.1 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.9.0 to 2.9.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.9.0...v2.9.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * doc: add fish and powershell of autocompletion command Signed-off-by: JenTing Hsiao * fix testdata / merge conflict * :book: Replace "Help" field in EP doc with "Metadata" field (#3296) * Bump github.com/onsi/gomega from 1.27.2 to 1.27.4 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.2 to 1.27.4. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.2...v1.27.4) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * :seedling: Replace deprecated command with environment file (#3298) * :warning: πŸ› (API) fix deprecate interface to allow bundle plugin has deprecation message (#3276) * :seedling: Bump actions/setup-go from 3 to 4 Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * adds small version cmd test * 🌱 [ci] : fix the issue with [CI] doc check being cancelled instead of being skipped (#3319) * ci: remove check docs only since it is blocking the ci * πŸ“–: fix spelling mistakes in document (#3331) fix spelling mistakes in doc * πŸ“–: Add version dropdown for doc release (#3332) add version dropdown for doc * Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v1.6.1...v1.7.0) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump golang.org/x/text from 0.8.0 to 0.9.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.8.0 to 0.9.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.8.0...v0.9.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/ginkgo/v2 from 2.9.1 to 2.9.2 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.9.1 to 2.9.2. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.9.1...v2.9.2) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * πŸ“–: Update multiversion-tutorial/deployment.md to enable CA injection when deploying webhook (#3328) * Bump golang.org/x/tools from 0.7.0 to 0.8.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.7.0 to 0.8.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.7.0...v0.8.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/gomega from 1.27.4 to 1.27.6 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.4 to 1.27.6. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.4...v1.27.6) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * remove multi arch node affinity patch from auth proxy Signed-off-by: Nikhil Sharma * :book: apply changes done in the pr 3287 * :book: fix migration guide after go/v4 stabilization and links * :book: fix/update go/v4 plugin page doc after the stabilization * :book: fix kustomize-v2 index link and udated info accordingly * :seedling: cleanup tests after go/v3 deprecation * :sparkles: (API and go/v4): Upgrade go version to 1.20 * :sparkles: Upgrade image gcr.io/kubebuilder/kube-rbac-proxy * :bug: fix scaffold remove bintest dir from gitignore and dockerfile since this directory is not scaffolded * ✨Change `NewBundle` method to build bundles through working with options (#3312) * change NewBundle method to build bundles through working with options Signed-off-by: Nikhil Sharma * make changes in docs for the changed pattern for NewBundleWithOptions func Signed-off-by: Nikhil Sharma --------- Signed-off-by: Nikhil Sharma * :warning: (API) deprecate old func to create new BunlePlugin in favor of the new one which uses as arg BundleOptinos * :bug: fix name controllers test * 🌱 added test for exec.go (#3352) added test for exec.go pass test cases updated tests updated tests Revert "updated tests" This reverts commit 7a465c049905efd93fe5bc60156048d07802dc67. updated tests Revert "added test for exec.go" This reverts commit da172c4514566a5bafba7d42b24bf0f799e7a4ac. added exec tests rerun suits stop added test files removed Test Plugin File solved bugs minor code changes added license header removed exec_test added exec_tests finally rebase commits * fix: scaffold when no boilerplate file * fix: only continue when fileNotFound * :sparkles: (kustomize/v2,go/v4): Upgrade kustomize version from 5.0.0 to 5.0.1 (#3366) * rm: header.hbs * rm: header usage * rm: header specific styles * feat: update k8s version to 1.27.1 * fix: only update k8s version in go-v4 * :sparkles: allow container tool to be configured in Makefile - This allows building with other container tools like podman. Keeps docker as the default. Signed-off-by: Gabe Alford * ✨ (go/v4): Upgrade controller-tools from 0.11.3 to v0.12.0 (#3388) * 🌱 Update cronjob-tutorial automatically (#3231) * Bump github.com/onsi/ginkgo/v2 from 2.8.0 to 2.8.1 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.8.0 to 2.8.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.8.0...v2.8.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * feat: update cronjob-tutorial automatically --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * :book: update doc samples within the latest changes (#3392) * doc: update go version to v1.20 * :bug: (deployImage) fix controller tests implemented by removing unecessary code implementation * feat: scaffold when lincense type none feat: change the binaryPath when update tutorial fix: revert const name fix: current behavior * Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.9.2 to 2.9.4. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.9.2...v2.9.4) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * patchesStrategicMerge to Patches * Update the Owner Allias accordinly * Updated Makefile to support go install kustomize * Update completion.md with fish shell instructions * :book: fix formatting in quick start * Added link for cronjob tutorial * chore: update go version for external plugin sample * Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.9.5 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.9.4 to 2.9.5. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.9.4...v2.9.5) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Added user prompt for doc * Bump sigs.k8s.io/kubebuilder/v3 Bumps [sigs.k8s.io/kubebuilder/v3](https://github.com/kubernetes-sigs/kubebuilder) from 3.7.0 to 3.10.0. - [Release notes](https://github.com/kubernetes-sigs/kubebuilder/releases) - [Changelog](https://github.com/kubernetes-sigs/kubebuilder/blob/master/RELEASE.md) - [Commits](https://github.com/kubernetes-sigs/kubebuilder/compare/v3.7.0...v3.10.0) --- updated-dependencies: - dependency-name: sigs.k8s.io/kubebuilder/v3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Added the test coverage for completion.go and version.go * Quote download URL in quickstart docs Copying and pasting the `curl` line in the installation docs conflicts with zsh (or perhaps oh-my-zsh), which incorrectly escapes parentheses. ```sh curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH) ``` becomes: ```sh curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$\(go env GOOS)/$(go env GOARCH) ``` Which of course doesn't have the desired result and errors out. Double-quoting the URL should ensure the interpolated shell commands have the desired outcome. Tested on zsh and bash. * Bump github.com/onsi/gomega from 1.27.6 to 1.27.7 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.6 to 1.27.7. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.6...v1.27.7) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.0 to 1.9.2. - [Release notes](https://github.com/sirupsen/logrus/releases) - [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md) - [Commits](https://github.com/sirupsen/logrus/compare/v1.9.0...v1.9.2) --- updated-dependencies: - dependency-name: github.com/sirupsen/logrus dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * ✨ (go/v4): Allows kubectl to be configured in Makefile - This allows multiple different kubectl installs to be used. Signed-off-by: Gabe Alford * Fixed manager_webhook_patch not uncommented * doc: Fix multigroup migration guide for v4 Co-authored-by: Varsha Co-authored-by: Camila Macedo <7708031+camilamacedo86@users.noreply.github.com> Signed-off-by: Juan-Luis de Sousa-Valadas CastaΓ±o * test: add e2e tests for sample external plugin Co-authored-by: Bryce Palmer * ci: add a script to install sample external plugin * move joelanford to emeritus Signed-off-by: Joe Lanford * Bump golang.org/x/tools from 0.9.1 to 0.9.3 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.1 to 0.9.3. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.9.1...v0.9.3) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/ginkgo/v2 from 2.9.5 to 2.9.7 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.9.5 to 2.9.7. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.9.5...v2.9.7) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * fix function name in comments Signed-off-by: cui fliter * Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.2 to 1.9.3. - [Release notes](https://github.com/sirupsen/logrus/releases) - [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md) - [Commits](https://github.com/sirupsen/logrus/compare/v1.9.2...v1.9.3) --- updated-dependencies: - dependency-name: github.com/sirupsen/logrus dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * doc: fix path error * ✨re-scaffold the project with a new command (#3431) * :warning: deprecate component config and no longer able to ensure that it is functioning as intended * Bump golang.org/x/text from 0.9.0 to 0.10.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.9.0 to 0.10.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.9.0...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.7 to 1.27.8. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.27.7...v1.27.8) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * Raising event doc page created * Bump github.com/onsi/ginkgo/v2 from 2.9.7 to 2.10.0 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.9.7 to 2.10.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.9.7...v2.10.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * Changes done * ✨ bump controller-runtime and K8s 1.27 (#3444) * feat: make external plugin path configurable Co-authored-by: Bryce Palmer * :seedling: fix ci testdata gets outdated because go version and remove job to open PR * :seedling: Bump nashmaniac/create-issue-action from 1.1 to 1.2 Bumps [nashmaniac/create-issue-action](https://github.com/nashmaniac/create-issue-action) from 1.1 to 1.2. - [Release notes](https://github.com/nashmaniac/create-issue-action/releases) - [Commits](https://github.com/nashmaniac/create-issue-action/compare/v1.1...v1.2) --- updated-dependencies: - dependency-name: nashmaniac/create-issue-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * build(deps): bump golang.org/x/tools from 0.9.3 to 0.10.0 Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.9.3 to 0.10.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.9.3...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * build(deps): bump github.com/onsi/ginkgo/v2 from 2.10.0 to 2.11.0 Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.10.0 to 2.11.0. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.10.0...v2.11.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * (kustomize/v2) - deprecate component-config flag * Adding checks to e2e tests to verify make manifest and generate command --------- Signed-off-by: dependabot[bot] Signed-off-by: jberkhahn Signed-off-by: Yash Singh Signed-off-by: Varsha Prasad Narsing Signed-off-by: JenTing Hsiao Signed-off-by: Nikhil Sharma Signed-off-by: Gabe Alford Signed-off-by: Juan-Luis de Sousa-Valadas CastaΓ±o Signed-off-by: Joe Lanford Signed-off-by: cui fliter Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kubernetes Prow Robot Co-authored-by: Sajiyah Salat <109643863+Sajiyah-Salat@users.noreply.github.com> Co-authored-by: Pal K. Klucsik Co-authored-by: Swastik_Gour Co-authored-by: Eileen <48944635+Eileen-Yu@users.noreply.github.com> Co-authored-by: jberkhahn Co-authored-by: Yash Singh Co-authored-by: Eileen Co-authored-by: Varsha Co-authored-by: Tony (TianYi) Co-authored-by: El Mehdi Rami Co-authored-by: r3drun3 Co-authored-by: Tharun K <53267275+tharun634@users.noreply.github.com> Co-authored-by: Bryce Palmer Co-authored-by: Shubham Rajvanshi Co-authored-by: 晓杰 <87080562+xiao-jay@users.noreply.github.com> Co-authored-by: JenTing Hsiao Co-authored-by: atoato88 Co-authored-by: Jongwoo Han Co-authored-by: Steve Sklar Co-authored-by: Nikhil Sharma Co-authored-by: Pratik Mota Co-authored-by: Steve Sklar Co-authored-by: zjx20 Co-authored-by: Yash Khare Co-authored-by: yyy1000 <992364620@qq.com> Co-authored-by: Ashutosh Jha Co-authored-by: Gabe Alford Co-authored-by: Kun Zhang Co-authored-by: Chok Yip Lau Co-authored-by: David Xia Co-authored-by: James Turley Co-authored-by: Juan-Luis de Sousa-Valadas CastaΓ±o Co-authored-by: Joe Lanford Co-authored-by: cui fliter Co-authored-by: Shabir Mohamed Abdul Samadh <7249208+Shabirmean@users.noreply.github.com> --- .github/dependabot.yml | 9 +- .github/workflows/apidiff.yml | 11 +- .github/workflows/lint.yml | 11 +- .github/workflows/release.yml | 2 +- .github/workflows/testdata.yml | 11 +- .github/workflows/unit-tests-legacy.yml | 18 - .github/workflows/unit-tests.yml | 13 +- .golangci.yml | 4 + CONTRIBUTING.md | 2 +- OWNERS_ALIASES | 10 +- build/.goreleaser.yml | 2 +- cmd/main.go | 15 +- docs/book/install-and-build.sh | 2 +- docs/book/src/SUMMARY.md | 1 + .../component-config-tutorial/api-changes.md | 12 + .../component-config-tutorial/config-type.md | 12 + .../component-config-tutorial/custom-type.md | 12 + .../define-config.md | 12 + .../define-custom-config.md | 12 + .../testdata/project/.dockerignore | 1 - .../testdata/project/.gitignore | 3 +- .../testdata/project/Dockerfile | 2 +- .../testdata/project/Makefile | 36 +- ...utorial.kubebuilder.io_projectconfigs.yaml | 5 +- .../project/config/crd/kustomization.yaml | 2 +- .../default/manager_auth_proxy_patch.yaml | 18 +- .../testdata/project/go.mod | 64 +- .../testdata/project/go.sum | 515 +++----------- .../src/component-config-tutorial/tutorial.md | 12 + .../updating-main.md | 12 + .../testdata/project/.dockerignore | 1 - .../testdata/project/.gitignore | 3 +- .../testdata/project/Dockerfile | 2 +- .../testdata/project/Makefile | 36 +- .../testdata/project/api/v1/cronjob_types.go | 2 + .../project/api/v1/cronjob_webhook.go | 15 +- .../project/api/v1/groupversion_info.go | 1 + .../testdata/project/cmd/main.go | 3 +- ...atch.tutorial.kubebuilder.io_cronjobs.yaml | 270 +++++--- .../project/config/crd/kustomization.yaml | 2 +- .../project/config/default/kustomization.yaml | 2 +- .../default/manager_auth_proxy_patch.yaml | 2 +- .../testdata/project/config/rbac/role.yaml | 1 - .../config/samples/batch_v1_cronjob.yaml | 3 +- .../project/config/webhook/manifests.yaml | 2 - .../cronjob-tutorial/testdata/project/go.mod | 71 +- .../cronjob-tutorial/testdata/project/go.sum | 515 +++----------- .../internal/controller/cronjob_controller.go | 4 +- .../project/internal/controller/suite_test.go | 4 +- .../migration/migration_guide_gov3_to_gov4.md | 12 + docs/book/src/migration/multi-group.md | 108 +-- docs/book/src/migration/v3vsv4.md | 2 +- .../src/multiversion-tutorial/api-changes.md | 2 + .../testdata/project/Makefile | 4 +- ...atch.tutorial.kubebuilder.io_cronjobs.yaml | 2 +- docs/book/src/plugins/creating-plugins.md | 14 +- docs/book/src/plugins/extending-cli.md | 13 +- docs/book/src/plugins/go-v4-plugin.md | 2 - docs/book/src/plugins/kustomize-v1.md | 19 +- docs/book/src/plugins/kustomize-v2.md | 8 +- docs/book/src/quick-start.md | 8 +- docs/book/src/reference/completion.md | 7 + docs/book/src/reference/raising-events.md | 107 +++ .../src/reference/webhook-for-core-types.md | 5 +- .../testdata/sampleexternalplugin/v1/go.mod | 17 +- .../testdata/sampleexternalplugin/v1/go.sum | 468 ++++++++++++- docs/book/theme/css/custom.css | 27 - docs/book/theme/header.hbs | 7 - docs/book/theme/index.hbs | 2 - go.mod | 20 +- go.sum | 38 +- hack/docs/check.sh | 3 + hack/docs/generate_samples.go | 23 +- .../generate_component_config.go | 0 .../internal/cronjob-tutorial/api_design.go | 148 +++++ .../controller_implementation.go | 561 ++++++++++++++++ .../cronjob-tutorial/generate_cronjob.go | 627 ++++++++++++++++++ .../cronjob-tutorial/main_revisited.go | 45 ++ .../cronjob-tutorial/other_api_files.go | 37 ++ .../docs/internal/cronjob-tutorial/sample.go | 95 +-- .../webhook_implementation.go | 178 +++++ .../writing_tests_controller.go | 225 +++++++ .../cronjob-tutorial/writing_tests_env.go | 128 ++++ pkg/cli/alpha.go | 2 + pkg/cli/alpha/generate.go | 50 ++ pkg/cli/completion_test.go | 83 +++ pkg/cli/options.go | 21 +- pkg/cli/options_test.go | 198 +++++- pkg/cli/version.go | 3 +- pkg/cli/version_test.go | 47 ++ pkg/config/v3/config.go | 4 +- pkg/machinery/interfaces.go | 8 + pkg/machinery/mixins.go | 8 + pkg/plugin/bundle.go | 69 ++ pkg/plugin/bundle_test.go | 80 +++ pkg/plugin/util/exec_test.go | 47 ++ pkg/plugin/util/testdata/exampleFile.txt | 2 +- pkg/plugin/util/util.go | 4 +- .../kdefault/manager_auth_proxy_patch.go | 16 - pkg/plugins/common/kustomize/v2/init.go | 5 + pkg/plugins/common/kustomize/v2/plugin.go | 2 +- .../templates/config/crd/kustomization.go | 2 +- .../kdefault/manager_auth_proxy_patch.go | 18 +- pkg/plugins/golang/declarative/v1/api.go | 13 +- .../internal/templates/controller.go | 4 +- .../deploy-image/v1alpha1/scaffolds/api.go | 2 +- .../templates/controllers/controller-test.go | 44 +- pkg/plugins/golang/go_version_test.go | 1 + pkg/plugins/golang/v4/scaffolds/api.go | 7 +- pkg/plugins/golang/v4/scaffolds/init.go | 45 +- .../internal/templates/api/webhook.go | 14 +- .../controllers/controller_suitetest.go | 2 +- .../internal/templates/dockerfile.go | 2 +- .../internal/templates/dockerignore.go | 1 - .../scaffolds/internal/templates/gitignore.go | 3 +- .../v4/scaffolds/internal/templates/gomod.go | 2 +- .../internal/templates/hack/boilerplate.go | 4 +- .../scaffolds/internal/templates/makefile.go | 36 +- pkg/rescaffold/migrate.go | 107 +++ test/common.sh | 3 +- test/e2e/ci.sh | 2 + test/e2e/deployimage/plugin_cluster_test.go | 12 +- .../{v3 => externalplugin}/e2e_suite_test.go | 8 +- test/e2e/externalplugin/generate_test.go | 111 ++++ test/e2e/local.sh | 2 + test/e2e/setup.sh | 32 +- test/e2e/v3/generate_test.go | 252 ------- test/e2e/v3/plugin_cluster_test.go | 385 ----------- test/e2e/v4/generate_test.go | 171 ----- test/e2e/v4/plugin_cluster_test.go | 15 +- test/testdata/generate.sh | 1 - test/testdata/test.sh | 4 - test/testdata/test_legacy.sh | 2 +- .../default/manager_auth_proxy_patch.yaml | 16 - testdata/project-v4-config/.dockerignore | 4 - testdata/project-v4-config/.gitignore | 26 - testdata/project-v4-config/Dockerfile | 33 - testdata/project-v4-config/Makefile | 157 ----- testdata/project-v4-config/PROJECT | 53 -- testdata/project-v4-config/README.md | 94 --- .../project-v4-config/api/v1/admiral_types.go | 65 -- .../api/v1/admiral_webhook.go | 45 -- .../project-v4-config/api/v1/captain_types.go | 64 -- .../api/v1/captain_webhook.go | 75 --- .../api/v1/firstmate_types.go | 64 -- .../api/v1/firstmate_webhook.go | 33 - .../api/v1/groupversion_info.go | 36 - .../api/v1/webhook_suite_test.go | 135 ---- .../api/v1/zz_generated.deepcopy.go | 293 -------- testdata/project-v4-config/cmd/main.go | 137 ---- .../config/certmanager/certificate.yaml | 39 -- .../config/certmanager/kustomization.yaml | 5 - .../config/certmanager/kustomizeconfig.yaml | 8 - .../bases/crew.testproject.org_admirals.yaml | 50 -- .../bases/crew.testproject.org_captains.yaml | 50 -- .../crew.testproject.org_firstmates.yaml | 50 -- .../config/crd/kustomization.yaml | 27 - .../config/crd/kustomizeconfig.yaml | 19 - .../crd/patches/cainjection_in_admirals.yaml | 7 - .../crd/patches/cainjection_in_captains.yaml | 7 - .../patches/cainjection_in_firstmates.yaml | 7 - .../crd/patches/webhook_in_admirals.yaml | 16 - .../crd/patches/webhook_in_captains.yaml | 16 - .../crd/patches/webhook_in_firstmates.yaml | 16 - .../default/manager_auth_proxy_patch.yaml | 50 -- .../config/default/manager_config_patch.yaml | 20 - .../config/default/manager_webhook_patch.yaml | 23 - .../default/webhookcainjection_patch.yaml | 29 - .../manager/controller_manager_config.yaml | 29 - .../config/manager/kustomization.yaml | 10 - .../config/manager/manager.yaml | 100 --- .../config/prometheus/kustomization.yaml | 2 - .../config/prometheus/monitor.yaml | 26 - .../config/rbac/admiral_editor_role.yaml | 31 - .../config/rbac/admiral_viewer_role.yaml | 27 - .../rbac/auth_proxy_client_clusterrole.yaml | 16 - .../config/rbac/auth_proxy_role.yaml | 24 - .../config/rbac/auth_proxy_role_binding.yaml | 19 - .../config/rbac/auth_proxy_service.yaml | 21 - .../config/rbac/captain_editor_role.yaml | 31 - .../config/rbac/captain_viewer_role.yaml | 27 - .../config/rbac/firstmate_editor_role.yaml | 31 - .../config/rbac/firstmate_viewer_role.yaml | 27 - .../config/rbac/kustomization.yaml | 18 - .../config/rbac/leader_election_role.yaml | 44 -- .../rbac/leader_election_role_binding.yaml | 19 - .../project-v4-config/config/rbac/role.yaml | 111 ---- .../config/rbac/role_binding.yaml | 19 - .../config/rbac/service_account.yaml | 12 - .../config/samples/crew_v1_admiral.yaml | 12 - .../config/samples/crew_v1_captain.yaml | 12 - .../config/samples/crew_v1_firstmate.yaml | 12 - .../config/samples/kustomization.yaml | 6 - .../config/webhook/kustomization.yaml | 6 - .../config/webhook/kustomizeconfig.yaml | 22 - .../config/webhook/manifests.yaml | 74 --- .../config/webhook/service.yaml | 20 - testdata/project-v4-config/go.mod | 70 -- .../project-v4-config/hack/boilerplate.go.txt | 15 - .../internal/controller/admiral_controller.go | 62 -- .../internal/controller/captain_controller.go | 62 -- .../controller/firstmate_controller.go | 62 -- .../internal/controller/laker_controller.go | 61 -- .../internal/controller/suite_test.go | 80 --- .../project-v4-declarative-v1/.dockerignore | 1 - testdata/project-v4-declarative-v1/.gitignore | 3 +- testdata/project-v4-declarative-v1/Dockerfile | 2 +- testdata/project-v4-declarative-v1/Makefile | 36 +- .../bases/crew.testproject.org_admirals.yaml | 3 +- .../bases/crew.testproject.org_captains.yaml | 3 +- .../crew.testproject.org_firstmates.yaml | 3 +- .../config/crd/kustomization.yaml | 2 +- .../default/manager_auth_proxy_patch.yaml | 18 +- .../config/rbac/role.yaml | 1 - testdata/project-v4-declarative-v1/go.mod | 86 +-- .../internal/controller/admiral_controller.go | 4 +- .../internal/controller/captain_controller.go | 4 +- .../controller/firstmate_controller.go | 4 +- .../internal/controller/suite_test.go | 2 +- testdata/project-v4-multigroup/.dockerignore | 1 - testdata/project-v4-multigroup/.gitignore | 3 +- testdata/project-v4-multigroup/Dockerfile | 2 +- testdata/project-v4-multigroup/Makefile | 36 +- .../api/crew/v1/captain_webhook.go | 13 +- .../api/ship/v2alpha1/cruiser_webhook.go | 13 +- .../api/v1/lakers_webhook.go | 13 +- .../bases/crew.testproject.org_captains.yaml | 3 +- .../crd/bases/fiz.testproject.org_bars.yaml | 3 +- ...y.testproject.org_healthcheckpolicies.yaml | 3 +- .../crd/bases/foo.testproject.org_bars.yaml | 3 +- ...sea-creatures.testproject.org_krakens.yaml | 3 +- ...-creatures.testproject.org_leviathans.yaml | 3 +- .../bases/ship.testproject.org_cruisers.yaml | 3 +- .../ship.testproject.org_destroyers.yaml | 3 +- .../bases/ship.testproject.org_frigates.yaml | 3 +- .../crd/bases/testproject.org_lakers.yaml | 3 +- .../config/crd/kustomization.yaml | 2 +- .../default/manager_auth_proxy_patch.yaml | 18 +- .../config/rbac/role.yaml | 1 - .../config/webhook/manifests.yaml | 2 - testdata/project-v4-multigroup/go.mod | 71 +- .../controller/apps/deployment_controller.go | 2 +- .../internal/controller/apps/suite_test.go | 2 +- .../controller/crew/captain_controller.go | 2 +- .../internal/controller/crew/suite_test.go | 2 +- .../internal/controller/fiz/bar_controller.go | 2 +- .../internal/controller/fiz/suite_test.go | 2 +- .../healthcheckpolicy_controller.go | 2 +- .../controller/foo.policy/suite_test.go | 2 +- .../internal/controller/foo/bar_controller.go | 2 +- .../internal/controller/foo/suite_test.go | 2 +- .../internal/controller/lakers_controller.go | 2 +- .../sea-creatures/kraken_controller.go | 2 +- .../sea-creatures/leviathan_controller.go | 2 +- .../controller/sea-creatures/suite_test.go | 2 +- .../controller/ship/cruiser_controller.go | 2 +- .../controller/ship/destroyer_controller.go | 2 +- .../controller/ship/frigate_controller.go | 2 +- .../internal/controller/ship/suite_test.go | 2 +- .../internal/controller/suite_test.go | 2 +- .../.dockerignore | 1 - .../project-v4-with-deploy-image/.gitignore | 3 +- .../project-v4-with-deploy-image/Dockerfile | 2 +- .../project-v4-with-deploy-image/Makefile | 36 +- .../api/v1alpha1/memcached_webhook.go | 13 +- ...example.com.testproject.org_busyboxes.yaml | 3 +- ...xample.com.testproject.org_memcacheds.yaml | 3 +- .../config/crd/kustomization.yaml | 2 +- .../default/manager_auth_proxy_patch.yaml | 18 +- .../config/rbac/role.yaml | 1 - .../config/webhook/manifests.yaml | 1 - testdata/project-v4-with-deploy-image/go.mod | 71 +- .../internal/controller/busybox_controller.go | 2 +- .../controller/busybox_controller_test.go | 42 +- .../controller/memcached_controller.go | 2 +- .../controller/memcached_controller_test.go | 42 +- .../internal/controller/suite_test.go | 2 +- .../project-v4-with-grafana/.dockerignore | 1 - testdata/project-v4-with-grafana/.gitignore | 3 +- testdata/project-v4-with-grafana/Dockerfile | 2 +- testdata/project-v4-with-grafana/Makefile | 36 +- .../default/manager_auth_proxy_patch.yaml | 18 +- testdata/project-v4-with-grafana/go.mod | 64 +- testdata/project-v4/.dockerignore | 1 - testdata/project-v4/.gitignore | 3 +- testdata/project-v4/Dockerfile | 2 +- testdata/project-v4/Makefile | 36 +- testdata/project-v4/api/v1/captain_webhook.go | 13 +- .../bases/crew.testproject.org_admirales.yaml | 3 +- .../bases/crew.testproject.org_captains.yaml | 3 +- .../crew.testproject.org_firstmates.yaml | 3 +- .../project-v4/config/crd/kustomization.yaml | 2 +- .../default/manager_auth_proxy_patch.yaml | 18 +- testdata/project-v4/config/rbac/role.yaml | 1 - .../project-v4/config/webhook/manifests.yaml | 2 - testdata/project-v4/go.mod | 71 +- .../internal/controller/admiral_controller.go | 2 +- .../internal/controller/captain_controller.go | 2 +- .../controller/firstmate_controller.go | 2 +- .../internal/controller/laker_controller.go | 2 +- .../internal/controller/suite_test.go | 2 +- 301 files changed, 4799 insertions(+), 5839 deletions(-) create mode 100644 docs/book/src/reference/raising-events.md delete mode 100644 docs/book/theme/header.hbs rename hack/docs/internal/{ => component-config-tutorial}/generate_component_config.go (100%) create mode 100644 hack/docs/internal/cronjob-tutorial/api_design.go create mode 100644 hack/docs/internal/cronjob-tutorial/controller_implementation.go create mode 100644 hack/docs/internal/cronjob-tutorial/generate_cronjob.go create mode 100644 hack/docs/internal/cronjob-tutorial/main_revisited.go create mode 100644 hack/docs/internal/cronjob-tutorial/other_api_files.go rename testdata/project-v4-config/config/default/kustomization.yaml => hack/docs/internal/cronjob-tutorial/sample.go (60%) create mode 100644 hack/docs/internal/cronjob-tutorial/webhook_implementation.go create mode 100644 hack/docs/internal/cronjob-tutorial/writing_tests_controller.go create mode 100644 hack/docs/internal/cronjob-tutorial/writing_tests_env.go create mode 100644 pkg/cli/alpha/generate.go create mode 100644 pkg/cli/completion_test.go create mode 100644 pkg/cli/version_test.go create mode 100644 pkg/plugin/util/exec_test.go create mode 100644 pkg/rescaffold/migrate.go rename test/e2e/{v3 => externalplugin}/e2e_suite_test.go (77%) create mode 100644 test/e2e/externalplugin/generate_test.go delete mode 100644 test/e2e/v3/generate_test.go delete mode 100644 test/e2e/v3/plugin_cluster_test.go delete mode 100644 testdata/project-v4-config/.dockerignore delete mode 100644 testdata/project-v4-config/.gitignore delete mode 100644 testdata/project-v4-config/Dockerfile delete mode 100644 testdata/project-v4-config/Makefile delete mode 100644 testdata/project-v4-config/PROJECT delete mode 100644 testdata/project-v4-config/README.md delete mode 100644 testdata/project-v4-config/api/v1/admiral_types.go delete mode 100644 testdata/project-v4-config/api/v1/admiral_webhook.go delete mode 100644 testdata/project-v4-config/api/v1/captain_types.go delete mode 100644 testdata/project-v4-config/api/v1/captain_webhook.go delete mode 100644 testdata/project-v4-config/api/v1/firstmate_types.go delete mode 100644 testdata/project-v4-config/api/v1/firstmate_webhook.go delete mode 100644 testdata/project-v4-config/api/v1/groupversion_info.go delete mode 100644 testdata/project-v4-config/api/v1/webhook_suite_test.go delete mode 100644 testdata/project-v4-config/api/v1/zz_generated.deepcopy.go delete mode 100644 testdata/project-v4-config/cmd/main.go delete mode 100644 testdata/project-v4-config/config/certmanager/certificate.yaml delete mode 100644 testdata/project-v4-config/config/certmanager/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/certmanager/kustomizeconfig.yaml delete mode 100644 testdata/project-v4-config/config/crd/bases/crew.testproject.org_admirals.yaml delete mode 100644 testdata/project-v4-config/config/crd/bases/crew.testproject.org_captains.yaml delete mode 100644 testdata/project-v4-config/config/crd/bases/crew.testproject.org_firstmates.yaml delete mode 100644 testdata/project-v4-config/config/crd/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/crd/kustomizeconfig.yaml delete mode 100644 testdata/project-v4-config/config/crd/patches/cainjection_in_admirals.yaml delete mode 100644 testdata/project-v4-config/config/crd/patches/cainjection_in_captains.yaml delete mode 100644 testdata/project-v4-config/config/crd/patches/cainjection_in_firstmates.yaml delete mode 100644 testdata/project-v4-config/config/crd/patches/webhook_in_admirals.yaml delete mode 100644 testdata/project-v4-config/config/crd/patches/webhook_in_captains.yaml delete mode 100644 testdata/project-v4-config/config/crd/patches/webhook_in_firstmates.yaml delete mode 100644 testdata/project-v4-config/config/default/manager_auth_proxy_patch.yaml delete mode 100644 testdata/project-v4-config/config/default/manager_config_patch.yaml delete mode 100644 testdata/project-v4-config/config/default/manager_webhook_patch.yaml delete mode 100644 testdata/project-v4-config/config/default/webhookcainjection_patch.yaml delete mode 100644 testdata/project-v4-config/config/manager/controller_manager_config.yaml delete mode 100644 testdata/project-v4-config/config/manager/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/manager/manager.yaml delete mode 100644 testdata/project-v4-config/config/prometheus/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/prometheus/monitor.yaml delete mode 100644 testdata/project-v4-config/config/rbac/admiral_editor_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/admiral_viewer_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/auth_proxy_client_clusterrole.yaml delete mode 100644 testdata/project-v4-config/config/rbac/auth_proxy_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/auth_proxy_role_binding.yaml delete mode 100644 testdata/project-v4-config/config/rbac/auth_proxy_service.yaml delete mode 100644 testdata/project-v4-config/config/rbac/captain_editor_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/captain_viewer_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/firstmate_editor_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/firstmate_viewer_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/rbac/leader_election_role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/leader_election_role_binding.yaml delete mode 100644 testdata/project-v4-config/config/rbac/role.yaml delete mode 100644 testdata/project-v4-config/config/rbac/role_binding.yaml delete mode 100644 testdata/project-v4-config/config/rbac/service_account.yaml delete mode 100644 testdata/project-v4-config/config/samples/crew_v1_admiral.yaml delete mode 100644 testdata/project-v4-config/config/samples/crew_v1_captain.yaml delete mode 100644 testdata/project-v4-config/config/samples/crew_v1_firstmate.yaml delete mode 100644 testdata/project-v4-config/config/samples/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/webhook/kustomization.yaml delete mode 100644 testdata/project-v4-config/config/webhook/kustomizeconfig.yaml delete mode 100644 testdata/project-v4-config/config/webhook/manifests.yaml delete mode 100644 testdata/project-v4-config/config/webhook/service.yaml delete mode 100644 testdata/project-v4-config/go.mod delete mode 100644 testdata/project-v4-config/hack/boilerplate.go.txt delete mode 100644 testdata/project-v4-config/internal/controller/admiral_controller.go delete mode 100644 testdata/project-v4-config/internal/controller/captain_controller.go delete mode 100644 testdata/project-v4-config/internal/controller/firstmate_controller.go delete mode 100644 testdata/project-v4-config/internal/controller/laker_controller.go delete mode 100644 testdata/project-v4-config/internal/controller/suite_test.go diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 99a0002983..12bdbe3a63 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,7 +5,6 @@ version: 2 updates: - # Maintain dependencies for GitHub Actions - package-ecosystem: "github-actions" # Workflow files stored in the @@ -47,3 +46,11 @@ updates: directory: "testdata/project-v4" schedule: interval: "weekly" + + # Maintain dependencies for go in external plugin sample + - package-ecosystem: "gomod" + directory: "docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1" + schedule: + interval: "weekly" + labels: + - "ok-to-test" diff --git a/.github/workflows/apidiff.yml b/.github/workflows/apidiff.yml index 46e6334013..bc7ab23408 100644 --- a/.github/workflows/apidiff.yml +++ b/.github/workflows/apidiff.yml @@ -19,18 +19,9 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: "1.19" + go-version: '~1.20' - name: Execute go-apidiff uses: joelanford/go-apidiff@v0.6.0 with: compare-imports: true print-compatible: true - - name: Report failure - uses: nashmaniac/create-issue-action@v1.1 - # Only report failures of pushes (PRs have are visible through the Checks section) to the default branch - if: failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' - with: - title: πŸ› go-apidiff failed for ${{ github.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - labels: kind/bug - body: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0a04981795..b4276d63d9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,7 +15,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: 1.19 + go-version: '~1.20' - name: Clone the code uses: actions/checkout@v3 - name: Run linter @@ -23,15 +23,6 @@ jobs: with: version: v1.51 only-new-issues: true # Show only new issues if it's a pull request - - name: Report failure - uses: nashmaniac/create-issue-action@v1.1 - # Only report failures of pushes (PRs have are visible through the Checks section) to the default branch - if: failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' - with: - title: πŸ› Lint failed for ${{ github.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - labels: kind/bug - body: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} yamllint: runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5b8a81b2b0..4f5f432843 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '~1.19' + go-version: '~1.20' - name: Run GoReleaser uses: goreleaser/goreleaser-action@v4 with: diff --git a/.github/workflows/testdata.yml b/.github/workflows/testdata.yml index 8475729780..a9873c867a 100644 --- a/.github/workflows/testdata.yml +++ b/.github/workflows/testdata.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: '1.19' + go-version: '~1.20' - name: Remove pre-installed kustomize # This step is needed as the following one tries to remove # kustomize for each test but has no permission to do so @@ -27,12 +27,3 @@ jobs: run: make check-testdata - name: Verify docs update run: make check-docs - - name: Report failure - uses: nashmaniac/create-issue-action@v1.1 - # Only report failures of pushes (PRs have are visible through the Checks section) to the default branch - if: failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' - with: - title: πŸ› Testadata verification failed for ${{ github.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - labels: kind/bug - body: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/unit-tests-legacy.yml b/.github/workflows/unit-tests-legacy.yml index 57b6aba799..ca2a475117 100644 --- a/.github/workflows/unit-tests-legacy.yml +++ b/.github/workflows/unit-tests-legacy.yml @@ -23,15 +23,6 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - # the go/v2 cannot be updated and is scaffold with golang 1.13 - # (version used by its dep version of the controller-runtime) - # however, we are unable to downgrade the version here - # because we will face errors - # So we are keeping the latest version where it works - # and highlighting that must be fixed - # Therefore, we probably will deprecate go/v2 soon since we cannot upgrade it - # to use the versions of controller-runtime > v0.9 - # and controller-tools > v0.6 as k8s > 1.21 then it might not be valid we spend effort on this fix go-version: "1.19" # This step is needed as the following one tries to remove # kustomize for each test but has no permission to do so @@ -39,12 +30,3 @@ jobs: run: sudo rm -f /usr/local/bin/kustomize - name: Perform the test run: make test-legacy - - name: Report failure - uses: nashmaniac/create-issue-action@v1.1 - # Only report failures of pushes (PRs have are visible through the Checks section) to the default branch - if: failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' - with: - title: πŸ› Unit tests failed on ${{ matrix.os }} for ${{ github.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - labels: kind/bug - body: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index f9e4e7b964..a6b88c4f1d 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Go uses: actions/setup-go@v4 with: - go-version: "1.19" + go-version: '~1.20' # This step is needed as the following one tries to remove # kustomize for each test but has no permission to do so - name: Remove pre-installed kustomize @@ -30,7 +30,7 @@ jobs: - name: Perform the test run: make test - name: Report failure - uses: nashmaniac/create-issue-action@v1.1 + uses: nashmaniac/create-issue-action@v1.2 # Only report failures of pushes (PRs have are visible through the Checks section) to the default branch if: failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' with: @@ -59,12 +59,3 @@ jobs: uses: shogo82148/actions-goveralls@v1 with: path-to-profile: coverage-all.out - - name: Report failure - uses: nashmaniac/create-issue-action@v1.1 - # Only report failures of pushes (PRs have are visible through the Checks section) to the default branch - if: failure() && github.event_name == 'push' && github.ref == 'refs/heads/master' - with: - title: πŸ› Coverage report failed for ${{ github.sha }} - token: ${{ secrets.GITHUB_TOKEN }} - labels: kind/bug - body: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} diff --git a/.golangci.yml b/.golangci.yml index 0b008e2bb9..8ca78c49c2 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -11,6 +11,10 @@ issues: exclude-rules: - linters: [gosec] path: "test/e2e/*" + - path: "hack/docs/*" + linters: + - lll + - gosec linters-settings: govet: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 26990e1913..f1c031764b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,7 +10,7 @@ Please see https://git.k8s.io/community/CLA.md for more info. ## Prerequisites -- [go](https://golang.org/dl/) version v1.16+. +- [go](https://golang.org/dl/) version v1.20+. - [docker](https://docs.docker.com/install/) version 17.03+. - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) version v1.11.3+. - [kustomize](https://github.com/kubernetes-sigs/kustomize/blob/master/site/content/en/docs/Getting%20started/installation.md) v3.1.0+ diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index 90f558c5e0..5e7e45ceda 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -4,9 +4,7 @@ aliases: # active folks who can be contacted to perform admin-related # tasks on the repo, or otherwise approve any PRs. kubebuilder-admins: - - pwittrock - camilamacedo86 - - jmrodri - varshaprasad96 # non-admin folks who can approve any PRs in the repo @@ -15,7 +13,6 @@ aliases: # folks who can review and LGTM any PRs in the repo (doesn't include # approvers & admins -- those count too via the OWNERS file) kubebuilder-reviewers: - - joelanford - rashmigottipati - everettraven - Kavinjsir @@ -23,8 +20,11 @@ aliases: # folks who may have context on ancient history, # but are no longer directly involved kubebuilder-emeritus-approvers: + - adirio - directxman12 - droot - - mengqiy - estroz - - adirio + - jmrodri + - joelanford + - mengqiy + - pwittrock diff --git a/build/.goreleaser.yml b/build/.goreleaser.yml index 6cc3904d9d..71f948e7e5 100644 --- a/build/.goreleaser.yml +++ b/build/.goreleaser.yml @@ -44,7 +44,7 @@ builds: - darwin_amd64 - darwin_arm64 env: - - KUBERNETES_VERSION=1.26.1 + - KUBERNETES_VERSION=1.27.1 - CGO_ENABLED=0 # Only binaries of the form "kubebuilder_${goos}_${goarch}" will be released. diff --git a/cmd/main.go b/cmd/main.go index fa60babab3..7f59bb2616 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -46,17 +46,16 @@ func main() { "Please, check the migration guide to learn how to upgrade your project" // Bundle plugin which built the golang projects scaffold by Kubebuilder go/v3 - gov3Bundle, _ := plugin.NewBundle(golang.DefaultNameQualifier, plugin.Version{Number: 3}, - deprecateMessageGoV3Bundle, - kustomizecommonv1.Plugin{}, - golangv3.Plugin{}, + gov3Bundle, _ := plugin.NewBundleWithOptions(plugin.WithName(golang.DefaultNameQualifier), + plugin.WithVersion(plugin.Version{Number: 3}), + plugin.WithDeprecationMessage(deprecateMessageGoV3Bundle), + plugin.WithPlugins(kustomizecommonv1.Plugin{}, golangv3.Plugin{}), ) // Bundle plugin which built the golang projects scaffold by Kubebuilder go/v4 with kustomize alpha-v2 - gov4Bundle, _ := plugin.NewBundle(golang.DefaultNameQualifier, plugin.Version{Number: 4}, - "", - kustomizecommonv2alpha.Plugin{}, - golangv4.Plugin{}, + gov4Bundle, _ := plugin.NewBundleWithOptions(plugin.WithName(golang.DefaultNameQualifier), + plugin.WithVersion(plugin.Version{Number: 4}), + plugin.WithPlugins(kustomizecommonv2alpha.Plugin{}, golangv4.Plugin{}), ) fs := machinery.Filesystem{ diff --git a/docs/book/install-and-build.sh b/docs/book/install-and-build.sh index fc9c6a5119..1d6fc26359 100755 --- a/docs/book/install-and-build.sh +++ b/docs/book/install-and-build.sh @@ -67,7 +67,7 @@ ${cmd} /tmp/mdbook.${ext} chmod +x /tmp/mdbook echo "grabbing the latest released controller-gen" -go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.11.3 +go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.12.0 # make sure we add the go bin directory to our path gobin=$(go env GOBIN) diff --git a/docs/book/src/SUMMARY.md b/docs/book/src/SUMMARY.md index 4f1ce056a2..40773b5e52 100644 --- a/docs/book/src/SUMMARY.md +++ b/docs/book/src/SUMMARY.md @@ -80,6 +80,7 @@ - [Generating CRDs](./reference/generating-crd.md) - [Using Finalizers](./reference/using-finalizers.md) + - [Raising Events](./reference/raising-events.md) - [Watching Resources](./reference/watching-resources.md) - [Resources Managed by the Operator](./reference/watching-resources/operator-managed.md) - [Externally Managed Resources](./reference/watching-resources/externally-managed.md) diff --git a/docs/book/src/component-config-tutorial/api-changes.md b/docs/book/src/component-config-tutorial/api-changes.md index e65d6100b3..edd39223ed 100644 --- a/docs/book/src/component-config-tutorial/api-changes.md +++ b/docs/book/src/component-config-tutorial/api-changes.md @@ -1,5 +1,17 @@ # Changing things up + + This tutorial will show you how to create a custom configuration file for your project by modifying a project generated with the `--component-config` flag passed to the `init` command. The full tutorial's source can be found diff --git a/docs/book/src/component-config-tutorial/config-type.md b/docs/book/src/component-config-tutorial/config-type.md index d8d42925de..518f360ed8 100644 --- a/docs/book/src/component-config-tutorial/config-type.md +++ b/docs/book/src/component-config-tutorial/config-type.md @@ -1,5 +1,17 @@ # Adding a new Config Type + + To scaffold out a new config Kind, we can use `kubebuilder create api`. ```bash diff --git a/docs/book/src/component-config-tutorial/custom-type.md b/docs/book/src/component-config-tutorial/custom-type.md index 76dfeda43d..55910168e4 100644 --- a/docs/book/src/component-config-tutorial/custom-type.md +++ b/docs/book/src/component-config-tutorial/custom-type.md @@ -1,5 +1,17 @@ # Using a Custom Type + + -While Kubebuilder v2 will not scaffold out a project structure compatible -with multiple API groups in the same repository by default, it's possible -to modify the default project structure to support it. - Let's migrate the [CronJob example][cronjob-tutorial]. +To change the layout of your project to support Multi-Group run the command +`kubebuilder edit --multigroup=true`. Once you switch to a multi-group layout, the new Kinds +will be generated in the new layout but additional manual work is needed +to move the old API groups to the new layout. + Generally, we use the prefix for the API group as the directory name. We can check `api/v1/groupversion_info.go` to find that out: @@ -38,58 +38,75 @@ can check `api/v1/groupversion_info.go` to find that out: package v1 ``` -Then, we'll rename `api` to `apis` to be more clear, and we'll move our -existing APIs into a new subdirectory, "batch": +Then, we'll rename move our existing APIs into a new subdirectory, "batch": ```bash -mkdir apis/batch -mv api/* apis/batch -# After ensuring that all was moved successfully remove the old directory `api/` -rm -rf api/ +mkdir api/batch +mv api/* api/batch ``` - -After moving the APIs to a new directory, the same needs to be applied to the controllers: +After moving the APIs to a new directory, the same needs to be applied to the controllers. For go/v4: ```bash -mkdir controllers/batch -mv controllers/* controllers/batch/ +mkdir internal/controller/batch +mv internal/controller/* internal/controller/batch/ ``` + - - The kustomize plugin allows you to scaffold all kustomize manifests used to work with the language plugins such as `go/v2` and `go/v3`. By using the kustomize plugin, you can create your own language plugins and ensure that you will have the same configurations and features provided by it. @@ -71,9 +59,10 @@ all that is language specific and kustomize for its configuration, see: // Bundle plugin which built the golang projects scaffold by Kubebuilder go/v3 // The follow code is creating a new plugin with its name and version via composition // You can define that one plugin is composite by 1 or Many others plugins - gov3Bundle, _ := plugin.NewBundle(golang.DefaultNameQualifier, plugin.Version{Number: 3}, - kustomizecommonv1.Plugin{}, // scaffold the config/ directory and all kustomize files - golangv3.Plugin{}, // Scaffold the Golang files and all that specific for the language e.g. go.mod, apis, controllers + gov3Bundle, _ := plugin.NewBundle(plugin.WithName(golang.DefaultNameQualifier), + plugin.WithVersion(plugin.Version{Number: 3}), + plugin.WithPlugins(kustomizecommonv1.Plugin{}, golangv3.Plugin{}), // scaffold the config/ directory and all kustomize files + // Scaffold the Golang files and all that specific for the language e.g. go.mod, apis, controllers ) ``` diff --git a/docs/book/src/plugins/kustomize-v2.md b/docs/book/src/plugins/kustomize-v2.md index cb10f0c950..b8ae3d9348 100644 --- a/docs/book/src/plugins/kustomize-v2.md +++ b/docs/book/src/plugins/kustomize-v2.md @@ -44,9 +44,10 @@ import ( // Bundle plugin which built the golang projects scaffold by Kubebuilder go/v3 // The follow code is creating a new plugin with its name and version via composition // You can define that one plugin is composite by 1 or Many others plugins - gov3Bundle, _ := plugin.NewBundle(golang.DefaultNameQualifier, plugin.Version{Number: 3}, - kustomizecommonv2.Plugin{}, // scaffold the config/ directory and all kustomize files - golangv4.Plugin{}, // Scaffold the Golang files and all that specific for the language e.g. go.mod, apis, controllers + gov3Bundle, _ := plugin.NewBundle(plugin.WithName(golang.DefaultNameQualifier), + plugin.WithVersion(plugin.Version{Number: 3}), + plugin.WithPlugins(kustomizecommonv2.Plugin{}, golangv3.Plugin{}), // scaffold the config/ directory and all kustomize files + // Scaffold the Golang files and all that specific for the language e.g. go.mod, apis, controllers ) ``` @@ -113,4 +114,3 @@ The following scaffolds will be created or updated by this plugin: [kustomize-vars]: https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/vars/ [release-notes-v5]: https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv5.0.0 [release-notes-v4]: https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv4.0.0 - diff --git a/docs/book/src/quick-start.md b/docs/book/src/quick-start.md index 09c6b08d96..ff35aed97a 100644 --- a/docs/book/src/quick-start.md +++ b/docs/book/src/quick-start.md @@ -9,7 +9,7 @@ This Quick Start guide will cover: ## Prerequisites -- [go](https://golang.org/dl/) version v1.19.0+ +- [go](https://golang.org/dl/) version v1.20.0+ - [docker](https://docs.docker.com/install/) version 17.03+. - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) version v1.11.3+. - Access to a Kubernetes v1.11.3+ cluster. @@ -31,7 +31,7 @@ Install [kubebuilder](https://sigs.k8s.io/kubebuilder): ```bash # download kubebuilder and install locally. -curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH) +curl -L -o kubebuilder "https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH)" chmod +x kubebuilder && mv kubebuilder /usr/local/bin/ ``` @@ -82,7 +82,7 @@ kubebuilder create api --group webapp --version v1 --kind Guestbook

Press Options

If you press `y` for Create Resource [y/n] and for Create Controller [y/n] then this will create the files `api/v1/guestbook_types.go` where the API is defined -and the `controllers/guestbook_controller.go` where the reconciliation business logic is implemented for this Kind(CRD). +and the `internal/controllers/guestbook_controller.go` where the reconciliation business logic is implemented for this Kind(CRD). @@ -96,7 +96,7 @@ If you are editing the API definitions, generate the manifests such as Custom Re make manifests ``` -
Click here to see an example. `(api/v1/guestbook_types.go)` +
Click here to see an example. (api/v1/guestbook_types.go)

```go diff --git a/docs/book/src/reference/completion.md b/docs/book/src/reference/completion.md index 4b94060e80..9a838ad05a 100644 --- a/docs/book/src/reference/completion.md +++ b/docs/book/src/reference/completion.md @@ -35,3 +35,10 @@ fi Follow a similar protocol for `zsh` completion. + +

diff --git a/docs/book/src/reference/raising-events.md b/docs/book/src/reference/raising-events.md new file mode 100644 index 0000000000..5633d43352 --- /dev/null +++ b/docs/book/src/reference/raising-events.md @@ -0,0 +1,107 @@ +# Creating Events + +It is often useful to publish *Event* objects from the controller Reconcile function as they allow users or any automated processes to see what is going on with a particular object and respond to them. + + Recent Events for an object can be viewed by running `$ kubectl describe `. Also, they can be checked by running `$ kubectl get events`. + + + +## Writing Events + +Anatomy of an Event: + +```go +Event(object runtime.Object, eventtype, reason, message string) +``` + +- `object` is the object this event is about. +- `eventtype` is this event type, and is either *Normal* or *Warning*. ([More info][Event-Example]) +- `reason` is the reason this event is generated. It should be short and unique with `UpperCamelCase` format. The value could appear in *switch* statements by automation. ([More info][Reason-Example]) +- `message` is intended to be consumed by humans. ([More info][Message-Example]) + + + + + +### How to be able to raise Events? + +Following are the steps with examples to help you raise events in your controller's reconciliations. +Events are published from a Controller using an [EventRecorder][Events]`type CorrelatorOptions struct`, +which can be created for a Controller by calling `GetRecorder(name string)` on a Manager. See that we will change the implementation scaffolded in `cmd/main.go`: + +```go + if err = (&controller.MyKindReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + // Note that we added the following line: + Recorder: mgr.GetEventRecorderFor("mykind-controller"), + }).SetupWithManager(mgr); err != nil { + setupLog.Error(err, "unable to create controller", "controller", "MyKind") + os.Exit(1) + } +``` + +### Allowing usage of EventRecorder on the Controller + +To raise an event, you must have access to `record.EventRecorder` in the Controller. Therefore, firstly let's update the controller implementation: +```go +import ( + ... + "k8s.io/client-go/tools/record" + ... +) +// MyKindReconciler reconciles a MyKind object +type MyKindReconciler struct { + client.Client + Scheme *runtime.Scheme + // See that we added the following code to allow us to pass the record.EventRecorder + Recorder record.EventRecorder +} +### Passing the EventRecorder to the Controller +Events are published from a Controller using an [EventRecorder]`type CorrelatorOptions struct`, +which can be created for a Controller by calling `GetRecorder(name string)` on a Manager. See that we will change the implementation scaffolded in `cmd/main.go`: +```go + if err = (&controller.MyKindReconciler{ + Client: mgr.GetClient(), + Scheme: mgr.GetScheme(), + // Note that we added the following line: + Recorder: mgr.GetEventRecorderFor("mykind-controller"), + }).SetupWithManager(mgr); err != nil { + setupLog.Error(err, "unable to create controller", "controller", "MyKind") + os.Exit(1) + } +``` +### Granting the required permissions + +You must also grant the RBAC rules permissions to allow your project to create Events. Therefore, ensure that you add the [RBAC][rbac-markers] into your controller: +```go +... +//+kubebuilder:rbac:groups=core,resources=events,verbs=create;patch +... +func (r *MyKindReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { +``` +And then, run `$ make manifests` to update the rules under `config/rbac/rule.yaml`. + +[Events]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#events +[Event-Example]: https://github.com/kubernetes/api/blob/6c11c9e4685cc62e4ddc8d4aaa824c46150c9148/core/v1/types.go#L6019-L6024 +[Reason-Example]: https://github.com/kubernetes/api/blob/6c11c9e4685cc62e4ddc8d4aaa824c46150c9148/core/v1/types.go#L6048 +[Message-Example]: https://github.com/kubernetes/api/blob/6c11c9e4685cc62e4ddc8d4aaa824c46150c9148/core/v1/types.go#L6053 +[rbac-markers]: ./markers/rbac.md \ No newline at end of file diff --git a/docs/book/src/reference/webhook-for-core-types.md b/docs/book/src/reference/webhook-for-core-types.md index a27cc1f7e2..692ef22fc3 100644 --- a/docs/book/src/reference/webhook-for-core-types.md +++ b/docs/book/src/reference/webhook-for-core-types.md @@ -1,7 +1,7 @@ # Admission Webhook for Core Types It is very easy to build admission webhooks for CRDs, which has been covered in -the CronJob tutorial. Given that kubebuilder doesn't support webhook scaffolding +the [CronJob tutorial][cronjob-tutorial]. Given that kubebuilder doesn't support webhook scaffolding for core types, you have to use the library from controller-runtime to handle it. There is an [example](https://github.com/kubernetes-sigs/controller-runtime/tree/master/examples/builtins) in controller-runtime. @@ -71,3 +71,6 @@ Deploying it is just like deploying a webhook server for CRD. You need to 2) deploy the server You can follow the [tutorial](/cronjob-tutorial/running.md). + + +[cronjob-tutorial]: /cronjob-tutorial/cronjob-tutorial.md \ No newline at end of file diff --git a/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod b/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod index c9f770429c..dc2d09bae2 100644 --- a/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod +++ b/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod @@ -1,18 +1,17 @@ module v1 -go 1.19 +go 1.20 require ( github.com/spf13/pflag v1.0.5 - sigs.k8s.io/kubebuilder/v3 v3.7.0 + sigs.k8s.io/kubebuilder/v3 v3.10.0 ) require ( - github.com/gobuffalo/flect v0.2.5 // indirect - github.com/spf13/afero v1.6.0 // indirect - golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/tools v0.1.10 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + github.com/gobuffalo/flect v1.0.2 // indirect + github.com/spf13/afero v1.9.5 // indirect + golang.org/x/mod v0.10.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect + golang.org/x/tools v0.8.0 // indirect ) diff --git a/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.sum b/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.sum index ad88ceccac..20d24f771e 100644 --- a/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.sum +++ b/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.sum @@ -1,46 +1,470 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +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/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +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.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/gobuffalo/flect v0.2.5 h1:H6vvsv2an0lalEaCDRThvtBfmg44W/QHXBCYUXf/6S4= -github.com/gobuffalo/flect v0.2.5/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA= +github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/onsi/ginkgo/v2 v2.9.2 h1:BA2GMJOtfGAfagzYtrAlufIP0lq6QERkFmHLMLPwFSU= +github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= 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/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +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= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +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= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8 h1:OH54vjqzRWmbJ62fjuhxy7AxFFgoHN0/DPc/UrL8cAs= -golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= +golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= +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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +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= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +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= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -sigs.k8s.io/kubebuilder/v3 v3.7.0 h1:o1ZsPgnZB9ddS2wUqL2Nw812PQzaCccNyu83uRS09ws= -sigs.k8s.io/kubebuilder/v3 v3.7.0/go.mod h1:3VwM89VsNnBbOuee1vhq7wOTh8oUwsk1IibeNaByqP4= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +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= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/kubebuilder/v3 v3.10.0 h1:gLJpa7dlKYc3T/VICAyaSjLL5ECrcHMUYRZ6sPWeNdA= +sigs.k8s.io/kubebuilder/v3 v3.10.0/go.mod h1:C65fAHNj0vVzPjMoVTjIBTHxAQal6qbg3ZA1gtMl5B4= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= diff --git a/docs/book/theme/css/custom.css b/docs/book/theme/css/custom.css index 3678cc320c..16e3b210e9 100644 --- a/docs/book/theme/css/custom.css +++ b/docs/book/theme/css/custom.css @@ -1,30 +1,3 @@ .menu-title img { vertical-align: bottom; } - -#notice-bar { - background: var(--bg); - padding: 1em; - margin-left: calc(-1 * var(--page-padding)); - margin-right: calc(-1 * var(--page-padding)); - margin-bottom: 1em; - - border-bottom: 1px solid var(--table-border-color); - box-shadow: 0 1px 5px 0 var(--table-border-color); -} - -#notice-bar * { - color: var(--fg); -} - -#notice-bar a { - text-decoration: none; -} - -#notice-bar a:not(.header) { - color: var(--links); -} - -#notice-bar h2 { - margin-top: 0; -} diff --git a/docs/book/theme/header.hbs b/docs/book/theme/header.hbs deleted file mode 100644 index 586f6da651..0000000000 --- a/docs/book/theme/header.hbs +++ /dev/null @@ -1,7 +0,0 @@ -
-

Black lives matter.

-

We stand in solidarity with the Black community.

-

Racism is unacceptable.

-

It conflicts with the core values of the Kubernetes project and our community does not tolerate it.

-

-
diff --git a/docs/book/theme/index.hbs b/docs/book/theme/index.hbs index 2ef47f1198..e0fd8cd68a 100644 --- a/docs/book/theme/index.hbs +++ b/docs/book/theme/index.hbs @@ -158,8 +158,6 @@ - {{> header}} - {{#if search_enabled}}