kubernetes/cmd
Kubernetes Submit Queue f53a35fb76 Merge pull request #29147 from caesarxuchao/cut-client-repo-staging
Automatic merge from submit-queue

Cut the client repo, staging it in the main repo

Tracking issue: #28559
ref: https://github.com/kubernetes/kubernetes/pull/25978#issuecomment-232710174

This PR implements the plan a few of us came up with last week for cutting client into its own repo:
1. creating "_staging" (name is tentative) directory in the main repo, using a script to copy the client and its dependencies to this directory
2. periodically publishing the contents of this staging client to k8s.io/client-go repo
3. converting k8s components in the main repo to use the staged client. They should import the staged client as if the client were vendored. (i.e., the import line should be `import "k8s.io/client-go/<pacakge name>`). This requirement is to ease step 4.
4. In the future, removing the staging area, and vendoring the real client-go repo.

The advantage of having the staging area is that we can continuously run integration/e2e tests with the latest client repo and the latest main repo, without waiting for the client repo to be vendored back into the main repo. This staging area will exist until our test matrix is vendoring both the client and the server.

In the above plan, the tricky part is step 3. This PR achieves it by creating a symlink under ./vendor, pointing to the staging area, so packages in the main repo can refer to the client repo as if it's vendored. To prevent the godep tool from messing up the staging area, we export the staged client to GOPATH in hack/godep-save.sh so godep will think the client packages are local and won't attempt to manage ./vendor/k8s.io/client-go.

This is a POC. We'll rearrange the directory layout of the client before merge.

@thockin @lavalamp @bgrant0607 @kubernetes/sig-api-machinery

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/29147)
<!-- Reviewable:end -->
2016-08-09 17:12:14 -07:00
..
gendocs Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genkubedocs Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genman Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genswaggertypedocs Remove GOMAXPROCS() calls because they are unnecessary 2016-07-19 11:08:21 +03:00
genutils Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
genyaml Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
hyperkube Merge pull request #29147 from caesarxuchao/cut-client-repo-staging 2016-08-09 17:12:14 -07:00
kube-apiserver Merge pull request #29147 from caesarxuchao/cut-client-repo-staging 2016-08-09 17:12:14 -07:00
kube-controller-manager Merge pull request #29147 from caesarxuchao/cut-client-repo-staging 2016-08-09 17:12:14 -07:00
kube-dns move pkg/util/ files to their own package to reduce client-go dependencies 2016-08-05 23:32:02 -07:00
kube-proxy move pkg/util/ files to their own package to reduce client-go dependencies 2016-08-05 23:32:02 -07:00
kubectl Merge pull request #29237 from ncdc/fixup-windows-term 2016-07-21 07:24:13 -07:00
kubelet move pkg/util/ files to their own package to reduce client-go dependencies 2016-08-05 23:32:02 -07:00
kubemark Remove GOMAXPROCS() calls because they are unnecessary 2016-07-19 11:08:21 +03:00
kubernetes-discovery Merge pull request #29042 from dims/fixup-imports 2016-07-18 07:23:38 -07:00
libs/go2idl Merge pull request #29147 from caesarxuchao/cut-client-repo-staging 2016-08-09 17:12:14 -07:00
linkcheck Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
mungedocs Fix broken warning image link in docs 2016-07-15 10:44:58 +01:00
OWNERS Remove myself from a bunch of OWNERS files, as I am too overloaded 2016-05-11 13:34:51 -07:00