Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Go to file
Steve Jenson 309e8d1210
Validate CNI configurations during pod startup (#9678)
When users use CNI, we want to ensure that network rewriting inside the pod is setup before allowing linkerd to start. When rewriting isn't happening, we want to exit with a clear error message and enough information in the container log for the administrator to either file a bug report with us or fix their configuration.

This change adds a validator initContainer to all injected workloads, when linkerd is installed with "cniEnabled=false". The validator replaces the noop init container, and will prevent pods from starting up if iptables is not configured.

Part of #8120

Signed-off-by: Steve Jenson <stevej@buoyant.io>
2022-10-26 11:14:45 +01:00
.devcontainer Update to dev:v32 with Rust 1.64.0 (#9675) 2022-10-21 10:28:00 -07:00
.github build(deps): bump tj-actions/changed-files from 32.1.2 to 33.0.0 (#9691) 2022-10-24 03:58:37 -07:00
audits add Trail of Bits audit; reorganize into audits/ (#8735) 2022-06-24 13:34:56 -07:00
bin Modify k8s client to use admissionregistration/v1 (#9401) 2022-09-20 09:44:18 -07:00
charts Validate CNI configurations during pod startup (#9678) 2022-10-26 11:14:45 +01:00
cli Validate CNI configurations during pod startup (#9678) 2022-10-26 11:14:45 +01:00
cni-plugin Replace usage of io/ioutil package (#9613) 2022-10-13 12:10:58 -05:00
controller Replace usage of io/ioutil package (#9613) 2022-10-13 12:10:58 -05:00
grafana Bump grafana dashboard revisions (#9542) 2022-10-05 09:53:16 -05:00
jaeger Linkerd viz have hardcoded image value in namespace metadata.yml template (#9481) 2022-10-12 07:40:15 -05:00
multicluster Add gateway pauseImage to CLI values struct (#9603) 2022-10-12 12:50:09 -07:00
pkg Validate CNI configurations during pod startup (#9678) 2022-10-26 11:14:45 +01:00
policy-controller Update to dev:v32 with Rust 1.64.0 (#9675) 2022-10-21 10:28:00 -07:00
policy-test Update Rust Kubernetes dependencies (#9454) 2022-09-27 08:43:36 -07:00
proto Remove legacy upgrade and it's references (#7309) 2021-11-29 20:08:58 +05:30
proxy-identity Replace usage of io/ioutil package (#9613) 2022-10-13 12:10:58 -05:00
test Fixes #9616 remove kubectl version check (#9623) 2022-10-19 15:27:11 -05:00
testutil Replace usage of io/ioutil package (#9613) 2022-10-13 12:10:58 -05:00
viz Set readOnlyRootFilesystem: true in viz chart (#9410) 2022-10-13 11:36:43 -07:00
web build(deps-dev): bump eslint from 8.25.0 to 8.26.0 in /web/app (#9683) 2022-10-25 15:55:30 +01:00
.dockerignore dev: Add a reusable action-dev-check script (#9185) 2022-08-16 18:14:37 -07:00
.editorconfig Add PodDisruptionBudgets to control plane (#5398) (#5406) 2021-01-06 09:19:15 -05:00
.gitattributes Update gitattributes to improve PR file visilibity (#6767) 2021-08-30 14:52:53 -07:00
.gitignore Upload code coverage of unit tests to codecov (#6321) 2021-06-23 10:15:01 -06:00
.golangci.yml Temporary fix for go lint breakage (#9693) 2022-10-25 11:45:25 -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.187.0 (#9514) 2022-09-29 12:40:07 -07:00
ADOPTERS.md Add Applause to ADOPTERS.md (#9598) 2022-10-12 07:36:17 -05:00
BUILD.md dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
CHANGES.md edge-22.10.2 (#9597) 2022-10-11 17:31:48 -07:00
CODE_OF_CONDUCT.md Lint all markdown files (#4403) 2020-05-19 09:59:26 -07:00
CONTRIBUTING.md Spelling (#6215) 2021-06-07 15:16:59 -06:00
Cargo.lock build(deps): bump libc from 0.2.135 to 0.2.136 (#9695) 2022-10-25 15:53:50 +01:00
Cargo.toml Test the policy controller admission webhook (#8008) 2022-03-07 11:53:28 -08:00
DCO Add contributing doc and DCO file (#88) 2017-12-22 14:54:27 -08:00
Dockerfile-debug Update debian to bullseye (#8287) 2022-04-19 14:25:30 -07:00
Dockerfile-proxy Validate CNI configurations during pod startup (#9678) 2022-10-26 11:14:45 +01:00
EXTENSIONS.md Versioned `linkerd check` hint URLs (#6102) 2021-05-10 13:21:15 -05:00
GOVERNANCE.md add preamble to GOVERNANCE.md (#6008) 2021-04-12 17:49:20 -05:00
LICENSE Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
MAINTAINERS.md gov: Move @pothulapati to emertii (#9007) 2022-07-26 10:01:32 -07:00
README.md dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
RELEASE.md Update RELEASE.md with helm versioning rules (#9407) 2022-09-27 09:20:46 -05:00
ROADMAP.md Update roadmap (#7413) 2021-12-13 16:11:32 -05:00
SECURITY.md add Trail of Bits audit; reorganize into audits/ (#8735) 2022-06-24 13:34:56 -07:00
STEERING.md add STEERING.md (#5607) 2021-01-27 09:39:32 -06:00
TEST.md dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
deny.toml build(deps): bump unicode-ident from 1.0.1 to 1.0.2 (#8910) 2022-07-18 08:58:39 -07:00
go.mod build(deps): bump k8s.io/client-go from 0.24.3 to 0.25.3 (#9620) 2022-10-21 11:11:54 -07:00
go.sum build(deps): bump k8s.io/client-go from 0.24.3 to 0.25.3 (#9620) 2022-10-21 11:11:54 -07:00
justfile Remove _pause-image variable from justfile (#9614) 2022-10-13 17:01:57 +01:00
rust-toolchain Update to dev:v32 with Rust 1.64.0 (#9675) 2022-10-21 10:28:00 -07:00
tools.go Update protoc (#6333) 2021-06-21 16:37:57 -07:00

README.md

Linkerd

Linkerd

CII Best Practices GitHub Actions Status GitHub license Go Report Card Go Reference 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 Thursday of the month at 9am Pacific / 4pm UTC.

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

Steering Committee meetings

We host regular online meetings for the Linkerd Steering Committee. All are welcome to attend, but audio and video participation is limited to Steering Committee members and maintainers. These meetings are currently scheduled on an ad-hoc basis and announced on the linkerd-users mailing list.

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

See SECURITY.md for our security policy, including how to report vulnerabilities.

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

License

Copyright 2021 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.