Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A purpose-built proxy for the Linkerd service mesh. Written in Rust.

License

NotificationsYou must be signed in to change notification settings

linkerd/linkerd2-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linkerd2

GitHub licenseSlack Status

This repo contains the transparent proxy component ofLinkerd2.While the Linkerd2 proxy is heavily influenced bythe Linkerd 1.Xproxy, it comprises an entirely new codebase implemented in theRust programming language.

This proxy's features include:

  • Transparent, zero-config proxying for HTTP, HTTP/2, and arbitrary TCP protocols.
  • AutomaticPrometheus metrics export for HTTP and TCP traffic;
  • Transparent, zero-config WebSocket proxying;
  • Automatic, latency-aware, layer-7load balancing;
  • Automatic layer-4 load balancing for non-HTTP traffic;
  • Automatic Mutual TLS;
  • An on-demand diagnostictap API.

This proxy is primarily intended to run on Linux in containerizedenvironments likeKubernetes, though it may also work on otherUnix-like systems (like macOS).

The proxy supports service discovery via DNS and thelinkerd2Destination gRPC API.

The Linkerd project is hosted by the Cloud Native Computing Foundation(CNCF).

Building the project

We usejust-cargo which provide a thin wrapper aroundjust andcargo.

We recommend that you use the includedDev Container to avoid settingup the complex development environment by hand.

Just

Ajustfile is provided to automate most build tasks. It providesthe following recipes:

  • just build -- Compiles the proxy on your local system usingcargo
  • just test -- Runs unit and integration tests on your local system usingcargo
  • just docker -- Builds a Docker container image that can be used for testing.

Cargo

Usually,Cargo, Rust's package manager, is used to build and test thisproject. If you don't have Cargo installed, we suggest getting it viahttps://rustup.rs/.

Devcontainer

A Devcontainer is provided for use with Visual Studio Code. It includes all ofthe tooling needed to build and test the proxy.

Repository Structure

This project is broken into many small libraries, orcrates, so thatcomponents may be compiled & tested independently. The following cratetargets are especially important:

Code of conduct

This project is for everyone. We ask that our users and contributors take a fewminutes to review ourcode of conduct.

Security

We test our code by way of fuzzing and this is described inFUZZING.md.

A third party security audit focused on fuzzing Linkerd2-proxy was performed byAda Logics in 2021. Thefull report can be found inthedocs/reports/ directory.

License

linkerd2-proxy is copyright 2018 the linkerd2-proxy authors. All rights reserved.

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

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

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

About

A purpose-built proxy for the Linkerd service mesh. Written in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp