tree: 8754c86c1a80ed71814a39a30c0f0521462c29a9
  1. boilerplate/
  2. conformance/
  3. e2e-internal/
  4. gen-swagger-doc/
  5. jenkins/
  6. kube-api-linter/
  7. lib/
  8. make-rules/
  9. testdata/
  10. tools/
  11. verify-flags/
  12. .descriptions_failures
  13. .import-aliases
  14. .spelling_failures
  15. _update-generated-proto-bindings-dockerized.sh
  16. _update-generated-protobuf-dockerized.sh
  17. apidiff.sh
  18. benchmark-go.sh
  19. build-cross.sh
  20. build-go.sh
  21. cherry_pick_pull.sh
  22. dev-build-and-push.sh
  23. dev-build-and-up.sh
  24. dev-push-conformance.sh
  25. diff-protobuf.sh
  26. e2e-node-test.sh
  27. generate-docs.sh
  28. get-build.sh
  29. ginkgo-e2e.sh
  30. golangci-hints.yaml
  31. golangci.yaml
  32. golangci.yaml.in
  33. grab-profiles.sh
  34. install-etcd.sh
  35. install-protoc.sh
  36. lint-dependencies.sh
  37. local-up-cluster.sh
  38. logcheck.conf
  39. module-graph.sh
  40. OWNERS
  41. pin-dependency.sh
  42. print-workspace-status.sh
  43. README.md
  44. run-prometheus-on-etcd-scrapes.sh
  45. serve-prom-scrapes.sh
  46. test-go.sh
  47. unwanted-dependencies.json
  48. update-all.sh
  49. update-codegen.sh
  50. update-conformance-yaml.sh
  51. update-featuregates.sh
  52. update-generated-api-compatibility-data.sh
  53. update-generated-docs.sh
  54. update-generated-stable-metrics.sh
  55. update-gofmt.sh
  56. update-golangci-lint-config.sh
  57. update-import-aliases.sh
  58. update-internal-modules.sh
  59. update-kustomize.sh
  60. update-mocks.sh
  61. update-netparse-cve.sh
  62. update-openapi-spec.sh
  63. update-owners-fmt.sh
  64. update-translations.sh
  65. update-vendor-licenses.sh
  66. update-vendor.sh
  67. verify-all.sh
  68. verify-api-groups.sh
  69. verify-boilerplate.sh
  70. verify-cli-conventions.sh
  71. verify-codegen.sh
  72. verify-conformance-requirements.sh
  73. verify-conformance-yaml.sh
  74. verify-deadcode-elimination.sh
  75. verify-description.sh
  76. verify-e2e-images.sh
  77. verify-e2e-test-ownership.sh
  78. verify-external-dependencies-version.sh
  79. verify-featuregates.sh
  80. verify-fieldname-docs.sh
  81. verify-file-sizes.sh
  82. verify-flags-underscore.py
  83. verify-generated-docs.sh
  84. verify-generated-stable-metrics.sh
  85. verify-gofmt.sh
  86. verify-golangci-lint-config.sh
  87. verify-golangci-lint-pr-hints.sh
  88. verify-golangci-lint.sh
  89. verify-govulncheck.sh
  90. verify-import-aliases.sh
  91. verify-import-boss.sh
  92. verify-imports.sh
  93. verify-internal-modules.sh
  94. verify-licenses.sh
  95. verify-mocks.sh
  96. verify-netparse-cve.sh
  97. verify-no-vendor-cycles.sh
  98. verify-non-mutating-validation.sh
  99. verify-openapi-docs-urls.sh
  100. verify-openapi-spec.sh
  101. verify-owners-fmt.sh
  102. verify-pkg-names.sh
  103. verify-prerelease-lifecycle-tags.sh
  104. verify-prometheus-imports.sh
  105. verify-publishing-bot.sh
  106. verify-readonly-packages.sh
  107. verify-shellcheck.sh
  108. verify-spelling.sh
  109. verify-staging-meta-files.sh
  110. verify-test-code.sh
  111. verify-test-featuregates.sh
  112. verify-test-images.sh
  113. verify-testing-import.sh
  114. verify-typecheck.sh
  115. verify-vendor-licenses.sh
  116. verify-vendor.sh
hack/README.md

Kubernetes hack GuideLines

This document describes how you can use the scripts from hack directory and gives a brief introduction and explanation of these scripts.

Overview

The hack directory contains many scripts that ensure continuous development of kubernetes, enhance the robustness of the code, improve development efficiency, etc. The explanations and descriptions of these scripts are helpful for contributors. For details, refer to the following guidelines.

Key scripts

  • verify-all.sh: This script is a vestigial redirection, Please do not add “real” logic. It is equivalent to make verify.
  • update-all.sh: This script is a vestigial redirection, Please do not add “real” logic. The true target of this makerule is hack/make-rules/update.sh.It is equivalent to make update.

Attention

Note that all scripts must be run from the Kubernetes root directory. We should run hack/verify-all.sh before submitting a PR and if anything fails run hack/update-all.sh.