linkerd2/test/integration/external
Alex Leong 6762dd28ac
Add --crds flag to install/upgrade and remove config/control-plane stages (#8251)
Fixes: #8173 

In order to support having custom resources in the default Linkerd installation, it is necessary to add a separate install step to install CRDs before the core install.  The Linkerd Helm charts already accomplish this by having CRDs in a separate chart.

We add this functionality to the CLI by adding a `--crds` flag to `linkerd install` and `linkerd upgrade` which outputs manifests for the CRDs only and remove the CRD manifests when the `--crds` flag is not set.  To avoid a compounding of complexity, we remove the `config` and `control-plane` stages from install/upgrade.  The effect of this is that we drop support for splitting up an install by privilege level (cluster admin vs Linkerd admin).

The Linkerd install flow is now always a 2-step process where `linkerd install --crds` must be run first to install CRDs only and then `linkerd install` is run to install everything else.  This more closely aligns the CLI install flow with the Helm install flow where the CRDs are a separate chart.  Attempting to run `linkerd install` before the CRDs are installed will result in a helpful error message.

Similarly, upgrade is also a 2-step process of `linkerd upgrade --crds` follow by `linkerd upgrade`.

Signed-off-by: Alex Leong <alex@buoyant.io>
2022-04-28 09:36:14 -07:00
..
externalissuer go: Enable `errorlint` checking (#7885) 2022-02-16 18:32:19 -07:00
externalresources go: Enable `errorlint` checking (#7885) 2022-02-16 18:32:19 -07:00
stat go: Enable `errorlint` checking (#7885) 2022-02-16 18:32:19 -07:00
testdata Isolate integration tests into suites (#7721) 2022-02-02 17:19:08 +00:00
install_test.go Add --crds flag to install/upgrade and remove config/control-plane stages (#8251) 2022-04-28 09:36:14 -07:00