Navigate:
~$KONG0.1%

Kong: Cloud-native API and LLM gateway

Lua-based reverse proxy with pluggable architecture.

LIVE RANKINGS • 10:20 AM • STEADY
OVERALL
#285
20
BACKEND & APIS
#16
5
30 DAY RANKING TREND
ovr#285
·Backe#16
STARS
42.8K
FORKS
5.1K
7D STARS
+57
7D FORKS
+13
See Repo:
Share:

Learn more about Kong

Kong is an open-source gateway written in Lua and C that sits between clients and backend services to handle traffic routing and policy enforcement. It operates as a reverse proxy with a pluggable architecture, allowing users to extend functionality through custom plugins while maintaining a RESTful admin API for configuration. The system supports multiple deployment models including database-backed, database-less (declarative), and hybrid control plane/data plane separation. Common deployments include Kubernetes ingress controller usage, microservice mesh integration, and API management for both traditional REST APIs and LLM traffic routing across multiple providers.

Kong

1

Plugin-based extensibility

Kong's architecture centers on a plugin system that allows custom logic to be injected at various request/response stages. Over 60 plugins are available for authentication, rate limiting, request transformation, logging, and observability, with a developer hub for creating additional plugins.

2

Multi-model LLM routing

Kong includes a unified API abstraction layer for routing requests across different LLM providers including OpenAI, Anthropic, AWS Bedrock, Azure AI, and others. This allows switching between providers or load balancing across multiple LLM backends without client-side changes.

3

Flexible deployment models

Kong supports database-backed deployments, database-less declarative configuration via decK, and hybrid architectures separating control planes from data planes. This flexibility allows deployment in various infrastructure contexts without vendor lock-in.


import requests

admin_api = "http://localhost:8001"

service = requests.post(f"{admin_api}/services", json={
    "name": "user-service",
    "url": "http://api.example.com/users"
})

route = requests.post(f"{admin_api}/services/user-service/routes", json={
    "paths": ["/api/users"],
    "methods": ["GET", "POST"]
})


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers