linkerd2/pkg/k8s
Alex Leong 41c1fc65b0
Upgrade using config overrides (#5005)
This is a major refactor of the install/upgrade code which removes the config protobuf and replaces it with a config overrides secret which stores overrides to the values struct.  Further background on this change can be found here: https://github.com/linkerd/linkerd2/discussions/4966

Note: as-is this PR breaks injection.  There is work to move injection onto a Values-based config which must land before this can be merged.

A summary of the high level changes:

* the install, global, and proxy fields of linkerd-config ConfigMap are no longer populated
* the CLI install flow now follows these simple steps:
  * load default Values from the chart
  * update the Values based on the provided CLI flags
  * render the chart with these values
  * also render a Secret/linkerd-config-overrides which describes the values which have been changed from their defaults
* the CLI upgrade flow now follows these simple stesp:
  * load the default Values from the chart
  * if Secret/linkerd-config-overrides exists, apply the overrides onto the values
  * otherwise load the legacy ConfigMap/linkerd-config and use it to updates the values
  * further update the values based on the provided CLI flags
  * render the chart and the Secret/linkerd-config-overrides as above
* Helm install and upgrade is unchanged

Signed-off-by: Alex Leong <alex@buoyant.io>
2020-10-12 14:23:14 -07:00
..
testdata Fix handling of kubeconfig server urls that include paths (#2305) 2019-02-18 17:57:27 -08:00
api.go Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
api_test.go Add pod status to linkerd check (#3065) 2019-07-18 15:56:19 -07:00
authz.go Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
authz_test.go Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
fake.go Upgrade using config overrides (#5005) 2020-10-12 14:23:14 -07:00
fake_test.go Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
k8s.go Make service mirror controller per target cluster (#4710) 2020-07-23 14:32:50 -07:00
k8s_test.go Fix spelling mistakes using codespell (#4700) 2020-07-07 17:07:22 -05:00
kubectl.go Check kubectl version as part of checks (#2358) 2019-03-01 10:03:59 -08:00
kubectl_test.go Check kubectl version as part of checks (#2358) 2019-03-01 10:03:59 -08:00
labels.go Update Injection to use new linkerd-config.values (#5036) 2020-10-07 09:54:34 -07:00
labels_test.go Provide peer Identities via the Destination API (#2537) 2019-03-22 09:19:14 -07:00
portforward.go Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
portforward_test.go Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
version.go Remove kubectl dependency, validate k8s server version via api (#396) 2018-02-20 12:14:11 -08:00
version_test.go Remove kubectl dependency, validate k8s server version via api (#396) 2018-02-20 12:14:11 -08:00