linkerd2/controller
Alejandro Pedraza a04b30d2ab
Simplify SelfCheck API (#5665)
Fixes #5575

Now that only viz makes use of the `SelfCheck` api, merged the `healthcheck.proto` into `viz.proto`.

Also removed the "checkRPC" functionality that was used for handling multiple API responses and was only used by `SelfCheck`, because the extra complexity was not granted. Revert to use the plain vanilla "check" by just concatenating error responses.

## Success Output

```bash
$ bin/linkerd viz check
...
linkerd-viz
-----------
...
√ viz extension self-check
```

## Failure Examples

Failure when viz fails to connect to the k8s api:
```bash
$ bin/linkerd viz check
...
linkerd-viz
-----------
...
× viz extension self-check
    Error calling the Kubernetes API: someerror
    see https://linkerd.io/checks/#l5d-api-control-api for hints

Status check results are ×
```

Failure when viz fails to connect to Prometheus:
```bash
$ bin/linkerd viz check
...
linkerd-viz
-----------
...
× viz extension self-check
    Error calling Prometheus from the control plane: someerror
    see https://linkerd.io/checks/#l5d-api-control-api for hints

Status check results are ×
```

Failure when viz fails to connect to both the k8s api and Prometheus:
```bash
$ bin/linkerd viz check
...
linkerd-viz
-----------
...
× viz extension self-check
    Error calling the Kubernetes API: someerror
    Error calling Prometheus from the control plane: someerror
    see https://linkerd.io/checks/#l5d-api-control-api for hints

Status check results are ×
```
2021-02-05 10:13:45 -05:00
..
api Extract from public-api all the Prometheus dependencies, and moves things into a new viz component 'linkerd-metrics-api' (#5560) 2021-01-21 18:26:38 -05:00
cmd Extract from public-api all the Prometheus dependencies, and moves things into a new viz component 'linkerd-metrics-api' (#5560) 2021-01-21 18:26:38 -05:00
gen Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
heartbeat Fix Heartbeat mem and cpu stats (#5042) 2020-10-08 16:31:16 -05:00
identity Have webhooks refresh their certs automatically (#5282) 2020-12-04 16:25:59 -05:00
k8s Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
proxy-injector viz: add tap-injector (#5540) 2021-01-21 11:24:08 -05:00
script/destination-client Print identity in destination client and fix proxy-identity log line (#4873) 2020-08-13 13:49:55 -07:00
sp-validator Bump k8s client-go to v0.19.2 (#5002) 2020-09-28 12:45:18 -05:00
tap viz: only tap pods that have tap explicitly enabled (#5608) 2021-01-28 17:37:45 -05:00
tap-injector Add tracing enabled annotation (#5643) 2021-02-03 14:05:15 -05:00
webhook viz: add tap-injector (#5540) 2021-01-21 11:24:08 -05:00
Dockerfile viz: only tap pods that have tap explicitly enabled (#5608) 2021-01-28 17:37:45 -05:00