Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Go to file
Oliver Gould 04a66bacea
Set a header read timeout on HTTP servers (#9181)
Newer versions of golangci-lint flag `http.Server` instances that do not
set a `ReadHeaderTimeout` as being vulnerable to "slowloris" attacks,
wherein clients initiate requests that hold connections open
indefinitely.

This change sets a `ReadHeaderTimeout` of 10s. This timeout is fairly
conservative so that clients can eagerly create connections, but is
still constrained enough that these connections won't remain open
indefinitely.

This change also updates kubert to v0.9.1, which instruments a header
read timeout on the policy admission server.

Signed-off-by: Oliver Gould <ver@buoyant.io>
2022-08-16 11:10:23 -07:00
.devcontainer dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
.github build(deps): bump tj-actions/changed-files from 26 to 26.1 (#9176) 2022-08-16 10:31:24 -07:00
audits add Trail of Bits audit; reorganize into audits/ (#8735) 2022-06-24 13:34:56 -07:00
bin dev: Add go-mod-* scripts to inspect the go module hierarchy (#9094) 2022-08-08 11:32:17 -07:00
charts Update NOTES.txt (#9170) 2022-08-16 09:22:51 -07:00
cli Set default inbound policy in policy-controller flags (#9129) 2022-08-11 15:49:59 -07:00
cni-plugin Allow running Linkerd CNI plugin stand-alone (#8864) 2022-08-04 11:02:54 -07:00
controller Set a header read timeout on HTTP servers (#9181) 2022-08-16 11:10:23 -07:00
grafana Parametrized datasource in grafana dashboards, better script handling (#7603) 2022-01-14 11:30:19 -05:00
jaeger dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
multicluster Require all gateway clients to be authenticated (#9167) 2022-08-16 10:04:27 -06:00
pkg Set a header read timeout on HTTP servers (#9181) 2022-08-16 11:10:23 -07:00
policy-controller build(deps): bump chrono from 0.4.21 to 0.4.22 (#9156) 2022-08-15 09:36:59 -07:00
policy-test Add `policyController.probeNetworks` configuration value (#9091) 2022-08-05 10:43:22 -06:00
proto Remove legacy upgrade and it's references (#7309) 2021-11-29 20:08:58 +05:30
proxy-identity Add `gosec` and `errcheck` lints (#7954) 2022-03-03 10:09:51 -07:00
test Allows RSA signed trust anchors on linkerd cli (#7771) (#8868) 2022-08-08 08:04:24 -05:00
testutil ci: Unify integration test workflows (#8964) 2022-07-25 15:51:09 -07:00
viz Set a header read timeout on HTTP servers (#9181) 2022-08-16 11:10:23 -07:00
web Set a header read timeout on HTTP servers (#9181) 2022-08-16 11:10:23 -07:00
.dockerignore Update to `linkerd2-proxy-api` v0.5.0 (#8229) 2022-04-11 11:46:16 -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 Deprecate Gateways API and skip lints until 2.13 (#8600) 2022-06-07 14:19:11 -06: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.185.0 (#9123) 2022-08-09 17:25:41 -07:00
ADOPTERS.md chore: Add Gotin to ADOPTERS (#9101) 2022-08-06 09:22:06 -07:00
BUILD.md dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
CHANGES.md edge-22.8.2 (#9138) 2022-08-11 16:56:21 -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 Set a header read timeout on HTTP servers (#9181) 2022-08-16 11:10:23 -07: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 Update Go to 1.18 (#9019) 2022-07-27 16:10:39 -07: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 Add release instructions (#7574) 2022-01-12 10:24:24 -08: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 github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#9172) 2022-08-16 10:31:48 -07:00
go.sum build(deps): bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16 (#9172) 2022-08-16 10:31:48 -07:00
justfile dev: Update markdowlint-cli2 to v0.5.1 (#9166) 2022-08-15 12:59:59 -07:00
rust-toolchain ci: Use devcontainer tooling in CI (#8925) 2022-07-27 09:54:39 -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.