linkerd2/pkg/inject
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
..
inject.go Upgrade using config overrides (#5005) 2020-10-12 14:23:14 -07:00
inject_test.go Upgrade using config overrides (#5005) 2020-10-12 14:23:14 -07:00
report.go Update `inject` to throw an error while injecting non-compliant pods (#4346) 2020-06-24 14:07:05 -05:00
report_test.go Push docker images to ghcr.io instead of gcr.io (#4953) 2020-09-10 15:16:24 -05:00
uninject.go Add volume and volumeMount for buster-based proxy-init (#4692) 2020-07-09 09:55:07 -07:00