linkerd2/pkg
Oliver Gould 655632191b
config: Store install parameters with global config (#2577)
When installing Linkerd, a user may override default settings, or may
explicitly configure defaults. Consider install options like `--ha
--controller-replicas=4` -- the `--ha` flag sets a new default value for
the controller-replicas, and then we override it.

When we later upgrade this cluster, how can we know how to configure the
cluster?

We could store EnableHA and ControllerReplicas configurations in the
config, but what if, in a later upgrade, the default value changes? How
can we know whether the user specified an override or just used the
default?

To solve this, we add an `Install` message into a new config.
This message includes (at least) the CLI flags used to invoke
install.

upgrade does not specify defaults for install/proxy-options fields and,
instead, uses the persisted install flags to populate default values,
before applying overrides from the upgrade invocation.

This change breaks the protobuf compatibility by altering the
`installation_uuid` field introduced in 9c442f6885.
Because this change was not yet released (even in an edge release), we
feel that it is safe to break.

Fixes https://github.com/linkerd/linkerd2/issues/2574
2019-03-29 10:04:20 -07:00
..
addr lint: Enable scopelint (#2364) 2019-02-24 08:59:51 -08:00
admin lint: Enable unparam (#2369) 2019-02-27 10:34:02 -08:00
config config: Store install parameters with global config (#2577) 2019-03-29 10:04:20 -07:00
filesonly Enable lint check for comments (#2023) 2019-01-02 14:03:59 -08:00
flags Lessen klog for security (#2386) 2019-02-26 16:00:26 -08:00
healthcheck Add identity pod to check, web, and integration tests (#2529) 2019-03-19 20:49:31 -07:00
identity Introduce the Identity controller implementation (#2521) 2019-03-19 13:58:45 -07:00
inject Promote the shared injection check to the CLI and webhook (#2555) 2019-03-27 14:51:05 -07:00
k8s Have the Webhook react to pod creation/update only (#2472) 2019-03-26 11:53:56 -05:00
profiles Authorization-aware control-plane components (#2349) 2019-02-26 11:54:52 -08:00
prometheus Instrument k8s clients (#2243) 2019-02-18 09:10:02 -08:00
tls install: Introduce the Identity controller (#2526) 2019-03-19 17:04:11 -07:00
util Add go linting to CI config (#2018) 2018-12-20 15:33:09 -08:00
version lint: Enable unparam (#2369) 2019-02-27 10:34:02 -08:00