linkerd2/controller
Andrew Seigner ec540a882e
Consolidate k8s APIs (#2747)
Numerous codepaths have emerged that create k8s configs, k8s clients,
and make k8s api requests.

This branch consolidates k8s client creation and APIs. The primary
change migrates most codepaths to call `k8s.NewAPI` to instantiate a
`KubernetesAPI` struct from `pkg`. `KubernetesAPI` implements the
`kubernetes.Interface` (clientset) interface, and also persists a
`client-go` `rest.Config`.

Specific list of changes:
- removes manual GET requests from `k8s.KubernetesAPI`, in favor of
  clientsets
- replaces most calls to `k8s.GetConfig`+`kubernetes.NewForConfig` with
  a single `k8s.NewAPI`
- introduces a `timeout` param to `k8s.NewAPI`, currently only used by
  healthchecks
- removes `NewClientSet` in `controller/k8s/clientset.go` in favor of
  `k8s.NewAPI`
- removes `httpClient` and `clientset` from `HealthChecker`, use
  `KubernetesAPI` instead

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
2019-04-25 11:31:38 -07:00
..
api Fixes #2607: Remove TLS from stat (#2613) 2019-04-04 10:37:42 -07:00
cmd Consolidate k8s APIs (#2747) 2019-04-25 11:31:38 -07:00
gen Make the auto-injector required and removed proxy-auto-inject flag (#2733) 2019-04-24 13:06:51 -05:00
identity Introduce the Identity controller implementation (#2521) 2019-03-19 13:58:45 -07:00
k8s Consolidate k8s APIs (#2747) 2019-04-25 11:31:38 -07:00
proxy-injector Fall back to default built-in version if versions config are missing (#2745) 2019-04-24 19:49:18 -07:00
script Remove `--tls=optional` and `linkerd-ca` (#2515) 2019-03-18 17:40:31 -07:00
sp-validator Add validation webhook for service profiles (#2623) 2019-04-05 16:10:47 -05:00
tap Require cluster-wide k8s API access (#2428) 2019-03-07 10:23:18 -08:00
webhook Add validation webhook for service profiles (#2623) 2019-04-05 16:10:47 -05:00
Dockerfile Don't use spinner in cli when run without a tty (#2716) 2019-04-18 09:31:56 -07:00