MCPcopy
hub / github.com/kgateway-dev/kgateway

github.com/kgateway-dev/kgateway @v2.3.5 sqlite

repository ↗ · DeepWiki ↗ · release v2.3.5 ↗
5,643 symbols 21,921 edges 738 files 2,227 documented · 39%
README

kgateway The most widely deployed gateway in Kubernetes for microservices

Release License: Apache 2.0 Stars OpenSSF Best Practices

About kgateway

Kgateway is the most mature and widely deployed gateway in the market today. Built on open source and open standards, kgateway is a resilient and performance-oriented control plane that implements the Kubernetes Gateway API for Envoy.

With a control plane that scales from lightweight microgateway deployments between services to massively parallel centralized gateways handling billions of API calls, kgateway brings omni-directional API connectivity to any cloud and any environment.

Use Cases

Kgateway is designed for:

  • Next-Gen API Gateway: Expose APIs and apply policies like authentication, authorization and rate limiting in one place. Powered by Envoy and programmed with the Gateway API, kgateway is a world-leading Cloud Native API Gateway.

  • Hybrid Application Migration: Route to backends implemented as microservices, serverless functions or legacy apps. Gradually migrate from legacy code while maintaining existing systems.

  • Complex Tenancy Environments: Multiple personas and teams can work with kgateway to express their APIs, with concepts like route delegation and composable policies.

Kgateway is feature-rich, fast, and flexible. It excels in function-level routing, supports legacy apps, microservices and serverless, offers robust discovery capabilities, integrates seamlessly with open-source projects, and is designed to support hybrid applications with various technologies, architectures, protocols, and clouds.

[!IMPORTANT] Kgateway previously acted as a control plane for the agentgateway dataplane to enable several AI and agentic features. Starting with version 2.3.0, the control plane for agentgateway has been migrated to the agentgateway repo, enabling a singular focus for kgateway to be a stable, robust, and battle-tested API Gateway powered by Envoy.

History

The project was launched in 2018 as Gloo by Solo.io and has been production-ready since 2019. Since then, it has steadily evolved to become the most trusted and feature-rich API gateway for Kubernetes, processing billions of API requests for many of the world's biggest companies. Please see the migration plan for more information about the transition from Gloo to kgateway.

Get involved

Contributing to kgateway

Please refer to devel/contributing/README.md as a starting point for contributing to the project.

Releasing kgateway

Please refer to devel/contributing/releasing.md as a starting point for understanding releases of the project.

Security

See our SECURITY.md file for details.

Thanks

Kgateway would not be possible without the valuable open source work of projects in the community. We would like to extend a special thank-you to Envoy and agentgateway, the two data planes upon which we build our dual control plane architecture.

Contributors

Thanks to all contributors who are helping to make kgateway better!

Star History

Star history of kgateway-dev/kgateway over time


<img src="https://raw.githubusercontent.com/cncf/artwork/main/other/cncf-sandbox/horizontal/color/cncf-sandbox-horizontal-color.svg" width="300" alt="Cloud Native Computing Foundation logo"/>

kgateway is a Cloud Native Computing Foundation sandbox project.

Extension points exported contracts — how you extend this code

PolicySubIR (Interface)
PolicySubIR documents the expected interface that all policy sub-IRs should implement. [25 implementers]
pkg/kgateway/extensions2/plugins/trafficpolicy/traffic_policy_plugin.go
Validator (Interface)
Validator validates an Envoy bootstrap config. [36 implementers]
pkg/validator/validator.go
Cmder (Interface)
Cmder abstracts over creating commands [5 implementers]
pkg/utils/cmdutils/cmd.go
PolicyIR (Interface)
(no doc) [16 implementers]
pkg/pluginsdk/ir/iface.go
Metric (Interface)
Metric defines a base interface for metrics. [3 implementers]
pkg/metrics/metrics.go
HelmValuesGenerator (Interface)
Deployer uses HelmValueGenerator implementation to generate a set of helm values when rendering a Helm chart [3 implementers]
pkg/deployer/helm_values_generator.go
HTTPListenerPoliciesGetter (Interface)
HTTPListenerPoliciesGetter has a method to return a HTTPListenerPolicyInterface. A group's client should implement this [2 …
pkg/client/clientset/versioned/typed/v1alpha1/kgateway/httplistenerpolicy.go
SuiteRunner (Interface)
A SuiteRunner is an interface that allows E2E tests to simply Register tests in one location and execute them with Run. [2 …
test/e2e/suite.go

Core symbols most depended-on inside this repo

Errorf
called by 568
pkg/kgateway/setup/controlplane.go
Run
called by 563
pkg/utils/cmdutils/cmd.go
MustGetThisDir
called by 300
pkg/utils/fsutils/fsutils.go
WithHostHeader
called by 201
pkg/utils/requestutils/curl/option.go
Equal
called by 199
pkg/metrics/metricstest/metricstest.go
WithPath
called by 193
pkg/utils/requestutils/curl/option.go
WithPort
called by 182
pkg/utils/requestutils/curl/option.go
Get
called by 170
pkg/kgateway/proxy_syncer/status_syncer.go

Shape

Method 2,344
Function 2,342
Struct 769
Interface 79
TypeAlias 75
FuncType 34

Languages

Go100%

Modules by API surface

api/v1alpha1/kgateway/zz_generated.deepcopy.go400 symbols
pkg/krtcollections/policy.go87 symbols
pkg/kgateway/translator/listener/validation_test.go74 symbols
pkg/pluginsdk/ir/backend.go66 symbols
api/v1alpha1/kgateway/gateway_parameters_types.go63 symbols
api/v1alpha1/kgateway/listener_policy_types.go57 symbols
pkg/metrics/metricstest/metricstest.go55 symbols
pkg/krtcollections/builtin.go55 symbols
pkg/metrics/metrics.go50 symbols
pkg/pluginsdk/ir/iface.go48 symbols
pkg/reports/reporter.go46 symbols
pkg/deployer/merge.go40 symbols

Dependencies from manifests, versioned

4d63.com/gocheckcompilerdirectivesv1.3.0 · 1×
4d63.com/gochecknoglobalsv0.2.2 · 1×
al.essio.dev/pkg/shellescapev1.6.0 · 1×
cel.dev/exprv0.25.1 · 1×
charm.land/lipgloss/v2v2.0.3 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/kmsv1.31.0 · 1×
cloud.google.com/go/longrunningv0.9.0 · 1×

For agents

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

⬇ download graph artifact