Koder Gate

High-performance, plugin-driven API Gateway written in Koder Lang. Everything passes through, nothing gets in unchecked.

v1.0.0 16 Built-in Plugins Koder Lang AGPL-3.0
koder.toml
CLI
Admin API
# Route all /api traffic through JWT auth + rate limiting
[[route]]
name = "api-v1"
paths = ["/api/v1"]
upstream = "backend"

[route.plugins.jwt_auth]
algorithm = "RS256"
jwks_url = "https://id.koder.dev/.well-known/jwks.json"

[route.plugins.rate_limit]
limit = 1000
window = 60
algorithm = "sliding_window"

[[upstream]]
name = "backend"
algorithm = "round_robin"

[[upstream.targets]]
host = "10.0.0.1"
port = 8080

Everything You Need in an API Gateway

🚀

Reverse Proxy

Full HTTP/1.1, HTTP/2, gRPC, WebSocket, and GraphQL proxying with connection pooling and keep-alive support.

⚖️

Load Balancing

6 strategies: Round Robin, Weighted Round Robin, Least Connections, IP Hash, Random, and Consistent Hash with virtual nodes.

🔌

Plugin System

16 built-in plugins. Write custom plugins in .kd files with hot-loading. Phased execution pipeline with priority ordering.

🔒

Authentication

JWT (RS256/HS256/ES256 + JWKS), OAuth2/OIDC introspection, API Key, HTTP Basic, HMAC signature verification.

⏱️

Rate Limiting

4 algorithms: Fixed Window, Sliding Window, Token Bucket, Leaky Bucket. Per-IP, per-consumer, per-route. Cluster-synced.

Circuit Breaker

Automatic failure detection with configurable thresholds. Three states: Closed, Open, Half-Open. Adaptive thresholds.

🏥

Health Checks

Active HTTP/TCP health checking with configurable intervals. Passive monitoring of real traffic. Auto-recovery.

💾

Response Caching

In-memory LRU cache with TTL. Cache-Control header support. Per-route cache configuration. Vary header support.

🔄

Hot Reload

Change routes, upstreams, and plugins without restarting. SIGHUP signal or Admin API. File watcher for auto-reload.

📊

Observability

Prometheus metrics endpoint, OpenTelemetry distributed tracing, structured JSON access logs, real-time analytics dashboard.

🌐

Service Discovery

DNS-based service discovery with SRV/A record support. Static target configuration. Automatic refresh with TTL caching.

💻

Admin API + Dashboard

Full RESTful Admin API for runtime management. Built-in web dashboard. Create, update, delete routes and upstreams on the fly.

16 Built-in Plugins

jwt_auth oauth2_auth apikey_auth basic_auth hmac_auth rate_limit cors transform cache ip_filter request_validator response_transformer retry canary logger metrics

How Koder Gate Compares

Feature Koder Gate Kong APISIX Traefik KrakenD
Plugin System✔ .kd hot-load✔ Lua✔ LuaMiddlewareNo
Load Balancing (6+)✔ 6 strategies32
JWT / OAuth2 / OIDCJWT only
Rate Limiting (4 algos)2311
Circuit Breaker✔ Adaptive
gRPC Proxy
WebSocket Proxy
Admin API
Hot Reload✔ SIGHUP + APIDB-drivenetcd
OpenTelemetryPluginPlugin
Request Validation✔ JSON SchemaPluginPlugin
Canary ReleasesWeighted
No Database Required✘ PostgreSQL✘ etcd
Single Binary
Written InKoder LangLua/GoLua/GoGoGo
LicenseAGPL-3.0Apache 2.0Apache 2.0MITApache 2.0

Powerful CLI

Start Gateway

$ kgate serve -c config.toml
$ kgate serve --port 9000 --workers 8
$ kgate serve --log-level debug

Manage Routes

$ kgate routes list
$ kgate routes add --name api --path /api --upstream backend
$ kgate routes delete api

Manage Plugins

$ kgate plugins list
$ kgate plugins enable rate_limit
$ kgate plugins info jwt_auth

Monitor & Reload

$ kgate status
$ kgate health
$ kgate reload
$ kgate config validate