MCPcopy Index your code
hub / github.com/linkerd/linkerd2

github.com/linkerd/linkerd2 @edge-26.6.3 sqlite

repository ↗ · DeepWiki ↗ · release edge-26.6.3 ↗
5,529 symbols 18,902 edges 666 files 2,208 documented · 40%
README

Linkerd

Linkerd

CII Best Practices GitHub Actions Status GitHub license Go Report Card Go Reference Slack Status

:balloon: Welcome to Linkerd! :wave:

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 :heart: pull requests! See CONTRIBUTING.md for info on contributing changes.

Get involved

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.

Linkerd undergoes periodic third-party security audits and we publish the results here.

License

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

Extension points exported contracts — how you extend this code

LinksGetter (Interface)
LinksGetter has a method to return a LinkInterface. A group's client should implement this interface. [12 implementers]
controller/gen/client/clientset/versioned/typed/link/v1alpha2/link.go
WorkloadUpdateListener (Interface)
PodUpdateListener is the interface subscribers must implement. [9 implementers]
controller/api/destination/watcher/workload_watcher.go
Flag (Interface)
Flag is an interface which describes a command line flag that affects the Helm Values used to render Helm charts. This [6 …
cli/flag/flag.go
Runner (Interface)
Runner is implemented by any health-checkers that can be triggered with RunChecks() [4 implementers]
pkg/healthcheck/healthcheck.go
Validator (Interface)
Validator implementors accept a bearer token, validates it, and returns a DNS-form identity. [2 implementers]
pkg/identity/service.go
GenericPrivateKey (Interface)
GenericPrivateKey represents either an EC or an RSA private key [2 implementers]
pkg/tls/cred.go
Handler (FuncType)
Handler is the signature for the functions that ultimately deal with the admission request
controller/webhook/server.go
ValueOverrider (FuncType)
ValueOverrider is used to override the default values that are used in chart rendering based on the annotations provided
pkg/inject/inject.go

Core symbols most depended-on inside this repo

Run
called by 476
pkg/identity/service.go
AnnotatedFatalf
called by 290
testutil/annotations.go
Fatal
called by 229
pkg/healthcheck/healthcheck.go
Get
called by 219
controller/gen/client/listers/link/v1alpha1/link.go
List
called by 166
controller/gen/client/listers/link/v1alpha1/link.go
AnnotatedFatal
called by 132
testutil/annotations.go
Error
called by 130
pkg/protohttp/protohttp.go
Informer
called by 110
controller/gen/client/informers/externalversions/generic.go

Shape

Method 2,490
Function 2,006
Struct 732
Interface 187
Class 58
TypeAlias 40
FuncType 16

Languages

Go93%
TypeScript7%

Modules by API surface

viz/metrics-api/gen/viz/viz.pb.go558 symbols
viz/tap/gen/tap/viz_tap.pb.go219 symbols
pkg/healthcheck/healthcheck.go112 symbols
multicluster/service-mirror/cluster_watcher.go77 symbols
testutil/test_helper.go60 symbols
pkg/inject/inject.go58 symbols
controller/gen/apis/policy/v1alpha1/zz_generated.deepcopy.go56 symbols
controller/k8s/api.go55 symbols
viz/metrics-api/gen/viz/viz_grpc.pb.go51 symbols
pkg/charts/linkerd2/values.go45 symbols
multicluster/static/generated_multicluster_templates.gogen.go41 symbols
viz/cmd/tap.go40 symbols

Dependencies from manifests, versioned

contrib.go.opencensus.io/exporter/ocagentv0.7.0 · 1×
dario.cat/mergov1.0.2 · 1×
github.com/AdaLogics/go-fuzz-headersv0.0.0-2023081113042 · 1×
github.com/Azure/go-ansitermv0.0.0-2025010203350 · 1×
github.com/MakeNowJust/heredocv1.0.0 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×
github.com/Masterminds/semver/v3v3.4.0 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/blang/semver/v4v4.0.0 · 1×
github.com/bombsimon/logrusr/v4v4.1.0 · 1×

For agents

$ claude mcp add linkerd2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact