瀏覽代碼

removed v1.17

iwita 5 年之前
父節點
當前提交
0fb3312d46
共有 100 個文件被更改,包括 1 次插入161834 次删除
  1. 1 0
      .gitignore
  2. 0 1
      kubernetes-v1.17/.bazelrc
  3. 0 1
      kubernetes-v1.17/.bazelversion
  4. 0 27
      kubernetes-v1.17/.generated_files
  5. 0 10
      kubernetes-v1.17/.gitattributes
  6. 0 29
      kubernetes-v1.17/.github/ISSUE_TEMPLATE/bug-report.md
  7. 0 11
      kubernetes-v1.17/.github/ISSUE_TEMPLATE/enhancement.md
  8. 0 20
      kubernetes-v1.17/.github/ISSUE_TEMPLATE/failing-test.md
  9. 0 20
      kubernetes-v1.17/.github/ISSUE_TEMPLATE/flaking-test.md
  10. 0 18
      kubernetes-v1.17/.github/ISSUE_TEMPLATE/support.md
  11. 0 18
      kubernetes-v1.17/.github/OWNERS
  12. 0 67
      kubernetes-v1.17/.github/PULL_REQUEST_TEMPLATE.md
  13. 0 14
      kubernetes-v1.17/.github/SECURITY.md
  14. 0 139
      kubernetes-v1.17/.gitignore
  15. 0 1
      kubernetes-v1.17/.kazelcfg.json
  16. 0 1
      kubernetes-v1.17/BUILD.bazel
  17. 0 1
      kubernetes-v1.17/CHANGELOG.md
  18. 0 3134
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.10.md
  19. 0 2576
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.11.md
  20. 0 2342
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.12.md
  21. 0 2224
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.13.md
  22. 0 2225
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.14.md
  23. 0 2033
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.15.md
  24. 0 2068
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.16.md
  25. 0 1692
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.17.md
  26. 0 411
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.18.md
  27. 0 584
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.2.md
  28. 0 972
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.3.md
  29. 0 1436
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.4.md
  30. 0 1327
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.5.md
  31. 0 2885
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.6.md
  32. 0 3292
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.7.md
  33. 0 3089
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.8.md
  34. 0 2649
      kubernetes-v1.17/CHANGELOG/CHANGELOG-1.9.md
  35. 0 11
      kubernetes-v1.17/CHANGELOG/OWNERS
  36. 0 21
      kubernetes-v1.17/CHANGELOG/README.md
  37. 0 7
      kubernetes-v1.17/CONTRIBUTING.md
  38. 0 23824
      kubernetes-v1.17/Godeps/LICENSES
  39. 0 4
      kubernetes-v1.17/Godeps/OWNERS
  40. 0 202
      kubernetes-v1.17/LICENSE
  41. 0 1
      kubernetes-v1.17/Makefile
  42. 0 1
      kubernetes-v1.17/Makefile.generated_files
  43. 0 40
      kubernetes-v1.17/OWNERS
  44. 0 495
      kubernetes-v1.17/OWNERS_ALIASES
  45. 0 89
      kubernetes-v1.17/README.md
  46. 0 17
      kubernetes-v1.17/SECURITY_CONTACTS
  47. 0 29
      kubernetes-v1.17/SUPPORT.md
  48. 0 1
      kubernetes-v1.17/WORKSPACE
  49. 0 9
      kubernetes-v1.17/api/OWNERS
  50. 0 42
      kubernetes-v1.17/api/api-rules/README.md
  51. 0 39
      kubernetes-v1.17/api/api-rules/apiextensions_violation_exceptions.list
  52. 0 44
      kubernetes-v1.17/api/api-rules/codegen_violation_exceptions.list
  53. 0 42
      kubernetes-v1.17/api/api-rules/sample_apiserver_violation_exceptions.list
  54. 0 708
      kubernetes-v1.17/api/api-rules/violation_exceptions.list
  55. 0 21
      kubernetes-v1.17/api/openapi-spec/BUILD
  56. 0 60
      kubernetes-v1.17/api/openapi-spec/README.md
  57. 0 97406
      kubernetes-v1.17/api/openapi-spec/swagger.json
  58. 0 184
      kubernetes-v1.17/build/BUILD
  59. 0 17
      kubernetes-v1.17/build/OWNERS
  60. 0 130
      kubernetes-v1.17/build/README.md
  61. 0 45
      kubernetes-v1.17/build/bindata.bzl
  62. 0 54
      kubernetes-v1.17/build/build-image/Dockerfile
  63. 0 1
      kubernetes-v1.17/build/build-image/VERSION
  64. 0 79
      kubernetes-v1.17/build/build-image/cross/Dockerfile
  65. 0 28
      kubernetes-v1.17/build/build-image/cross/Makefile
  66. 0 1
      kubernetes-v1.17/build/build-image/cross/VERSION
  67. 0 83
      kubernetes-v1.17/build/build-image/rsyncd.sh
  68. 0 90
      kubernetes-v1.17/build/code_generation.bzl
  69. 0 49
      kubernetes-v1.17/build/code_generation_test.bzl
  70. 0 745
      kubernetes-v1.17/build/common.sh
  71. 0 132
      kubernetes-v1.17/build/container.bzl
  72. 0 26
      kubernetes-v1.17/build/copy-output.sh
  73. 0 19
      kubernetes-v1.17/build/debian-base/Dockerfile
  74. 0 88
      kubernetes-v1.17/build/debian-base/Dockerfile.build
  75. 0 105
      kubernetes-v1.17/build/debian-base/Makefile
  76. 0 10
      kubernetes-v1.17/build/debian-base/OWNERS
  77. 0 12
      kubernetes-v1.17/build/debian-base/README.md
  78. 0 36
      kubernetes-v1.17/build/debian-base/clean-install
  79. 0 10
      kubernetes-v1.17/build/debian-base/excludes
  80. 0 1
      kubernetes-v1.17/build/debian-hyperkube-base/.gitignore
  81. 0 63
      kubernetes-v1.17/build/debian-hyperkube-base/Dockerfile
  82. 0 85
      kubernetes-v1.17/build/debian-hyperkube-base/Makefile
  83. 0 12
      kubernetes-v1.17/build/debian-hyperkube-base/OWNERS
  84. 0 25
      kubernetes-v1.17/build/debian-hyperkube-base/README.md
  85. 0 41
      kubernetes-v1.17/build/debian-iptables/Dockerfile
  86. 0 62
      kubernetes-v1.17/build/debian-iptables/Makefile
  87. 0 18
      kubernetes-v1.17/build/debian-iptables/OWNERS
  88. 0 24
      kubernetes-v1.17/build/debian-iptables/README.md
  89. 0 44
      kubernetes-v1.17/build/debian-iptables/iptables-wrapper
  90. 0 85
      kubernetes-v1.17/build/dependencies.yaml
  91. 0 103
      kubernetes-v1.17/build/go.bzl
  92. 0 199
      kubernetes-v1.17/build/kazel_generated.bzl
  93. 0 588
      kubernetes-v1.17/build/lib/release.sh
  94. 0 31
      kubernetes-v1.17/build/make-build-image.sh
  95. 0 26
      kubernetes-v1.17/build/make-clean.sh
  96. 0 2
      kubernetes-v1.17/build/nsswitch.conf
  97. 0 21
      kubernetes-v1.17/build/openapi.bzl
  98. 0 27
      kubernetes-v1.17/build/package-tarballs.sh
  99. 0 3
      kubernetes-v1.17/build/pause/.gitignore
  100. 0 0
      kubernetes-v1.17/build/pause/CHANGELOG.md

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+kubernetes-v1.17/

+ 0 - 1
kubernetes-v1.17/.bazelrc

@@ -1 +0,0 @@
-build/root/.bazelrc

+ 0 - 1
kubernetes-v1.17/.bazelversion

@@ -1 +0,0 @@
-build/root/.bazelversion

+ 0 - 27
kubernetes-v1.17/.generated_files

@@ -1,27 +0,0 @@
-# Files that should be ignored by tools which do not want to consider generated
-# code.
-#
-# https://github.com/kubernetes/contrib/blob/master/mungegithub/mungers/size.go
-#
-# This file is a series of lines, each of the form:
-#     <type> <name>
-#
-# Type can be:
-#    path - an exact path to a single file
-#    file-name - an exact leaf filename, regardless of path
-#    path-prefix - a prefix match on the file path
-#    file-prefix - a prefix match of the leaf filename (no path)
-#    paths-from-repo - read a file from the repo and load file paths
-#
-
-file-prefix	zz_generated.
-
-file-name	BUILD
-file-name	types.generated.go
-file-name	generated.pb.go
-file-name	generated.proto
-file-name	types_swagger_doc_generated.go
-
-path-prefix	Godeps/
-path-prefix	vendor/
-path-prefix	pkg/generated/

+ 0 - 10
kubernetes-v1.17/.gitattributes

@@ -1,10 +0,0 @@
-hack/verify-flags/known-flags.txt merge=union
-test/test_owners.csv merge=union
-
-**/zz_generated.*.go linguist-generated=true
-**/types.generated.go linguist-generated=true
-**/generated.pb.go linguist-generated=true
-**/generated.proto
-**/types_swagger_doc_generated.go linguist-generated=true
-api/openapi-spec/*.json linguist-generated=true
-staging/**/go.sum linguist-generated=true

+ 0 - 29
kubernetes-v1.17/.github/ISSUE_TEMPLATE/bug-report.md

@@ -1,29 +0,0 @@
----
-name: Bug Report
-about: Report a bug encountered while operating Kubernetes
-labels: kind/bug
-
----
-
-<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!
-
-If the matter is security related, please disclose it privately via https://kubernetes.io/security/
--->
-
-
-**What happened**:
-
-**What you expected to happen**:
-
-**How to reproduce it (as minimally and precisely as possible)**:
-
-**Anything else we need to know?**:
-
-**Environment**:
-- Kubernetes version (use `kubectl version`):
-- Cloud provider or hardware configuration:
-- OS (e.g: `cat /etc/os-release`):
-- Kernel (e.g. `uname -a`):
-- Install tools:
-- Network plugin and version (if this is a network-related bug):
-- Others:

+ 0 - 11
kubernetes-v1.17/.github/ISSUE_TEMPLATE/enhancement.md

@@ -1,11 +0,0 @@
----
-name: Enhancement Request
-about: Suggest an enhancement to the Kubernetes project
-labels: kind/feature
-
----
-<!-- Please only use this template for submitting enhancement requests -->
-
-**What would you like to be added**:
-
-**Why is this needed**:

+ 0 - 20
kubernetes-v1.17/.github/ISSUE_TEMPLATE/failing-test.md

@@ -1,20 +0,0 @@
----
-name: Failing Test
-about: Report continuously failing tests or jobs in Kubernetes CI
-labels: kind/failing-test
-
----
-
-<!-- Please only use this template for submitting reports about continuously failing tests or jobs in Kubernetes CI -->
-
-**Which jobs are failing**:
-
-**Which test(s) are failing**:
-
-**Since when has it been failing**:
-
-**Testgrid link**:
-
-**Reason for failure**:
-
-**Anything else we need to know**:

+ 0 - 20
kubernetes-v1.17/.github/ISSUE_TEMPLATE/flaking-test.md

@@ -1,20 +0,0 @@
----
-name: Flaking Test
-about: Report flaky tests or jobs in Kubernetes CI
-labels: kind/flake
-
----
-
-<!-- Please only use this template for submitting reports about flaky tests or jobs (pass or fail with no underlying change in code) in Kubernetes CI -->
-
-**Which jobs are flaking**:
-
-**Which test(s) are flaking**:
-
-**Testgrid link**:
-
-**Reason for failure**:
-
-**Anything else we need to know**:
-- links to go.k8s.io/triage appreciated
-- links to specific failures in spyglass appreciated

+ 0 - 18
kubernetes-v1.17/.github/ISSUE_TEMPLATE/support.md

@@ -1,18 +0,0 @@
----
-name: Support Request
-about: Support request or question relating to Kubernetes
-labels: triage/support
-
----
-
-<!--
-STOP -- PLEASE READ!
-
-GitHub is not the right place for support requests.
-
-If you're looking for help, check [Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes) and the [troubleshooting guide](https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/).
-
-You can also post your question on the [Kubernetes Slack](http://slack.k8s.io/) or the [Discuss Kubernetes](https://discuss.kubernetes.io/) forum.
-
-If the matter is security related, please disclose it privately via https://kubernetes.io/security/.
--->

+ 0 - 18
kubernetes-v1.17/.github/OWNERS

@@ -1,18 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-reviewers:
-  - castrojo
-  - cblecker
-  - guineveresaenger
-  - mrbobbytables
-  - nikhita
-  - parispittman
-  - Phillels
-approvers:
-  - castrojo
-  - cblecker
-  - nikhita
-  - parispittman
-  - Phillels
-labels:
-  - sig/contributor-experience

+ 0 - 67
kubernetes-v1.17/.github/PULL_REQUEST_TEMPLATE.md

@@ -1,67 +0,0 @@
-<!--  Thanks for sending a pull request!  Here are some tips for you:
-
-1. If this is your first time, please read our contributor guidelines: https://git.k8s.io/community/contributors/guide#your-first-contribution and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide
-2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request. For reference on required PR/issue labels, read here:
-https://git.k8s.io/community/contributors/devel/sig-release/release.md#issuepr-kind-label
-3. Ensure you have added or ran the appropriate tests for your PR: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
-4. If you want *faster* PR reviews, read how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
-5. If the PR is unfinished, see how to mark it: https://git.k8s.io/community/contributors/guide/pull-requests.md#marking-unfinished-pull-requests
--->
-
-**What type of PR is this?**
-> Uncomment only one ` /kind <>` line, hit enter to put that in a new line, and remove leading whitespace from that line:
->
-> /kind api-change
-> /kind bug
-> /kind cleanup
-> /kind deprecation
-> /kind design
-> /kind documentation
-> /kind failing-test
-> /kind feature
-> /kind flake
-
-**What this PR does / why we need it**:
-
-**Which issue(s) this PR fixes**:
-<!--
-*Automatically closes linked issue when PR is merged.
-Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-_If PR is about `failing-tests or flakes`, please post the related issues/tests in a comment and do not use `Fixes`_*
--->
-Fixes #
-
-**Special notes for your reviewer**:
-
-**Does this PR introduce a user-facing change?**:
-<!--
-If no, just write "NONE" in the release-note block below.
-If yes, a release note is required:
-Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-
-For more information on release notes see: https://git.k8s.io/community/contributors/guide/release-notes.md
--->
-```release-note
-
-```
-
-**Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.**:
-
-<!--
-This section can be blank if this pull request does not require a release note.
-
-When adding links which point to resources within git repositories, like
-KEPs or supporting documentation, please reference a specific commit and avoid
-linking directly to the master branch. This ensures that links reference a
-specific point in time, rather than a document that may change over time.
-
-See here for guidance on getting permanent links to files: https://help.github.com/en/articles/getting-permanent-links-to-files
-
-Please use the following format for linking documentation:
-- [KEP]: <link>
-- [Usage]: <link>
-- [Other doc]: <link>
--->
-```docs
-
-```

+ 0 - 14
kubernetes-v1.17/.github/SECURITY.md

@@ -1,14 +0,0 @@
-# Security Policy
-
-## Supported Versions
-
-Information about supported Kubernetes versions can be found on the
-[Kubernetes version and version skew support policy] page on the Kubernetes website.
-
-## Reporting a Vulnerability
-
-Instructions for reporting a vulnerability can be found on the
-[Kubernetes Security and Disclosure Information] page.
-
-[Kubernetes version and version skew support policy]: https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
-[Kubernetes Security and Disclosure Information]: https://kubernetes.io/docs/reference/issues-security/security/#report-a-vulnerability

+ 0 - 139
kubernetes-v1.17/.gitignore

@@ -1,139 +0,0 @@
-# OSX leaves these everywhere on SMB shares
-._*
-
-# OSX trash
-.DS_Store
-
-# Eclipse files
-.classpath
-.project
-.settings/**
-
-# Files generated by JetBrains IDEs, e.g. IntelliJ IDEA
-.idea/
-*.iml
-
-# Vscode files
-.vscode
-
-# This is where the result of the go build goes
-/output*/
-/_output*/
-/_output
-
-# Emacs save files
-*~
-\#*\#
-.\#*
-
-# Vim-related files
-[._]*.s[a-w][a-z]
-[._]s[a-w][a-z]
-*.un~
-Session.vim
-.netrwhist
-
-# cscope-related files
-cscope.*
-
-# Go test binaries
-*.test
-/hack/.test-cmd-auth
-
-# JUnit test output from ginkgo e2e tests
-/junit*.xml
-
-# Mercurial files
-**/.hg
-**/.hg*
-
-# Vagrant
-.vagrant
-network_closure.sh
-
-# Local cluster env variables
-/cluster/env.sh
-
-# Compiled binaries in third_party
-/third_party/pkg
-
-# Also ignore etcd installed by hack/install-etcd.sh
-/third_party/etcd*
-/default.etcd
-
-# User cluster configs
-.kubeconfig
-
-.tags*
-
-# Version file for dockerized build
-.dockerized-kube-version-defs
-
-# Web UI
-/www/master/node_modules/
-/www/master/npm-debug.log
-/www/master/shared/config/development.json
-
-# Karma output
-/www/test_out
-
-# precommit temporary directories created by ./hack/verify-generated-docs.sh and ./hack/lib/util.sh
-/_tmp/
-/doc_tmp/
-
-# Test artifacts produced by Jenkins jobs
-/_artifacts/
-
-# Go dependencies installed on Jenkins
-/_gopath/
-
-# Config directories created by gcloud and gsutil on Jenkins
-/.config/gcloud*/
-/.gsutil/
-
-# CoreOS stuff
-/cluster/libvirt-coreos/coreos_*.img
-
-# Juju Stuff
-/cluster/juju/charms/*
-/cluster/juju/bundles/local.yaml
-
-# Downloaded Kubernetes binary release
-/kubernetes/
-
-# direnv .envrc files
-.envrc
-
-# Downloaded kubernetes binary release tar ball
-kubernetes.tar.gz
-
-# generated files in any directory
-# TODO(thockin): uncomment this when we stop committing the generated files.
-#zz_generated.*
-zz_generated.openapi.go
-zz_generated_*_test.go
-
-# TODO(roycaihw): remove this when we stop committing the generated definition
-!staging/src/k8s.io/apiextensions-apiserver/pkg/generated/openapi/zz_generated.openapi.go
-# low-change blueprint in code-generator to notice changes
-!staging/src/k8s.io/code-generator/_examples/apiserver/openapi/zz_generated.openapi.go
-# low-change sample-apiserver spec to be compilable when published
-!staging/src/k8s.io/sample-apiserver/pkg/generated/openapi/zz_generated.openapi.go
-
-# make-related metadata
-/.make/
-
-# Just in time generated data in the source, should never be committed
-/test/e2e/generated/bindata.go
-
-# This file used by some vendor repos (e.g. github.com/go-openapi/...) to store secret variables and should not be ignored
-!\.drone\.sec
-
-# Godeps workspace
-/Godeps/_workspace
-
-/bazel-*
-*.pyc
-
-# generated by verify-vendor.sh
-vendordiff.patch

+ 0 - 1
kubernetes-v1.17/.kazelcfg.json

@@ -1 +0,0 @@
-build/root/.kazelcfg.json

+ 0 - 1
kubernetes-v1.17/BUILD.bazel

@@ -1 +0,0 @@
-build/root/BUILD.root

+ 0 - 1
kubernetes-v1.17/CHANGELOG.md

@@ -1 +0,0 @@
-CHANGELOG/README.md

File diff suppressed because it is too large
+ 0 - 3134
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.10.md


File diff suppressed because it is too large
+ 0 - 2576
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.11.md


File diff suppressed because it is too large
+ 0 - 2342
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.12.md


File diff suppressed because it is too large
+ 0 - 2224
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.13.md


File diff suppressed because it is too large
+ 0 - 2225
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.14.md


File diff suppressed because it is too large
+ 0 - 2033
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.15.md


File diff suppressed because it is too large
+ 0 - 2068
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.16.md


File diff suppressed because it is too large
+ 0 - 1692
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.17.md


File diff suppressed because it is too large
+ 0 - 411
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.18.md


+ 0 - 584
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.2.md

@@ -1,584 +0,0 @@
-<!-- BEGIN MUNGE: GENERATED_TOC -->
-- [v1.2.7](#v127)
-  - [Downloads for v1.2.7](#downloads-for-v127)
-    - [Client Binaries](#client-binaries)
-    - [Server Binaries](#server-binaries)
-  - [Changelog since v1.2.6](#changelog-since-v126)
-    - [Other notable changes](#other-notable-changes)
-- [v1.2.6](#v126)
-  - [Downloads for v1.2.6](#downloads-for-v126)
-  - [Changelog since v1.2.5](#changelog-since-v125)
-    - [Other notable changes](#other-notable-changes-1)
-- [v1.2.5](#v125)
-  - [Downloads for v1.2.5](#downloads-for-v125)
-  - [Changes since v1.2.4](#changes-since-v124)
-    - [Other notable changes](#other-notable-changes-2)
-- [v1.2.4](#v124)
-  - [Downloads for v1.2.4](#downloads-for-v124)
-  - [Changes since v1.2.3](#changes-since-v123)
-    - [Other notable changes](#other-notable-changes-3)
-- [v1.2.3](#v123)
-  - [Downloads for v1.2.3](#downloads-for-v123)
-  - [Changes since v1.2.2](#changes-since-v122)
-    - [Action Required](#action-required)
-    - [Other notable changes](#other-notable-changes-4)
-- [v1.2.2](#v122)
-  - [Downloads for v1.2.2](#downloads-for-v122)
-  - [Changes since v1.2.1](#changes-since-v121)
-    - [Other notable changes](#other-notable-changes-5)
-- [v1.2.1](#v121)
-  - [Downloads for v1.2.1](#downloads-for-v121)
-  - [Changes since v1.2.0](#changes-since-v120)
-    - [Other notable changes](#other-notable-changes-6)
-- [v1.2.0](#v120)
-  - [Downloads for v1.2.0](#downloads-for-v120)
-  - [Changes since v1.1.1](#changes-since-v111)
-    - [Major Themes](#major-themes)
-    - [Other notable improvements](#other-notable-improvements)
-    - [Experimental Features](#experimental-features)
-    - [Action required](#action-required-1)
-    - [Known Issues](#known-issues)
-      - [Docker Known Issues](#docker-known-issues)
-        - [1.9.1](#191)
-    - [Provider-specific Notes](#provider-specific-notes)
-      - [Various](#various)
-      - [AWS](#aws)
-      - [GCE](#gce)
-<!-- END MUNGE: GENERATED_TOC -->
-
-<!-- NEW RELEASE NOTES ENTRY -->
-
-
-# v1.2.7
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.7
-
-
-filename | sha256 hash
--------- | -----------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes.tar.gz) | `53db157923c17fa7a0addb3e4dfe7d1b9194b9266a87d371a251d5bb790a1832`
-[kubernetes-src.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-src.tar.gz) | `e6e46831706743d8263581d0575507cf5ffc265096d22e5e84cf1c3ae925db5e`
-
-### Client Binaries
-
-filename | sha256 hash
--------- | -----------
-[kubernetes-client-darwin-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-darwin-386.tar.gz) | `8418767e45c62c2ef5f9b4479ed02af64e190ce07dcbafa1920e93e71f419c55`
-[kubernetes-client-darwin-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-darwin-amd64.tar.gz) | `41d742c2c55e7686311978eaaddee3844b990a0fe49fa8597158bcb0ee4c05c9`
-[kubernetes-client-linux-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-linux-386.tar.gz) | `619e0a450cddf10ed1d42ed1d6330d41a75b9c1e00eb654cbe4b0422cd6099c5`
-[kubernetes-client-linux-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-linux-amd64.tar.gz) | `9a5fcd87514b88eb25173e574aef5b5343816c07ab5947d06787c9f12c40f54a`
-[kubernetes-client-linux-arm.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-linux-arm.tar.gz) | `fd6e39b4a56e03448382825f27f4f30a2e981a8d20f4a8cedbd084bbb4577d42`
-[kubernetes-client-windows-386.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-windows-386.tar.gz) | `862625cb3d9445cff1b09e4ebcdb60dd93b5b2dc34bb6022d2eeed7c8d8bc5d8`
-[kubernetes-client-windows-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-client-windows-amd64.tar.gz) | `054337e41187e39950de93e4670bc78a95b6901cc2f95c50ff437d9825ae94c5`
-
-### Server Binaries
-
-filename | sha256 hash
--------- | -----------
-[kubernetes-server-linux-amd64.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-server-linux-amd64.tar.gz) | `fef041e9cbe5bcf8fd708f81ee2e2783429af1ab9cfb151d645ef9be96e19b73`
-[kubernetes-server-linux-arm.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.7/kubernetes-server-linux-arm.tar.gz) | `ce02d7bcd75c31db4f7b9922c19ea2a3312b0ba579b0dcd96b279b661eca18a8`
-
-## Changelog since v1.2.6
-
-### Other notable changes
-
-* Test x509 intermediates correctly ([#34524](https://github.com/kubernetes/kubernetes/pull/34524), [@liggitt](https://github.com/liggitt))
-
-
-
-# v1.2.6
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.6
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.6/kubernetes.tar.gz) | `50023455d00af52c41a7158b4bd117b2dfd4a100` | `cf0411bcb620eb13b08b93578efffc43`
-
-## Changelog since v1.2.5
-
-### Other notable changes
-
-* Fix watch cache filtering ([#28967](https://github.com/kubernetes/kubernetes/pull/28967), [@liggitt](https://github.com/liggitt))
-* Fix problems with container restarts and flocker ([#25874](https://github.com/kubernetes/kubernetes/pull/25874), [@simonswine](https://github.com/simonswine))
-
-
-
-# v1.2.5
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.5
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.5/kubernetes.tar.gz) | `ddf12d7f37dfef25308798d71ad547761d0785ac` | `69d770df8fa4eceb57167e34df3962ca`
-
-## Changes since v1.2.4
-
-### Other notable changes
-
-* Retry Pod/RC updates in kubectl rolling-update ([#27509](https://github.com/kubernetes/kubernetes/pull/27509), [@janetkuo](https://github.com/janetkuo))
-* GCE provider: Create TargetPool with 200 instances, then update with rest ([#27865](https://github.com/kubernetes/kubernetes/pull/27865), [@zmerlynn](https://github.com/zmerlynn))
-* GCE provider: Limit Filter calls to regexps rather than large blobs ([#27741](https://github.com/kubernetes/kubernetes/pull/27741), [@zmerlynn](https://github.com/zmerlynn))
-* Fix strategic merge diff list diff bug ([#26418](https://github.com/kubernetes/kubernetes/pull/26418), [@AdoHe](https://github.com/AdoHe))
-* AWS: Fix long-standing bug in stringSetToPointers ([#26331](https://github.com/kubernetes/kubernetes/pull/26331), [@therc](https://github.com/therc))
-* AWS kube-up: Increase timeout waiting for docker start ([#25405](https://github.com/kubernetes/kubernetes/pull/25405), [@justinsb](https://github.com/justinsb))
-* Fix hyperkube flag parsing ([#25512](https://github.com/kubernetes/kubernetes/pull/25512), [@colhom](https://github.com/colhom))
-* kubectl rolling-update support for same image ([#24645](https://github.com/kubernetes/kubernetes/pull/24645), [@jlowdermilk](https://github.com/jlowdermilk))
-* Return "410 Gone" errors via watch stream when using watch cache ([#25369](https://github.com/kubernetes/kubernetes/pull/25369), [@liggitt](https://github.com/liggitt))
-
-
-
-# v1.2.4
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.4
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.4/kubernetes.tar.gz) | `f3aea83f8f0e16b2b41998a2edc09eb42fd8d945` | `ab0aca3a20e8eba43c8ff9d672793618`
-
-## Changes since v1.2.3
-
-### Other notable changes
-
-* Ensure status is not changed during an update of PV, PVC, HPA objects ([#24924](https://github.com/kubernetes/kubernetes/pull/24924), [@mqliang](https://github.com/mqliang))
-* GCI: Add two GCI specific metadata pairs ([#25105](https://github.com/kubernetes/kubernetes/pull/25105), [@andyzheng0831](https://github.com/andyzheng0831))
-* Add an entry to the salt config to allow Debian jessie on GCE. ([#25123](https://github.com/kubernetes/kubernetes/pull/25123), [@jlewi](https://github.com/jlewi))
-    * As with the existing Wheezy image on GCE, docker is expected
-    * to already be installed in the image.
-* Fix DeletingLoadBalancer event generation. ([#24833](https://github.com/kubernetes/kubernetes/pull/24833), [@a-robinson](https://github.com/a-robinson))
-* GCE: Prefer preconfigured node tags for firewalls, if available ([#25148](https://github.com/kubernetes/kubernetes/pull/25148), [@a-robinson](https://github.com/a-robinson))
-* Drain pods created from ReplicaSets in 'kubectl drain' ([#23689](https://github.com/kubernetes/kubernetes/pull/23689), [@maclof](https://github.com/maclof))
-* GCI: Update the command to get the image ([#24987](https://github.com/kubernetes/kubernetes/pull/24987), [@andyzheng0831](https://github.com/andyzheng0831))
-* Validate deletion timestamp doesn't change on update ([#24839](https://github.com/kubernetes/kubernetes/pull/24839), [@liggitt](https://github.com/liggitt))
-* Add support for running clusters on GCI ([#24893](https://github.com/kubernetes/kubernetes/pull/24893), [@andyzheng0831](https://github.com/andyzheng0831))
-* Trusty: Add retry in curl commands ([#24749](https://github.com/kubernetes/kubernetes/pull/24749), [@andyzheng0831](https://github.com/andyzheng0831))
-
-
-
-# v1.2.3
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.3
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.3/kubernetes.tar.gz) | `b2ce4e0c72562d09ba06e3c0913f0bd78da0285e` | `69e75650de30d5a52d144799e94a168d`
-
-## Changes since v1.2.2
-
-### Action Required
-
-* Make watch cache treat resourceVersion consistent with uncached watch ([#24008](https://github.com/kubernetes/kubernetes/pull/24008), [@liggitt](https://github.com/liggitt))
-
-### Other notable changes
-
-* Fix unintended change of Service.spec.ports[].nodePort during kubectl apply ([#24180](https://github.com/kubernetes/kubernetes/pull/24180), [@AdoHe](https://github.com/AdoHe))
-* Flush conntrack state for removed/changed UDP Services ([#22573](https://github.com/kubernetes/kubernetes/pull/22573), [@freehan](https://github.com/freehan))
-* Allow setting the Host header in a httpGet probe ([#24292](https://github.com/kubernetes/kubernetes/pull/24292), [@errm](https://github.com/errm))
-* Bridge off-cluster traffic into services by masquerading. ([#24429](https://github.com/kubernetes/kubernetes/pull/24429), [@cjcullen](https://github.com/cjcullen))
-* Version-guard Kubectl client Guestbook application test against deployments ([#24478](https://github.com/kubernetes/kubernetes/pull/24478), [@ihmccreery](https://github.com/ihmccreery))
-* Fix goroutine leak in ssh-tunnel healthcheck. ([#24487](https://github.com/kubernetes/kubernetes/pull/24487), [@cjcullen](https://github.com/cjcullen))
-* Fixed mounting with containerized kubelet ([#23435](https://github.com/kubernetes/kubernetes/pull/23435), [@jsafrane](https://github.com/jsafrane))
-* Do not throw creation errors for containers that fail immediately after being started ([#23894](https://github.com/kubernetes/kubernetes/pull/23894), [@vishh](https://github.com/vishh))
-* Honor starting resourceVersion in watch cache ([#24208](https://github.com/kubernetes/kubernetes/pull/24208), [@ncdc](https://github.com/ncdc))
-* Fix TerminationMessagePath ([#23658](https://github.com/kubernetes/kubernetes/pull/23658), [@Random-Liu](https://github.com/Random-Liu))
-* Fix gce.getDiskByNameUnknownZone logic. ([#24452](https://github.com/kubernetes/kubernetes/pull/24452), [@a-robinson](https://github.com/a-robinson))
-* kubelet: add RSS memory to the summary API ([#24015](https://github.com/kubernetes/kubernetes/pull/24015), [@yujuhong](https://github.com/yujuhong))
-* e2e: adapt kubelet_perf.go to use the new summary metrics API ([#24003](https://github.com/kubernetes/kubernetes/pull/24003), [@yujuhong](https://github.com/yujuhong))
-* e2e: fix error checking in kubelet stats ([#24205](https://github.com/kubernetes/kubernetes/pull/24205), [@yujuhong](https://github.com/yujuhong))
-* Trusty: Avoid unnecessary in-memory temp files ([#24144](https://github.com/kubernetes/kubernetes/pull/24144), [@andyzheng0831](https://github.com/andyzheng0831))
-* Allowing type object in kubectl swagger validation ([#24054](https://github.com/kubernetes/kubernetes/pull/24054), [@nikhiljindal](https://github.com/nikhiljindal))
-* Add ClusterUpgrade tests ([#24150](https://github.com/kubernetes/kubernetes/pull/24150), [@ihmccreery](https://github.com/ihmccreery))
-* Trusty: Do not create the docker-daemon cgroup ([#23996](https://github.com/kubernetes/kubernetes/pull/23996), [@andyzheng0831](https://github.com/andyzheng0831))
-
-
-
-# v1.2.2
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.2
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.2/kubernetes.tar.gz) | `8dede5833a1986434adea80749624f81a0db7bb4` | `72a5389f22827fb5133fdc3b7bfb9b3a`
-
-## Changes since v1.2.1
-
-### Other notable changes
-
-* Trusty: Update heapster manifest handling code ([#23434](https://github.com/kubernetes/kubernetes/pull/23434), [@andyzheng0831](https://github.com/andyzheng0831))
-* Support addon Deployments, make heapster a deployment with a nanny. ([#22893](https://github.com/kubernetes/kubernetes/pull/22893), [@Q-Lee](https://github.com/Q-Lee))
-* Create a new Deployment in kube-system for every version. ([#23512](https://github.com/kubernetes/kubernetes/pull/23512), [@Q-Lee](https://github.com/Q-Lee))
-* Use SCP to dump logs and parallelize a bit. ([#22835](https://github.com/kubernetes/kubernetes/pull/22835), [@spxtr](https://github.com/spxtr))
-* Trusty: Regional release .tar.gz support ([#23558](https://github.com/kubernetes/kubernetes/pull/23558), [@andyzheng0831](https://github.com/andyzheng0831))
-* Make ConfigMap volume readable as non-root ([#23793](https://github.com/kubernetes/kubernetes/pull/23793), [@pmorie](https://github.com/pmorie))
-* only include running and pending pods in daemonset should place calculation ([#23929](https://github.com/kubernetes/kubernetes/pull/23929), [@mikedanese](https://github.com/mikedanese))
-* A pod never terminated if a container image registry was unavailable ([#23746](https://github.com/kubernetes/kubernetes/pull/23746), [@derekwaynecarr](https://github.com/derekwaynecarr))
-* Update Dashboard UI addon to v1.0.1 ([#23724](https://github.com/kubernetes/kubernetes/pull/23724), [@maciaszczykm](https://github.com/maciaszczykm))
-* Ensure object returned by volume getCloudProvider incorporates cloud config ([#23769](https://github.com/kubernetes/kubernetes/pull/23769), [@saad-ali](https://github.com/saad-ali))
-* Add a timeout to the sshDialer to prevent indefinite hangs. ([#23843](https://github.com/kubernetes/kubernetes/pull/23843), [@cjcullen](https://github.com/cjcullen))
-* AWS kube-up: tolerate a lack of ephemeral volumes ([#23776](https://github.com/kubernetes/kubernetes/pull/23776), [@justinsb](https://github.com/justinsb))
-* Fix so setup-files don't recreate/invalidate certificates that already exist ([#23550](https://github.com/kubernetes/kubernetes/pull/23550), [@luxas](https://github.com/luxas))
-
-
-
-# v1.2.1
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.1
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.1/kubernetes.tar.gz) | `1639807c5788e1c6b1ab51fd30b723fb5debd865` | `235a1da47972c96a560d718d3256ca4f`
-
-
-## Changes since v1.2.0
-
-### Other notable changes
-
-* AWS: Fix problems with >2 security groups ([#23340](https://github.com/kubernetes/kubernetes/pull/23340), [@justinsb](https://github.com/justinsb))
-* IngressTLS: allow secretName to be blank for SNI routing ([#23500](https://github.com/kubernetes/kubernetes/pull/23500), [@tam7t](https://github.com/tam7t))
-* Heapster patch release to 1.0.2 ([#23487](https://github.com/kubernetes/kubernetes/pull/23487), [@piosz](https://github.com/piosz))
-* Remove unnecessary override of /etc/init.d/docker on containervm image. ([#23593](https://github.com/kubernetes/kubernetes/pull/23593), [@dchen1107](https://github.com/dchen1107))
-* Change kube-proxy & fluentd CPU request to 20m/80m. ([#23646](https://github.com/kubernetes/kubernetes/pull/23646), [@cjcullen](https://github.com/cjcullen))
-* make docker-checker more robust ([#23662](https://github.com/kubernetes/kubernetes/pull/23662), [@ArtfulCoder](https://github.com/ArtfulCoder))
-* validate that daemonsets don't have empty selectors on creation ([#23530](https://github.com/kubernetes/kubernetes/pull/23530), [@mikedanese](https://github.com/mikedanese))
-* don't sync deployment when pod selector is empty ([#23467](https://github.com/kubernetes/kubernetes/pull/23467), [@mikedanese](https://github.com/mikedanese))
-* Support differentiation of OS distro in e2e tests ([#23466](https://github.com/kubernetes/kubernetes/pull/23466), [@andyzheng0831](https://github.com/andyzheng0831))
-* don't sync daemonsets with selectors that match all pods ([#23223](https://github.com/kubernetes/kubernetes/pull/23223), [@mikedanese](https://github.com/mikedanese))
-* Trusty: Avoid reaching GCE custom metadata size limit ([#22818](https://github.com/kubernetes/kubernetes/pull/22818), [@andyzheng0831](https://github.com/andyzheng0831))
-* Update kubectl help for 1.2 resources ([#23305](https://github.com/kubernetes/kubernetes/pull/23305), [@janetkuo](https://github.com/janetkuo))
-* Removing URL query param from swagger UI to fix the XSS issue ([#23234](https://github.com/kubernetes/kubernetes/pull/23234), [@nikhiljindal](https://github.com/nikhiljindal))
-* Fix hairpin mode ([#23325](https://github.com/kubernetes/kubernetes/pull/23325), [@MurgaNikolay](https://github.com/MurgaNikolay))
-* Bump to container-vm-v20160321 ([#23313](https://github.com/kubernetes/kubernetes/pull/23313), [@zmerlynn](https://github.com/zmerlynn))
-* Remove the restart-kube-proxy and restart-apiserver functions ([#23180](https://github.com/kubernetes/kubernetes/pull/23180), [@roberthbailey](https://github.com/roberthbailey))
-* Copy annotations back from RS to Deployment on rollback ([#23160](https://github.com/kubernetes/kubernetes/pull/23160), [@janetkuo](https://github.com/janetkuo))
-* Trusty: Support hybrid cluster with nodes on ContainerVM ([#23079](https://github.com/kubernetes/kubernetes/pull/23079), [@andyzheng0831](https://github.com/andyzheng0831))
-* update expose command description to add deployment ([#23246](https://github.com/kubernetes/kubernetes/pull/23246), [@AdoHe](https://github.com/AdoHe))
-* Add a rate limiter to the GCE cloudprovider ([#23019](https://github.com/kubernetes/kubernetes/pull/23019), [@alex-mohr](https://github.com/alex-mohr))
-* Add a Deployment example for kubectl expose. ([#23222](https://github.com/kubernetes/kubernetes/pull/23222), [@madhusudancs](https://github.com/madhusudancs))
-* Use versioned object when computing patch ([#23145](https://github.com/kubernetes/kubernetes/pull/23145), [@liggitt](https://github.com/liggitt))
-* kubelet: send all recevied pods in one update ([#23141](https://github.com/kubernetes/kubernetes/pull/23141), [@yujuhong](https://github.com/yujuhong))
-* Add a SSHKey sync check to the master's healthz (when using SSHTunnels). ([#23167](https://github.com/kubernetes/kubernetes/pull/23167), [@cjcullen](https://github.com/cjcullen))
-* Validate minimum CPU limits to be >= 10m ([#23143](https://github.com/kubernetes/kubernetes/pull/23143), [@vishh](https://github.com/vishh))
-* Fix controller-manager race condition issue which cause endpoints flush during restart ([#23035](https://github.com/kubernetes/kubernetes/pull/23035), [@xinxiaogang](https://github.com/xinxiaogang))
-* MESOS: forward globally declared cadvisor housekeeping flags ([#22974](https://github.com/kubernetes/kubernetes/pull/22974), [@jdef](https://github.com/jdef))
-* Trusty: support developer workflow on base image ([#22960](https://github.com/kubernetes/kubernetes/pull/22960), [@andyzheng0831](https://github.com/andyzheng0831))
-
-
-
-# v1.2.0
-
-[Documentation](http://kubernetes.github.io) & [Examples](http://releases.k8s.io/release-1.2/examples)
-
-## Downloads for v1.2.0
-
-binary | sha1 hash | md5 hash
------- | --------- | --------
-[kubernetes.tar.gz](https://storage.googleapis.com/kubernetes-release/release/v1.2.0/kubernetes.tar.gz) | `52dd998e1191f464f581a9b87017d70ce0b058d9` | `c0ce9e6150e9d7a19455db82f3318b4c`
-
-## Changes since v1.1.1
-
-### Major Themes
-
-  * <strong>Significant scale improvements</strong>. Increased cluster scale by 400% to 1000 nodes with 30,000 pods per cluster.
-Kubelet supports 100 pods per node with 4x reduced system overhead.
-  * <strong>Simplified application deployment and management. </strong>
-     * Dynamic Configuration (ConfigMap API in the core API group) enables application
-configuration to be stored as a Kubernetes API object and pulled dynamically on
-container startup, as an alternative to baking in command-line flags when a
-container is built.
-     * Turnkey Deployments (Deployment API (Beta) in the Extensions API group)
-automate deployment and rolling updates of applications, specified
-declaratively. It handles versioning, multiple simultaneous rollouts,
-aggregating status across all pods, maintaining application availability, and
-rollback.
-  * <strong>Automated cluster management: </strong>
-     * Kubernetes clusters can now span zones within a cloud provider. Pods from a
-service will be automatically spread across zones, enabling applications to
-tolerate zone failure.
-     * Simplified way to run a container on every node (DaemonSet API (Beta) in the
-Extensions API group): Kubernetes can schedule a service (such as a logging
-agent) that runs one, and only one, pod per node.
-     * TLS and L7 support (Ingress API (Beta) in the Extensions API group): Kubernetes
-is now easier to integrate into custom networking environments by supporting
-TLS for secure communication and L7 http-based traffic routing.
-     * Graceful Node Shutdown (aka drain) - The new “kubectl drain” command gracefully
-evicts pods from nodes in preparation for disruptive operations like kernel
-upgrades or maintenance.
-     * Custom Metrics for Autoscaling (HorizontalPodAutoscaler API in the Autoscaling
-API group): The Horizontal Pod Autoscaling feature now supports custom metrics
-(Alpha), allowing you to specify application-level metrics and thresholds to
-trigger scaling up and down the number of pods in your application.
-  * <strong>New GUI</strong> (dashboard) allows you to get started quickly and enables the same
-functionality found in the CLI as a more approachable and discoverable way of
-interacting with the system. Note: the GUI is enabled by default in 1.2 clusters.
-
-<img src="docs/images/newgui.png" width="" alt="Dashboard UI screenshot showing cards that represent applications that run inside a cluster" title="Dashboard UI apps screen">
-
-### Other notable improvements
-
-  * Job was Beta in 1.1 and is GA in 1.2 .
-     * <code>apiVersion: batch/v1 </code>is now available.  You now do not need to specify the <code>.spec.selector</code> field — a [unique selector is automatically generated ](http://kubernetes.io/docs/user-guide/jobs/#pod-selector)for you.
-     * The previous version, <code>apiVersion: extensions/v1beta1</code>, is still supported.  Even if you roll back to 1.1, the objects created using
-the new apiVersion will still be accessible, using the old version.   You can
-continue to use your existing JSON and YAML files until you are ready to switch
-to <code>batch/v1</code>.  We may remove support for Jobs with  <code>apiVersion: extensions/v1beta1 </code>in 1.3 or 1.4.
-  *  HorizontalPodAutoscaler was Beta in 1.1 and is GA in 1.2 .
-     * <code>apiVersion: autoscaling/v1 </code>is now available.  Changes in this version are:
-        * Field CPUUtilization which was a nested structure CPUTargetUtilization in
-HorizontalPodAutoscalerSpec was replaced by TargetCPUUtilizationPercentage
-which is an integer.
-        * ScaleRef of type SubresourceReference in HorizontalPodAutoscalerSpec which
-referred to scale subresource of the resource being scaled was replaced by
-ScaleTargetRef which points just to the resource being scaled.
-        * In extensions/v1beta1 if CPUUtilization in HorizontalPodAutoscalerSpec was not
-specified it was set to 80 by default while in autoscaling/v1 HPA object
-without TargetCPUUtilizationPercentage specified is a valid object. Pod
-autoscaler controller will apply a default scaling policy in this case which is
-equivalent to the previous one but may change in the future.
-     * The previous version, <code>apiVersion: extensions/v1beta1</code>, is still supported.  Even if you roll back to 1.1, the objects created using
-the new apiVersions will still be accessible, using the old version.  You can
-continue to use your existing JSON and YAML files until you are ready to switch
-to <code>autoscaling/v1</code>.  We may remove support for HorizontalPodAutoscalers with  <code>apiVersion: extensions/v1beta1 </code>in 1.3 or 1.4.
-  * Kube-Proxy now defaults to an iptables-based proxy. If the --proxy-mode flag is
-specified while starting kube-proxy (‘userspace’ or ‘iptables’), the flag value
-will be respected. If the flag value is not specified, the kube-proxy respects
-the Node object annotation: ‘net.beta.kubernetes.io/proxy-mode’. If the
-annotation is not specified, then ‘iptables’ mode is the default. If kube-proxy
-is unable to start in iptables mode because system requirements are not met
-(kernel or iptables versions are insufficient), the kube-proxy will fall-back
-to userspace mode. Kube-proxy is much more performant and less
-resource-intensive in ‘iptables’ mode.
-  * Node stability can be improved by reserving [resources](https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/proposals/node-allocatable.md) for the base operating system using --system-reserved and --kube-reserved Kubelet flags
-  * Liveness and readiness probes now support more configuration parameters:
-periodSeconds, successThreshold, failureThreshold
-  * The new ReplicaSet API (Beta) in the Extensions API group is similar to
-ReplicationController, but its [selector](http://kubernetes.io/docs/user-guide/labels/#label-selectors) is more general (supports set-based selector; whereas ReplicationController
-only supports equality-based selector).
-  * Scale subresource support is now expanded to ReplicaSets along with
-ReplicationControllers and Deployments. Scale now supports two different types
-of selectors to accommodate both [equality-based selectors](http://kubernetes.io/docs/user-guide/labels/#equality-based-requirement) supported by ReplicationControllers and [set-based selectors](http://kubernetes.io/docs/user-guide/labels/#set-based-requirement) supported by Deployments and ReplicaSets.
-  * “kubectl run” now produces Deployments (instead of ReplicationControllers) and
-Jobs (instead of Pods) by default.
-  * Pods can now consume Secret data in environment variables and inject those
-environment variables into a container’s command-line args.
-  * Stable version of Heapster which scales up to 1000 nodes: more metrics, reduced
-latency, reduced cpu/memory consumption (~4mb per monitored node).
-  * Pods now have a security context which allows users to specify:
-     * attributes which apply to the whole pod:
-        * User ID
-        * Whether all containers should be non-root
-        * Supplemental Groups
-        * FSGroup - a special supplemental group
-        * SELinux options
-     * If a pod defines an FSGroup, that Pod’s system (emptyDir, secret, configMap,
-etc) volumes and block-device volumes will be owned by the FSGroup, and each
-container in the pod will run with the FSGroup as a supplemental group
-  * Volumes that support SELinux labelling are now automatically relabeled with the
-Pod’s SELinux context, if specified
-  * A stable client library release\_1\_2 is added. The library is [here](pkg/client/clientset_generated/), and detailed doc is [here](docs/devel/generating-clientset.md#released-clientsets). We will keep the interface of this go client stable.
-  * New Azure File Service Volume Plugin enables mounting Microsoft Azure File
-Volumes (SMB 2.1 and 3.0) into a Pod. See [example](https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/azure_file/README.md) for details.
-  * Logs usage and root filesystem usage of a container, volumes usage of a pod and node disk usage are exposed through Kubelet new metrics API.
-
-### Experimental Features
-
-  * Dynamic Provisioning of PersistentVolumes: Kubernetes previously required all
-volumes to be manually provisioned by a cluster administrator before use. With
-this feature, volume plugins that support it (GCE PD, AWS EBS, and Cinder) can
-automatically provision a PersistentVolume to bind to an unfulfilled
-PersistentVolumeClaim.
-  * Run multiple schedulers in parallel, e.g. one or more custom schedulers
-alongside the default Kubernetes scheduler, using pod annotations to select
-among the schedulers for each pod. Documentation is [here](http://kubernetes.io/docs/admin/multiple-schedulers.md), design doc is [here](docs/proposals/multiple-schedulers.md).
-  * More expressive node affinity syntax, and support for “soft” node affinity.
-Node selectors (to constrain pods to schedule on a subset of nodes) now support
-the operators {<code>In, NotIn, Exists, DoesNotExist, Gt, Lt</code>}  instead of just conjunction of exact match on node label values. In
-addition, we’ve introduced a new “soft” kind of node selector that is just a
-hint to the scheduler; the scheduler will try to satisfy these requests but it
-does not guarantee they will be satisfied. Both the “hard” and “soft” variants
-of node affinity use the new syntax. Documentation is [here](http://kubernetes.io/docs/user-guide/node-selection/) (see section “Alpha feature in Kubernetes v1.2: Node Affinity“). Design doc is [here](https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/design/nodeaffinity.md).
-  * A pod can specify its own Hostname and Subdomain via annotations (<code>pod.beta.kubernetes.io/hostname, pod.beta.kubernetes.io/subdomain)</code>. If the Subdomain matches the name of a [headless service](http://kubernetes.io/docs/user-guide/services/#headless-services) in the same namespace, a DNS A record is also created for the pod’s FQDN. More
-details can be found in the [DNS README](https://github.com/kubernetes/kubernetes/blob/release-1.2/cluster/saltbase/salt/kube-dns/README.md#a-records-and-hostname-based-on-pod-annotations---a-beta-feature-in-kubernetes-v12). Changes were introduced in PR [#20688](https://github.com/kubernetes/kubernetes/pull/20688).
-  * New SchedulerExtender enables users to implement custom
-out-of-(the-scheduler)-process scheduling predicates and priority functions,
-for example to schedule pods based on resources that are not directly managed
-by Kubernetes. Changes were introduced in PR [#13580](https://github.com/kubernetes/kubernetes/pull/13580). Example configuration and documentation is available [here](docs/design/scheduler_extender.md). This is an alpha feature and may not be supported in its current form at beta
-or GA.
-  * New Flex Volume Plugin enables users to use out-of-process volume plugins that
-are installed to “/usr/libexec/kubernetes/kubelet-plugins/volume/exec/” on
-every node, instead of being compiled into the Kubernetes binary. See [example](examples/volumes/flexvolume/README.md) for details.
-  * vendor volumes into a pod. It expects vendor drivers are installed in the
-volume plugin path on each kubelet node. This is an alpha feature and may
-change in future.
-  * Kubelet exposes a new Alpha metrics API - /stats/summary in a user friendly format with reduced system overhead. The measurement is done in PR [#22542](https://github.com/kubernetes/kubernetes/pull/22542).
-
-### Action required
-
-  * Docker v1.9.1 is officially recommended. Docker v1.8.3 and Docker v1.10 are
-supported. If you are using an older release of Docker, please upgrade. Known
-issues with Docker 1.9.1 can be found below.
-  * CPU hardcapping will be enabled by default for containers with CPU limit set,
-if supported by the kernel. You should either adjust your CPU limit, or set CPU
-request only, if you want to avoid hardcapping. If the kernel does not support
-CPU Quota, NodeStatus will contain a warning indicating that CPU Limits cannot
-be enforced.
-  * The following applies only if you use the Go language client (<code>/pkg/client/unversioned</code>) to create Job by defining Go variables of type "<code>k8s.io/kubernetes/pkg/apis/extensions".Job</code>).  We think <strong>this is not common</strong>, so if you are not sure what this means, you probably aren't doing this.  If
-you do this, then, at the time you re-vendor the "<code>k8s.io/kubernetes/"</code> code, you will need to set <code>job.Spec.ManualSelector = true</code>, or else set <code>job.Spec.Selector = nil.  </code>Otherwise, the jobs you create may be rejected.  See [Specifying your own pod selector](http://kubernetes.io/docs/user-guide/jobs/#specifying-your-own-pod-selector).
-  * Deployment was Alpha in 1.1 (though it had apiVersion extensions/v1beta1) and
-was disabled by default. Due to some non-backward-compatible API changes, any
-Deployment objects you created in 1.1 won’t work with in the 1.2 release.
-     * Before upgrading to 1.2, <strong>delete all Deployment alpha-version resources</strong>, including the Replication Controllers and Pods the Deployment manages. Then
-create Deployment Beta resources after upgrading to 1.2. Not deleting the
-Deployment objects may cause the deployment controller to mistakenly match
-other pods and delete them, due to the selector API change.
-     * Client (kubectl) and server versions must match (both 1.1 or both 1.2) for any
-Deployment-related operations.
-     * Behavior change:
-        * Deployment creates ReplicaSets instead of ReplicationControllers.
-        * Scale subresource now has a new <code>targetSelector</code> field in its status. This field supports the new set-based selectors supported
-by Deployments, but in a serialized format.
-     * Spec change:
-        * Deployment’s [selector](http://kubernetes.io/docs/user-guide/labels/#label-selectors) is now more general (supports set-based selector; it only supported
-equality-based selector in 1.1).
-        * .spec.uniqueLabelKey is removed -- users can’t customize unique label key --
-and its default value is changed from
-“deployment.kubernetes.io/podTemplateHash” to “pod-template-hash”.
-        * .spec.strategy.rollingUpdate.minReadySeconds is moved to .spec.minReadySeconds
-  * DaemonSet was Alpha in 1.1 (though it had apiVersion extensions/v1beta1) and
-was disabled by default. Due to some non-backward-compatible API changes, any
-DaemonSet objects you created in 1.1 won’t work with in the 1.2 release.
-     * Before upgrading to 1.2, <strong>delete all DaemonSet alpha-version resources</strong>. If you do not want to disrupt the pods, use kubectl delete daemonset <name>
---cascade=false. Then create DaemonSet Beta resources after upgrading to 1.2.
-     * Client (kubectl) and server versions must match (both 1.1 or both 1.2) for any
-DaemonSet-related operations.
-     * Behavior change:
-        * DaemonSet pods will be created on nodes with .spec.unschedulable=true and will
-not be evicted from nodes whose Ready condition is false.
-        * Updates to the pod template are now permitted. To perform a rolling update of a
-DaemonSet, update the pod template and then delete its pods one by one; they
-will be replaced using the updated template.
-     * Spec change:
-        * DaemonSet’s [selector](http://kubernetes.io/docs/user-guide/labels/#label-selectors) is now more general (supports set-based selector; it only supported
-equality-based selector in 1.1).
-  * Running against a secured etcd requires these flags to be passed to
-kube-apiserver (instead of --etcd-config):
-     * --etcd-certfile, --etcd-keyfile (if using client cert auth)
-     * --etcd-cafile (if not using system roots)
-  * As part of preparation in 1.2 for adding support for protocol buffers (and the
-direct YAML support in the API available today), the Content-Type and Accept
-headers are now properly handled as per the HTTP spec.  As a consequence, if
-you had a client that was sending an invalid Content-Type or Accept header to
-the API, in 1.2 you will either receive a 415 or 406 error.
-The only client
-this is known to affect is curl when you use -d with JSON but don't set a
-content type, helpfully sends "application/x-www-urlencoded", which is not
-correct.
-Other client authors should double check that you are sending proper
-accept and content type headers, or set no value (in which case JSON is the
-default).
-An example using curl:
-<code>curl -H "Content-Type: application/json" -XPOST -d
-'{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"kube-system"}}' "[http://127.0.0.1:8080/api/v1/namespaces](http://127.0.0.1:8080/api/v1/namespaces)"</code>
-  * The version of InfluxDB is bumped from 0.8 to 0.9 which means storage schema
-change. More details [here](https://docs.influxdata.com/influxdb/v0.9/administration/upgrading/).
-  * We have renamed “minions” to “nodes”.  If you were specifying NUM\_MINIONS or
-MINION\_SIZE to kube-up, you should now specify NUM\_NODES or NODE\_SIZE.
-
-### Known Issues
-
-  * Paused deployments can't be resized and don't clean up old ReplicaSets.
-  * Minimum memory limit is 4MB. This is a docker limitation
-  * Minimum CPU limits is 10m. This is a Linux Kernel limitation
-  * “kubectl rollout undo” (i.e. rollback) will hang on paused deployments, because
-paused deployments can’t be rolled back (this is expected), and the command
-waits for rollback events to return the result. Users should use “kubectl
-rollout resume” to resume a deployment before rolling back.
-  * “kubectl edit <list>” will open the editor multiple times, once for each
-resource in the list.
-  * If you create HPA object using autoscaling/v1 API without specifying
-targetCPUUtilizationPercentage and read it using kubectl it will print default
-value as specified in extensions/v1beta1 (see details in [#23196](https://github.com/kubernetes/kubernetes/issues/23196)).
-  * If a node or kubelet crashes with a volume attached, the volume will remain
-attached to that node. If that volume can only be attached to one node at a
-time (GCE PDs attached in RW mode, for example), then the volume must be
-manually detached before Kubernetes can attach it to other nodes.
-  * If a volume is already attached to a node any subsequent attempts to attach it
-again (due to kubelet restart, for example) will fail. The volume must either
-be manually detached first or the pods referencing it deleted (which would
-trigger automatic volume detach).
-  * In very large clusters it may happen that a few nodes won’t register in API
-server in a given timeframe for whatever reasons (networking issue, machine
-failure, etc.). Normally when kube-up script will encounter even one NotReady
-node it will fail, even though the cluster most likely will be working. We
-added an environmental variable to kube-up ALLOWED\_NOTREADY\_NODES that
-defines the number of nodes that if not Ready in time won’t cause kube-up
-failure.
-  * “kubectl rolling-update” only supports Replication Controllers (it doesn’t
-support Replica Sets). It’s recommended to use Deployment 1.2 with “kubectl
-rollout” commands instead, if you want to rolling update Replica Sets.
-  * When live upgrading Kubelet to 1.2 without draining the pods running on the node,
-the containers will be restarted by Kubelet (see details in [#23104](https://github.com/kubernetes/kubernetes/issues/23104)).
-
-#### Docker Known Issues
-
-##### 1.9.1
-
-  * Listing containers can be slow at times which will affect kubelet performance.
-More information [here](https://github.com/docker/docker/issues/17720)
-  * Docker daemon restarts can fail. Docker checkpoints have to deleted between
-restarts. More information [here](https://github.com/kubernetes/kubernetes/issues/20995)
-  * Pod IP allocation-related issues. Deleting the docker checkpoint prior to
-restarting the daemon alleviates this issue, but hasn’t been verified to
-completely eliminate the IP allocation issue. More information [here](https://github.com/kubernetes/kubernetes/issues/21523#issuecomment-191498969)
-  * Daemon becomes unresponsive (rarely) due to kernel deadlocks. More information [here](https://github.com/kubernetes/kubernetes/issues/21866#issuecomment-189492391)
-
-### Provider-specific Notes
-
-#### Various
-
-   Core changes:
-
-  * Support for load balancers with source ranges
-
-#### AWS
-
-Core changes:
-
-  * Support for ELBs with complex configurations: better subnet selection with
-multiple subnets, and internal ELBs
-  * Support for VPCs with private dns names
-  * Multiple fixes to EBS volume mounting code for robustness, and to support
-mounting the full number of AWS recommended volumes.
-  * Multiple fixes to avoid hitting AWS rate limits, and to throttle if we do
-  * Support for the EC2 Container Registry (currently in us-east-1 only)
-
-With kube-up:
-
-  * Automatically install updates on boot & reboot
-  * Use optimized image based on Jessie by default
-  * Add support for Ubuntu Wily
-  * Master is configured with automatic restart-on-failure, via CloudWatch
-  * Bootstrap reworked to be more similar to GCE; better supports reboots/restarts
-  * Use an elastic IP for the master by default
-  * Experimental support for node spot instances (set NODE\_SPOT\_PRICE=0.05)
-
-#### GCE
-
-  * Ubuntu Trusty support added
-
-Please see the [Releases Page](https://github.com/kubernetes/kubernetes/releases) for older releases.
-
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/CHANGELOG.md?pixel)]()

File diff suppressed because it is too large
+ 0 - 972
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.3.md


File diff suppressed because it is too large
+ 0 - 1436
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.4.md


File diff suppressed because it is too large
+ 0 - 1327
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.5.md


File diff suppressed because it is too large
+ 0 - 2885
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.6.md


File diff suppressed because it is too large
+ 0 - 3292
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.7.md


File diff suppressed because it is too large
+ 0 - 3089
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.8.md


File diff suppressed because it is too large
+ 0 - 2649
kubernetes-v1.17/CHANGELOG/CHANGELOG-1.9.md


+ 0 - 11
kubernetes-v1.17/CHANGELOG/OWNERS

@@ -1,11 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-approvers:
-  - sig-release-approvers
-  - release-engineering-approvers
-reviewers:
-  - release-engineering-reviewers
-
-labels:
-  - sig/release
-  - area/release-eng

+ 0 - 21
kubernetes-v1.17/CHANGELOG/README.md

@@ -1,21 +0,0 @@
-# CHANGELOGs
-
-- [CHANGELOG-1.18.md](./CHANGELOG-1.18.md)
-- [CHANGELOG-1.17.md](./CHANGELOG-1.17.md)
-- [CHANGELOG-1.16.md](./CHANGELOG-1.16.md)
-- [CHANGELOG-1.15.md](./CHANGELOG-1.15.md)
-- [CHANGELOG-1.14.md](./CHANGELOG-1.14.md)
-- [CHANGELOG-1.13.md](./CHANGELOG-1.13.md)
-- [CHANGELOG-1.12.md](./CHANGELOG-1.12.md)
-- [CHANGELOG-1.11.md](./CHANGELOG-1.11.md)
-- [CHANGELOG-1.10.md](./CHANGELOG-1.10.md)
-- [CHANGELOG-1.9.md](./CHANGELOG-1.9.md)
-- [CHANGELOG-1.8.md](./CHANGELOG-1.8.md)
-- [CHANGELOG-1.7.md](./CHANGELOG-1.7.md)
-- [CHANGELOG-1.6.md](./CHANGELOG-1.6.md)
-- [CHANGELOG-1.5.md](./CHANGELOG-1.5.md)
-- [CHANGELOG-1.4.md](./CHANGELOG-1.4.md)
-- [CHANGELOG-1.3.md](./CHANGELOG-1.3.md)
-- [CHANGELOG-1.2.md](./CHANGELOG-1.2.md)
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/CHANGELOG.md?pixel)]()

+ 0 - 7
kubernetes-v1.17/CONTRIBUTING.md

@@ -1,7 +0,0 @@
-# Contributing
-
-Welcome to Kubernetes! If you are interested in contributing to the [Kubernetes code repo](README.md) then checkout the [Contributor's Guide](https://git.k8s.io/community/contributors/guide/)
-
-The [Kubernetes community repo](https://github.com/kubernetes/community) contains information on how the community is organized and other information that is pertinent to contributing.
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/CONTRIBUTING.md?pixel)]()

File diff suppressed because it is too large
+ 0 - 23824
kubernetes-v1.17/Godeps/LICENSES


+ 0 - 4
kubernetes-v1.17/Godeps/OWNERS

@@ -1,4 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-approvers:
-- dep-approvers

+ 0 - 202
kubernetes-v1.17/LICENSE

@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

+ 0 - 1
kubernetes-v1.17/Makefile

@@ -1 +0,0 @@
-build/root/Makefile

+ 0 - 1
kubernetes-v1.17/Makefile.generated_files

@@ -1 +0,0 @@
-build/root/Makefile.generated_files

+ 0 - 40
kubernetes-v1.17/OWNERS

@@ -1,40 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-filters:
-  ".*":
-    reviewers:
-      - brendandburns
-      - dchen1107
-      - lavalamp
-      - smarterclayton
-      - thockin
-      - liggitt
-    approvers:
-      - bgrant0607
-      - brendandburns
-      - dchen1107
-      - lavalamp
-      - smarterclayton
-      - thockin
-      - wojtek-t
-      - liggitt
-    emeritus_approvers:
-      - jbeda
-
-  # Bazel build infrastructure changes often touch files throughout the tree
-  "\\.bzl$":
-    reviewers:
-      - ixdy
-    approvers:
-      - ixdy
-  "BUILD(\\.bazel)?$":
-    approvers:
-      - ixdy
-
-  # go.{mod,sum} files relate to go dependencies, and should be reviewed by the
-  # dep-approvers
-  "go\\.(mod|sum)$":
-    required_reviewers:
-      - kubernetes/dep-approvers
-    labels:
-      - area/dependency

+ 0 - 495
kubernetes-v1.17/OWNERS_ALIASES

@@ -1,495 +0,0 @@
-aliases:
-  # sig-auth subproject aliases
-  sig-auth-audit-approvers:
-    - sttts
-    - tallclair
-  sig-auth-audit-reviewers:
-    - CaoShuFeng
-    - hzxuzhonghu
-    - lavalamp
-    - sttts
-    - tallclair
-
-  sig-auth-authenticators-approvers:
-    - deads2k
-    - liggitt
-    - mikedanese
-  sig-auth-authenticators-reviewers:
-    - deads2k
-    - enj
-    - lavalamp
-    - liggitt
-    - mikedanese
-    - sttts
-    - wojtek-t
-
-  sig-auth-authorizers-approvers:
-    - deads2k
-    - liggitt
-    - mikedanese
-  sig-auth-authorizers-reviewers:
-    - deads2k
-    - dims
-    - enj
-    - erictune
-    - jianhuiz
-    - lavalamp
-    - liggitt
-    - mikedanese
-    - mml
-    - ncdc
-    - nikhiljindal
-    - smarterclayton
-    - sttts
-    - thockin
-    - wojtek-t
-
-  sig-auth-certificates-approvers:
-    - liggitt
-    - mikedanese
-    - smarterclayton
-  sig-auth-certificates-reviewers:
-    - awly
-    - caesarxuchao
-    - deads2k
-    - dims
-    - enj
-    - errordeveloper
-    - jianhuiz
-    - lavalamp
-    - liggitt
-    - mikedanese
-    - smarterclayton
-    - sttts
-    - thockin
-    - timothysc
-    - wojtek-t
-
-  sig-auth-encryption-at-rest-approvers:
-    - immutableT
-    - smarterclayton
-  sig-auth-encryption-at-rest-reviewers:
-    - enj
-    - immutableT
-    - lavalamp
-    - liggitt
-    - smarterclayton
-    - wojtek-t
-
-  sig-auth-node-isolation-approvers:
-    - deads2k
-    - liggitt
-    - mikedanese
-    - tallclair
-  sig-auth-node-isolation-reviewers:
-    - deads2k
-    - liggitt
-    - mikedanese
-    - tallclair
-
-  sig-auth-policy-approvers:
-    - deads2k
-    - liggitt
-    - tallclair
-  sig-auth-policy-reviewers:
-    - deads2k
-    - jianhuiz
-    - liggitt
-    - mbohlool
-    - tallclair
-    - krmayankk
-
-  sig-auth-serviceaccounts-approvers:
-    - deads2k
-    - liggitt
-    - mikedanese
-  sig-auth-serviceaccounts-reviewers:
-    - awly
-    - deads2k
-    - enj
-    - liggitt
-    - mikedanese
-    - WanLinghao
-
-  # SIG Release
-  sig-release-approvers:
-    - calebamiles # SIG Chair
-    - justaugustus # SIG Chair
-    - tpepper # SIG Chair
-  release-engineering-approvers:
-    - calebamiles # SIG Chair
-    - justaugustus # SIG Chair
-    - tpepper # SIG Chair / Patch Release Team
-  release-engineering-reviewers:
-    - aleksandra-malinowska # Patch Release Team
-    - calebamiles # SIG Chair
-    - feiskyer # Patch Release Team
-    - hoegaarden # Patch Release Team
-    - justaugustus # SIG Chair
-    - tpepper # SIG Chair / Patch Release Team
-
-  sig-storage-reviewers:
-    - saad-ali
-
-  sig-scheduling-maintainers:
-    - alculquicondor
-    - bsalamat
-    - k82cn
-    - wojtek-t
-    - ravisantoshgudimetla
-    - Huang-Wei
-    - ahg-g
-  sig-scheduling:
-    - bsalamat
-    - k82cn
-    - resouer
-    - ravisantoshgudimetla
-    - Huang-Wei
-    - wgliang
-    - ahg-g
-    - draveness
-    - hex108
-    - alculquicondor
-    - liu-cong
-    - damemi
-
-  sig-cli-maintainers:
-    - adohe
-    - brendandburns
-    - deads2k
-    - janetkuo
-    - liggitt
-    - seans3
-    - monopole
-    - droot
-    - apelisse
-    - mengqiy
-    - smarterclayton
-    - soltysh
-  sig-cli:
-    - adohe
-    - deads2k
-    - derekwaynecarr
-    - dixudx
-    - dims
-    - eparis
-    - juanvallejo
-    - mengqiy
-    - rootfs
-    - seans3
-    - shiywang
-    - smarterclayton
-    - soltysh
-  sig-testing-reviewers:
-    - bentheelder
-    - cblecker
-    - fejta
-    - krzyzacy
-    - ixdy
-    - spiffxp
-  sig-testing-approvers:
-    - bentheelder
-    - cblecker
-    - fejta
-    - krzyzacy
-    - ixdy
-    - spiffxp
-  sig-node-approvers:
-    - Random-Liu
-    - dchen1107
-    - derekwaynecarr
-    - tallclair
-    - vishh
-    - yujuhong
-  sig-node-reviewers:
-    - Random-Liu
-    - dashpole
-    - dchen1107
-    - derekwaynecarr
-    - dims
-    - feiskyer
-    - mtaufen
-    - pmorie
-    - resouer
-    - sjenning
-    - tallclair
-    - vishh
-    - yifan-gu
-    - yujuhong
-    - krmayankk
-    - mattjmcnaughton
-  sig-network-approvers:
-    - andrewsykim
-    - bowei
-    - caseydavenport
-    - danwinship
-    - dcbw
-    - freehan
-    - johnbelamaric
-    - mrhohn
-    - nicksardo
-    - thockin
-  sig-network-reviewers:
-    - andrewsykim
-    - aojea
-    - bowei
-    - caseydavenport
-    - cmluciano
-    - danwinship
-    - dcbw
-    - freehan
-    - johnbelamaric
-    - m1093782566
-    - mrhohn
-    - nicksardo
-    - rramkumar1
-    - thockin
-  sig-apps-approvers:
-    - kow3ns
-    - janetkuo
-    - soltysh
-    - tnozicka
-    - erictune
-    - smarterclayton
-  sig-apps-reviewers:
-    - enisoc
-    - erictune
-    - foxish
-    - janetkuo
-    - kow3ns
-    - mortent
-    - smarterclayton
-    - soltysh
-    - tnozicka
-    - krmayankk
-  sig-autoscaling-maintainers:
-    - aleksandra-malinowska
-    - bskiba
-    - MaciekPytel
-    - mwielgus
-  sig-instrumentation-approvers:
-    - piosz
-    - brancz
-    - serathius
-  sig-instrumentation-reviewers:
-    - kawych
-    - s-urbaniak
-    - DirectXMan12
-    - x13n
-    - loburm
-    - huangyuqi
-    - andyxning
-    - coffeepac
-    - monotek
-    - logicalhan
-    - RainbowMango
-    - serathius
-
-  api-approvers:
-    - erictune
-    - lavalamp
-    - smarterclayton
-    - thockin
-    - liggitt
-    # - bgrant0607 # manual escalations only
-
-  # subsets of api-approvers by sig area to help focus approval requests to those with domain knowledge
-  sig-api-machinery-api-approvers:
-    - lavalamp
-    - liggitt
-    - smarterclayton
-
-  sig-apps-api-approvers:
-    - erictune
-    - lavalamp
-    - liggitt
-    - smarterclayton
-
-  sig-auth-api-approvers:
-    - liggitt
-    - smarterclayton
-
-  sig-cli-api-approvers:
-    - liggitt
-    - smarterclayton
-
-  sig-cloud-provider-api-approvers:
-    - liggitt
-    - thockin
-
-  sig-cluster-lifecycle-api-approvers:
-    - liggitt
-    - smarterclayton
-
-  sig-network-api-approvers:
-    - smarterclayton
-    - thockin
-
-  sig-network-api-reviewers:
-    - caseydavenport
-    - cmluciano
-    - danwinship
-    - thockin
-
-  sig-node-api-approvers:
-    - smarterclayton
-    - thockin
-
-  sig-scheduling-api-approvers:
-    - lavalamp
-    - smarterclayton
-    - thockin
-
-  sig-storage-api-approvers:
-    - liggitt
-    - thockin
-
-  sig-windows-api-approvers:
-    - smarterclayton
-    - thockin
-    - liggitt
-  
-  api-reviewers:
-    - erictune
-    - lavalamp
-    - smarterclayton
-    - thockin
-    - liggitt
-    - wojtek-t
-    - deads2k
-    - yujuhong
-    - brendandburns
-    - derekwaynecarr
-    - caesarxuchao
-    - vishh
-    - mikedanese
-    - nikhiljindal
-    - gmarek
-    - davidopp
-    - pmorie
-    - sttts
-    - dchen1107
-    - saad-ali
-    - zmerlynn
-    - luxas
-    - janetkuo
-    - justinsb
-    - pwittrock
-    - ncdc
-    - tallclair
-    - yifan-gu
-    - eparis
-    - mwielgus
-    - timothysc
-    - soltysh
-    - piosz
-    - jsafrane
-
-  # api-reviewers targeted by sig area
-  # see https://git.k8s.io/community/sig-architecture/api-review-process.md#training-reviews
-  
-  sig-api-machinery-api-reviewers:
-    - caesarxuchao
-    - deads2k
-    - jpbetz
-    - sttts
-  
-  # sig-apps-api-reviewers:
-  #   - 
-  #   - 
-
-  sig-auth-api-reviewers:
-    - enj
-    - mikedanese
-
-  sig-cli-api-reviewers:
-    - pwittrock
-    - soltysh
-
-  sig-cloud-provider-api-reviewers:
-    - andrewsykim
-    - cheftako
-  
-  # sig-cluster-lifecycle-api-reviewers:
-  #   - 
-  #   -
-  
-  sig-node-api-reviewers:
-    - dchen1107
-    - derekwaynecarr
-    - tallclair
-    - yujuhong
-
-  sig-scalability-approvers:
-    - mm4tt
-    - wojtek-t
-
-  sig-scalability-reviewers:
-    - mm4tt
-    - wojtek-t
-  
-  sig-scheduling-api-reviewers:
-      - bsalamat
-      - k82cn
-  
-  sig-storage-api-reviewers:
-    - saad-ali
-    - msau42
-    - jsafrane
-
-  
-  sig-windows-api-reviewers:
-    - patricklang
-    - ddebroy
-    - benmoss
-
-  dep-approvers:
-    - apelisse
-    - BenTheElder
-    - cblecker
-    - dims
-    - thockin
-    - sttts
-    - soltysh
-  feature-approvers:
-    - andrewsykim     # Cloud Provider
-    - bgrant0607      # Architecture
-    - brancz          # Instrumentation
-    - bsalamat        # Scheduling
-    - calebamiles     # Release
-    - caseydavenport  # Network
-    - countspongebob  # Scalability
-    - csbell          # Multicluster
-    - dcbw            # Network
-    - dchen1107       # Node
-    - deads2k         # API Machinery
-    - derekwaynecarr  # Node
-    - dghubble        # On Premise
-    - jdumars         # Architecture, Cluster Ops, Release
-    - kow3ns          # Apps
-    - lavalamp        # API Machinery
-    - liggitt         # Auth
-    - luxas           # Cluster Lifecycle
-    - marcoceppi      # On Premise
-    - mattfarina      # Apps
-    - michmike        # Windows
-    - mwielgus        # Autoscaling
-    - piosz           # Instrumentation
-    - prydonius       # Apps
-    - pwittrock       # CLI
-    - quinton-hoole   # Multicluster
-    - justinsb        # Cluster Lifecycle
-    - saad-ali        # Storage
-    - seans3          # CLI
-    - soltysh         # CLI
-    - tallclair       # Auth
-    - thockin         # Network
-    - timothysc       # Cluster Lifecycle, Scheduling
-    - wojtek-t        # Scalability
-    - zehicle         # Cluster Ops
-
-  # conformance aliases https://git.k8s.io/enhancements/keps/sig-architecture/20190412-conformance-behaviors.md
-  conformance-behavior-approvers:
-    - bgrant0607
-    - smarterclayton
-    - johnbelamaric

+ 0 - 89
kubernetes-v1.17/README.md

@@ -1,89 +0,0 @@
-# Kubernetes
-
-[![GoDoc Widget]][GoDoc] [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/569/badge)](https://bestpractices.coreinfrastructure.org/projects/569)
-
-<img src="https://github.com/kubernetes/kubernetes/raw/master/logo/logo.png" width="100">
-
-----
-
-Kubernetes is an open source system for managing [containerized applications]
-across multiple hosts. It provides basic mechanisms for deployment, maintenance,
-and scaling of applications.
-
-Kubernetes builds upon a decade and a half of experience at Google running
-production workloads at scale using a system called [Borg],
-combined with best-of-breed ideas and practices from the community.
-
-Kubernetes is hosted by the Cloud Native Computing Foundation ([CNCF]).
-If your company wants to help shape the evolution of
-technologies that are container-packaged, dynamically scheduled,
-and microservices-oriented, consider joining the CNCF.
-For details about who's involved and how Kubernetes plays a role,
-read the CNCF [announcement].
-
-----
-
-## To start using Kubernetes
-
-See our documentation on [kubernetes.io].
-
-Try our [interactive tutorial].
-
-Take a free course on [Scalable Microservices with Kubernetes].
-
-To use Kubernetes code as a library in other applications, see the [list of published components](https://git.k8s.io/kubernetes/staging/README.md).
-Use of the `k8s.io/kubernetes` module or `k8s.io/kubernetes/...` packages as libraries is not supported.
-
-## To start developing Kubernetes
-
-The [community repository] hosts all information about
-building Kubernetes from source, how to contribute code
-and documentation, who to contact about what, etc.
-
-If you want to build Kubernetes right away there are two options:
-
-##### You have a working [Go environment].
-
-```
-mkdir -p $GOPATH/src/k8s.io
-cd $GOPATH/src/k8s.io
-git clone https://github.com/kubernetes/kubernetes
-cd kubernetes
-make
-```
-
-##### You have a working [Docker environment].
-
-```
-git clone https://github.com/kubernetes/kubernetes
-cd kubernetes
-make quick-release
-```
-
-For the full story, head over to the [developer's documentation].
-
-## Support
-
-If you need support, start with the [troubleshooting guide],
-and work your way through the process that we've outlined.
-
-That said, if you have questions, reach out to us
-[one way or another][communication].
-
-[announcement]: https://cncf.io/news/announcement/2015/07/new-cloud-native-computing-foundation-drive-alignment-among-container
-[Borg]: https://research.google.com/pubs/pub43438.html
-[CNCF]: https://www.cncf.io/about
-[communication]: https://git.k8s.io/community/communication
-[community repository]: https://git.k8s.io/community
-[containerized applications]: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
-[developer's documentation]: https://git.k8s.io/community/contributors/devel#readme
-[Docker environment]: https://docs.docker.com/engine
-[Go environment]: https://golang.org/doc/install
-[GoDoc]: https://godoc.org/k8s.io/kubernetes
-[GoDoc Widget]: https://godoc.org/k8s.io/kubernetes?status.svg
-[interactive tutorial]: https://kubernetes.io/docs/tutorials/kubernetes-basics
-[kubernetes.io]: https://kubernetes.io
-[Scalable Microservices with Kubernetes]: https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615
-[troubleshooting guide]: https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/README.md?pixel)]()

+ 0 - 17
kubernetes-v1.17/SECURITY_CONTACTS

@@ -1,17 +0,0 @@
-# Defined below are the security contacts for this repo.
-#
-# They are the contact point for the Product Security Committee to reach out
-# to for triaging and handling of incoming issues.
-#
-# The below names agree to abide by the
-# [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy)
-# and will be removed and replaced if they violate that agreement.
-#
-# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE
-# INSTRUCTIONS AT https://kubernetes.io/security/
-
-cjcullen
-joelsmith
-liggitt
-philips
-tallclair

+ 0 - 29
kubernetes-v1.17/SUPPORT.md

@@ -1,29 +0,0 @@
-## Support for deploying and using Kubernetes
-
-Welcome to Kubernetes! We use GitHub for tracking bugs and feature requests.
-This isn't the right place to get support for using Kubernetes, but the following
-resources are available below, thanks for understanding.
-
-### Stack Overflow
-
-The Kubernetes Community is active on Stack Overflow, you can post your questions there:
-
-* [Kubernetes on Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes)
-
-  * Here are some tips for [about how to ask good questions](https://stackoverflow.com/help/how-to-ask).
-  * Don't forget to check to see [what's on topic](http://stackoverflow.com/help/on-topic).
-
-### Documentation
-
-* [User Documentation](https://kubernetes.io/docs/)
-* [Troubleshooting Guide](https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/)
-
-### Real-time Chat
-
-* [Slack](https://kubernetes.slack.com) ([registration](http://slack.k8s.io)):
-The `#kubernetes-users` and `#kubernetes-novice` channels are usual places where
-people offer support.
-
-### Forum
-
-* [Kubernetes Official Forum](https://discuss.kubernetes.io)

+ 0 - 1
kubernetes-v1.17/WORKSPACE

@@ -1 +0,0 @@
-build/root/WORKSPACE

+ 0 - 9
kubernetes-v1.17/api/OWNERS

@@ -1,9 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-# Disable inheritance as this is an api owners file
-options:
-  no_parent_owners: true
-approvers:
-- api-approvers
-reviewers:
-- api-reviewers

+ 0 - 42
kubernetes-v1.17/api/api-rules/README.md

@@ -1,42 +0,0 @@
-# Existing API Rule Violations
-
-This folder contains the checked-in report file of known API rule violations.
-The file violation\_exceptions.list is used by Make rule during OpenAPI spec generation to make
-sure that no new API rule violation is introduced into our code base.
-
-## API Rule Violation Format
-
-The report file [violation\_exceptions.list](./violation_exceptions.list) is in format of:
-
- * ***API rule violation: \<RULE\>,\<PACKAGE\>,\<TYPE\>,\<FIELD\>***
-
-e.g.
-
- * ***API rule violation: names_match,k8s.io/api/core/v1,Event,ReportingController***
-
-And the violation list is sorted alphabetically in each of the \<RULE\>, \<PACKAGE\>, \<TYPE\>, \<FIELD\> levels.
-
-## How to resolve API Rule Check Failure
-
-Make rule returns an error when the newly generated violation report differs from this
-checked-in violation report.
-
-Our goal is that exceptions should never be added to this list, only fixed and removed.
-For new APIs, this is a hard requirement. For APIs that are e.g. being moved between
-versions or groups without other changes, it is OK for your API reviewer to make an
-exception.
-
-If you're removing violations from the exception list, or if you have good
-reasons to add new violations to this list, please update the file using:
-
- - `make generated_files UPDATE_API_KNOWN_VIOLATIONS=true`
-
-It is up to API reviewers to review the list and make sure new APIs follow our API conventions.
-
-**NOTE**: please don't hide changes to this file in a "generated changes" commit, treat it as
-source code instead.
-
-## API Rules Being Enforced
-
-For more information about the API rules being checked, please refer to
-https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators/rules

+ 0 - 39
kubernetes-v1.17/api/api-rules/apiextensions_violation_exceptions.list

@@ -1,39 +0,0 @@
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v1,HorizontalPodAutoscalerList,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw

+ 0 - 44
kubernetes-v1.17/api/api-rules/codegen_violation_exceptions.list

@@ -1,44 +0,0 @@
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
-API rule violation: list_type_missing,k8s.io/code-generator/_examples/apiserver/apis/example/v1,TestTypeList,Items
-API rule violation: list_type_missing,k8s.io/code-generator/_examples/apiserver/apis/example2/v1,TestTypeList,Items
-API rule violation: list_type_missing,k8s.io/code-generator/_examples/apiserver/apis/example3.io/v1,TestTypeList,Items
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
-API rule violation: names_match,k8s.io/code-generator/_examples/apiserver/apis/example/v1,TestTypeStatus,Blah
-API rule violation: names_match,k8s.io/code-generator/_examples/apiserver/apis/example2/v1,TestTypeStatus,Blah
-API rule violation: names_match,k8s.io/code-generator/_examples/apiserver/apis/example3.io/v1,TestTypeStatus,Blah

+ 0 - 42
kubernetes-v1.17/api/api-rules/sample_apiserver_violation_exceptions.list

@@ -1,42 +0,0 @@
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
-API rule violation: list_type_missing,k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1,Fischer,DisallowedFlunders
-API rule violation: list_type_missing,k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1,FischerList,Items
-API rule violation: list_type_missing,k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1,FlunderList,Items
-API rule violation: list_type_missing,k8s.io/sample-apiserver/pkg/apis/wardle/v1beta1,FlunderList,Items
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw

+ 0 - 708
kubernetes-v1.17/api/api-rules/violation_exceptions.list

@@ -1,708 +0,0 @@
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,MutatingWebhook,AdmissionReviewVersions
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,MutatingWebhook,Rules
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,MutatingWebhookConfiguration,Webhooks
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,MutatingWebhookConfigurationList,Items
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,Rule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,Rule,APIVersions
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,Rule,Resources
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,RuleWithOperations,Operations
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,ValidatingWebhook,AdmissionReviewVersions
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,ValidatingWebhook,Rules
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,ValidatingWebhookConfiguration,Webhooks
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,ValidatingWebhookConfigurationList,Items
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1,WebhookClientConfig,CABundle
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,MutatingWebhook,AdmissionReviewVersions
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,MutatingWebhook,Rules
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,MutatingWebhookConfiguration,Webhooks
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,MutatingWebhookConfigurationList,Items
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,Rule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,Rule,APIVersions
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,Rule,Resources
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,RuleWithOperations,Operations
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,ValidatingWebhook,AdmissionReviewVersions
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,ValidatingWebhook,Rules
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,ValidatingWebhookConfiguration,Webhooks
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,ValidatingWebhookConfigurationList,Items
-API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,WebhookClientConfig,CABundle
-API rule violation: list_type_missing,k8s.io/api/apps/v1,ControllerRevisionList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1,DaemonSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1,DaemonSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1,DeploymentList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1,DeploymentStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1,ReplicaSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1,ReplicaSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1,StatefulSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1,StatefulSetSpec,VolumeClaimTemplates
-API rule violation: list_type_missing,k8s.io/api/apps/v1,StatefulSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,ControllerRevisionList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,DeploymentList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,DeploymentStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,StatefulSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,StatefulSetSpec,VolumeClaimTemplates
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,StatefulSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,ControllerRevisionList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,DaemonSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,DaemonSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,DeploymentList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,DeploymentStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,ReplicaSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,ReplicaSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,StatefulSetList,Items
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,StatefulSetSpec,VolumeClaimTemplates
-API rule violation: list_type_missing,k8s.io/api/apps/v1beta2,StatefulSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/auditregistration/v1alpha1,AuditSinkList,Items
-API rule violation: list_type_missing,k8s.io/api/auditregistration/v1alpha1,Policy,Stages
-API rule violation: list_type_missing,k8s.io/api/auditregistration/v1alpha1,WebhookClientConfig,CABundle
-API rule violation: list_type_missing,k8s.io/api/authentication/v1,TokenRequestSpec,Audiences
-API rule violation: list_type_missing,k8s.io/api/authentication/v1,TokenReviewSpec,Audiences
-API rule violation: list_type_missing,k8s.io/api/authentication/v1,TokenReviewStatus,Audiences
-API rule violation: list_type_missing,k8s.io/api/authentication/v1,UserInfo,Groups
-API rule violation: list_type_missing,k8s.io/api/authentication/v1beta1,TokenReviewSpec,Audiences
-API rule violation: list_type_missing,k8s.io/api/authentication/v1beta1,TokenReviewStatus,Audiences
-API rule violation: list_type_missing,k8s.io/api/authentication/v1beta1,UserInfo,Groups
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,NonResourceRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,NonResourceRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,ResourceRule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,ResourceRule,ResourceNames
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,ResourceRule,Resources
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,ResourceRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,SubjectAccessReviewSpec,Groups
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,SubjectRulesReviewStatus,NonResourceRules
-API rule violation: list_type_missing,k8s.io/api/authorization/v1,SubjectRulesReviewStatus,ResourceRules
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,NonResourceRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,NonResourceRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,ResourceRule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,ResourceRule,ResourceNames
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,ResourceRule,Resources
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,ResourceRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,SubjectAccessReviewSpec,Groups
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,SubjectRulesReviewStatus,NonResourceRules
-API rule violation: list_type_missing,k8s.io/api/authorization/v1beta1,SubjectRulesReviewStatus,ResourceRules
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v1,HorizontalPodAutoscalerList,Items
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta1,HorizontalPodAutoscalerList,Items
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta1,HorizontalPodAutoscalerSpec,Metrics
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta1,HorizontalPodAutoscalerStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta1,HorizontalPodAutoscalerStatus,CurrentMetrics
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta2,HPAScalingRules,Policies
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta2,HorizontalPodAutoscalerList,Items
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta2,HorizontalPodAutoscalerSpec,Metrics
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta2,HorizontalPodAutoscalerStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/autoscaling/v2beta2,HorizontalPodAutoscalerStatus,CurrentMetrics
-API rule violation: list_type_missing,k8s.io/api/batch/v1,JobList,Items
-API rule violation: list_type_missing,k8s.io/api/batch/v1,JobStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/batch/v1beta1,CronJobList,Items
-API rule violation: list_type_missing,k8s.io/api/batch/v1beta1,CronJobStatus,Active
-API rule violation: list_type_missing,k8s.io/api/batch/v2alpha1,CronJobList,Items
-API rule violation: list_type_missing,k8s.io/api/batch/v2alpha1,CronJobStatus,Active
-API rule violation: list_type_missing,k8s.io/api/certificates/v1beta1,CertificateSigningRequestList,Items
-API rule violation: list_type_missing,k8s.io/api/certificates/v1beta1,CertificateSigningRequestSpec,Groups
-API rule violation: list_type_missing,k8s.io/api/certificates/v1beta1,CertificateSigningRequestSpec,Request
-API rule violation: list_type_missing,k8s.io/api/certificates/v1beta1,CertificateSigningRequestSpec,Usages
-API rule violation: list_type_missing,k8s.io/api/certificates/v1beta1,CertificateSigningRequestStatus,Certificate
-API rule violation: list_type_missing,k8s.io/api/certificates/v1beta1,CertificateSigningRequestStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/coordination/v1,LeaseList,Items
-API rule violation: list_type_missing,k8s.io/api/coordination/v1beta1,LeaseList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,AvoidPods,PreferAvoidPods
-API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Add
-API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Drop
-API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSPersistentVolumeSource,Monitors
-API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSVolumeSource,Monitors
-API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatusList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapProjection,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapVolumeSource,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args
-API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Command
-API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Env
-API rule violation: list_type_missing,k8s.io/api/core/v1,Container,EnvFrom
-API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeDevices
-API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeMounts
-API rule violation: list_type_missing,k8s.io/api/core/v1,ContainerImage,Names
-API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIProjection,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIVolumeSource,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Addresses
-API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,NotReadyAddresses
-API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointSubset,Ports
-API rule violation: list_type_missing,k8s.io/api/core/v1,Endpoints,Subsets
-API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointsList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Args
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Command
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,EnvFrom
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Ports
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts
-API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainers,EphemeralContainers
-API rule violation: list_type_missing,k8s.io/api/core/v1,EventList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ExecAction,Command
-API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,TargetWWNs
-API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,WWIDs
-API rule violation: list_type_missing,k8s.io/api/core/v1,HTTPGetAction,HTTPHeaders
-API rule violation: list_type_missing,k8s.io/api/core/v1,HostAlias,Hostnames
-API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,Portals
-API rule violation: list_type_missing,k8s.io/api/core/v1,ISCSIVolumeSource,Portals
-API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,LimitRangeSpec,Limits
-API rule violation: list_type_missing,k8s.io/api/core/v1,List,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,LoadBalancerStatus,Ingress
-API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceSpec,Finalizers
-API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeAffinity,PreferredDuringSchedulingIgnoredDuringExecution
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelector,NodeSelectorTerms
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorRequirement,Values
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchExpressions
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchFields
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,PodCIDRs
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,Taints
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Addresses
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Images
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesAttached
-API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesInUse
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimSpec,AccessModes
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,AccessModes
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,AccessModes
-API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,MountOptions
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,PreferredDuringSchedulingIgnoredDuringExecution
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinity,RequiredDuringSchedulingIgnoredDuringExecution
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodAffinityTerm,Namespaces
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,PreferredDuringSchedulingIgnoredDuringExecution
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodAntiAffinity,RequiredDuringSchedulingIgnoredDuringExecution
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Nameservers
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Options
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodDNSConfig,Searches
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodExecOptions,Command
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodPortForwardOptions,Ports
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,SupplementalGroups
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,Sysctls
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Containers
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,EphemeralContainers
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,HostAliases
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ImagePullSecrets
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,InitContainers
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ReadinessGates
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Tolerations
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Volumes
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,ContainerStatuses
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,EphemeralContainerStatuses
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,InitContainerStatuses
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,PodIPs
-API rule violation: list_type_missing,k8s.io/api/core/v1,PodTemplateList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ProjectedVolumeSource,Sources
-API rule violation: list_type_missing,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
-API rule violation: list_type_missing,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
-API rule violation: list_type_missing,k8s.io/api/core/v1,RangeAllocation,Data
-API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaSpec,Scopes
-API rule violation: list_type_missing,k8s.io/api/core/v1,ScopeSelector,MatchExpressions
-API rule violation: list_type_missing,k8s.io/api/core/v1,ScopedResourceSelectorRequirement,Values
-API rule violation: list_type_missing,k8s.io/api/core/v1,SecretList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,SecretProjection,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,SecretVolumeSource,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,ImagePullSecrets
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,Secrets
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccountList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceList,Items
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,ExternalIPs
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,LoadBalancerSourceRanges
-API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,TopologyKeys
-API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorLabelRequirement,Values
-API rule violation: list_type_missing,k8s.io/api/core/v1,TopologySelectorTerm,MatchLabelExpressions
-API rule violation: list_type_missing,k8s.io/api/events/v1beta1,EventList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DaemonSetList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DaemonSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DeploymentList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,DeploymentStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,FSGroupStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,HTTPIngressRuleValue,Paths
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IPBlock,Except
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressSpec,Rules
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressSpec,TLS
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,IngressTLS,Hosts
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicyEgressRule,Ports
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicyEgressRule,To
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicyIngressRule,From
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicyIngressRule,Ports
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicyList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicySpec,Egress
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicySpec,Ingress
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,NetworkPolicySpec,PolicyTypes
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicyList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,AllowedCSIDrivers
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,AllowedCapabilities
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,AllowedFlexVolumes
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,AllowedHostPaths
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,AllowedProcMountTypes
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,AllowedUnsafeSysctls
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,DefaultAddCapabilities
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,ForbiddenSysctls
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,HostPorts
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,RequiredDropCapabilities
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,PodSecurityPolicySpec,Volumes
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,ReplicaSetList,Items
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,ReplicaSetStatus,Conditions
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,RunAsGroupStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,RunAsUserStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,RuntimeClassStrategyOptions,AllowedRuntimeClassNames
-API rule violation: list_type_missing,k8s.io/api/extensions/v1beta1,SupplementalGroupsStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/imagepolicy/v1alpha1,ImageReviewSpec,Containers
-API rule violation: list_type_missing,k8s.io/api/networking/v1,IPBlock,Except
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyEgressRule,Ports
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyEgressRule,To
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyIngressRule,From
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyIngressRule,Ports
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicyList,Items
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicySpec,Egress
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicySpec,Ingress
-API rule violation: list_type_missing,k8s.io/api/networking/v1,NetworkPolicySpec,PolicyTypes
-API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,HTTPIngressRuleValue,Paths
-API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressList,Items
-API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressSpec,Rules
-API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressSpec,TLS
-API rule violation: list_type_missing,k8s.io/api/networking/v1beta1,IngressTLS,Hosts
-API rule violation: list_type_missing,k8s.io/api/node/v1alpha1,RuntimeClassList,Items
-API rule violation: list_type_missing,k8s.io/api/node/v1beta1,RuntimeClassList,Items
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,FSGroupStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodDisruptionBudgetList,Items
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicyList,Items
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,AllowedCSIDrivers
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,AllowedCapabilities
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,AllowedFlexVolumes
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,AllowedHostPaths
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,AllowedProcMountTypes
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,AllowedUnsafeSysctls
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,DefaultAddCapabilities
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,ForbiddenSysctls
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,HostPorts
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,RequiredDropCapabilities
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,PodSecurityPolicySpec,Volumes
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,RunAsGroupStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,RunAsUserStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,RuntimeClassStrategyOptions,AllowedRuntimeClassNames
-API rule violation: list_type_missing,k8s.io/api/policy/v1beta1,SupplementalGroupsStrategyOptions,Ranges
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,AggregationRule,ClusterRoleSelectors
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,ClusterRole,Rules
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,ClusterRoleBinding,Subjects
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,ClusterRoleBindingList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,ClusterRoleList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,PolicyRule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,PolicyRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,PolicyRule,ResourceNames
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,PolicyRule,Resources
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,PolicyRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,Role,Rules
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,RoleBinding,Subjects
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,RoleBindingList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1,RoleList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,AggregationRule,ClusterRoleSelectors
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,ClusterRole,Rules
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,ClusterRoleBinding,Subjects
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,ClusterRoleBindingList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,ClusterRoleList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,PolicyRule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,PolicyRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,PolicyRule,ResourceNames
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,PolicyRule,Resources
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,PolicyRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,Role,Rules
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,RoleBinding,Subjects
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,RoleBindingList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1alpha1,RoleList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,AggregationRule,ClusterRoleSelectors
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,ClusterRole,Rules
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,ClusterRoleBinding,Subjects
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,ClusterRoleBindingList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,ClusterRoleList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,PolicyRule,APIGroups
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,PolicyRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,PolicyRule,ResourceNames
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,PolicyRule,Resources
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,PolicyRule,Verbs
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,Role,Rules
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,RoleBinding,Subjects
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,RoleBindingList,Items
-API rule violation: list_type_missing,k8s.io/api/rbac/v1beta1,RoleList,Items
-API rule violation: list_type_missing,k8s.io/api/scheduling/v1,PriorityClassList,Items
-API rule violation: list_type_missing,k8s.io/api/scheduling/v1alpha1,PriorityClassList,Items
-API rule violation: list_type_missing,k8s.io/api/scheduling/v1beta1,PriorityClassList,Items
-API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetList,Items
-API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,Env
-API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,EnvFrom
-API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,VolumeMounts
-API rule violation: list_type_missing,k8s.io/api/settings/v1alpha1,PodPresetSpec,Volumes
-API rule violation: list_type_missing,k8s.io/api/storage/v1,CSINodeDriver,TopologyKeys
-API rule violation: list_type_missing,k8s.io/api/storage/v1,CSINodeList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1,CSINodeSpec,Drivers
-API rule violation: list_type_missing,k8s.io/api/storage/v1,StorageClass,AllowedTopologies
-API rule violation: list_type_missing,k8s.io/api/storage/v1,StorageClass,MountOptions
-API rule violation: list_type_missing,k8s.io/api/storage/v1,StorageClassList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1,VolumeAttachmentList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1alpha1,VolumeAttachmentList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,CSIDriverList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,CSIDriverSpec,VolumeLifecycleModes
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,CSINodeDriver,TopologyKeys
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,CSINodeList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,CSINodeSpec,Drivers
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,StorageClass,AllowedTopologies
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,StorageClass,MountOptions
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,StorageClassList,Items
-API rule violation: list_type_missing,k8s.io/api/storage/v1beta1,VolumeAttachmentList,Items
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,ConversionRequest,Objects
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,ConversionResponse,ConvertedObjects
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionList,Items
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionNames,Categories
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionNames,ShortNames
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionSpec,Versions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionStatus,Conditions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionStatus,StoredVersions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,CustomResourceDefinitionVersion,AdditionalPrinterColumns
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSON,Raw
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,AllOf
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,AnyOf
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,Enum
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,OneOf
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,Required
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XListMapKeys
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrArray,JSONSchemas
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrStringArray,Property
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,WebhookClientConfig,CABundle
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,WebhookConversion,ConversionReviewVersions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,ConversionRequest,Objects
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,ConversionResponse,ConvertedObjects
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceConversion,ConversionReviewVersions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionList,Items
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionNames,Categories
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionNames,ShortNames
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionSpec,AdditionalPrinterColumns
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionSpec,Versions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionStatus,Conditions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionStatus,StoredVersions
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceDefinitionVersion,AdditionalPrinterColumns
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSON,Raw
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,AllOf
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,AnyOf
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,Enum
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,OneOf
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,Required
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XListMapKeys
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrArray,JSONSchemas
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrStringArray,Property
-API rule violation: list_type_missing,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,WebhookClientConfig,CABundle
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroup,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIGroupList,Groups
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,Categories
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResource,ShortNames
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,ServerAddressByClientCIDRs
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,APIVersions,Versions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,CreateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,DeleteOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,FieldsV1,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelector,MatchExpressions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,LabelSelectorRequirement,Values
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,List,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,Finalizers
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,ManagedFields
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,ObjectMeta,OwnerReferences
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PartialObjectMetadataList,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,PatchOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,RootPaths,Paths
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,StatusDetails,Causes
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,ColumnDefinitions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,Table,Rows
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Cells
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,TableRow,Conditions
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1,UpdateOptions,DryRun
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/apis/meta/v1beta1,PartialObjectMetadataList,Items
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,RawExtension,Raw
-API rule violation: list_type_missing,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,Event,SourceIPs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,EventList,Items
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,GroupResources,ResourceNames
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,GroupResources,Resources
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,Policy,OmitStages
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,Policy,Rules
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyList,Items
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,Namespaces
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,OmitStages
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,Resources
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,UserGroups
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,Users
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1,PolicyRule,Verbs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,Event,SourceIPs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,EventList,Items
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,GroupResources,ResourceNames
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,GroupResources,Resources
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,Policy,OmitStages
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,Policy,Rules
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyList,Items
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,Namespaces
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,OmitStages
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,Resources
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,UserGroups
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,Users
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1alpha1,PolicyRule,Verbs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,Event,SourceIPs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,EventList,Items
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,GroupResources,ResourceNames
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,GroupResources,Resources
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,Policy,OmitStages
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,Policy,Rules
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyList,Items
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Namespaces
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,NonResourceURLs
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,OmitStages
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Resources
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,UserGroups
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Users
-API rule violation: list_type_missing,k8s.io/apiserver/pkg/apis/audit/v1beta1,PolicyRule,Verbs
-API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceList,Items
-API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceSpec,CABundle
-API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1,APIServiceStatus,Conditions
-API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceList,Items
-API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceSpec,CABundle
-API rule violation: list_type_missing,k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1,APIServiceStatus,Conditions
-API rule violation: list_type_missing,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,GCIgnoredResources
-API rule violation: list_type_missing,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Controllers
-API rule violation: list_type_missing,k8s.io/kube-proxy/config/v1alpha1,KubeProxyConfiguration,NodePortAddresses
-API rule violation: list_type_missing,k8s.io/kube-proxy/config/v1alpha1,KubeProxyIPVSConfiguration,ExcludeCIDRs
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,Extender,ManagedResources
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,ExtenderTLSConfig,CAData
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,ExtenderTLSConfig,CertData
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,ExtenderTLSConfig,KeyData
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,LabelsPresence,Labels
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,Policy,Extenders
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,Policy,Predicates
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,Policy,Priorities
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,RequestedToCapacityRatioArguments,Resources
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,RequestedToCapacityRatioArguments,Shape
-API rule violation: list_type_missing,k8s.io/kube-scheduler/config/v1,ServiceAffinity,Labels
-API rule violation: list_type_missing,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,AllowedUnsafeSysctls
-API rule violation: list_type_missing,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,ClusterDNS
-API rule violation: list_type_missing,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,EnforceNodeAllocatable
-API rule violation: list_type_missing,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,TLSCipherSuites
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,MetricValueList,Items
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/custom_metrics/v1beta2,MetricValueList,Items
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/external_metrics/v1beta1,ExternalMetricValueList,Items
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/metrics/v1alpha1,NodeMetricsList,Items
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/metrics/v1alpha1,PodMetrics,Containers
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/metrics/v1alpha1,PodMetricsList,Items
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/metrics/v1beta1,NodeMetricsList,Items
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/metrics/v1beta1,PodMetrics,Containers
-API rule violation: list_type_missing,k8s.io/metrics/pkg/apis/metrics/v1beta1,PodMetricsList,Items
-API rule violation: names_match,k8s.io/api/authorization/v1beta1,SubjectAccessReviewSpec,Groups
-API rule violation: names_match,k8s.io/api/core/v1,AzureDiskVolumeSource,DataDiskURI
-API rule violation: names_match,k8s.io/api/core/v1,ContainerStatus,LastTerminationState
-API rule violation: names_match,k8s.io/api/core/v1,DaemonEndpoint,Port
-API rule violation: names_match,k8s.io/api/core/v1,Event,ReportingController
-API rule violation: names_match,k8s.io/api/core/v1,FCVolumeSource,WWIDs
-API rule violation: names_match,k8s.io/api/core/v1,GlusterfsPersistentVolumeSource,EndpointsName
-API rule violation: names_match,k8s.io/api/core/v1,GlusterfsVolumeSource,EndpointsName
-API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,DiscoveryCHAPAuth
-API rule violation: names_match,k8s.io/api/core/v1,ISCSIPersistentVolumeSource,SessionCHAPAuth
-API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,DiscoveryCHAPAuth
-API rule violation: names_match,k8s.io/api/core/v1,ISCSIVolumeSource,SessionCHAPAuth
-API rule violation: names_match,k8s.io/api/core/v1,NodeResources,Capacity
-API rule violation: names_match,k8s.io/api/core/v1,NodeSpec,DoNotUseExternalID
-API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,CephFS
-API rule violation: names_match,k8s.io/api/core/v1,PersistentVolumeSource,StorageOS
-API rule violation: names_match,k8s.io/api/core/v1,PodSpec,DeprecatedServiceAccount
-API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors
-API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RBDImage
-API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RBDPool
-API rule violation: names_match,k8s.io/api/core/v1,RBDPersistentVolumeSource,RadosUser
-API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors
-API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RBDImage
-API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RBDPool
-API rule violation: names_match,k8s.io/api/core/v1,RBDVolumeSource,RadosUser
-API rule violation: names_match,k8s.io/api/core/v1,VolumeSource,CephFS
-API rule violation: names_match,k8s.io/api/core/v1,VolumeSource,StorageOS
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSON,Raw
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,Ref
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XEmbeddedResource
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XIntOrString
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XListMapKeys
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XListType
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XMapType
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaProps,XPreserveUnknownFields
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrArray,JSONSchemas
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrArray,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrBool,Allows
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrBool,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrStringArray,Property
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1,JSONSchemaPropsOrStringArray,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,CustomResourceColumnDefinition,JSONPath
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSON,Raw
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,Ref
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XEmbeddedResource
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XIntOrString
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XListMapKeys
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XListType
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XMapType
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaProps,XPreserveUnknownFields
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrArray,JSONSchemas
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrArray,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrBool,Allows
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrBool,Schema
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrStringArray,Property
-API rule violation: names_match,k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1,JSONSchemaPropsOrStringArray,Schema
-API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,Format
-API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,d
-API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,i
-API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,Quantity,s
-API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,int64Amount,scale
-API rule violation: names_match,k8s.io/apimachinery/pkg/api/resource,int64Amount,value
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,APIResourceList,APIResources
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Duration,Duration
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Object
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,InternalEvent,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,MicroTime,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,StatusCause,Type
-API rule violation: names_match,k8s.io/apimachinery/pkg/apis/meta/v1,Time,Time
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentEncoding
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,ContentType
-API rule violation: names_match,k8s.io/apimachinery/pkg/runtime,Unknown,Raw
-API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,IntVal
-API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,StrVal
-API rule violation: names_match,k8s.io/apimachinery/pkg/util/intstr,IntOrString,Type
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,AttachDetachControllerConfiguration,DisableAttachDetachReconcilerSync
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,AttachDetachControllerConfiguration,ReconcilerSyncLoopPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,CSRSigningControllerConfiguration,ClusterSigningCertFile
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,CSRSigningControllerConfiguration,ClusterSigningDuration
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,CSRSigningControllerConfiguration,ClusterSigningKeyFile
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,CloudProviderConfiguration,CloudConfigFile
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,CloudProviderConfiguration,Name
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,DaemonSetControllerConfiguration,ConcurrentDaemonSetSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,DeploymentControllerConfiguration,ConcurrentDeploymentSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,DeploymentControllerConfiguration,DeploymentControllerSyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,DeprecatedControllerConfiguration,DeletingPodsBurst
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,DeprecatedControllerConfiguration,DeletingPodsQPS
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,DeprecatedControllerConfiguration,RegisterRetryCount
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointControllerConfiguration,ConcurrentEndpointSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointControllerConfiguration,EndpointUpdatesBatchPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceControllerConfiguration,ConcurrentServiceEndpointSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,EndpointSliceControllerConfiguration,MaxEndpointsPerSlice
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,ConcurrentGCSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,EnableGarbageCollector
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GarbageCollectorControllerConfiguration,GCIgnoredResources
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Address
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,ClientConnection
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,ControllerStartInterval
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Controllers
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Debugging
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,LeaderElection
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,MinResyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GenericControllerManagerConfiguration,Port
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GroupResource,Group
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,GroupResource,Resource
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerCPUInitializationPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerDownscaleForbiddenWindow
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerDownscaleStabilizationWindow
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerInitialReadinessDelay
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerSyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerTolerance
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerUpscaleForbiddenWindow
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,HPAControllerConfiguration,HorizontalPodAutoscalerUseRESTClients
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,JobControllerConfiguration,ConcurrentJobSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,AllocateNodeCIDRs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,AllowUntaggedCloud
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,CIDRAllocatorType
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,CloudProvider
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,ClusterCIDR
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,ClusterName
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,ConfigureCloudRoutes
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,ExternalCloudVolumePlugin
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,NodeMonitorPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,NodeSyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,RouteReconciliationPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeCloudSharedConfiguration,UseServiceAccountCredentials
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,AttachDetachController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,CSRSigningController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,DaemonSetController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,DeploymentController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,DeprecatedController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,EndpointSliceController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,GarbageCollectorController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,Generic
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,HPAController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,JobController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,KubeCloudShared
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,NamespaceController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,NodeIPAMController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,NodeLifecycleController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,PersistentVolumeBinderController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,PodGCController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,ReplicaSetController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,ReplicationController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,ResourceQuotaController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,SAController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,ServiceController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,StatefulSetController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,KubeControllerManagerConfiguration,TTLAfterFinishedController
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NamespaceControllerConfiguration,ConcurrentNamespaceSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NamespaceControllerConfiguration,NamespaceSyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeIPAMControllerConfiguration,NodeCIDRMaskSize
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeIPAMControllerConfiguration,NodeCIDRMaskSizeIPv4
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeIPAMControllerConfiguration,NodeCIDRMaskSizeIPv6
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeIPAMControllerConfiguration,SecondaryServiceCIDR
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeIPAMControllerConfiguration,ServiceCIDR
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,EnableTaintManager
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,LargeClusterSizeThreshold
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,NodeEvictionRate
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,NodeMonitorGracePeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,NodeStartupGracePeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,PodEvictionTimeout
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,SecondaryNodeEvictionRate
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,NodeLifecycleControllerConfiguration,UnhealthyZoneThreshold
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeBinderControllerConfiguration,PVClaimBinderSyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeBinderControllerConfiguration,VolumeConfiguration
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,IncrementTimeoutHostPath
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,IncrementTimeoutNFS
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,MaximumRetry
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,MinimumTimeoutHostPath
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,MinimumTimeoutNFS
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,PodTemplateFilePathHostPath
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PersistentVolumeRecyclerConfiguration,PodTemplateFilePathNFS
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,PodGCControllerConfiguration,TerminatedPodGCThreshold
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,ReplicaSetControllerConfiguration,ConcurrentRSSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,ReplicationControllerConfiguration,ConcurrentRCSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,ResourceQuotaControllerConfiguration,ConcurrentResourceQuotaSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,ResourceQuotaControllerConfiguration,ResourceQuotaSyncPeriod
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,SAControllerConfiguration,ConcurrentSATokenSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,SAControllerConfiguration,RootCAFile
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,SAControllerConfiguration,ServiceAccountKeyFile
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,ServiceControllerConfiguration,ConcurrentServiceSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,StatefulSetControllerConfiguration,ConcurrentStatefulSetSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,TTLAfterFinishedControllerConfiguration,ConcurrentTTLSyncs
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,VolumeConfiguration,EnableDynamicProvisioning
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,VolumeConfiguration,EnableHostPathProvisioning
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,VolumeConfiguration,FlexVolumePluginDir
-API rule violation: names_match,k8s.io/kube-controller-manager/config/v1alpha1,VolumeConfiguration,PersistentVolumeRecyclerConfiguration
-API rule violation: names_match,k8s.io/kube-proxy/config/v1alpha1,KubeProxyConfiguration,IPTables
-API rule violation: names_match,k8s.io/kube-scheduler/config/v1,Extender,EnableHTTPS
-API rule violation: names_match,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,IPTablesDropBit
-API rule violation: names_match,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,IPTablesMasqueradeBit
-API rule violation: names_match,k8s.io/kubelet/config/v1beta1,KubeletConfiguration,ResolverConfig
-API rule violation: names_match,k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1,CloudControllerManagerConfiguration,Generic
-API rule violation: names_match,k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1,CloudControllerManagerConfiguration,KubeCloudShared
-API rule violation: names_match,k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1,CloudControllerManagerConfiguration,NodeStatusUpdateFrequency
-API rule violation: names_match,k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1,CloudControllerManagerConfiguration,ServiceController
-API rule violation: names_match,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,MetricValue,WindowSeconds
-API rule violation: names_match,k8s.io/metrics/pkg/apis/external_metrics/v1beta1,ExternalMetricValue,WindowSeconds

+ 0 - 21
kubernetes-v1.17/api/openapi-spec/BUILD

@@ -1,21 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-filegroup(
-    name = "openapi-spec",
-    srcs = glob([
-        "**/*.json",
-    ]),
-)
-
-filegroup(
-    name = "package-srcs",
-    srcs = glob(["**"]),
-    tags = ["automanaged"],
-    visibility = ["//visibility:private"],
-)
-
-filegroup(
-    name = "all-srcs",
-    srcs = [":package-srcs"],
-    tags = ["automanaged"],
-)

+ 0 - 60
kubernetes-v1.17/api/openapi-spec/README.md

@@ -1,60 +0,0 @@
-# Kubernetes's OpenAPI Specification
-
-This folder contains an [OpenAPI specification](https://github.com/OAI/OpenAPI-Specification) for Kubernetes API.
-
-## Vendor Extensions
-
-Kubernetes extends OpenAPI using these extensions. Note the version that
-extensions has been added.
-
-### `x-kubernetes-group-version-kind`
-
-Operations and Definitions may have `x-kubernetes-group-version-kind` if they
-are associated with a [kubernetes resource](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources).
-
-
-For example:
-
-``` json
-"paths": {
-    ...
-    "/api/v1/namespaces/{namespace}/pods/{name}": {
-        ...
-        "get": {
-        ...
-            "x-kubernetes-group-version-kind": {
-            "group": "",
-            "version": "v1",
-            "kind": "Pod"
-            }
-        }
-    }
-}
-```
-
-### `x-kubernetes-action`
-
-Operations and Definitions may have `x-kubernetes-action` if they
-are associated with a [kubernetes resource](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources).
-Action can be one of `get`, `list`, `put`, `patch`, `post`, `delete`, `deletecollection`, `watch`, `watchlist`, `proxy`, or `connect`.
-
-
-For example:
-
-``` json
-"paths": {
-    ...
-    "/api/v1/namespaces/{namespace}/pods/{name}": {
-        ...
-        "get": {
-        ...
-            "x-kubernetes-action": "list"
-        }
-    }
-}
-```
-
-### `x-kubernetes-patch-strategy` and `x-kubernetes-patch-merge-key`
-
-Some of the definitions may have these extensions. For more information about PatchStrategy and PatchMergeKey see
-[strategic-merge-patch](https://git.k8s.io/community/contributors/devel/sig-api-machinery/strategic-merge-patch.md).

File diff suppressed because it is too large
+ 0 - 97406
kubernetes-v1.17/api/openapi-spec/swagger.json


+ 0 - 184
kubernetes-v1.17/build/BUILD

@@ -1,184 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-load("@io_k8s_repo_infra//defs:build.bzl", "release_filegroup")
-load("@io_k8s_repo_infra//defs:pkg.bzl", "pkg_tar")
-load(":code_generation_test.bzl", "code_generation_test_suite")
-load(":container.bzl", "multi_arch_container", "multi_arch_container_push")
-load(":platforms.bzl", "SERVER_PLATFORMS", "for_platforms")
-
-code_generation_test_suite(
-    name = "code_generation_tests",
-)
-
-filegroup(
-    name = "package-srcs",
-    srcs = glob(["**"]),
-    tags = ["automanaged"],
-)
-
-filegroup(
-    name = "all-srcs",
-    srcs = [
-        ":package-srcs",
-        "//build/release-tars:all-srcs",
-        "//build/visible_to:all-srcs",
-    ],
-    tags = ["automanaged"],
-)
-
-# This list should roughly match kube::build::get_docker_wrapped_binaries()
-# in build/common.sh.
-DOCKERIZED_BINARIES = {
-    "kube-apiserver": {
-        "base": "@debian-base-{ARCH}//image",
-        "target": "//cmd/kube-apiserver:kube-apiserver",
-    },
-    "kube-controller-manager": {
-        "base": "@debian-base-{ARCH}//image",
-        "target": "//cmd/kube-controller-manager:kube-controller-manager",
-    },
-    "kube-scheduler": {
-        "base": "@debian-base-{ARCH}//image",
-        "target": "//cmd/kube-scheduler:kube-scheduler",
-    },
-    "kube-proxy": {
-        "base": "@debian-iptables-{ARCH}//image",
-        "target": "//cmd/kube-proxy:kube-proxy",
-    },
-}
-
-[pkg_tar(
-    name = "%s-data-%s.tar" % (binary, arch),
-    srcs = select({"@io_bazel_rules_go//go/platform:" + arch: ["//cmd/" + binary]}),
-    mode = "0755",
-    package_dir = "/usr/bin",
-    visibility = ["//visibility:private"],
-) for binary in DOCKERIZED_BINARIES.keys() for arch in SERVER_PLATFORMS["linux"]]
-
-# When pushing to gcr.io, we want to use an arch, since the archless name is now used for a
-# manifest list. Bazel doesn't support manifest lists (yet), so we can't do that either.
-[multi_arch_container(
-    name = binary,
-    architectures = SERVER_PLATFORMS["linux"],
-    base = meta["base"],
-    cmd = ["/usr/bin/" + binary],
-    # Since the multi_arch_container macro replaces the {ARCH} format string,
-    # we need to escape the stamping vars.
-    docker_push_tags = ["{{STABLE_DOCKER_PUSH_REGISTRY}}/%s-{ARCH}:{{STABLE_DOCKER_TAG}}" % binary],
-    docker_tags = ["{{STABLE_DOCKER_REGISTRY}}/%s-{ARCH}:{{STABLE_DOCKER_TAG}}" % binary],
-    stamp = True,
-    symlinks = {
-        # Some cluster startup scripts expect to find the binaries in /usr/local/bin,
-        # but the debs install the binaries into /usr/bin.
-        "/usr/local/bin/" + binary: "/usr/bin/" + binary,
-    },
-    tags = ["manual"],
-    tars = select(for_platforms(
-        for_server = [":%s-data-{ARCH}.tar" % binary],
-        only_os = "linux",
-    )),
-    visibility = ["//visibility:private"],
-) for binary, meta in DOCKERIZED_BINARIES.items()]
-
-# Also roll up all images into a single bundle to push with one target.
-multi_arch_container_push(
-    name = "server-images",
-    architectures = SERVER_PLATFORMS["linux"],
-    docker_tags_images = {
-        "{{STABLE_DOCKER_PUSH_REGISTRY}}/%s-{ARCH}:{{STABLE_DOCKER_TAG}}" % binary: "%s-internal" % binary
-        for binary in DOCKERIZED_BINARIES.keys()
-    },
-    tags = ["manual"],
-)
-
-[genrule(
-    name = binary + "_docker_tag",
-    srcs = [meta["target"]],
-    outs = [binary + ".docker_tag"],
-    cmd = "grep ^STABLE_DOCKER_TAG bazel-out/stable-status.txt | awk '{print $$2}' >$@",
-    stamp = 1,
-) for binary, meta in DOCKERIZED_BINARIES.items()]
-
-genrule(
-    name = "os_package_version",
-    outs = ["version"],
-    cmd = """
-grep ^STABLE_BUILD_SCM_REVISION bazel-out/stable-status.txt \
-    | awk '{print $$2}' \
-    | sed -e 's/^v//' -Ee 's/-([a-z]+)/~\\1/' -e 's/-/+/g' \
-    >$@
-""",
-    stamp = 1,
-)
-
-release_filegroup(
-    name = "docker-artifacts",
-    srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
-           [":%s.docker_tag" % binary for binary in DOCKERIZED_BINARIES.keys()],
-)
-
-# KUBE_CLIENT_TARGETS
-release_filegroup(
-    name = "client-targets",
-    conditioned_srcs = for_platforms(for_client = [
-        "//cmd/kubectl",
-    ]),
-)
-
-# KUBE_NODE_TARGETS
-release_filegroup(
-    name = "node-targets",
-    conditioned_srcs = for_platforms(for_node = [
-        "//cmd/kube-proxy",
-        "//cmd/kubeadm",
-        "//cmd/kubelet",
-    ]),
-)
-
-# KUBE_SERVER_TARGETS
-# No need to duplicate CLIENT_TARGETS or NODE_TARGETS here,
-# since we include them in the actual build rule.
-release_filegroup(
-    name = "server-targets",
-    conditioned_srcs = for_platforms(for_server = [
-        "//cluster/gce/gci/mounter",
-        "//cmd/kube-apiserver",
-        "//cmd/kube-controller-manager",
-        "//cmd/kube-scheduler",
-    ]),
-)
-
-# kube::golang::test_targets
-filegroup(
-    name = "test-targets",
-    srcs = select(for_platforms(
-        for_server = [
-            "//cmd/kubemark",
-            "//test/e2e_node:e2e_node.test_binary",
-        ],
-        for_test = [
-            "//cmd/gendocs",
-            "//cmd/genkubedocs",
-            "//cmd/genman",
-            "//cmd/genswaggertypedocs",
-            "//cmd/genyaml",
-            "//cmd/linkcheck",
-            "//test/e2e:e2e.test_binary",
-            "//vendor/github.com/onsi/ginkgo/ginkgo",
-            "//cluster/images/conformance/go-runner",
-        ],
-    )),
-)
-
-# KUBE_TEST_PORTABLE
-filegroup(
-    name = "test-portable-targets",
-    srcs = [
-        "//hack:get-build.sh",
-        "//hack:ginkgo-e2e.sh",
-        "//hack/e2e-internal:all-srcs",
-        "//hack/lib:all-srcs",
-        "//test/e2e/testing-manifests:all-srcs",
-        "//test/kubemark:all-srcs",
-    ],
-)

+ 0 - 17
kubernetes-v1.17/build/OWNERS

@@ -1,17 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-reviewers:
-  - bentheelder
-  - cblecker
-  - fejta
-  - lavalamp
-  - spiffxp
-approvers:
-  - bentheelder
-  - cblecker
-  - fejta
-  - lavalamp
-  - mikedanese
-emeritus_approvers:
-  - jbeda
-  - zmerlynn

+ 0 - 130
kubernetes-v1.17/build/README.md

@@ -1,130 +0,0 @@
-# Building Kubernetes
-
-Building Kubernetes is easy if you take advantage of the containerized build environment. This document will help guide you through understanding this build process.
-
-## Requirements
-
-1. Docker, using one of the following configurations:
-  * **macOS** You can either use Docker for Mac or docker-machine. See installation instructions [here](https://docs.docker.com/docker-for-mac/).
-     **Note**: You will want to set the Docker VM to have at least 4.5GB of initial memory or building will likely fail. (See: [#11852]( http://issue.k8s.io/11852)).
-  * **Linux with local Docker**  Install Docker according to the [instructions](https://docs.docker.com/installation/#installation) for your OS.
-  * **Remote Docker engine** Use a big machine in the cloud to build faster. This is a little trickier so look at the section later on.
-2. **Optional** [Google Cloud SDK](https://developers.google.com/cloud/sdk/)
-
-You must install and configure Google Cloud SDK if you want to upload your release to Google Cloud Storage and may safely omit this otherwise.
-
-## Overview
-
-While it is possible to build Kubernetes using a local golang installation, we have a build process that runs in a Docker container.  This simplifies initial set up and provides for a very consistent build and test environment.
-
-## Key scripts
-
-The following scripts are found in the [`build/`](.) directory. Note that all scripts must be run from the Kubernetes root directory.
-
-* [`build/run.sh`](run.sh): Run a command in a build docker container.  Common invocations:
-  *  `build/run.sh make`: Build just linux binaries in the container.  Pass options and packages as necessary.
-  *  `build/run.sh make cross`: Build all binaries for all platforms
-  *  `build/run.sh make kubectl KUBE_BUILD_PLATFORMS=darwin/amd64`: Build the specific binary for the specific platform (`kubectl` and `darwin/amd64` respectively in this example)
-  *  `build/run.sh make test`: Run all unit tests
-  *  `build/run.sh make test-integration`: Run integration test
-  *  `build/run.sh make test-cmd`: Run CLI tests
-* [`build/copy-output.sh`](copy-output.sh): This will copy the contents of `_output/dockerized/bin` from the Docker container to the local `_output/dockerized/bin`. It will also copy out specific file patterns that are generated as part of the build process. This is run automatically as part of `build/run.sh`.
-* [`build/make-clean.sh`](make-clean.sh): Clean out the contents of `_output`, remove any locally built container images and remove the data container.
-* [`build/shell.sh`](shell.sh): Drop into a `bash` shell in a build container with a snapshot of the current repo code.
-
-## Basic Flow
-
-The scripts directly under [`build/`](.) are used to build and test.  They will ensure that the `kube-build` Docker image is built (based on [`build/build-image/Dockerfile`](build-image/Dockerfile)) and then execute the appropriate command in that container.  These scripts will both ensure that the right data is cached from run to run for incremental builds and will copy the results back out of the container.
-
-The `kube-build` container image is built by first creating a "context" directory in `_output/images/build-image`.  It is done there instead of at the root of the Kubernetes repo to minimize the amount of data we need to package up when building the image.
-
-There are 3 different containers instances that are run from this image.  The first is a "data" container to store all data that needs to persist across to support incremental builds. Next there is an "rsync" container that is used to transfer data in and out to the data container.  Lastly there is a "build" container that is used for actually doing build actions.  The data container persists across runs while the rsync and build containers are deleted after each use.
-
-`rsync` is used transparently behind the scenes to efficiently move data in and out of the container.  This will use an ephemeral port picked by Docker.  You can modify this by setting the `KUBE_RSYNC_PORT` env variable.
-
-All Docker names are suffixed with a hash derived from the file path (to allow concurrent usage on things like CI machines) and a version number.  When the version number changes all state is cleared and clean build is started.  This allows the build infrastructure to be changed and signal to CI systems that old artifacts need to be deleted.
-
-## Proxy Settings
-
-If you are behind a proxy and you are letting these scripts use `docker-machine` to set up your local VM for you on macOS, you need to export proxy settings for Kubernetes build, the following environment variables should be defined.
-
-```
-export KUBERNETES_HTTP_PROXY=http://username:password@proxyaddr:proxyport
-export KUBERNETES_HTTPS_PROXY=https://username:password@proxyaddr:proxyport
-```
-
-Optionally, you can specify addresses of no proxy for Kubernetes build, for example
-
-```
-export KUBERNETES_NO_PROXY=127.0.0.1
-```
-
-If you are using sudo to make Kubernetes build for example make quick-release, you need run `sudo -E make quick-release` to pass the environment variables.
-
-## Really Remote Docker Engine
-
-It is possible to use a Docker Engine that is running remotely (under your desk or in the cloud).  Docker must be configured to connect to that machine and the local rsync port must be forwarded (via SSH or nc) from localhost to the remote machine.
-
-To do this easily with GCE and `docker-machine`, do something like this:
-```
-# Create the remote docker machine on GCE.  This is a pretty beefy machine with SSD disk.
-KUBE_BUILD_VM=k8s-build
-KUBE_BUILD_GCE_PROJECT=<project>
-docker-machine create \
-  --driver=google \
-  --google-project=${KUBE_BUILD_GCE_PROJECT} \
-  --google-zone=us-west1-a \
-  --google-machine-type=n1-standard-8 \
-  --google-disk-size=50 \
-  --google-disk-type=pd-ssd \
-  ${KUBE_BUILD_VM}
-
-# Set up local docker to talk to that machine
-eval $(docker-machine env ${KUBE_BUILD_VM})
-
-# Pin down the port that rsync will be exposed on the remote machine
-export KUBE_RSYNC_PORT=8730
-
-# forward local 8730 to that machine so that rsync works
-docker-machine ssh ${KUBE_BUILD_VM} -L ${KUBE_RSYNC_PORT}:localhost:${KUBE_RSYNC_PORT} -N &
-```
-
-Look at `docker-machine stop`, `docker-machine start` and `docker-machine rm` to manage this VM.
-
-## Releasing
-
-The [`build/release.sh`](release.sh) script will build a release.  It will build binaries, run tests, (optionally) build runtime Docker images.
-
-The main output is a tar file: `kubernetes.tar.gz`.  This includes:
-* Cross compiled client utilities.
-* Script (`kubectl`) for picking and running the right client binary based on platform.
-* Examples
-* Cluster deployment scripts for various clouds
-* Tar file containing all server binaries
-
-In addition, there are some other tar files that are created:
-* `kubernetes-client-*.tar.gz` Client binaries for a specific platform.
-* `kubernetes-server-*.tar.gz` Server binaries for a specific platform.
-
-When building final release tars, they are first staged into `_output/release-stage` before being tar'd up and put into `_output/release-tars`.
-
-## Reproducibility
-`make release`, its variant `make quick-release`, and Bazel all provide a
-hermetic build environment which should provide some level of reproducibility
-for builds. `make` itself is **not** hermetic.
-
-The Kubernetes build environment supports the [`SOURCE_DATE_EPOCH` environment
-variable](https://reproducible-builds.org/specs/source-date-epoch/) specified by
-the Reproducible Builds project, which can be set to a UNIX epoch timestamp.
-This will be used for the build timestamps embedded in compiled Go binaries,
-and maybe someday also Docker images.
-
-One reasonable setting for this variable is to use the commit timestamp from the
-tip of the tree being built; this is what the Kubernetes CI system uses. For
-example, you could use the following one-liner:
-
-```bash
-SOURCE_DATE_EPOCH=$(git show -s --format=format:%ct HEAD)
-```
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/build/README.md?pixel)]()

+ 0 - 45
kubernetes-v1.17/build/bindata.bzl

@@ -1,45 +0,0 @@
-# Copyright 2018 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Genrule wrapper around the go-bindata utility.
-# IMPORTANT: Any changes to this rule may also require changes to hack/generate-bindata.sh.
-def go_bindata(
-    name, srcs, outs,
-    compress=True,
-    include_metadata=True,
-    pkg="generated",
-    ignores=["\.jpg", "\.png", "\.md", "BUILD(\.bazel)?"],
-    **kw):
-
-  args = []
-  for ignore in ignores:
-    args.extend(["-ignore", "'%s'" % ignore])
-  if not include_metadata:
-    args.append("-nometadata")
-  if not compress:
-    args.append("-nocompress")
-
-  native.genrule(
-    name = name,
-    srcs = srcs,
-    outs = outs,
-    cmd = """
-    $(location //vendor/github.com/go-bindata/go-bindata/go-bindata:go-bindata) \
-      -o "$@" -pkg %s -prefix $$(pwd) %s $(SRCS)
-    """ % (pkg, " ".join(args)),
-    tools = [
-      "//vendor/github.com/go-bindata/go-bindata/go-bindata",
-    ],
-    **kw
-  )

+ 0 - 54
kubernetes-v1.17/build/build-image/Dockerfile

@@ -1,54 +0,0 @@
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This file creates a standard build environment for building Kubernetes
-FROM k8s.gcr.io/kube-cross:KUBE_BUILD_IMAGE_CROSS_TAG
-
-# Mark this as a kube-build container
-RUN touch /kube-build-image
-
-# To run as non-root we sometimes need to rebuild go stdlib packages.
-RUN chmod -R a+rwx /usr/local/go/pkg
-
-# For running integration tests /var/run/kubernetes is required
-# and should be writable by user
-RUN mkdir /var/run/kubernetes && chmod a+rwx /var/run/kubernetes
-
-# The kubernetes source is expected to be mounted here.  This will be the base
-# of operations.
-ENV HOME /go/src/k8s.io/kubernetes
-WORKDIR ${HOME}
-
-# Make output from the dockerized build go someplace else
-ENV KUBE_OUTPUT_SUBPATH _output/dockerized
-
-# Pick up version stuff here as we don't copy our .git over.
-ENV KUBE_GIT_VERSION_FILE ${HOME}/.dockerized-kube-version-defs
-
-# Add system-wide git user information
-RUN git config --system user.email "nobody@k8s.io" \
-  && git config --system user.name "kube-build-image"
-
-# Fix permissions on gopath
-RUN chmod -R a+rwx $GOPATH
-
-# Make log messages use the right timezone
-ADD localtime /etc/localtime
-RUN chmod a+r /etc/localtime
-
-# Set up rsyncd
-ADD rsyncd.password /
-RUN chmod a+r /rsyncd.password
-ADD rsyncd.sh /
-RUN chmod a+rx /rsyncd.sh

+ 0 - 1
kubernetes-v1.17/build/build-image/VERSION

@@ -1 +0,0 @@
-5

+ 0 - 79
kubernetes-v1.17/build/build-image/cross/Dockerfile

@@ -1,79 +0,0 @@
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This file creates a standard build environment for building cross
-# platform go binary for the architecture kubernetes cares about.
-
-FROM golang:1.13.6
-
-ENV GOARM 7
-ENV KUBE_DYNAMIC_CROSSPLATFORMS \
-  armhf \
-  arm64 \
-  s390x \
-  ppc64el
-
-ENV KUBE_CROSSPLATFORMS \
-  linux/386 \
-  linux/arm linux/arm64 \
-  linux/ppc64le \
-  linux/s390x \
-  darwin/amd64 darwin/386 \
-  windows/amd64 windows/386
-
-# Pre-compile the standard go library when cross-compiling. This is much easier now when we have go1.5+
-RUN for platform in ${KUBE_CROSSPLATFORMS}; do GOOS=${platform%/*} GOARCH=${platform##*/} go install std; done \
-    && go clean -cache
-
-# Install g++, then download and install protoc for generating protobuf output
-RUN apt-get update \
-  && apt-get install -y rsync jq apt-utils file patch unzip \
-  && apt-get clean && rm -rf /var/lib/apt/lists/*
-
-# Use dynamic cgo linking for architectures other than amd64 for the server platforms
-# To install crossbuild essential for other architectures add the following repository.
-RUN echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" > /etc/apt/sources.list.d/cgocrosscompiling.list \
-  && apt-key adv --no-tty --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32 \
-  && apt-get update \
-  && apt-get install -y build-essential \
-  && for platform in ${KUBE_DYNAMIC_CROSSPLATFORMS}; do apt-get install -y crossbuild-essential-${platform}; done \
-  && apt-get clean && rm -rf /var/lib/apt/lists/*
-
-RUN PROTOBUF_VERSION=3.0.2; ZIPNAME="protoc-${PROTOBUF_VERSION}-linux-x86_64.zip"; \
-  mkdir /tmp/protoc && cd /tmp/protoc \
-  && wget "https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOBUF_VERSION}/${ZIPNAME}" \
-  && unzip "${ZIPNAME}" \
-  && chmod -R +rX /tmp/protoc \
-  && cp -pr bin /usr/local \
-  && cp -pr include /usr/local \
-  && rm -rf /tmp/protoc \
-  && protoc --version
-
-# work around 64MB tmpfs size in Docker 1.6
-ENV TMPDIR /tmp.k8s
-RUN mkdir $TMPDIR \
-  && chmod a+rwx $TMPDIR \
-  && chmod o+t $TMPDIR
-
-# Get the code coverage tool and goimports
-RUN go get golang.org/x/tools/cmd/cover \
-           golang.org/x/tools/cmd/goimports \
-    && go clean -cache
-
-# Download and symlink etcd. We need this for our integration tests.
-RUN export ETCD_VERSION=v3.2.24; \
-  mkdir -p /usr/local/src/etcd \
-  && cd /usr/local/src/etcd \
-  && curl -fsSL https://github.com/coreos/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz | tar -xz \
-  && ln -s ../src/etcd/etcd-${ETCD_VERSION}-linux-amd64/etcd /usr/local/bin/

+ 0 - 28
kubernetes-v1.17/build/build-image/cross/Makefile

@@ -1,28 +0,0 @@
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-.PHONY:	build push
-
-REGISTRY?=staging-k8s.gcr.io
-IMAGE=$(REGISTRY)/kube-cross
-TAG=$(shell cat VERSION)
-
-
-all: push
-
-build:
-	docker build --pull -t $(IMAGE):$(TAG) .
-
-push: build
-	docker push $(IMAGE):$(TAG)

+ 0 - 1
kubernetes-v1.17/build/build-image/cross/VERSION

@@ -1 +0,0 @@
-v1.13.6-1

+ 0 - 83
kubernetes-v1.17/build/build-image/rsyncd.sh

@@ -1,83 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This script will set up and run rsyncd to allow data to move into and out of
-# our dockerized build system.  This is used for syncing sources and changes of
-# sources into the docker-build-container.  It is also used to transfer built binaries
-# and generated files back out.
-#
-# When run as root (rare) it'll preserve the file ids as sent from the client.
-# Usually it'll be run as non-dockerized UID/GID and end up translating all file
-# ownership to that.
-
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# The directory that gets sync'd
-VOLUME=${HOME}
-
-# Assume that this is running in Docker on a bridge.  Allow connections from
-# anything on the local subnet.
-ALLOW=$(ip route | awk  '/^default via/ { reg = "^[0-9./]+ dev "$5 } ; $0 ~ reg { print $1 }')
-
-CONFDIR="/tmp/rsync.k8s"
-PIDFILE="${CONFDIR}/rsyncd.pid"
-CONFFILE="${CONFDIR}/rsyncd.conf"
-SECRETS="${CONFDIR}/rsyncd.secrets"
-
-mkdir -p "${CONFDIR}"
-
-if [[ -f "${PIDFILE}" ]]; then
-  PID=$(cat "${PIDFILE}")
-  echo "Cleaning up old PID file: ${PIDFILE}"
-  kill "${PID}" &> /dev/null || true
-  rm "${PIDFILE}"
-fi
-
-PASSWORD=$(</rsyncd.password)
-
-cat <<EOF >"${SECRETS}"
-k8s:${PASSWORD}
-EOF
-chmod go= "${SECRETS}"
-
-USER_CONFIG=
-if [[ "$(id -u)" == "0" ]]; then
-  USER_CONFIG="  uid = 0"$'\n'"  gid = 0"
-fi
-
-cat <<EOF >"${CONFFILE}"
-pid file = ${PIDFILE}
-use chroot = no
-log file = /dev/stdout
-reverse lookup = no
-munge symlinks = no
-port = 8730
-[k8s]
-  numeric ids = true
-  $USER_CONFIG
-  hosts deny = *
-  hosts allow = ${ALLOW} ${ALLOW_HOST-}
-  auth users = k8s
-  secrets file = ${SECRETS}
-  read only = false
-  path = ${VOLUME}
-  filter = - /.make/ - /_tmp/
-EOF
-
-exec /usr/bin/rsync --no-detach --daemon --config="${CONFFILE}" "$@"

+ 0 - 90
kubernetes-v1.17/build/code_generation.bzl

@@ -1,90 +0,0 @@
-# Copyright 2018 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("//build:kazel_generated.bzl", "go_prefix", "tags_values_pkgs")
-load("//build:openapi.bzl", "openapi_vendor_prefix")
-load("@io_k8s_repo_infra//defs:go.bzl", "go_genrule")
-
-def bazel_go_library(pkg):
-    """Returns the Bazel label for the Go library for the provided package.
-    This is intended to be used with the //build:kazel_generated.bzl tag dictionaries; for example:
-    load("//build:kazel_generated.bzl", "tags_values_pkgs")
-    some_rule(
-        ...
-        deps = [bazel_go_library(pkg) for pkg in tags_values_pkgs["openapi-gen"]["true"]],
-        ...
-    )
-    """
-    return "//%s:go_default_library" % pkg
-
-def go_pkg(pkg):
-    """Returns the full Go package name for the provided workspace-relative package.
-    This is suitable to pass to tools depending on the Go build library.
-    If any packages are in staging/src, they are remapped to their intended path in vendor/.
-    This is intended to be used with the //build:kazel_generated.bzl tag dictionaries.
-    For example:
-    load("//build:kazel_generated.bzl", "tags_values_pkgs")
-    genrule(
-        ...
-        cmd = "do something --pkgs=%s" % ",".join([go_pkg(pkg) for pkg in tags_values_pkgs["openapi-gen"]["true"]]),
-        ...
-    )
-    """
-    count = 1
-    return go_prefix + "/" + pkg.replace("staging/src/", "vendor/", count)
-
-def openapi_deps():
-    deps = [
-        "//vendor/github.com/go-openapi/spec:go_default_library",
-        "//vendor/k8s.io/kube-openapi/pkg/common:go_default_library",
-    ]
-    deps.extend([bazel_go_library(pkg) for pkg in tags_values_pkgs["openapi-gen"]["true"]])
-    return deps
-
-def applies(pkg, prefixes, default):
-    if prefixes == None or len(prefixes) == 0:
-        return default
-    for prefix in prefixes:
-        if pkg == prefix or pkg.startswith(prefix + "/"):
-            return True
-    return False
-
-def gen_openapi(outs, output_pkg, include_pkgs = [], exclude_pkgs = []):
-    """Calls openapi-gen to produce the zz_generated.openapi.go file,
-    which should be provided in outs.
-    output_pkg should be set to the full go package name for this generated file.
-    """
-    go_genrule(
-        name = "zz_generated.openapi",
-        srcs = ["//" + openapi_vendor_prefix + "hack/boilerplate:boilerplate.generatego.txt"],
-        outs = outs,
-        # In order for vendored dependencies to be imported correctly,
-        # the generator must run from the repo root inside the generated GOPATH.
-        # All of bazel's $(location)s are relative to the original working directory, however.
-        cmd = " ".join([
-            "cd $$GOPATH/src/" + go_prefix + ";",
-            "$$GO_GENRULE_EXECROOT/$(location //vendor/k8s.io/kube-openapi/cmd/openapi-gen)",
-            "--v 1",
-            "--logtostderr",
-            "--go-header-file $$GO_GENRULE_EXECROOT/$(location //" + openapi_vendor_prefix + "hack/boilerplate:boilerplate.generatego.txt)",
-            "--output-file-base zz_generated.openapi",
-            "--output-package " + output_pkg,
-            "--report-filename tmp_api_violations.report",
-            "--input-dirs " + ",".join([go_pkg(pkg) for pkg in tags_values_pkgs["openapi-gen"]["true"] if applies(pkg, include_pkgs, True) and not applies(pkg, exclude_pkgs, False)]),
-            "&& cp $$GOPATH/src/" + output_pkg + "/zz_generated.openapi.go $$GO_GENRULE_EXECROOT/$(location :zz_generated.openapi.go)",
-            "&& rm tmp_api_violations.report",
-        ]),
-        go_deps = openapi_deps(),
-        tools = ["//vendor/k8s.io/kube-openapi/cmd/openapi-gen"],
-    )

+ 0 - 49
kubernetes-v1.17/build/code_generation_test.bzl

@@ -1,49 +0,0 @@
-# Copyright 2018 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load(":code_generation.bzl", "bazel_go_library", "go_pkg")
-load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest")
-
-def _bazel_go_library_test_impl(ctx):
-    env = unittest.begin(ctx)
-    test_cases = [
-        ("pkg/kubectl/util", "//pkg/kubectl/util:go_default_library"),
-        ("vendor/some/third/party", "//vendor/some/third/party:go_default_library"),
-        ("staging/src/k8s.io/apimachinery/api", "//staging/src/k8s.io/apimachinery/api:go_default_library"),
-    ]
-    for input, expected in test_cases:
-        asserts.equals(env, expected, bazel_go_library(input))
-    unittest.end(env)
-
-bazel_go_library_test = unittest.make(_bazel_go_library_test_impl)
-
-def _go_pkg_test_impl(ctx):
-    env = unittest.begin(ctx)
-    test_cases = [
-        ("pkg/kubectl/util", "k8s.io/kubernetes/pkg/kubectl/util"),
-        ("vendor/some/third/party", "k8s.io/kubernetes/vendor/some/third/party"),
-        ("staging/src/k8s.io/apimachinery/api", "k8s.io/kubernetes/vendor/k8s.io/apimachinery/api"),
-    ]
-    for input, expected in test_cases:
-        asserts.equals(env, expected, go_pkg(input))
-    unittest.end(env)
-
-go_pkg_test = unittest.make(_go_pkg_test_impl)
-
-def code_generation_test_suite(name):
-    unittest.suite(
-        name,
-        bazel_go_library_test,
-        go_pkg_test,
-    )

+ 0 - 745
kubernetes-v1.17/build/common.sh

@@ -1,745 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2014 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# shellcheck disable=SC2034 # Variables sourced in other scripts.
-
-# Common utilities, variables and checks for all build scripts.
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# Unset CDPATH, having it set messes up with script import paths
-unset CDPATH
-
-USER_ID=$(id -u)
-GROUP_ID=$(id -g)
-
-DOCKER_OPTS=${DOCKER_OPTS:-""}
-IFS=" " read -r -a DOCKER <<< "docker ${DOCKER_OPTS}"
-DOCKER_HOST=${DOCKER_HOST:-""}
-DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME:-"kube-dev"}
-readonly DOCKER_MACHINE_DRIVER=${DOCKER_MACHINE_DRIVER:-"virtualbox --virtualbox-cpu-count -1"}
-
-# This will canonicalize the path
-KUBE_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd -P)
-
-source "${KUBE_ROOT}/hack/lib/init.sh"
-
-# Constants
-readonly KUBE_BUILD_IMAGE_REPO=kube-build
-readonly KUBE_BUILD_IMAGE_CROSS_TAG="$(cat "${KUBE_ROOT}/build/build-image/cross/VERSION")"
-
-readonly KUBE_DOCKER_REGISTRY="${KUBE_DOCKER_REGISTRY:-k8s.gcr.io}"
-readonly KUBE_BASE_IMAGE_REGISTRY="${KUBE_BASE_IMAGE_REGISTRY:-k8s.gcr.io}"
-
-# This version number is used to cause everyone to rebuild their data containers
-# and build image.  This is especially useful for automated build systems like
-# Jenkins.
-#
-# Increment/change this number if you change the build image (anything under
-# build/build-image) or change the set of volumes in the data container.
-readonly KUBE_BUILD_IMAGE_VERSION_BASE="$(cat "${KUBE_ROOT}/build/build-image/VERSION")"
-readonly KUBE_BUILD_IMAGE_VERSION="${KUBE_BUILD_IMAGE_VERSION_BASE}-${KUBE_BUILD_IMAGE_CROSS_TAG}"
-
-# Here we map the output directories across both the local and remote _output
-# directories:
-#
-# *_OUTPUT_ROOT    - the base of all output in that environment.
-# *_OUTPUT_SUBPATH - location where golang stuff is built/cached.  Also
-#                    persisted across docker runs with a volume mount.
-# *_OUTPUT_BINPATH - location where final binaries are placed.  If the remote
-#                    is really remote, this is the stuff that has to be copied
-#                    back.
-# OUT_DIR can come in from the Makefile, so honor it.
-readonly LOCAL_OUTPUT_ROOT="${KUBE_ROOT}/${OUT_DIR:-_output}"
-readonly LOCAL_OUTPUT_SUBPATH="${LOCAL_OUTPUT_ROOT}/dockerized"
-readonly LOCAL_OUTPUT_BINPATH="${LOCAL_OUTPUT_SUBPATH}/bin"
-readonly LOCAL_OUTPUT_GOPATH="${LOCAL_OUTPUT_SUBPATH}/go"
-readonly LOCAL_OUTPUT_IMAGE_STAGING="${LOCAL_OUTPUT_ROOT}/images"
-
-# This is a symlink to binaries for "this platform" (e.g. build tools).
-readonly THIS_PLATFORM_BIN="${LOCAL_OUTPUT_ROOT}/bin"
-
-readonly REMOTE_ROOT="/go/src/${KUBE_GO_PACKAGE}"
-readonly REMOTE_OUTPUT_ROOT="${REMOTE_ROOT}/_output"
-readonly REMOTE_OUTPUT_SUBPATH="${REMOTE_OUTPUT_ROOT}/dockerized"
-readonly REMOTE_OUTPUT_BINPATH="${REMOTE_OUTPUT_SUBPATH}/bin"
-readonly REMOTE_OUTPUT_GOPATH="${REMOTE_OUTPUT_SUBPATH}/go"
-
-# This is the port on the workstation host to expose RSYNC on.  Set this if you
-# are doing something fancy with ssh tunneling.
-readonly KUBE_RSYNC_PORT="${KUBE_RSYNC_PORT:-}"
-
-# This is the port that rsync is running on *inside* the container. This may be
-# mapped to KUBE_RSYNC_PORT via docker networking.
-readonly KUBE_CONTAINER_RSYNC_PORT=8730
-
-# Get the set of master binaries that run in Docker (on Linux)
-# Entry format is "<name-of-binary>,<base-image>".
-# Binaries are placed in /usr/local/bin inside the image.
-#
-# $1 - server architecture
-kube::build::get_docker_wrapped_binaries() {
-  local arch=$1
-  local debian_base_version=v2.0.0
-  local debian_iptables_version=v12.0.1
-  ### If you change any of these lists, please also update DOCKERIZED_BINARIES
-  ### in build/BUILD. And kube::golang::server_image_targets
-  local targets=(
-    "kube-apiserver,${KUBE_BASE_IMAGE_REGISTRY}/debian-base-${arch}:${debian_base_version}"
-    "kube-controller-manager,${KUBE_BASE_IMAGE_REGISTRY}/debian-base-${arch}:${debian_base_version}"
-    "kube-scheduler,${KUBE_BASE_IMAGE_REGISTRY}/debian-base-${arch}:${debian_base_version}"
-    "kube-proxy,${KUBE_BASE_IMAGE_REGISTRY}/debian-iptables-${arch}:${debian_iptables_version}"
-  )
-
-  echo "${targets[@]}"
-}
-
-# ---------------------------------------------------------------------------
-# Basic setup functions
-
-# Verify that the right utilities and such are installed for building Kube. Set
-# up some dynamic constants.
-# Args:
-#   $1 - boolean of whether to require functioning docker (default true)
-#
-# Vars set:
-#   KUBE_ROOT_HASH
-#   KUBE_BUILD_IMAGE_TAG_BASE
-#   KUBE_BUILD_IMAGE_TAG
-#   KUBE_BUILD_IMAGE
-#   KUBE_BUILD_CONTAINER_NAME_BASE
-#   KUBE_BUILD_CONTAINER_NAME
-#   KUBE_DATA_CONTAINER_NAME_BASE
-#   KUBE_DATA_CONTAINER_NAME
-#   KUBE_RSYNC_CONTAINER_NAME_BASE
-#   KUBE_RSYNC_CONTAINER_NAME
-#   DOCKER_MOUNT_ARGS
-#   LOCAL_OUTPUT_BUILD_CONTEXT
-function kube::build::verify_prereqs() {
-  local -r require_docker=${1:-true}
-  kube::log::status "Verifying Prerequisites...."
-  kube::build::ensure_tar || return 1
-  kube::build::ensure_rsync || return 1
-  if ${require_docker}; then
-    kube::build::ensure_docker_in_path || return 1
-    if kube::build::is_osx; then
-        kube::build::docker_available_on_osx || return 1
-    fi
-    kube::util::ensure_docker_daemon_connectivity || return 1
-
-    if (( KUBE_VERBOSE > 6 )); then
-      kube::log::status "Docker Version:"
-      "${DOCKER[@]}" version | kube::log::info_from_stdin
-    fi
-  fi
-
-  KUBE_GIT_BRANCH=$(git symbolic-ref --short -q HEAD 2>/dev/null || true)
-  KUBE_ROOT_HASH=$(kube::build::short_hash "${HOSTNAME:-}:${KUBE_ROOT}:${KUBE_GIT_BRANCH}")
-  KUBE_BUILD_IMAGE_TAG_BASE="build-${KUBE_ROOT_HASH}"
-  KUBE_BUILD_IMAGE_TAG="${KUBE_BUILD_IMAGE_TAG_BASE}-${KUBE_BUILD_IMAGE_VERSION}"
-  KUBE_BUILD_IMAGE="${KUBE_BUILD_IMAGE_REPO}:${KUBE_BUILD_IMAGE_TAG}"
-  KUBE_BUILD_CONTAINER_NAME_BASE="kube-build-${KUBE_ROOT_HASH}"
-  KUBE_BUILD_CONTAINER_NAME="${KUBE_BUILD_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}"
-  KUBE_RSYNC_CONTAINER_NAME_BASE="kube-rsync-${KUBE_ROOT_HASH}"
-  KUBE_RSYNC_CONTAINER_NAME="${KUBE_RSYNC_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}"
-  KUBE_DATA_CONTAINER_NAME_BASE="kube-build-data-${KUBE_ROOT_HASH}"
-  KUBE_DATA_CONTAINER_NAME="${KUBE_DATA_CONTAINER_NAME_BASE}-${KUBE_BUILD_IMAGE_VERSION}"
-  DOCKER_MOUNT_ARGS=(--volumes-from "${KUBE_DATA_CONTAINER_NAME}")
-  LOCAL_OUTPUT_BUILD_CONTEXT="${LOCAL_OUTPUT_IMAGE_STAGING}/${KUBE_BUILD_IMAGE}"
-
-  kube::version::get_version_vars
-  kube::version::save_version_vars "${KUBE_ROOT}/.dockerized-kube-version-defs"
-}
-
-# ---------------------------------------------------------------------------
-# Utility functions
-
-function kube::build::docker_available_on_osx() {
-  if [[ -z "${DOCKER_HOST}" ]]; then
-    if [[ -S "/var/run/docker.sock" ]]; then
-      kube::log::status "Using Docker for MacOS"
-      return 0
-    fi
-
-    kube::log::status "No docker host is set. Checking options for setting one..."
-    if [[ -z "$(which docker-machine)" ]]; then
-      kube::log::status "It looks like you're running Mac OS X, yet neither Docker for Mac nor docker-machine can be found."
-      kube::log::status "See: https://docs.docker.com/engine/installation/mac/ for installation instructions."
-      return 1
-    elif [[ -n "$(which docker-machine)" ]]; then
-      kube::build::prepare_docker_machine
-    fi
-  fi
-}
-
-function kube::build::prepare_docker_machine() {
-  kube::log::status "docker-machine was found."
-
-  local available_memory_bytes
-  available_memory_bytes=$(sysctl -n hw.memsize 2>/dev/null)
-
-  local bytes_in_mb=1048576
-
-  # Give virtualbox 1/2 the system memory. Its necessary to divide by 2, instead
-  # of multiple by .5, because bash can only multiply by ints.
-  local memory_divisor=2
-
-  local virtualbox_memory_mb=$(( available_memory_bytes / (bytes_in_mb * memory_divisor) ))
-
-  docker-machine inspect "${DOCKER_MACHINE_NAME}" &> /dev/null || {
-    kube::log::status "Creating a machine to build Kubernetes"
-    docker-machine create --driver "${DOCKER_MACHINE_DRIVER}" \
-      --virtualbox-memory "${virtualbox_memory_mb}" \
-      --engine-env HTTP_PROXY="${KUBERNETES_HTTP_PROXY:-}" \
-      --engine-env HTTPS_PROXY="${KUBERNETES_HTTPS_PROXY:-}" \
-      --engine-env NO_PROXY="${KUBERNETES_NO_PROXY:-127.0.0.1}" \
-      "${DOCKER_MACHINE_NAME}" > /dev/null || {
-      kube::log::error "Something went wrong creating a machine."
-      kube::log::error "Try the following: "
-      kube::log::error "docker-machine create -d ${DOCKER_MACHINE_DRIVER} --virtualbox-memory ${virtualbox_memory_mb} ${DOCKER_MACHINE_NAME}"
-      return 1
-    }
-  }
-  docker-machine start "${DOCKER_MACHINE_NAME}" &> /dev/null
-  # it takes `docker-machine env` a few seconds to work if the machine was just started
-  local docker_machine_out
-  while ! docker_machine_out=$(docker-machine env "${DOCKER_MACHINE_NAME}" 2>&1); do
-    if [[ ${docker_machine_out} =~ "Error checking TLS connection" ]]; then
-      echo "${docker_machine_out}"
-      docker-machine regenerate-certs "${DOCKER_MACHINE_NAME}"
-    else
-      sleep 1
-    fi
-  done
-  eval "$(docker-machine env "${DOCKER_MACHINE_NAME}")"
-  kube::log::status "A Docker host using docker-machine named '${DOCKER_MACHINE_NAME}' is ready to go!"
-  return 0
-}
-
-function kube::build::is_osx() {
-  [[ "$(uname)" == "Darwin" ]]
-}
-
-function kube::build::is_gnu_sed() {
-  [[ $(sed --version 2>&1) == *GNU* ]]
-}
-
-function kube::build::ensure_rsync() {
-  if [[ -z "$(which rsync)" ]]; then
-    kube::log::error "Can't find 'rsync' in PATH, please fix and retry."
-    return 1
-  fi
-}
-
-function kube::build::update_dockerfile() {
-  if kube::build::is_gnu_sed; then
-    sed_opts=(-i)
-  else
-    sed_opts=(-i '')
-  fi
-  sed "${sed_opts[@]}" "s/KUBE_BUILD_IMAGE_CROSS_TAG/${KUBE_BUILD_IMAGE_CROSS_TAG}/" "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
-}
-
-function  kube::build::set_proxy() {
-  if [[ -n "${KUBERNETES_HTTPS_PROXY:-}" ]]; then
-    echo "ENV https_proxy $KUBERNETES_HTTPS_PROXY" >> "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
-  fi
-  if [[ -n "${KUBERNETES_HTTP_PROXY:-}" ]]; then
-    echo "ENV http_proxy $KUBERNETES_HTTP_PROXY" >> "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
-  fi
-  if [[ -n "${KUBERNETES_NO_PROXY:-}" ]]; then
-    echo "ENV no_proxy $KUBERNETES_NO_PROXY" >> "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
-  fi
-}
-
-function kube::build::ensure_docker_in_path() {
-  if [[ -z "$(which docker)" ]]; then
-    kube::log::error "Can't find 'docker' in PATH, please fix and retry."
-    kube::log::error "See https://docs.docker.com/installation/#installation for installation instructions."
-    return 1
-  fi
-}
-
-function kube::build::ensure_tar() {
-  if [[ -n "${TAR:-}" ]]; then
-    return
-  fi
-
-  # Find gnu tar if it is available, bomb out if not.
-  TAR=tar
-  if which gtar &>/dev/null; then
-      TAR=gtar
-  else
-      if which gnutar &>/dev/null; then
-	  TAR=gnutar
-      fi
-  fi
-  if ! "${TAR}" --version | grep -q GNU; then
-    echo "  !!! Cannot find GNU tar. Build on Linux or install GNU tar"
-    echo "      on Mac OS X (brew install gnu-tar)."
-    return 1
-  fi
-}
-
-function kube::build::has_docker() {
-  which docker &> /dev/null
-}
-
-function kube::build::has_ip() {
-  which ip &> /dev/null && ip -Version | grep 'iproute2' &> /dev/null
-}
-
-# Detect if a specific image exists
-#
-# $1 - image repo name
-# $2 - image tag
-function kube::build::docker_image_exists() {
-  [[ -n $1 && -n $2 ]] || {
-    kube::log::error "Internal error. Image not specified in docker_image_exists."
-    exit 2
-  }
-
-  [[ $("${DOCKER[@]}" images -q "${1}:${2}") ]]
-}
-
-# Delete all images that match a tag prefix except for the "current" version
-#
-# $1: The image repo/name
-# $2: The tag base. We consider any image that matches $2*
-# $3: The current image not to delete if provided
-function kube::build::docker_delete_old_images() {
-  # In Docker 1.12, we can replace this with
-  #    docker images "$1" --format "{{.Tag}}"
-  for tag in $("${DOCKER[@]}" images "${1}" | tail -n +2 | awk '{print $2}') ; do
-    if [[ "${tag}" != "${2}"* ]] ; then
-      V=3 kube::log::status "Keeping image ${1}:${tag}"
-      continue
-    fi
-
-    if [[ -z "${3:-}" || "${tag}" != "${3}" ]] ; then
-      V=2 kube::log::status "Deleting image ${1}:${tag}"
-      "${DOCKER[@]}" rmi "${1}:${tag}" >/dev/null
-    else
-      V=3 kube::log::status "Keeping image ${1}:${tag}"
-    fi
-  done
-}
-
-# Stop and delete all containers that match a pattern
-#
-# $1: The base container prefix
-# $2: The current container to keep, if provided
-function kube::build::docker_delete_old_containers() {
-  # In Docker 1.12 we can replace this line with
-  #   docker ps -a --format="{{.Names}}"
-  for container in $("${DOCKER[@]}" ps -a | tail -n +2 | awk '{print $NF}') ; do
-    if [[ "${container}" != "${1}"* ]] ; then
-      V=3 kube::log::status "Keeping container ${container}"
-      continue
-    fi
-    if [[ -z "${2:-}" || "${container}" != "${2}" ]] ; then
-      V=2 kube::log::status "Deleting container ${container}"
-      kube::build::destroy_container "${container}"
-    else
-      V=3 kube::log::status "Keeping container ${container}"
-    fi
-  done
-}
-
-# Takes $1 and computes a short has for it. Useful for unique tag generation
-function kube::build::short_hash() {
-  [[ $# -eq 1 ]] || {
-    kube::log::error "Internal error.  No data based to short_hash."
-    exit 2
-  }
-
-  local short_hash
-  if which md5 >/dev/null 2>&1; then
-    short_hash=$(md5 -q -s "$1")
-  else
-    short_hash=$(echo -n "$1" | md5sum)
-  fi
-  echo "${short_hash:0:10}"
-}
-
-# Pedantically kill, wait-on and remove a container. The -f -v options
-# to rm don't actually seem to get the job done, so force kill the
-# container, wait to ensure it's stopped, then try the remove. This is
-# a workaround for bug https://github.com/docker/docker/issues/3968.
-function kube::build::destroy_container() {
-  "${DOCKER[@]}" kill "$1" >/dev/null 2>&1 || true
-  if [[ $("${DOCKER[@]}" version --format '{{.Server.Version}}') = 17.06.0* ]]; then
-    # Workaround https://github.com/moby/moby/issues/33948.
-    # TODO: remove when 17.06.0 is not relevant anymore
-    DOCKER_API_VERSION=v1.29 "${DOCKER[@]}" wait "$1" >/dev/null 2>&1 || true
-  else
-    "${DOCKER[@]}" wait "$1" >/dev/null 2>&1 || true
-  fi
-  "${DOCKER[@]}" rm -f -v "$1" >/dev/null 2>&1 || true
-}
-
-# ---------------------------------------------------------------------------
-# Building
-
-
-function kube::build::clean() {
-  if kube::build::has_docker ; then
-    kube::build::docker_delete_old_containers "${KUBE_BUILD_CONTAINER_NAME_BASE}"
-    kube::build::docker_delete_old_containers "${KUBE_RSYNC_CONTAINER_NAME_BASE}"
-    kube::build::docker_delete_old_containers "${KUBE_DATA_CONTAINER_NAME_BASE}"
-    kube::build::docker_delete_old_images "${KUBE_BUILD_IMAGE_REPO}" "${KUBE_BUILD_IMAGE_TAG_BASE}"
-
-    V=2 kube::log::status "Cleaning all untagged docker images"
-    "${DOCKER[@]}" rmi "$("${DOCKER[@]}" images -q --filter 'dangling=true')" 2> /dev/null || true
-  fi
-
-  if [[ -d "${LOCAL_OUTPUT_ROOT}" ]]; then
-    kube::log::status "Removing _output directory"
-    rm -rf "${LOCAL_OUTPUT_ROOT}"
-  fi
-}
-
-# Set up the context directory for the kube-build image and build it.
-function kube::build::build_image() {
-  mkdir -p "${LOCAL_OUTPUT_BUILD_CONTEXT}"
-  # Make sure the context directory owned by the right user for syncing sources to container.
-  chown -R "${USER_ID}":"${GROUP_ID}" "${LOCAL_OUTPUT_BUILD_CONTEXT}"
-
-  cp /etc/localtime "${LOCAL_OUTPUT_BUILD_CONTEXT}/"
-
-  cp "${KUBE_ROOT}/build/build-image/Dockerfile" "${LOCAL_OUTPUT_BUILD_CONTEXT}/Dockerfile"
-  cp "${KUBE_ROOT}/build/build-image/rsyncd.sh" "${LOCAL_OUTPUT_BUILD_CONTEXT}/"
-  dd if=/dev/urandom bs=512 count=1 2>/dev/null | LC_ALL=C tr -dc 'A-Za-z0-9' | dd bs=32 count=1 2>/dev/null > "${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
-  chmod go= "${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
-
-  kube::build::update_dockerfile
-  kube::build::set_proxy
-  kube::build::docker_build "${KUBE_BUILD_IMAGE}" "${LOCAL_OUTPUT_BUILD_CONTEXT}" 'false'
-
-  # Clean up old versions of everything
-  kube::build::docker_delete_old_containers "${KUBE_BUILD_CONTAINER_NAME_BASE}" "${KUBE_BUILD_CONTAINER_NAME}"
-  kube::build::docker_delete_old_containers "${KUBE_RSYNC_CONTAINER_NAME_BASE}" "${KUBE_RSYNC_CONTAINER_NAME}"
-  kube::build::docker_delete_old_containers "${KUBE_DATA_CONTAINER_NAME_BASE}" "${KUBE_DATA_CONTAINER_NAME}"
-  kube::build::docker_delete_old_images "${KUBE_BUILD_IMAGE_REPO}" "${KUBE_BUILD_IMAGE_TAG_BASE}" "${KUBE_BUILD_IMAGE_TAG}"
-
-  kube::build::ensure_data_container
-  kube::build::sync_to_container
-}
-
-# Build a docker image from a Dockerfile.
-# $1 is the name of the image to build
-# $2 is the location of the "context" directory, with the Dockerfile at the root.
-# $3 is the value to set the --pull flag for docker build; true by default
-function kube::build::docker_build() {
-  local -r image=$1
-  local -r context_dir=$2
-  local -r pull="${3:-true}"
-  local -ra build_cmd=("${DOCKER[@]}" build -t "${image}" "--pull=${pull}" "${context_dir}")
-
-  kube::log::status "Building Docker image ${image}"
-  local docker_output
-  docker_output=$("${build_cmd[@]}" 2>&1) || {
-    cat <<EOF >&2
-+++ Docker build command failed for ${image}
-
-${docker_output}
-
-To retry manually, run:
-
-${build_cmd[*]}
-
-EOF
-    return 1
-  }
-}
-
-function kube::build::ensure_data_container() {
-  # If the data container exists AND exited successfully, we can use it.
-  # Otherwise nuke it and start over.
-  local ret=0
-  local code=0
-
-  code=$(docker inspect \
-      -f '{{.State.ExitCode}}' \
-      "${KUBE_DATA_CONTAINER_NAME}" 2>/dev/null) || ret=$?
-  if [[ "${ret}" == 0 && "${code}" != 0 ]]; then
-    kube::build::destroy_container "${KUBE_DATA_CONTAINER_NAME}"
-    ret=1
-  fi
-  if [[ "${ret}" != 0 ]]; then
-    kube::log::status "Creating data container ${KUBE_DATA_CONTAINER_NAME}"
-    # We have to ensure the directory exists, or else the docker run will
-    # create it as root.
-    mkdir -p "${LOCAL_OUTPUT_GOPATH}"
-    # We want this to run as root to be able to chown, so non-root users can
-    # later use the result as a data container.  This run both creates the data
-    # container and chowns the GOPATH.
-    #
-    # The data container creates volumes for all of the directories that store
-    # intermediates for the Go build. This enables incremental builds across
-    # Docker sessions. The *_cgo paths are re-compiled versions of the go std
-    # libraries for true static building.
-    local -ra docker_cmd=(
-      "${DOCKER[@]}" run
-      --volume "${REMOTE_ROOT}"   # white-out the whole output dir
-      --volume /usr/local/go/pkg/linux_386_cgo
-      --volume /usr/local/go/pkg/linux_amd64_cgo
-      --volume /usr/local/go/pkg/linux_arm_cgo
-      --volume /usr/local/go/pkg/linux_arm64_cgo
-      --volume /usr/local/go/pkg/linux_ppc64le_cgo
-      --volume /usr/local/go/pkg/darwin_amd64_cgo
-      --volume /usr/local/go/pkg/darwin_386_cgo
-      --volume /usr/local/go/pkg/windows_amd64_cgo
-      --volume /usr/local/go/pkg/windows_386_cgo
-      --name "${KUBE_DATA_CONTAINER_NAME}"
-      --hostname "${HOSTNAME}"
-      "${KUBE_BUILD_IMAGE}"
-      chown -R "${USER_ID}":"${GROUP_ID}"
-        "${REMOTE_ROOT}"
-        /usr/local/go/pkg/
-    )
-    "${docker_cmd[@]}"
-  fi
-}
-
-# Run a command in the kube-build image.  This assumes that the image has
-# already been built.
-function kube::build::run_build_command() {
-  kube::log::status "Running build command..."
-  kube::build::run_build_command_ex "${KUBE_BUILD_CONTAINER_NAME}" -- "$@"
-}
-
-# Run a command in the kube-build image.  This assumes that the image has
-# already been built.
-#
-# Arguments are in the form of
-#  <container name> <extra docker args> -- <command>
-function kube::build::run_build_command_ex() {
-  [[ $# != 0 ]] || { echo "Invalid input - please specify a container name." >&2; return 4; }
-  local container_name="${1}"
-  shift
-
-  local -a docker_run_opts=(
-    "--name=${container_name}"
-    "--user=$(id -u):$(id -g)"
-    "--hostname=${HOSTNAME}"
-    "${DOCKER_MOUNT_ARGS[@]}"
-  )
-
-  local detach=false
-
-  [[ $# != 0 ]] || { echo "Invalid input - please specify docker arguments followed by --." >&2; return 4; }
-  # Everything before "--" is an arg to docker
-  until [ -z "${1-}" ] ; do
-    if [[ "$1" == "--" ]]; then
-      shift
-      break
-    fi
-    docker_run_opts+=("$1")
-    if [[ "$1" == "-d" || "$1" == "--detach" ]] ; then
-      detach=true
-    fi
-    shift
-  done
-
-  # Everything after "--" is the command to run
-  [[ $# != 0 ]] || { echo "Invalid input - please specify a command to run." >&2; return 4; }
-  local -a cmd=()
-  until [ -z "${1-}" ] ; do
-    cmd+=("$1")
-    shift
-  done
-
-  docker_run_opts+=(
-    --env "KUBE_FASTBUILD=${KUBE_FASTBUILD:-false}"
-    --env "KUBE_BUILDER_OS=${OSTYPE:-notdetected}"
-    --env "KUBE_VERBOSE=${KUBE_VERBOSE}"
-    --env "KUBE_BUILD_WITH_COVERAGE=${KUBE_BUILD_WITH_COVERAGE:-}"
-    --env "KUBE_BUILD_PLATFORMS=${KUBE_BUILD_PLATFORMS:-}"
-    --env "GOFLAGS=${GOFLAGS:-}"
-    --env "GOLDFLAGS=${GOLDFLAGS:-}"
-    --env "GOGCFLAGS=${GOGCFLAGS:-}"
-    --env "SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH:-}"
-  )
-
-  if [[ -n "${DOCKER_CGROUP_PARENT:-}" ]]; then
-    kube::log::status "Using ${DOCKER_CGROUP_PARENT} as container cgroup parent"
-    docker_run_opts+=(--cgroup-parent "${DOCKER_CGROUP_PARENT}")
-  fi
-
-  # If we have stdin we can run interactive.  This allows things like 'shell.sh'
-  # to work.  However, if we run this way and don't have stdin, then it ends up
-  # running in a daemon-ish mode.  So if we don't have a stdin, we explicitly
-  # attach stderr/stdout but don't bother asking for a tty.
-  if [[ -t 0 ]]; then
-    docker_run_opts+=(--interactive --tty)
-  elif [[ "${detach}" == false ]]; then
-    docker_run_opts+=("--attach=stdout" "--attach=stderr")
-  fi
-
-  local -ra docker_cmd=(
-    "${DOCKER[@]}" run "${docker_run_opts[@]}" "${KUBE_BUILD_IMAGE}")
-
-  # Clean up container from any previous run
-  kube::build::destroy_container "${container_name}"
-  "${docker_cmd[@]}" "${cmd[@]}"
-  if [[ "${detach}" == false ]]; then
-    kube::build::destroy_container "${container_name}"
-  fi
-}
-
-function kube::build::rsync_probe {
-  # Wait unil rsync is up and running.
-  local tries=20
-  while (( tries > 0 )) ; do
-    if rsync "rsync://k8s@${1}:${2}/" \
-         --password-file="${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password" \
-         &> /dev/null ; then
-      return 0
-    fi
-    tries=$(( tries - 1))
-    sleep 0.1
-  done
-
-  return 1
-}
-
-# Start up the rsync container in the background. This should be explicitly
-# stopped with kube::build::stop_rsyncd_container.
-#
-# This will set the global var KUBE_RSYNC_ADDR to the effective port that the
-# rsync daemon can be reached out.
-function kube::build::start_rsyncd_container() {
-  IPTOOL=ifconfig
-  if kube::build::has_ip ; then
-    IPTOOL="ip address"
-  fi
-  kube::build::stop_rsyncd_container
-  V=3 kube::log::status "Starting rsyncd container"
-  kube::build::run_build_command_ex \
-    "${KUBE_RSYNC_CONTAINER_NAME}" -p 127.0.0.1:"${KUBE_RSYNC_PORT}":"${KUBE_CONTAINER_RSYNC_PORT}" -d \
-    -e ALLOW_HOST="$(${IPTOOL} | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')" \
-    -- /rsyncd.sh >/dev/null
-
-  local mapped_port
-  if ! mapped_port=$("${DOCKER[@]}" port "${KUBE_RSYNC_CONTAINER_NAME}" ${KUBE_CONTAINER_RSYNC_PORT} 2> /dev/null | cut -d: -f 2) ; then
-    kube::log::error "Could not get effective rsync port"
-    return 1
-  fi
-
-  local container_ip
-  container_ip=$("${DOCKER[@]}" inspect --format '{{ .NetworkSettings.IPAddress }}' "${KUBE_RSYNC_CONTAINER_NAME}")
-
-  # Sometimes we can reach rsync through localhost and a NAT'd port.  Other
-  # times (when we are running in another docker container on the Jenkins
-  # machines) we have to talk directly to the container IP.  There is no one
-  # strategy that works in all cases so we test to figure out which situation we
-  # are in.
-  if kube::build::rsync_probe 127.0.0.1 "${mapped_port}"; then
-    KUBE_RSYNC_ADDR="127.0.0.1:${mapped_port}"
-    return 0
-  elif kube::build::rsync_probe "${container_ip}" ${KUBE_CONTAINER_RSYNC_PORT}; then
-    KUBE_RSYNC_ADDR="${container_ip}:${KUBE_CONTAINER_RSYNC_PORT}"
-    return 0
-  fi
-
-  kube::log::error "Could not connect to rsync container. See build/README.md for setting up remote Docker engine."
-  return 1
-}
-
-function kube::build::stop_rsyncd_container() {
-  V=3 kube::log::status "Stopping any currently running rsyncd container"
-  unset KUBE_RSYNC_ADDR
-  kube::build::destroy_container "${KUBE_RSYNC_CONTAINER_NAME}"
-}
-
-function kube::build::rsync {
-  local -a rsync_opts=(
-    --archive
-    "--password-file=${LOCAL_OUTPUT_BUILD_CONTEXT}/rsyncd.password"
-  )
-  if (( KUBE_VERBOSE >= 6 )); then
-    rsync_opts+=("-iv")
-  fi
-  if (( KUBE_RSYNC_COMPRESS > 0 )); then
-     rsync_opts+=("--compress-level=${KUBE_RSYNC_COMPRESS}")
-  fi
-  V=3 kube::log::status "Running rsync"
-  rsync "${rsync_opts[@]}" "$@"
-}
-
-# This will launch rsyncd in a container and then sync the source tree to the
-# container over the local network.
-function kube::build::sync_to_container() {
-  kube::log::status "Syncing sources to container"
-
-  kube::build::start_rsyncd_container
-
-  # rsync filters are a bit confusing.  Here we are syncing everything except
-  # output only directories and things that are not necessary like the git
-  # directory and generated files. The '- /' filter prevents rsync
-  # from trying to set the uid/gid/perms on the root of the sync tree.
-  # As an exception, we need to sync generated files in staging/, because
-  # they will not be re-generated by 'make'. Note that the 'H' filtered files
-  # are hidden from rsync so they will be deleted in the target container if
-  # they exist. This will allow them to be re-created in the container if
-  # necessary.
-  kube::build::rsync \
-    --delete \
-    --filter='H /.git' \
-    --filter='- /.make/' \
-    --filter='- /_tmp/' \
-    --filter='- /_output/' \
-    --filter='- /' \
-    --filter='H zz_generated.*' \
-    --filter='H generated.proto' \
-    "${KUBE_ROOT}/" "rsync://k8s@${KUBE_RSYNC_ADDR}/k8s/"
-
-  kube::build::stop_rsyncd_container
-}
-
-# Copy all build results back out.
-function kube::build::copy_output() {
-  kube::log::status "Syncing out of container"
-
-  kube::build::start_rsyncd_container
-
-  # The filter syntax for rsync is a little obscure. It filters on files and
-  # directories.  If you don't go in to a directory you won't find any files
-  # there.  Rules are evaluated in order.  The last two rules are a little
-  # magic. '+ */' says to go in to every directory and '- /**' says to ignore
-  # any file or directory that isn't already specifically allowed.
-  #
-  # We are looking to copy out all of the built binaries along with various
-  # generated files.
-  kube::build::rsync \
-    --prune-empty-dirs \
-    --filter='- /_temp/' \
-    --filter='+ /vendor/' \
-    --filter='+ /Godeps/' \
-    --filter='+ /staging/***/Godeps/**' \
-    --filter='+ /_output/dockerized/bin/**' \
-    --filter='+ zz_generated.*' \
-    --filter='+ generated.proto' \
-    --filter='+ *.pb.go' \
-    --filter='+ types.go' \
-    --filter='+ */' \
-    --filter='- /**' \
-    "rsync://k8s@${KUBE_RSYNC_ADDR}/k8s/" "${KUBE_ROOT}"
-
-  kube::build::stop_rsyncd_container
-}

+ 0 - 132
kubernetes-v1.17/build/container.bzl

@@ -1,132 +0,0 @@
-# Copyright 2019 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_docker//container:container.bzl", "container_bundle", "container_image")
-load("@io_bazel_rules_docker//contrib:push-all.bzl", "docker_push")
-load("//build:platforms.bzl", "go_platform_constraint")
-
-# multi_arch_container produces a private internal container_image, multiple
-# arch-specific tagged container_bundles (named NAME-ARCH), an alias
-# from NAME to the appropriately NAME-ARCH container_bundle target, and a
-# genrule for NAME.tar copying the appropriate NAME-ARCH container bundle
-# tarball output for the currently-configured architecture.
-# Additionally, if docker_push_tags is provided, uses multi_arch_container_push
-# to create container_bundles named push-NAME-ARCH with the provided push tags,
-# along with a push-NAME docker_push target.
-# Args:
-#   name: name used for the alias; the internal container_image and
-#     container_bundles are based on this name
-#   architectures: list of architectures (in GOARCH naming parlance) to
-#     configure
-#   base: base image to use for the containers. The format string {ARCH} will
-#     be replaced with the configured GOARCH.
-#   docker_tags: list of docker tags to apply to the image. The format string
-#     {ARCH} will be replaced with the configured GOARCH; any stamping variables
-#     should be escaped, e.g. {{STABLE_MY_VAR}}.
-#   docker_push_tags: list of docker tags to apply to the image for pushing.
-#     The format string {ARCH} will be replaced with the configured GOARCH;
-#     any stamping variables should be escaped, e.g. {{STABLE_MY_VAR}}.
-#   tags: will be applied to all targets
-#   visiblity: will be applied only to the container_bundles; the internal
-#     container_image is private
-#   All other args will be applied to the internal container_image.
-def multi_arch_container(
-        name,
-        architectures,
-        base,
-        docker_tags,
-        docker_push_tags = None,
-        tags = None,
-        visibility = None,
-        **kwargs):
-    container_image(
-        name = "%s-internal" % name,
-        base = select({
-            go_platform_constraint(os = "linux", arch = arch): base.format(ARCH = arch)
-            for arch in architectures
-        }),
-        tags = tags,
-        visibility = ["//visibility:private"],
-        **kwargs
-    )
-
-    for arch in architectures:
-        container_bundle(
-            name = "%s-%s" % (name, arch),
-            images = {
-                docker_tag.format(ARCH = arch): ":%s-internal" % name
-                for docker_tag in docker_tags
-            },
-            tags = tags,
-            visibility = visibility,
-        )
-    native.alias(
-        name = name,
-        actual = select({
-            go_platform_constraint(os = "linux", arch = arch): "%s-%s" % (name, arch)
-            for arch in architectures
-        }),
-    )
-    native.genrule(
-        name = "gen_%s.tar" % name,
-        outs = ["%s.tar" % name],
-        srcs = select({
-            go_platform_constraint(os = "linux", arch = arch): ["%s-%s.tar" % (name, arch)]
-            for arch in architectures
-        }),
-        cmd = "cp $< $@",
-        output_to_bindir = True,
-    )
-
-    if docker_push_tags:
-        multi_arch_container_push(
-            name = name,
-            architectures = architectures,
-            docker_tags_images = {docker_push_tag: ":%s-internal" % name for docker_push_tag in docker_push_tags},
-            tags = tags,
-        )
-
-# multi_arch_container_push creates container_bundles named push-NAME-ARCH for
-# the provided architectures, populating them with the images directory.
-# It additionally creates a push-NAME docker_push rule which can be run to
-# push the images to a Docker repository.
-# Args:
-#   name: name used for targets created by this macro; the internal
-#     container_bundles are based on this name
-#   architectures: list of architectures (in GOARCH naming parlance) to
-#     configure
-#   docker_tags_images: dictionary mapping docker tag to the corresponding
-#     container_image target. The format string {ARCH} will be replaced
-#     in tags with the configured GOARCH; any stamping variables should be
-#     escaped, e.g. {{STABLE_MY_VAR}}.
-#   tags: applied to container_bundle targets
-def multi_arch_container_push(
-        name,
-        architectures,
-        docker_tags_images,
-        tags = None):
-    for arch in architectures:
-        container_bundle(
-            name = "push-%s-%s" % (name, arch),
-            images = {tag.format(ARCH = arch): image for tag, image in docker_tags_images.items()},
-            tags = tags,
-            visibility = ["//visibility:private"],
-        )
-    docker_push(
-        name = "push-%s" % name,
-        bundle = select({
-            go_platform_constraint(os = "linux", arch = arch): "push-%s-%s" % (name, arch)
-            for arch in architectures
-        }),
-    )

+ 0 - 26
kubernetes-v1.17/build/copy-output.sh

@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2014 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Copies any built binaries (and other generated files) out of the Docker build container.
-set -o errexit
-set -o nounset
-set -o pipefail
-
-KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
-source "${KUBE_ROOT}/build/common.sh"
-
-kube::build::verify_prereqs
-kube::build::copy_output

+ 0 - 19
kubernetes-v1.17/build/debian-base/Dockerfile

@@ -1,19 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FROM scratch
-
-ADD rootfs.tar /
-
-CMD ["/bin/sh"]

+ 0 - 88
kubernetes-v1.17/build/debian-base/Dockerfile.build

@@ -1,88 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FROM BASEIMAGE
-
-# If we're building for another architecture than amd64, the CROSS_BUILD_ placeholder is removed so
-# e.g. CROSS_BUILD_COPY turns into COPY
-# If we're building normally, for amd64, CROSS_BUILD lines are removed
-CROSS_BUILD_COPY qemu-ARCH-static /usr/bin/
-
-ENV DEBIAN_FRONTEND=noninteractive
-
-# Smaller package install size.
-COPY excludes /etc/dpkg/dpkg.cfg.d/excludes
-
-# Convenience script for building on this base image.
-COPY clean-install /usr/local/bin/clean-install
-
-# Update system packages.
-RUN apt-get update \
-    && apt-get dist-upgrade -y
-
-# Hold required packages to avoid breaking the installation of packages
-RUN apt-mark hold apt gnupg adduser passwd libsemanage1 libcap2
-
-# Remove unnecessary packages.
-# This list was generated manually by listing the installed packages (`apt list --installed`),
-# then running `apt-cache rdepends --installed --no-recommends` to find the "root" packages.
-# The root packages were evaluated based on whether they were needed in the container image.
-# Several utilities (e.g. ping) were kept for usefulness, but may be removed in later versions.
-RUN echo "Yes, do as I say!" | apt-get purge \
-    bash \
-    e2fsprogs \
-    libcap2-bin \
-    libmount1 \
-    libsmartcols1 \
-    libblkid1 \
-    libss2 \
-    ncurses-base \
-    ncurses-bin \
-    tzdata
-
-# No-op stubs replace some unnecessary binaries that may be depended on in the install process (in
-# particular we don't run an init process).
-WORKDIR /usr/local/bin
-RUN touch noop && \
-    chmod 555 noop && \
-    ln -s noop runlevel && \
-    ln -s noop invoke-rc.d && \
-    ln -s noop update-rc.d
-WORKDIR /
-
-# Cleanup cached and unnecessary files.
-RUN apt-get autoremove -y && \
-    apt-get clean -y && \
-    tar -czf /usr/share/copyrights.tar.gz /usr/share/common-licenses /usr/share/doc/*/copyright && \
-    rm -rf \
-        /usr/share/doc \
-        /usr/share/man \
-        /usr/share/info \
-        /usr/share/locale \
-        /var/lib/apt/lists/* \
-        /var/log/* \
-        /var/cache/debconf/* \
-        /usr/share/common-licenses* \
-        /usr/share/bash-completion \
-        ~/.bashrc \
-        ~/.profile \
-        /etc/systemd \
-        /lib/lsb \
-        /lib/udev \
-        /usr/lib/x86_64-linux-gnu/gconv/IBM* \
-        /usr/lib/x86_64-linux-gnu/gconv/EBC* && \
-    mkdir -p /usr/share/man/man1 /usr/share/man/man2 \
-        /usr/share/man/man3 /usr/share/man/man4 \
-        /usr/share/man/man5 /usr/share/man/man6 \
-        /usr/share/man/man7 /usr/share/man/man8

+ 0 - 105
kubernetes-v1.17/build/debian-base/Makefile

@@ -1,105 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-all: all-build
-
-REGISTRY ?= staging-k8s.gcr.io
-IMAGE ?= $(REGISTRY)/debian-base
-BUILD_IMAGE ?= debian-build
-
-TAG ?= v2.0.0
-
-TAR_FILE ?= rootfs.tar
-ARCH?=amd64
-ALL_ARCH = amd64 arm arm64 ppc64le s390x
-
-TEMP_DIR:=$(shell mktemp -d)
-QEMUVERSION=v2.9.1
-
-SUDO=$(if $(filter 0,$(shell id -u)),,sudo)
-
-# This option is for running docker manifest command
-export DOCKER_CLI_EXPERIMENTAL := enabled
-
-ifeq ($(ARCH),amd64)
-	BASEIMAGE?=debian:buster-slim
-endif
-ifeq ($(ARCH),arm)
-	BASEIMAGE?=arm32v7/debian:buster-slim
-	QEMUARCH=arm
-endif
-ifeq ($(ARCH),arm64)
-	BASEIMAGE?=arm64v8/debian:buster-slim
-	QEMUARCH=aarch64
-endif
-ifeq ($(ARCH),ppc64le)
-	BASEIMAGE?=ppc64le/debian:buster-slim
-	QEMUARCH=ppc64le
-endif
-ifeq ($(ARCH),s390x)
-	BASEIMAGE?=s390x/debian:buster-slim
-	QEMUARCH=s390x
-endif
-
-sub-build-%:
-	$(MAKE) ARCH=$* build
-
-all-build: $(addprefix sub-build-,$(ALL_ARCH))
-
-sub-push-image-%:
-	$(MAKE) ARCH=$* push
-
-all-push-images: $(addprefix sub-push-image-,$(ALL_ARCH))
-
-all-push: all-push-images push-manifest
-
-push-manifest:
-	docker manifest create --amend $(IMAGE):$(TAG) $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~$(IMAGE)\-&:$(TAG)~g")
-	@for arch in $(ALL_ARCH); do docker manifest annotate --arch $${arch} ${IMAGE}:${TAG} ${IMAGE}-$${arch}:${TAG}; done
-	docker manifest push --purge ${IMAGE}:${TAG}
-
-build: clean
-	cp ./* $(TEMP_DIR)
-	cat Dockerfile.build \
-		| sed "s|BASEIMAGE|$(BASEIMAGE)|g" \
-		| sed "s|ARCH|$(QEMUARCH)|g" \
-		> $(TEMP_DIR)/Dockerfile.build
-
-ifeq ($(ARCH),amd64)
-	# When building "normally" for amd64, remove the whole line, it has no part in the amd64 image
-	sed "/CROSS_BUILD_/d" $(TEMP_DIR)/Dockerfile.build > $(TEMP_DIR)/Dockerfile.build.tmp
-else
-	# When cross-building, only the placeholder "CROSS_BUILD_" should be removed
-	# Register /usr/bin/qemu-ARCH-static as the handler for non-x86 binaries in the kernel
-	$(SUDO) ../../third_party/multiarch/qemu-user-static/register/register.sh --reset
-	curl -sSL https://github.com/multiarch/qemu-user-static/releases/download/$(QEMUVERSION)/x86_64_qemu-$(QEMUARCH)-static.tar.gz | tar -xz -C $(TEMP_DIR)
-	# Ensure we don't get surprised by umask settings
-	chmod 0755 $(TEMP_DIR)/qemu-$(QEMUARCH)-static
-	sed "s/CROSS_BUILD_//g" $(TEMP_DIR)/Dockerfile.build > $(TEMP_DIR)/Dockerfile.build.tmp
-endif
-	mv $(TEMP_DIR)/Dockerfile.build.tmp $(TEMP_DIR)/Dockerfile.build
-
-	docker build --pull -t $(BUILD_IMAGE) -f $(TEMP_DIR)/Dockerfile.build $(TEMP_DIR)
-	docker create --name $(BUILD_IMAGE) $(BUILD_IMAGE)
-	docker export $(BUILD_IMAGE) > $(TEMP_DIR)/$(TAR_FILE)
-	docker build -t $(IMAGE)-$(ARCH):$(TAG) $(TEMP_DIR)
-	rm -rf $(TEMP_DIR)
-
-push: build
-	docker push $(IMAGE)-$(ARCH):$(TAG)
-
-clean:
-	docker rmi -f $(IMAGE)-$(ARCH):$(TAG) || true
-	docker rmi -f $(BUILD_IMAGE)   || true
-	docker rm  -f $(BUILD_IMAGE)   || true

+ 0 - 10
kubernetes-v1.17/build/debian-base/OWNERS

@@ -1,10 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-reviewers:
-  - BenTheElder
-  - mkumatag
-  - tallclair
-approvers:
-  - BenTheElder
-  - mkumatag
-  - tallclair

+ 0 - 12
kubernetes-v1.17/build/debian-base/README.md

@@ -1,12 +0,0 @@
-# Kubernetes Debian Base
-
-The Kubernetes debian-base image provides a common base for Kubernetes system images that require
-external dependencies (such as `iptables`, `sh`, or anything that is more than a static go-binary).
-
-This image differs from the standard debian image by removing a lot of packages and files that are
-generally not necessary in containers. The end result is an image that is just over 40 MB, down from
-123 MB.
-
-The image also provides a convenience script `/usr/local/bin/clean-install` that encapsulates the
-process of updating apt repositories, installing the packages, and then cleaning up unnecessary
-caches & logs.

+ 0 - 36
kubernetes-v1.17/build/debian-base/clean-install

@@ -1,36 +0,0 @@
-#!/bin/sh
-
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A script encapsulating a common Dockerimage pattern for installing packages
-# and then cleaning up the unnecessary install artifacts.
-# e.g. clean-install iptables ebtables conntrack
-
-set -o errexit
-
-if [ $# = 0 ]; then
-  echo >&2 "No packages specified"
-  exit 1
-fi
-
-apt-get update
-apt-get install -y --no-install-recommends $@
-apt-get clean -y
-rm -rf \
-   /var/cache/debconf/* \
-   /var/lib/apt/lists/* \
-   /var/log/* \
-   /tmp/* \
-   /var/tmp/*

+ 0 - 10
kubernetes-v1.17/build/debian-base/excludes

@@ -1,10 +0,0 @@
-path-exclude /usr/share/doc/*
-path-include /usr/share/doc/*/copyright
-path-exclude /usr/share/groff/*
-path-exclude /usr/share/i18n/locales/*
-path-include /usr/share/i18n/locales/en_US*
-path-exclude /usr/share/info/*
-path-exclude /usr/share/locale/*
-path-include /usr/share/locale/en_US*
-path-include /usr/share/locale/locale.alias
-path-exclude /usr/share/man/*

+ 0 - 1
kubernetes-v1.17/build/debian-hyperkube-base/.gitignore

@@ -1 +0,0 @@
-/cni-tars

+ 0 - 63
kubernetes-v1.17/build/debian-hyperkube-base/Dockerfile

@@ -1,63 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FROM BASEIMAGE
-
-# TODO(#69896): deprecate the shortened aliases in /
-RUN ln -s /hyperkube /apiserver \
- && ln -s /hyperkube /cloud-controller-manager \
- && ln -s /hyperkube /controller-manager \
- && ln -s /hyperkube /kubectl \
- && ln -s /hyperkube /kubelet \
- && ln -s /hyperkube /proxy \
- && ln -s /hyperkube /scheduler \
- && ln -s /hyperkube /usr/local/bin/cloud-controller-manager \
- && ln -s /hyperkube /usr/local/bin/kube-apiserver \
- && ln -s /hyperkube /usr/local/bin/kube-controller-manager \
- && ln -s /hyperkube /usr/local/bin/kube-proxy \
- && ln -s /hyperkube /usr/local/bin/kube-scheduler \
- && ln -s /hyperkube /usr/local/bin/kubectl \
- && ln -s /hyperkube /usr/local/bin/kubelet
-
-RUN echo CACHEBUST>/dev/null && clean-install \
-    bash
-
-# The samba-common, cifs-utils, and nfs-common packages depend on
-# ucf, which itself depends on /bin/bash.
-RUN echo "dash dash/sh boolean false" | debconf-set-selections
-RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash
-
-RUN echo CACHEBUST>/dev/null && clean-install \
-    ca-certificates \
-    ceph-common \
-    cifs-utils \
-    conntrack \
-    e2fsprogs \
-    xfsprogs \
-    ebtables \
-    ethtool \
-    git \
-    glusterfs-client \
-    iptables \
-    ipset \
-    jq \
-    kmod \
-    openssh-client \
-    netbase \
-    nfs-common \
-    socat \
-    udev \
-    util-linux
-
-COPY cni-bin/bin /opt/cni/bin

+ 0 - 85
kubernetes-v1.17/build/debian-hyperkube-base/Makefile

@@ -1,85 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Build the hyperkube base image. This image is used to build the hyperkube image.
-#
-# Usage:
-#   [ARCH=amd64] [REGISTRY="staging-k8s.gcr.io"] make (build|push)
-
-REGISTRY?=staging-k8s.gcr.io
-IMAGE?=$(REGISTRY)/debian-hyperkube-base
-TAG=0.12.2
-ARCH?=amd64
-ALL_ARCH = amd64 arm arm64 ppc64le s390x
-CACHEBUST?=1
-
-BASEIMAGE=k8s.gcr.io/debian-base-$(ARCH):0.4.1
-CNI_VERSION=v0.8.5
-
-TEMP_DIR:=$(shell mktemp -d)
-CNI_TARBALL=cni-plugins-linux-$(ARCH)-$(CNI_VERSION).tgz
-
-# This option is for running docker manifest command
-export DOCKER_CLI_EXPERIMENTAL := enabled
-
-SUDO=$(if $(filter 0,$(shell id -u)),,sudo)
-
-.PHONY: all build push clean all-build all-push-images all-push push-manifest
-
-all: all-push
-
-sub-build-%:
-	$(MAKE) ARCH=$* build
-
-all-build: $(addprefix sub-build-,$(ALL_ARCH))
-
-sub-push-image-%:
-	$(MAKE) ARCH=$* push
-
-all-push-images: $(addprefix sub-push-image-,$(ALL_ARCH))
-
-all-push: all-push-images push-manifest
-
-push-manifest:
-	docker manifest create --amend $(IMAGE):$(TAG) $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~$(IMAGE)\-&:$(TAG)~g")
-	@for arch in $(ALL_ARCH); do docker manifest annotate --arch $${arch} ${IMAGE}:${TAG} ${IMAGE}-$${arch}:${TAG}; done
-	docker manifest push --purge ${IMAGE}:${TAG}
-
-cni-tars/$(CNI_TARBALL):
-	mkdir -p cni-tars/
-	cd cni-tars/ && curl -sSLO --retry 5 https://storage.googleapis.com/k8s-artifacts-cni/release/${CNI_VERSION}/${CNI_TARBALL}
-
-clean:
-	rm -rf cni-tars/
-
-build: cni-tars/$(CNI_TARBALL)
-	cp Dockerfile $(TEMP_DIR)
-	cd $(TEMP_DIR) && sed -i "s|BASEIMAGE|$(BASEIMAGE)|g" Dockerfile
-
-ifeq ($(CACHEBUST),1)
-	cd ${TEMP_DIR} && sed -i.back "s|CACHEBUST|$(shell uuidgen)|g" Dockerfile
-endif
-
-	mkdir -p ${TEMP_DIR}/cni-bin/bin
-	tar -xz -C ${TEMP_DIR}/cni-bin/bin -f "cni-tars/${CNI_TARBALL}"
-
-ifneq ($(ARCH),amd64)
-	# Register /usr/bin/qemu-ARCH-static as the handler for non-x86 binaries in the kernel
-	$(SUDO) ../../third_party/multiarch/qemu-user-static/register/register.sh --reset
-endif
-	docker build --pull -t $(IMAGE)-$(ARCH):$(TAG) $(TEMP_DIR)
-	rm -rf $(TEMP_DIR)
-
-push: build
-	docker push $(IMAGE)-$(ARCH):$(TAG)

+ 0 - 12
kubernetes-v1.17/build/debian-hyperkube-base/OWNERS

@@ -1,12 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-reviewers:
-  - BenTheElder
-  - mkumatag
-  - tallclair
-approvers:
-  - BenTheElder
-  - mkumatag
-  - tallclair
-labels:
-- sig/release

+ 0 - 25
kubernetes-v1.17/build/debian-hyperkube-base/README.md

@@ -1,25 +0,0 @@
-### debian-hyperkube-base
-
-Serves as the base image for `k8s.gcr.io/hyperkube-${ARCH}`
-images.
-
-This image is compiled for multiple architectures.
-
-#### How to release
-
-If you're editing the Dockerfile or some other thing, please bump the `TAG` in the Makefile.
-
-```console
-# Build and  push images for all the architectures
-$ make all-push
-# ---> staging-k8s.gcr.io/debian-hyperkube-base-amd64:TAG
-# ---> staging-k8s.gcr.io/debian-hyperkube-base-arm:TAG
-# ---> staging-k8s.gcr.io/debian-hyperkube-base-arm64:TAG
-# ---> staging-k8s.gcr.io/debian-hyperkube-base-ppc64le:TAG
-# ---> staging-k8s.gcr.io/debian-hyperkube-base-s390x:TAG
-```
-
-If you don't want to push the images, run `make all-build` instead
-
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/build/debian-hyperkube-base/README.md?pixel)]()

+ 0 - 41
kubernetes-v1.17/build/debian-iptables/Dockerfile

@@ -1,41 +0,0 @@
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FROM BASEIMAGE
-
-# Install latest iptables package from buster-backports
-RUN echo deb http://deb.debian.org/debian buster-backports main >> /etc/apt/sources.list; \
-    apt-get update; \
-    apt-get -t buster-backports -y --no-install-recommends install iptables
-
-# Install other dependencies and then clean up apt caches
-RUN clean-install \
-    conntrack \
-    ebtables \
-    ipset \
-    kmod \
-    netbase
-
-# Install iptables wrapper scripts to detect the correct iptables mode
-# the first time any of them is run
-COPY iptables-wrapper /usr/sbin/iptables-wrapper
-
-RUN update-alternatives \
-	--install /usr/sbin/iptables iptables /usr/sbin/iptables-wrapper 100 \
-	--slave /usr/sbin/iptables-restore iptables-restore /usr/sbin/iptables-wrapper \
-	--slave /usr/sbin/iptables-save iptables-save /usr/sbin/iptables-wrapper
-RUN update-alternatives \
-	--install /usr/sbin/ip6tables ip6tables /usr/sbin/iptables-wrapper 100 \
-	--slave /usr/sbin/ip6tables-restore ip6tables-restore /usr/sbin/iptables-wrapper \
-	--slave /usr/sbin/ip6tables-save ip6tables-save /usr/sbin/iptables-wrapper

+ 0 - 62
kubernetes-v1.17/build/debian-iptables/Makefile

@@ -1,62 +0,0 @@
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-.PHONY:	build push all all-build all-push-images all-push push-manifest
-
-REGISTRY?="staging-k8s.gcr.io"
-IMAGE=$(REGISTRY)/debian-iptables
-TAG?=v12.0.1
-ARCH?=amd64
-ALL_ARCH = amd64 arm arm64 ppc64le s390x
-TEMP_DIR:=$(shell mktemp -d)
-
-BASEIMAGE?=k8s.gcr.io/debian-base-$(ARCH):v2.0.0
-
-# This option is for running docker manifest command
-export DOCKER_CLI_EXPERIMENTAL := enabled
-
-SUDO=$(if $(filter 0,$(shell id -u)),,sudo)
-
-build:
-	cp ./* $(TEMP_DIR)
-	cd $(TEMP_DIR) && sed -i "s|BASEIMAGE|$(BASEIMAGE)|g" Dockerfile
-
-ifneq ($(ARCH),amd64)
-	# Register /usr/bin/qemu-ARCH-static as the handler for non-x86 binaries in the kernel
-	$(SUDO) ../../third_party/multiarch/qemu-user-static/register/register.sh --reset
-endif
-
-	docker build --pull -t $(IMAGE)-$(ARCH):$(TAG) $(TEMP_DIR)
-
-push: build
-	docker push $(IMAGE)-$(ARCH):$(TAG)
-
-sub-build-%:
-	$(MAKE) ARCH=$* build
-
-all-build: $(addprefix sub-build-,$(ALL_ARCH))
-
-sub-push-image-%:
-	$(MAKE) ARCH=$* push
-
-all-push-images: $(addprefix sub-push-image-,$(ALL_ARCH))
-
-all-push: all-push-images push-manifest
-
-push-manifest:
-	docker manifest create --amend $(IMAGE):$(TAG) $(shell echo $(ALL_ARCH) | sed -e "s~[^ ]*~$(IMAGE)\-&:$(TAG)~g")
-	@for arch in $(ALL_ARCH); do docker manifest annotate --arch $${arch} ${IMAGE}:${TAG} ${IMAGE}-$${arch}:${TAG}; done
-	docker manifest push --purge ${IMAGE}:${TAG}
-
-all: all-push

+ 0 - 18
kubernetes-v1.17/build/debian-iptables/OWNERS

@@ -1,18 +0,0 @@
-# See the OWNERS docs at https://go.k8s.io/owners
-
-reviewers:
-  - BenTheElder
-  - bowei
-  - freehan
-  - jingax10
-  - mkumatag
-  - mrhohn
-  - tallclair
-approvers:
-  - BenTheElder
-  - bowei
-  - freehan
-  - jingax10
-  - mkumatag
-  - mrhohn
-  - tallclair

+ 0 - 24
kubernetes-v1.17/build/debian-iptables/README.md

@@ -1,24 +0,0 @@
-### debian-iptables
-
-Serves as the base image for `k8s.gcr.io/kube-proxy-${ARCH}` and multiarch (not `amd64`) `k8s.gcr.io/flannel-${ARCH}` images.
-
-This image is compiled for multiple architectures.
-
-#### How to release
-
-If you're editing the Dockerfile or some other thing, please bump the `TAG` in the Makefile.
-
-```console
-Build and  push images for all the architectures
-$ make all-push
-# ---> staging-k8s.gcr.io/debian-iptables-amd64:TAG
-# ---> staging-k8s.gcr.io/debian-iptables-arm:TAG
-# ---> staging-k8s.gcr.io/debian-iptables-arm64:TAG
-# ---> staging-k8s.gcr.io/debian-iptables-ppc64le:TAG
-# ---> staging-k8s.gcr.io/debian-iptables-s390x:TAG
-```
-
-If you don't want to push the images, run `make build ARCH={target_arch}` or `make all-build` instead
-
-
-[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/build/debian-iptables/README.md?pixel)]()

+ 0 - 44
kubernetes-v1.17/build/debian-iptables/iptables-wrapper

@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# Copyright 2019 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -e
-
-# Detect whether the base system is using iptables-legacy or
-# iptables-nft. This assumes that some non-containerized process (eg
-# kubelet) has already created some iptables rules.
-
-# Bugs in iptables-nft 1.8.3 may cause it to get stuck in a loop in
-# some circumstances, so we have to run the nft check in a timeout. To
-# avoid hitting that timeout, we only bother to even check nft if
-# legacy iptables was empty / mostly empty.
-
-num_legacy_lines=$( (iptables-legacy-save || true; ip6tables-legacy-save || true) 2>/dev/null | grep '^-' | wc -l)
-if [ "${num_legacy_lines}" -ge 10 ]; then
-    mode=legacy
-else
-    num_nft_lines=$( (timeout 5 sh -c "iptables-nft-save; ip6tables-nft-save" || true) 2>/dev/null | grep '^-' | wc -l)
-    if [ "${num_legacy_lines}" -ge "${num_nft_lines}" ]; then
-	mode=legacy
-    else
-	mode=nft
-    fi
-fi
-
-update-alternatives --set iptables "/usr/sbin/iptables-${mode}" > /dev/null
-update-alternatives --set ip6tables "/usr/sbin/ip6tables-${mode}" > /dev/null
-
-# Now re-exec the original command with the newly-selected alternative
-exec "$0" "$@"

+ 0 - 85
kubernetes-v1.17/build/dependencies.yaml

@@ -1,85 +0,0 @@
-dependencies:
-  - name: "etcd"
-    version: 3.4.3
-    refPaths:
-    - path: cluster/gce/manifests/etcd.manifest
-      match: etcd_docker_tag|etcd_version
-    - path: build/workspace.bzl
-      match: ETCD_VERSION
-    - path: cluster/gce/manifests/etcd-empty-dir-cleanup.yaml
-      match: k8s.gcr.io/etcd-empty-dir-cleanup
-    - path: cluster/gce/upgrade-aliases.sh
-      match: ETCD_IMAGE|ETCD_VERSION
-    - path: cluster/images/etcd-empty-dir-cleanup/Makefile
-      match: ETCD_VERSION|TAG
-    - path: cluster/images/etcd/Makefile
-      match: BUNDLED_ETCD_VERSIONS\?|LATEST_ETCD_VERSION\?
-    - path: cluster/images/etcd/migrate-if-needed.sh
-      match: BUNDLED_VERSIONS=
-    - path: cmd/kubeadm/app/constants/constants.go
-    - path: hack/lib/etcd.sh
-      match: ETCD_VERSION=
-    - path: staging/src/k8s.io/sample-apiserver/artifacts/example/deployment.yaml
-      match: quay.io/coreos/etcd
-    - path: test/e2e/framework/nodes_util.go
-      match: const etcdImage
-
-  - name: "docker"
-    version: 19.03
-    refPaths:
-    - path: vendor/k8s.io/system-validators/validators/docker_validator.go
-      match: latestValidatedDockerVersion
-
-
-  - name: "golang"
-    version: 1.13.6
-    refPaths:
-    - path: build/build-image/cross/Dockerfile
-      match: "golang:"
-    - path: build/build-image/cross/VERSION
-    - path: build/root/WORKSPACE
-      match: go_version
-    - path: test/images/Makefile
-      match: GOLANG_VERSION
-
-
-  - name: "cni"
-    version: 0.8.5
-    refPaths:
-    - path: build/debian-hyperkube-base/Makefile
-      match: CNI_VERSION=
-    - path: build/workspace.bzl
-      match: CNI_VERSION =
-    - path: cluster/gce/gci/configure.sh
-      match: DEFAULT_CNI_VERSION=
-    - path: cluster/gce/config-common.sh
-      match: WINDOWS_CNI_VERSION=
-    - path: test/e2e_node/remote/utils.go
-      match: cniVersion[\t\n\f\r ]*=
-
-
-  - name: "coredns-kube-up"
-    version: 1.6.5
-    refPaths:
-    - path: cluster/addons/dns/coredns/coredns.yaml.base
-      match: k8s.gcr.io/coredns
-    - path: cluster/addons/dns/coredns/coredns.yaml.in
-      match: k8s.gcr.io/coredns
-    - path: cluster/addons/dns/coredns/coredns.yaml.sed
-      match: k8s.gcr.io/coredns
-
-  - name: "coredns-kubeadm"
-    version: 1.6.5
-    refPaths:
-    - path: cmd/kubeadm/app/constants/constants.go
-      match: CoreDNSVersion =
-
-  - name: "crictl"
-    version: 1.17.0
-    refPaths:
-    - path: build/workspace.bzl
-      match: CRI_TOOLS_VERSION =
-    - path: cluster/gce/gci/configure.sh
-      match: DEFAULT_CRICTL_VERSION=
-    - path: cluster/gce/windows/k8s-node-setup.psm1
-      match: CRICTL_VERSION =

+ 0 - 103
kubernetes-v1.17/build/go.bzl

@@ -1,103 +0,0 @@
-# Copyright 2019 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
-
-# Defines several go_binary rules to work around a Bazel issue which makes
-# the pure attribute on go_binary not configurable.
-# The name provided will have cgo enabled if targeting Linux, and will
-# be a pure go binary otherwise. Additionally, if targeting Windows, the
-# output filename will have a .exe suffix.
-def go_binary_conditional_pure(name, tags = None, **kwargs):
-    tags = tags or []
-    tags.append("manual")
-    go_binary(
-        name = "_%s-cgo" % name,
-        out = name,
-        pure = "off",
-        tags = tags,
-        **kwargs
-    )
-
-    # Define a rule for both Unix and Windows exe suffixes.
-    [go_binary(
-        name = "_%s-pure" % out,
-        out = out,
-        pure = "on",
-        tags = tags,
-        **kwargs
-    ) for out in [name, name + ".exe"]]
-
-    # The real magic, where we work around the pure attribute not being
-    # configurable: select the appropriate go_binary rule above based on the
-    # configured platform.
-    native.alias(
-        name = name,
-        actual = select({
-            "@io_bazel_rules_go//go/platform:linux": ":_%s-cgo" % name,
-            "@io_bazel_rules_go//go/platform:windows": ":_%s.exe-pure" % name,
-            "//conditions:default": ":_%s-pure" % name,
-        }),
-    )
-
-# Defines several go_test rules to work around a Bazel issue which makes
-# the pure attribute on go_test not configurable.
-# This also defines genrules to produce test binaries named ${out} and
-# ${out}.exe, and an alias named ${out}_binary which automatically selects
-# the correct filename suffix (i.e. with a .exe on Windows).
-def go_test_conditional_pure(name, out, tags = None, **kwargs):
-    tags = tags or []
-    tags.append("manual")
-
-    go_test(
-        name = "_%s-cgo" % name,
-        pure = "off",
-        testonly = False,
-        tags = tags,
-        **kwargs
-    )
-
-    go_test(
-        name = "_%s-pure" % name,
-        pure = "on",
-        testonly = False,
-        tags = tags,
-        **kwargs
-    )
-
-    native.alias(
-        name = name,
-        actual = select({
-            "@io_bazel_rules_go//go/platform:linux": ":_%s-cgo" % name,
-            "//conditions:default": ":_%s-pure" % name,
-        }),
-    )
-
-    [native.genrule(
-        name = "gen_%s" % o,
-        srcs = [name],
-        outs = [o],
-        cmd = "cp $< $@;",
-        output_to_bindir = True,
-        executable = True,
-        tags = tags,
-    ) for o in [out, out + ".exe"]]
-
-    native.alias(
-        name = "%s_binary" % out,
-        actual = select({
-            "@io_bazel_rules_go//go/platform:windows": ":gen_%s.exe" % out,
-            "//conditions:default": ":gen_%s" % out,
-        }),
-    )

+ 0 - 199
kubernetes-v1.17/build/kazel_generated.bzl

@@ -1,199 +0,0 @@
-# Copyright The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# #################################################
-# # # # # # # # # # # # # # # # # # # # # # # # # #
-# This file is autogenerated by kazel. DO NOT EDIT.
-# # # # # # # # # # # # # # # # # # # # # # # # # #
-# #################################################
-#
-# The go prefix passed to kazel
-go_prefix = "k8s.io/kubernetes"
-
-# The list of codegen tags kazel is configured to find
-kazel_configured_tags = ["openapi-gen"]
-
-# tags_values_pkgs is a dictionary mapping {k8s build tag: {tag value: [pkgs including that tag:value]}}
-tags_values_pkgs = {"openapi-gen": {
-    "false": [
-        "staging/src/k8s.io/api/admission/v1",
-        "staging/src/k8s.io/api/admission/v1beta1",
-        "staging/src/k8s.io/api/core/v1",
-        "staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1",
-        "staging/src/k8s.io/apiserver/pkg/apis/example/v1",
-        "staging/src/k8s.io/apiserver/pkg/apis/example2/v1",
-    ],
-    "true": [
-        "cmd/cloud-controller-manager/app/apis/config/v1alpha1",
-        "pkg/apis/abac/v0",
-        "pkg/apis/abac/v1beta1",
-        "pkg/apis/auditregistration",
-        "staging/src/k8s.io/api/admissionregistration/v1",
-        "staging/src/k8s.io/api/admissionregistration/v1beta1",
-        "staging/src/k8s.io/api/apps/v1",
-        "staging/src/k8s.io/api/apps/v1beta1",
-        "staging/src/k8s.io/api/apps/v1beta2",
-        "staging/src/k8s.io/api/auditregistration/v1alpha1",
-        "staging/src/k8s.io/api/authentication/v1",
-        "staging/src/k8s.io/api/authentication/v1beta1",
-        "staging/src/k8s.io/api/authorization/v1",
-        "staging/src/k8s.io/api/authorization/v1beta1",
-        "staging/src/k8s.io/api/autoscaling/v1",
-        "staging/src/k8s.io/api/autoscaling/v2beta1",
-        "staging/src/k8s.io/api/autoscaling/v2beta2",
-        "staging/src/k8s.io/api/batch/v1",
-        "staging/src/k8s.io/api/batch/v1beta1",
-        "staging/src/k8s.io/api/batch/v2alpha1",
-        "staging/src/k8s.io/api/certificates/v1beta1",
-        "staging/src/k8s.io/api/coordination/v1",
-        "staging/src/k8s.io/api/coordination/v1beta1",
-        "staging/src/k8s.io/api/core/v1",
-        "staging/src/k8s.io/api/discovery/v1alpha1",
-        "staging/src/k8s.io/api/discovery/v1beta1",
-        "staging/src/k8s.io/api/events/v1beta1",
-        "staging/src/k8s.io/api/extensions/v1beta1",
-        "staging/src/k8s.io/api/flowcontrol/v1alpha1",
-        "staging/src/k8s.io/api/imagepolicy/v1alpha1",
-        "staging/src/k8s.io/api/networking/v1",
-        "staging/src/k8s.io/api/networking/v1beta1",
-        "staging/src/k8s.io/api/node/v1alpha1",
-        "staging/src/k8s.io/api/node/v1beta1",
-        "staging/src/k8s.io/api/policy/v1beta1",
-        "staging/src/k8s.io/api/rbac/v1",
-        "staging/src/k8s.io/api/rbac/v1alpha1",
-        "staging/src/k8s.io/api/rbac/v1beta1",
-        "staging/src/k8s.io/api/scheduling/v1",
-        "staging/src/k8s.io/api/scheduling/v1alpha1",
-        "staging/src/k8s.io/api/scheduling/v1beta1",
-        "staging/src/k8s.io/api/settings/v1alpha1",
-        "staging/src/k8s.io/api/storage/v1",
-        "staging/src/k8s.io/api/storage/v1alpha1",
-        "staging/src/k8s.io/api/storage/v1beta1",
-        "staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1",
-        "staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1",
-        "staging/src/k8s.io/apimachinery/pkg/api/resource",
-        "staging/src/k8s.io/apimachinery/pkg/apis/meta/v1",
-        "staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1",
-        "staging/src/k8s.io/apimachinery/pkg/runtime",
-        "staging/src/k8s.io/apimachinery/pkg/util/intstr",
-        "staging/src/k8s.io/apimachinery/pkg/version",
-        "staging/src/k8s.io/apiserver/pkg/apis/audit/v1",
-        "staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1",
-        "staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1",
-        "staging/src/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1",
-        "staging/src/k8s.io/client-go/pkg/apis/clientauthentication/v1beta1",
-        "staging/src/k8s.io/client-go/pkg/version",
-        "staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1",
-        "staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1",
-        "staging/src/k8s.io/kube-controller-manager/config/v1alpha1",
-        "staging/src/k8s.io/kube-proxy/config/v1alpha1",
-        "staging/src/k8s.io/kube-scheduler/config/v1",
-        "staging/src/k8s.io/kube-scheduler/config/v1alpha1",
-        "staging/src/k8s.io/kube-scheduler/config/v1alpha2",
-        "staging/src/k8s.io/kubelet/config/v1beta1",
-        "staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1",
-        "staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2",
-        "staging/src/k8s.io/metrics/pkg/apis/external_metrics/v1beta1",
-        "staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1",
-        "staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1",
-        "staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1",
-        "staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1beta1",
-    ],
-}}
-
-# tags_pkgs_values is a dictionary mapping {k8s build tag: {pkg: [tag values in pkg]}}
-tags_pkgs_values = {"openapi-gen": {
-    "cmd/cloud-controller-manager/app/apis/config/v1alpha1": ["true"],
-    "pkg/apis/abac/v0": ["true"],
-    "pkg/apis/abac/v1beta1": ["true"],
-    "pkg/apis/auditregistration": ["true"],
-    "staging/src/k8s.io/api/admission/v1": ["false"],
-    "staging/src/k8s.io/api/admission/v1beta1": ["false"],
-    "staging/src/k8s.io/api/admissionregistration/v1": ["true"],
-    "staging/src/k8s.io/api/admissionregistration/v1beta1": ["true"],
-    "staging/src/k8s.io/api/apps/v1": ["true"],
-    "staging/src/k8s.io/api/apps/v1beta1": ["true"],
-    "staging/src/k8s.io/api/apps/v1beta2": ["true"],
-    "staging/src/k8s.io/api/auditregistration/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/authentication/v1": ["true"],
-    "staging/src/k8s.io/api/authentication/v1beta1": ["true"],
-    "staging/src/k8s.io/api/authorization/v1": ["true"],
-    "staging/src/k8s.io/api/authorization/v1beta1": ["true"],
-    "staging/src/k8s.io/api/autoscaling/v1": ["true"],
-    "staging/src/k8s.io/api/autoscaling/v2beta1": ["true"],
-    "staging/src/k8s.io/api/autoscaling/v2beta2": ["true"],
-    "staging/src/k8s.io/api/batch/v1": ["true"],
-    "staging/src/k8s.io/api/batch/v1beta1": ["true"],
-    "staging/src/k8s.io/api/batch/v2alpha1": ["true"],
-    "staging/src/k8s.io/api/certificates/v1beta1": ["true"],
-    "staging/src/k8s.io/api/coordination/v1": ["true"],
-    "staging/src/k8s.io/api/coordination/v1beta1": ["true"],
-    "staging/src/k8s.io/api/core/v1": [
-        "false",
-        "true",
-    ],
-    "staging/src/k8s.io/api/discovery/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/discovery/v1beta1": ["true"],
-    "staging/src/k8s.io/api/events/v1beta1": ["true"],
-    "staging/src/k8s.io/api/extensions/v1beta1": ["true"],
-    "staging/src/k8s.io/api/flowcontrol/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/imagepolicy/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/networking/v1": ["true"],
-    "staging/src/k8s.io/api/networking/v1beta1": ["true"],
-    "staging/src/k8s.io/api/node/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/node/v1beta1": ["true"],
-    "staging/src/k8s.io/api/policy/v1beta1": ["true"],
-    "staging/src/k8s.io/api/rbac/v1": ["true"],
-    "staging/src/k8s.io/api/rbac/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/rbac/v1beta1": ["true"],
-    "staging/src/k8s.io/api/scheduling/v1": ["true"],
-    "staging/src/k8s.io/api/scheduling/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/scheduling/v1beta1": ["true"],
-    "staging/src/k8s.io/api/settings/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/storage/v1": ["true"],
-    "staging/src/k8s.io/api/storage/v1alpha1": ["true"],
-    "staging/src/k8s.io/api/storage/v1beta1": ["true"],
-    "staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1": ["true"],
-    "staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1": ["true"],
-    "staging/src/k8s.io/apimachinery/pkg/api/resource": ["true"],
-    "staging/src/k8s.io/apimachinery/pkg/apis/meta/v1": ["true"],
-    "staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1": ["true"],
-    "staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1": ["false"],
-    "staging/src/k8s.io/apimachinery/pkg/runtime": ["true"],
-    "staging/src/k8s.io/apimachinery/pkg/util/intstr": ["true"],
-    "staging/src/k8s.io/apimachinery/pkg/version": ["true"],
-    "staging/src/k8s.io/apiserver/pkg/apis/audit/v1": ["true"],
-    "staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1": ["true"],
-    "staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1": ["true"],
-    "staging/src/k8s.io/apiserver/pkg/apis/example/v1": ["false"],
-    "staging/src/k8s.io/apiserver/pkg/apis/example2/v1": ["false"],
-    "staging/src/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1": ["true"],
-    "staging/src/k8s.io/client-go/pkg/apis/clientauthentication/v1beta1": ["true"],
-    "staging/src/k8s.io/client-go/pkg/version": ["true"],
-    "staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1": ["true"],
-    "staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1": ["true"],
-    "staging/src/k8s.io/kube-controller-manager/config/v1alpha1": ["true"],
-    "staging/src/k8s.io/kube-proxy/config/v1alpha1": ["true"],
-    "staging/src/k8s.io/kube-scheduler/config/v1": ["true"],
-    "staging/src/k8s.io/kube-scheduler/config/v1alpha1": ["true"],
-    "staging/src/k8s.io/kube-scheduler/config/v1alpha2": ["true"],
-    "staging/src/k8s.io/kubelet/config/v1beta1": ["true"],
-    "staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1": ["true"],
-    "staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2": ["true"],
-    "staging/src/k8s.io/metrics/pkg/apis/external_metrics/v1beta1": ["true"],
-    "staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1": ["true"],
-    "staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1": ["true"],
-    "staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1": ["true"],
-    "staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1beta1": ["true"],
-}}

+ 0 - 588
kubernetes-v1.17/build/lib/release.sh

@@ -1,588 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2016 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This file creates release artifacts (tar files, container images) that are
-# ready to distribute to install or distribute to end users.
-
-###############################################################################
-# Most of the ::release:: namespace functions have been moved to
-# github.com/kubernetes/release.  Have a look in that repo and specifically in
-# lib/releaselib.sh for ::release::-related functionality.
-###############################################################################
-
-# This is where the final release artifacts are created locally
-readonly RELEASE_STAGE="${LOCAL_OUTPUT_ROOT}/release-stage"
-readonly RELEASE_TARS="${LOCAL_OUTPUT_ROOT}/release-tars"
-readonly RELEASE_IMAGES="${LOCAL_OUTPUT_ROOT}/release-images"
-
-KUBE_BUILD_HYPERKUBE=${KUBE_BUILD_HYPERKUBE:-y}
-KUBE_BUILD_CONFORMANCE=${KUBE_BUILD_CONFORMANCE:-y}
-KUBE_BUILD_PULL_LATEST_IMAGES=${KUBE_BUILD_PULL_LATEST_IMAGES:-y}
-
-# Validate a ci version
-#
-# Globals:
-#   None
-# Arguments:
-#   version
-# Returns:
-#   If version is a valid ci version
-# Sets:                    (e.g. for '1.2.3-alpha.4.56+abcdef12345678')
-#   VERSION_MAJOR          (e.g. '1')
-#   VERSION_MINOR          (e.g. '2')
-#   VERSION_PATCH          (e.g. '3')
-#   VERSION_PRERELEASE     (e.g. 'alpha')
-#   VERSION_PRERELEASE_REV (e.g. '4')
-#   VERSION_BUILD_INFO     (e.g. '.56+abcdef12345678')
-#   VERSION_COMMITS        (e.g. '56')
-function kube::release::parse_and_validate_ci_version() {
-  # Accept things like "v1.2.3-alpha.4.56+abcdef12345678" or "v1.2.3-beta.4"
-  local -r version_regex="^v(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-([a-zA-Z0-9]+)\\.(0|[1-9][0-9]*)(\\.(0|[1-9][0-9]*)\\+[0-9a-f]{7,40})?$"
-  local -r version="${1-}"
-  [[ "${version}" =~ ${version_regex} ]] || {
-    kube::log::error "Invalid ci version: '${version}', must match regex ${version_regex}"
-    return 1
-  }
-  VERSION_MAJOR="${BASH_REMATCH[1]}"
-  VERSION_MINOR="${BASH_REMATCH[2]}"
-  VERSION_PATCH="${BASH_REMATCH[3]}"
-  VERSION_PRERELEASE="${BASH_REMATCH[4]}"
-  VERSION_PRERELEASE_REV="${BASH_REMATCH[5]}"
-  VERSION_BUILD_INFO="${BASH_REMATCH[6]}"
-  VERSION_COMMITS="${BASH_REMATCH[7]}"
-}
-
-# ---------------------------------------------------------------------------
-# Build final release artifacts
-function kube::release::clean_cruft() {
-  # Clean out cruft
-  find "${RELEASE_STAGE}" -name '*~' -exec rm {} \;
-  find "${RELEASE_STAGE}" -name '#*#' -exec rm {} \;
-  find "${RELEASE_STAGE}" -name '.DS*' -exec rm {} \;
-}
-
-function kube::release::package_tarballs() {
-  # Clean out any old releases
-  rm -rf "${RELEASE_STAGE}" "${RELEASE_TARS}" "${RELEASE_IMAGES}"
-  mkdir -p "${RELEASE_TARS}"
-  kube::release::package_src_tarball &
-  kube::release::package_client_tarballs &
-  kube::release::package_kube_manifests_tarball &
-  kube::util::wait-for-jobs || { kube::log::error "previous tarball phase failed"; return 1; }
-
-  # _node and _server tarballs depend on _src tarball
-  kube::release::package_node_tarballs &
-  kube::release::package_server_tarballs &
-  kube::util::wait-for-jobs || { kube::log::error "previous tarball phase failed"; return 1; }
-
-  kube::release::package_final_tarball & # _final depends on some of the previous phases
-  kube::release::package_test_tarballs & # _test doesn't depend on anything
-  kube::util::wait-for-jobs || { kube::log::error "previous tarball phase failed"; return 1; }
-}
-
-# Package the source code we built, for compliance/licensing/audit/yadda.
-function kube::release::package_src_tarball() {
-  local -r src_tarball="${RELEASE_TARS}/kubernetes-src.tar.gz"
-  kube::log::status "Building tarball: src"
-  if [[ "${KUBE_GIT_TREE_STATE-}" == "clean" ]]; then
-    git archive -o "${src_tarball}" HEAD
-  else
-    local source_files=(
-      $(cd "${KUBE_ROOT}" && find . -mindepth 1 -maxdepth 1 \
-        -not \( \
-          \( -path ./_\*        -o \
-             -path ./.git\*     -o \
-             -path ./.config\* -o \
-             -path ./.gsutil\*    \
-          \) -prune \
-        \))
-    )
-    "${TAR}" czf "${src_tarball}" --transform 's|^\.|kubernetes|' -C "${KUBE_ROOT}" "${source_files[@]}"
-  fi
-}
-
-# Package up all of the cross compiled clients. Over time this should grow into
-# a full SDK
-function kube::release::package_client_tarballs() {
-   # Find all of the built client binaries
-  local platform platforms
-  platforms=($(cd "${LOCAL_OUTPUT_BINPATH}" ; echo */*))
-  for platform in "${platforms[@]}"; do
-    local platform_tag=${platform/\//-} # Replace a "/" for a "-"
-    kube::log::status "Starting tarball: client $platform_tag"
-
-    (
-      local release_stage="${RELEASE_STAGE}/client/${platform_tag}/kubernetes"
-      rm -rf "${release_stage}"
-      mkdir -p "${release_stage}/client/bin"
-
-      local client_bins=("${KUBE_CLIENT_BINARIES[@]}")
-      if [[ "${platform%/*}" == "windows" ]]; then
-        client_bins=("${KUBE_CLIENT_BINARIES_WIN[@]}")
-      fi
-
-      # This fancy expression will expand to prepend a path
-      # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-      # client_bins array.
-      cp "${client_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-        "${release_stage}/client/bin/"
-
-      kube::release::clean_cruft
-
-      local package_name="${RELEASE_TARS}/kubernetes-client-${platform_tag}.tar.gz"
-      kube::release::create_tarball "${package_name}" "${release_stage}/.."
-    ) &
-  done
-
-  kube::log::status "Waiting on tarballs"
-  kube::util::wait-for-jobs || { kube::log::error "client tarball creation failed"; exit 1; }
-}
-
-# Package up all of the node binaries
-function kube::release::package_node_tarballs() {
-  local platform
-  for platform in "${KUBE_NODE_PLATFORMS[@]}"; do
-    local platform_tag=${platform/\//-} # Replace a "/" for a "-"
-    local arch=$(basename "${platform}")
-    kube::log::status "Building tarball: node $platform_tag"
-
-    local release_stage="${RELEASE_STAGE}/node/${platform_tag}/kubernetes"
-    rm -rf "${release_stage}"
-    mkdir -p "${release_stage}/node/bin"
-
-    local node_bins=("${KUBE_NODE_BINARIES[@]}")
-    if [[ "${platform%/*}" == "windows" ]]; then
-      node_bins=("${KUBE_NODE_BINARIES_WIN[@]}")
-    fi
-    # This fancy expression will expand to prepend a path
-    # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-    # node_bins array.
-    cp "${node_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-      "${release_stage}/node/bin/"
-
-    # TODO: Docker images here
-    # kube::release::create_docker_images_for_server "${release_stage}/server/bin" "${arch}"
-
-    # Include the client binaries here too as they are useful debugging tools.
-    local client_bins=("${KUBE_CLIENT_BINARIES[@]}")
-    if [[ "${platform%/*}" == "windows" ]]; then
-      client_bins=("${KUBE_CLIENT_BINARIES_WIN[@]}")
-    fi
-    # This fancy expression will expand to prepend a path
-    # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-    # client_bins array.
-    cp "${client_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-      "${release_stage}/node/bin/"
-
-    cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"
-
-    cp "${RELEASE_TARS}/kubernetes-src.tar.gz" "${release_stage}/"
-
-    kube::release::clean_cruft
-
-    local package_name="${RELEASE_TARS}/kubernetes-node-${platform_tag}.tar.gz"
-    kube::release::create_tarball "${package_name}" "${release_stage}/.."
-  done
-}
-
-# Package up all of the server binaries in docker images
-function kube::release::build_server_images() {
-  # Clean out any old images
-  rm -rf "${RELEASE_IMAGES}"
-  local platform
-  for platform in "${KUBE_SERVER_PLATFORMS[@]}"; do
-    local platform_tag=${platform/\//-} # Replace a "/" for a "-"
-    local arch=$(basename "${platform}")
-    kube::log::status "Building images: $platform_tag"
-
-    local release_stage="${RELEASE_STAGE}/server/${platform_tag}/kubernetes"
-    rm -rf "${release_stage}"
-    mkdir -p "${release_stage}/server/bin"
-
-    # This fancy expression will expand to prepend a path
-    # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-    # KUBE_SERVER_IMAGE_BINARIES array.
-    cp "${KUBE_SERVER_IMAGE_BINARIES[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-      "${release_stage}/server/bin/"
-
-    kube::release::create_docker_images_for_server "${release_stage}/server/bin" "${arch}"
-  done
-}
-
-# Package up all of the server binaries
-function kube::release::package_server_tarballs() {
-  kube::release::build_server_images
-  local platform
-  for platform in "${KUBE_SERVER_PLATFORMS[@]}"; do
-    local platform_tag=${platform/\//-} # Replace a "/" for a "-"
-    local arch=$(basename "${platform}")
-    kube::log::status "Building tarball: server $platform_tag"
-
-    # NOTE: this directory was setup in kube::release::build_server_images
-    local release_stage="${RELEASE_STAGE}/server/${platform_tag}/kubernetes"
-    mkdir -p "${release_stage}/addons"
-
-    # This fancy expression will expand to prepend a path
-    # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-    # KUBE_SERVER_BINARIES array.
-    cp "${KUBE_SERVER_BINARIES[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-      "${release_stage}/server/bin/"
-
-    # Include the client binaries here too as they are useful debugging tools.
-    local client_bins=("${KUBE_CLIENT_BINARIES[@]}")
-    if [[ "${platform%/*}" == "windows" ]]; then
-      client_bins=("${KUBE_CLIENT_BINARIES_WIN[@]}")
-    fi
-    # This fancy expression will expand to prepend a path
-    # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-    # client_bins array.
-    cp "${client_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-      "${release_stage}/server/bin/"
-
-    cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"
-
-    cp "${RELEASE_TARS}/kubernetes-src.tar.gz" "${release_stage}/"
-
-    kube::release::clean_cruft
-
-    local package_name="${RELEASE_TARS}/kubernetes-server-${platform_tag}.tar.gz"
-    kube::release::create_tarball "${package_name}" "${release_stage}/.."
-  done
-}
-
-function kube::release::md5() {
-  if which md5 >/dev/null 2>&1; then
-    md5 -q "$1"
-  else
-    md5sum "$1" | awk '{ print $1 }'
-  fi
-}
-
-function kube::release::sha1() {
-  if which sha1sum >/dev/null 2>&1; then
-    sha1sum "$1" | awk '{ print $1 }'
-  else
-    shasum -a1 "$1" | awk '{ print $1 }'
-  fi
-}
-
-function kube::release::build_hyperkube_image() {
-  local -r arch="$1"
-  local -r registry="$2"
-  local -r version="$3"
-  local -r save_dir="${4-}"
-  kube::log::status "Building hyperkube image for arch: ${arch}"
-  ARCH="${arch}" REGISTRY="${registry}" VERSION="${version}" \
-    make -C cluster/images/hyperkube/ build >/dev/null
-
-  local hyperkube_tag="${registry}/hyperkube-${arch}:${version}"
-  if [[ -n "${save_dir}" ]]; then
-    "${DOCKER[@]}" save "${hyperkube_tag}" > "${save_dir}/hyperkube-${arch}.tar"
-  fi
-  kube::log::status "Deleting hyperkube image ${hyperkube_tag}"
-  "${DOCKER[@]}" rmi "${hyperkube_tag}" &>/dev/null || true
-}
-
-function kube::release::build_conformance_image() {
-  local -r arch="$1"
-  local -r registry="$2"
-  local -r version="$3"
-  local -r save_dir="${4-}"
-  kube::log::status "Building conformance image for arch: ${arch}"
-  ARCH="${arch}" REGISTRY="${registry}" VERSION="${version}" \
-    make -C cluster/images/conformance/ build >/dev/null
-
-  local conformance_tag="${registry}/conformance-${arch}:${version}"
-  if [[ -n "${save_dir}" ]]; then
-    "${DOCKER[@]}" save "${conformance_tag}" > "${save_dir}/conformance-${arch}.tar"
-  fi
-  kube::log::status "Deleting conformance image ${conformance_tag}"
-  "${DOCKER[@]}" rmi "${conformance_tag}" &>/dev/null || true
-}
-
-# This builds all the release docker images (One docker image per binary)
-# Args:
-#  $1 - binary_dir, the directory to save the tared images to.
-#  $2 - arch, architecture for which we are building docker images.
-function kube::release::create_docker_images_for_server() {
-  # Create a sub-shell so that we don't pollute the outer environment
-  (
-    local binary_dir="$1"
-    local arch="$2"
-    local binary_name
-    local binaries=($(kube::build::get_docker_wrapped_binaries "${arch}"))
-    local images_dir="${RELEASE_IMAGES}/${arch}"
-    mkdir -p "${images_dir}"
-
-    # k8s.gcr.io is the constant tag in the docker archives, this is also the default for config scripts in GKE.
-    # We can use KUBE_DOCKER_REGISTRY to include and extra registry in the docker archive.
-    # If we use KUBE_DOCKER_REGISTRY="k8s.gcr.io", then the extra tag (same) is ignored, see release_docker_image_tag below.
-    local -r docker_registry="k8s.gcr.io"
-    # Docker tags cannot contain '+'
-    local docker_tag="${KUBE_GIT_VERSION/+/_}"
-    if [[ -z "${docker_tag}" ]]; then
-      kube::log::error "git version information missing; cannot create Docker tag"
-      return 1
-    fi
-
-    # provide `--pull` argument to `docker build` if `KUBE_BUILD_PULL_LATEST_IMAGES`
-    # is set to y or Y; otherwise try to build the image without forcefully
-    # pulling the latest base image.
-    local DOCKER_BUILD_OPTS=()
-    if [[ "${KUBE_BUILD_PULL_LATEST_IMAGES}" =~ [yY] ]]; then
-        DOCKER_BUILD_OPTS+=("--pull")
-    fi
-    local -r docker_build_opts="${DOCKER_BUILD_OPTS[@]}"
-
-    for wrappable in "${binaries[@]}"; do
-
-      local oldifs=$IFS
-      IFS=","
-      set $wrappable
-      IFS=$oldifs
-
-      local binary_name="$1"
-      local base_image="$2"
-      local docker_build_path="${binary_dir}/${binary_name}.dockerbuild"
-      local docker_file_path="${docker_build_path}/Dockerfile"
-      local binary_file_path="${binary_dir}/${binary_name}"
-      local docker_image_tag="${docker_registry}/${binary_name}-${arch}:${docker_tag}"
-
-      kube::log::status "Starting docker build for image: ${binary_name}-${arch}"
-      (
-        rm -rf "${docker_build_path}"
-        mkdir -p "${docker_build_path}"
-        ln "${binary_dir}/${binary_name}" "${docker_build_path}/${binary_name}"
-        ln "${KUBE_ROOT}/build/nsswitch.conf" "${docker_build_path}/nsswitch.conf"
-        chmod 0644 "${docker_build_path}/nsswitch.conf"
-        cat <<EOF > "${docker_file_path}"
-FROM ${base_image}
-COPY ${binary_name} /usr/local/bin/${binary_name}
-EOF
-        # ensure /etc/nsswitch.conf exists so go's resolver respects /etc/hosts
-        if [[ "${base_image}" =~ busybox ]]; then
-          echo "COPY nsswitch.conf /etc/" >> "${docker_file_path}"
-        fi
-
-        "${DOCKER[@]}" build ${docker_build_opts} -q -t "${docker_image_tag}" "${docker_build_path}" >/dev/null
-        # If we are building an official/alpha/beta release we want to keep
-        # docker images and tag them appropriately.
-        local -r release_docker_image_tag="${KUBE_DOCKER_REGISTRY-$docker_registry}/${binary_name}-${arch}:${KUBE_DOCKER_IMAGE_TAG-$docker_tag}"
-        if [[ "${release_docker_image_tag}" != "${docker_image_tag}" ]]; then
-          kube::log::status "Tagging docker image ${docker_image_tag} as ${release_docker_image_tag}"
-          "${DOCKER[@]}" rmi "${release_docker_image_tag}" 2>/dev/null || true
-          "${DOCKER[@]}" tag "${docker_image_tag}" "${release_docker_image_tag}" 2>/dev/null
-        fi
-        "${DOCKER[@]}" save -o "${binary_dir}/${binary_name}.tar" "${docker_image_tag}" ${release_docker_image_tag}
-        echo "${docker_tag}" > "${binary_dir}/${binary_name}.docker_tag"
-        rm -rf "${docker_build_path}"
-        ln "${binary_dir}/${binary_name}.tar" "${images_dir}/"
-
-        kube::log::status "Deleting docker image ${docker_image_tag}"
-        "${DOCKER[@]}" rmi "${docker_image_tag}" &>/dev/null || true
-      ) &
-    done
-
-    if [[ "${KUBE_BUILD_HYPERKUBE}" =~ [yY] ]]; then
-      kube::release::build_hyperkube_image "${arch}" "${docker_registry}" \
-        "${docker_tag}" "${images_dir}" &
-    fi
-    if [[ "${KUBE_BUILD_CONFORMANCE}" =~ [yY] ]]; then
-      kube::release::build_conformance_image "${arch}" "${docker_registry}" \
-        "${docker_tag}" "${images_dir}" &
-    fi
-
-    kube::util::wait-for-jobs || { kube::log::error "previous Docker build failed"; return 1; }
-    kube::log::status "Docker builds done"
-  )
-
-}
-
-# This will pack kube-system manifests files for distros such as COS.
-function kube::release::package_kube_manifests_tarball() {
-  kube::log::status "Building tarball: manifests"
-
-  local src_dir="${KUBE_ROOT}/cluster/gce/manifests"
-
-  local release_stage="${RELEASE_STAGE}/manifests/kubernetes"
-  rm -rf "${release_stage}"
-
-  local dst_dir="${release_stage}/gci-trusty"
-  mkdir -p "${dst_dir}"
-  cp "${src_dir}/kube-proxy.manifest" "${dst_dir}/"
-  cp "${src_dir}/cluster-autoscaler.manifest" "${dst_dir}/"
-  cp "${src_dir}/etcd.manifest" "${dst_dir}"
-  cp "${src_dir}/kube-scheduler.manifest" "${dst_dir}"
-  cp "${src_dir}/kube-apiserver.manifest" "${dst_dir}"
-  cp "${src_dir}/konnectivity-server.yaml" "${dst_dir}"
-  cp "${src_dir}/abac-authz-policy.jsonl" "${dst_dir}"
-  cp "${src_dir}/kube-controller-manager.manifest" "${dst_dir}"
-  cp "${src_dir}/kube-addon-manager.yaml" "${dst_dir}"
-  cp "${src_dir}/glbc.manifest" "${dst_dir}"
-  cp "${src_dir}/etcd-empty-dir-cleanup.yaml" "${dst_dir}/"
-  local internal_manifest
-  for internal_manifest in $(ls "${src_dir}" | grep "^internal-*"); do
-    cp "${src_dir}/${internal_manifest}" "${dst_dir}"
-  done
-  cp "${KUBE_ROOT}/cluster/gce/gci/configure-helper.sh" "${dst_dir}/gci-configure-helper.sh"
-  cp "${KUBE_ROOT}/cluster/gce/gci/configure-kubeapiserver.sh" "${dst_dir}/configure-kubeapiserver.sh"
-  if [[ -e "${KUBE_ROOT}/cluster/gce/gci/gke-internal-configure-helper.sh" ]]; then
-    cp "${KUBE_ROOT}/cluster/gce/gci/gke-internal-configure-helper.sh" "${dst_dir}/"
-  fi
-  cp "${KUBE_ROOT}/cluster/gce/gci/health-monitor.sh" "${dst_dir}/health-monitor.sh"
-  local objects
-  objects=$(cd "${KUBE_ROOT}/cluster/addons" && find . \( -name \*.yaml -or -name \*.yaml.in -or -name \*.json \) | grep -v demo)
-  tar c -C "${KUBE_ROOT}/cluster/addons" ${objects} | tar x -C "${dst_dir}"
-  # Merge GCE-specific addons with general purpose addons.
-  local gce_objects
-  gce_objects=$(cd "${KUBE_ROOT}/cluster/gce/addons" && find . \( -name \*.yaml -or -name \*.yaml.in -or -name \*.json \) \( -not -name \*demo\* \))
-  if [[ -n "${gce_objects}" ]]; then
-    tar c -C "${KUBE_ROOT}/cluster/gce/addons" ${gce_objects} | tar x -C "${dst_dir}"
-  fi
-
-  kube::release::clean_cruft
-
-  local package_name="${RELEASE_TARS}/kubernetes-manifests.tar.gz"
-  kube::release::create_tarball "${package_name}" "${release_stage}/.."
-}
-
-# Builds tarballs for each test platform containing the appropriate binaries.
-function kube::release::package_test_platform_tarballs() {
-  local platform
-  rm -rf "${RELEASE_STAGE}/test"
-  # KUBE_TEST_SERVER_PLATFORMS is a subset of KUBE_TEST_PLATFORMS,
-  # so process it first.
-  for platform in "${KUBE_TEST_SERVER_PLATFORMS[@]}"; do
-    local platform_tag=${platform/\//-} # Replace a "/" for a "-"
-    local release_stage="${RELEASE_STAGE}/test/${platform_tag}/kubernetes"
-    mkdir -p "${release_stage}/test/bin"
-    # This fancy expression will expand to prepend a path
-    # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-    # KUBE_TEST_SERVER_BINARIES array.
-    cp "${KUBE_TEST_SERVER_BINARIES[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-      "${release_stage}/test/bin/"
-  done
-  for platform in "${KUBE_TEST_PLATFORMS[@]}"; do
-    (
-      local platform_tag=${platform/\//-} # Replace a "/" for a "-"
-      kube::log::status "Starting tarball: test $platform_tag"
-      local release_stage="${RELEASE_STAGE}/test/${platform_tag}/kubernetes"
-      mkdir -p "${release_stage}/test/bin"
-
-      local test_bins=("${KUBE_TEST_BINARIES[@]}")
-      if [[ "${platform%/*}" == "windows" ]]; then
-        test_bins=("${KUBE_TEST_BINARIES_WIN[@]}")
-      fi
-      # This fancy expression will expand to prepend a path
-      # (${LOCAL_OUTPUT_BINPATH}/${platform}/) to every item in the
-      # test_bins array.
-      cp "${test_bins[@]/#/${LOCAL_OUTPUT_BINPATH}/${platform}/}" \
-        "${release_stage}/test/bin/"
-
-      local package_name="${RELEASE_TARS}/kubernetes-test-${platform_tag}.tar.gz"
-      kube::release::create_tarball "${package_name}" "${release_stage}/.."
-    ) &
-  done
-
-  kube::log::status "Waiting on test tarballs"
-  kube::util::wait-for-jobs || { kube::log::error "test tarball creation failed"; exit 1; }
-}
-
-
-# This is the stuff you need to run tests from the binary distribution.
-function kube::release::package_test_tarballs() {
-  kube::release::package_test_platform_tarballs
-
-  kube::log::status "Building tarball: test portable"
-
-  local release_stage="${RELEASE_STAGE}/test/kubernetes"
-  rm -rf "${release_stage}"
-  mkdir -p "${release_stage}"
-
-  # First add test image files and other portable sources so we can create
-  # the portable test tarball.
-  mkdir -p "${release_stage}/test/images"
-  cp -fR "${KUBE_ROOT}/test/images" "${release_stage}/test/"
-  tar c "${KUBE_TEST_PORTABLE[@]}" | tar x -C "${release_stage}"
-
-  kube::release::clean_cruft
-
-  local portable_tarball_name="${RELEASE_TARS}/kubernetes-test-portable.tar.gz"
-  kube::release::create_tarball "${portable_tarball_name}" "${release_stage}/.."
-}
-
-# This is all the platform-independent stuff you need to run/install kubernetes.
-# Arch-specific binaries will need to be downloaded separately (possibly by
-# using the bundled cluster/get-kube-binaries.sh script).
-# Included in this tarball:
-#   - Cluster spin up/down scripts and configs for various cloud providers
-#   - Tarballs for manifest configs that are ready to be uploaded
-#   - Examples (which may or may not still work)
-#   - The remnants of the docs/ directory
-function kube::release::package_final_tarball() {
-  kube::log::status "Building tarball: final"
-
-  # This isn't a "full" tarball anymore, but the release lib still expects
-  # artifacts under "full/kubernetes/"
-  local release_stage="${RELEASE_STAGE}/full/kubernetes"
-  rm -rf "${release_stage}"
-  mkdir -p "${release_stage}"
-
-  mkdir -p "${release_stage}/client"
-  cat <<EOF > "${release_stage}/client/README"
-Client binaries are no longer included in the Kubernetes final tarball.
-
-Run cluster/get-kube-binaries.sh to download client and server binaries.
-EOF
-
-  # We want everything in /cluster.
-  cp -R "${KUBE_ROOT}/cluster" "${release_stage}/"
-
-  mkdir -p "${release_stage}/server"
-  cp "${RELEASE_TARS}/kubernetes-manifests.tar.gz" "${release_stage}/server/"
-  cat <<EOF > "${release_stage}/server/README"
-Server binary tarballs are no longer included in the Kubernetes final tarball.
-
-Run cluster/get-kube-binaries.sh to download client and server binaries.
-EOF
-
-  # Include hack/lib as a dependency for the cluster/ scripts
-  mkdir -p "${release_stage}/hack"
-  cp -R "${KUBE_ROOT}/hack/lib" "${release_stage}/hack/"
-
-  cp -R "${KUBE_ROOT}/docs" "${release_stage}/"
-  cp "${KUBE_ROOT}/README.md" "${release_stage}/"
-  cp "${KUBE_ROOT}/Godeps/LICENSES" "${release_stage}/"
-
-  echo "${KUBE_GIT_VERSION}" > "${release_stage}/version"
-
-  kube::release::clean_cruft
-
-  local package_name="${RELEASE_TARS}/kubernetes.tar.gz"
-  kube::release::create_tarball "${package_name}" "${release_stage}/.."
-}
-
-# Build a release tarball.  $1 is the output tar name.  $2 is the base directory
-# of the files to be packaged.  This assumes that ${2}/kubernetes is what is
-# being packaged.
-function kube::release::create_tarball() {
-  kube::build::ensure_tar
-
-  local tarfile=$1
-  local stagingdir=$2
-
-  "${TAR}" czf "${tarfile}" -C "${stagingdir}" kubernetes --owner=0 --group=0
-}

+ 0 - 31
kubernetes-v1.17/build/make-build-image.sh

@@ -1,31 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2014 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Build the docker image necessary for building Kubernetes
-#
-# This script will package the parts of the repo that we need to build
-# Kubernetes into a tar file and put it in the right place in the output
-# directory.  It will then copy over the Dockerfile and build the kube-build
-# image.
-set -o errexit
-set -o nounset
-set -o pipefail
-
-KUBE_ROOT="$(dirname "${BASH_SOURCE[0]}")/.."
-source "${KUBE_ROOT}/build/common.sh"
-
-kube::build::verify_prereqs
-kube::build::build_image

+ 0 - 26
kubernetes-v1.17/build/make-clean.sh

@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-
-# Copyright 2014 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Clean out the output directory on the docker host.
-set -o errexit
-set -o nounset
-set -o pipefail
-
-KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
-source "${KUBE_ROOT}/build/common.sh"
-
-kube::build::verify_prereqs false
-kube::build::clean

+ 0 - 2
kubernetes-v1.17/build/nsswitch.conf

@@ -1,2 +0,0 @@
-# ensure go's non-cgo resolver respects /etc/hosts
-hosts: files dns

+ 0 - 21
kubernetes-v1.17/build/openapi.bzl

@@ -1,21 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A project wanting to generate openapi code for vendored
-# k8s.io/kubernetes will need to set the following variables in
-# //build/openapi.bzl in their project and customize the go prefix:
-#
-# openapi_vendor_prefix = "vendor/k8s.io/kubernetes/"
-
-openapi_vendor_prefix = ""

+ 0 - 27
kubernetes-v1.17/build/package-tarballs.sh

@@ -1,27 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2017 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# Complete the release with the standard env
-KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
-source "${KUBE_ROOT}/build/common.sh"
-source "${KUBE_ROOT}/build/lib/release.sh"
-
-kube::build::ensure_tar
-kube::version::get_version_vars
-kube::release::package_tarballs

+ 0 - 3
kubernetes-v1.17/build/pause/.gitignore

@@ -1,3 +0,0 @@
-/.container-*
-/.push-*
-/bin

+ 0 - 0
kubernetes-v1.17/build/pause/CHANGELOG.md


Some files were not shown because too many files changed in this diff