Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Go to file
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
.github Use full-length actions SHAs in CI (#5668) 2021-02-04 16:51:53 -05:00
bin Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
charts Remove extra three dashes from helm templates (#5628) 2021-02-01 10:51:34 -05:00
cli Add linkerd repair command (#5636) 2021-02-04 16:47:04 -08:00
cni-plugin Updated debian image tags (#5249) 2020-11-18 10:51:15 -05:00
controller Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
grafana Include viz components in Prom scrapes, fix Linkerd Health charts (#5656) 2021-02-04 09:40:23 -05:00
jaeger Add tracing enabled annotation (#5643) 2021-02-03 14:05:15 -05:00
multicluster Remove extra three dashes from helm templates (#5628) 2021-02-01 10:51:34 -05:00
pkg Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
proto Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
proxy-identity Improve comments in proxy-identity (#5420) 2020-12-23 08:28:41 -08:00
test Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
testutil Rename extension charts to linkerd-* (#5552) 2021-01-26 16:20:49 -08:00
viz Simplify SelfCheck API (#5665) 2021-02-05 10:13:45 -05:00
web 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
.dockerignore Migrate CI to docker buildx and other improvements (#4765) 2020-07-22 14:27:45 -05:00
.editorconfig Add PodDisruptionBudgets to control plane (#5398) (#5406) 2021-01-06 09:19:15 -05:00
.gcp.json.enc Add docker builds and integration tests to CI (#1303) 2018-07-11 14:01:42 -07:00
.gitattributes remove the duplicate word (#3385) 2019-09-04 20:13:55 -07:00
.gitignore service profile generation work offline using --ignore-cluster (#5482) 2021-01-09 10:23:25 -08:00
.golangci.yml Upgrade golangci-lint to v1.23.8 (#4181) 2020-03-18 09:13:19 -05:00
.helmdocsignore Add automatic readme generation for charts (#5316) 2020-12-02 14:37:45 -05:00
.markdownlint.yaml Lint all markdown files in CI (#4402) 2020-05-19 23:03:50 -07:00
.proxy-version proxy: v2.131.0 (#5657) 2021-02-02 18:08:22 -08:00
ADOPTERS.md add Giant Swarm to adopters (#5645) 2021-02-01 16:33:45 -05:00
BUILD.md build: Remove the DOCKER_TRACE environment variable (#5583) 2021-01-20 22:09:47 -08:00
CHANGES.md ## edge-21.2.1 (#5667) 2021-02-04 15:10:26 -05:00
CODE_OF_CONDUCT.md Lint all markdown files (#4403) 2020-05-19 09:59:26 -07:00
CONTRIBUTING.md Update CI and docs to reference `main` branch (#4662) 2020-06-24 12:39:22 -07:00
DCO Add contributing doc and DCO file (#88) 2017-12-22 14:54:27 -08:00
Dockerfile-debug Updated debian image tags (#5249) 2020-11-18 10:51:15 -05:00
Dockerfile-proxy Updated debian image tags (#5249) 2020-11-18 10:51:15 -05:00
GOVERNANCE.md Update Linkerd Governance (#5477) 2021-01-13 11:51:15 -08:00
LICENSE Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
MAINTAINERS.md add initial steering committee members (#5640) 2021-02-04 08:25:09 -06:00
README.md Spelling (#4872) 2020-08-12 21:59:50 -07:00
SECURITY.md Spelling (#4872) 2020-08-12 21:59:50 -07:00
SECURITY_AUDIT.pdf Add security audit (#3008) 2019-06-28 16:04:41 -07:00
STEERING.md add STEERING.md (#5607) 2021-01-27 09:39:32 -06:00
TEST.md build: Remove the DOCKER_TRACE environment variable (#5583) 2021-01-20 22:09:47 -08:00
go.mod CLI: Introduced `identity` command to fetch tls-certificates for a pod (#5408) 2021-01-06 16:27:05 -05:00
go.sum CLI: Introduced `identity` command to fetch tls-certificates for a pod (#5408) 2021-01-06 16:27:05 -05:00
tools.go Upgrade to client-go 0.17.4 and smi-sdk-go 0.3.0 (#4221) 2020-04-01 10:07:23 -07:00

README.md

Linkerd

Linkerd

GitHub Actions Status GitHub license Go Report Card Slack Status

🎈 Welcome to Linkerd! 👋

Linkerd is an ultralight, security-first service mesh for Kubernetes. Linkerd adds critical security, observability, and reliability features to your Kubernetes stack with no code change required.

Linkerd is a Cloud Native Computing Foundation (CNCF) project.

Repo layout

This is the primary repo for the Linkerd 2.x line of development.

The complete list of Linkerd repos is:

Quickstart and documentation

You can run Linkerd on any modern Kubernetes cluster in a matter of seconds. See the Linkerd Getting Started Guide for how.

For more comprehensive documentation, start with the Linkerd docs. (The doc source code is available in the website repo.)

Working in this repo

BUILD.md includes general information on how to work in this repo.

We ❤️ pull requests! See CONTRIBUTING.md for info on contributing changes.

Get involved

Community meetings

We host regular online meetings for contributors, adopters, maintainers, and anyone else interested to connect in a synchronous fashion. These meetings usually take place the last Wednesday of the month at 9am Pacific / 4pm UTC.

We're a friendly group, so please feel free to join us!

Code of Conduct

This project is for everyone. We ask that our users and contributors take a few minutes to review our Code of Conduct.

Security

Security Audit

A third party security audit was performed by Cure53. You can see the full report here.

License

Copyright 2020 the Linkerd Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.