MCPSERV.CLUB
Lura

Lura

Self-Hosted

High‑performance API Gateway builder and proxy generator

Active(90)
6.7kstars
0views
Updated 9 days ago
Lura screenshot

Overview

Discover what makes Lura powerful

Lura is a high‑performance, pluggable framework written in **Go** that enables developers to build custom API Gateways and aggregators from the ground up. Unlike monolithic gateway binaries, Lura exposes its core logic as a set of lightweight libraries that can be composed into any HTTP or RPC proxy. At runtime it resolves upstream services, merges responses, applies transformations, and enforces policies such as rate‑limiting or OAuth through a rich middleware ecosystem. The framework is the engine behind the popular KrakenD gateway, but it can be used independently or extended with user‑written components.

Response Aggregation & Transformation

Middleware & Plugin Architecture

Extensible Routing

High Throughput

Overview

Lura is a high‑performance, pluggable framework written in Go that enables developers to build custom API Gateways and aggregators from the ground up. Unlike monolithic gateway binaries, Lura exposes its core logic as a set of lightweight libraries that can be composed into any HTTP or RPC proxy. At runtime it resolves upstream services, merges responses, applies transformations, and enforces policies such as rate‑limiting or OAuth through a rich middleware ecosystem. The framework is the engine behind the popular KrakenD gateway, but it can be used independently or extended with user‑written components.

Key Features

  • Response Aggregation & Transformation – Define composite endpoints that call multiple back‑ends, then use JSONPath or custom Go templates to shape the final payload.
  • Middleware & Plugin Architecture – Register reusable middlewares (logging, metrics, auth, caching) or write your own in Go; the plugin system follows a strict interface contract to keep the core minimal.
  • Extensible Routing – Routes are configured via JSON/YAML, supporting path variables, query parameters, and method‑based dispatch. Conditional routing rules can be expressed as logical expressions.
  • High Throughput – Built on Go’s net/http and goroutine model, Lura can handle thousands of concurrent requests with low latency. It supports HTTP/2 and TLS out of the box.
  • Observability – Built‑in OpenTelemetry support, Prometheus metrics, and structured logging make it easy to monitor gateway health and trace request flows.

Technical Stack

LayerTechnology
Core runtimeGo 1.22+ (net/http, context)
ConfigurationJSON/YAML parsing via encoding/json and gopkg.in/yaml.v3
MiddlewareCustom interfaces (Middleware, Plugin) with a registry pattern
Storage (optional)Any key‑value store via the storage interface; examples include Redis, etcd
ObservabilityOpenTelemetry SDK, Prometheus client, Zap for structured logs
ContainerizationOfficial Docker images available; can be built as a static binary for minimal footprint

The framework ships with a CLI (lura-cli) that scaffolds projects, validates configurations, and runs the gateway in dev mode. The binary is a single statically linked executable (~10 MB) that can be dropped into any Linux environment.

Deployment & Infrastructure

Lura is designed for self‑hosting. It requires only a Go runtime or a prebuilt binary, a writable file system for configuration, and network access to upstream services. Docker images are provided, making it trivial to deploy in Kubernetes or ECS:

  • Horizontal scaling – Since the gateway is stateless, multiple replicas can be run behind a load balancer.
  • Zero‑downtime upgrades – The configuration is reloaded on SIGHUP; you can roll out new middleware without restarting the process.
  • Resource limits – Typical workloads consume < 200 MiB RAM and a single CPU core; performance scales linearly with additional cores.

For high‑availability, pair Lura behind a reverse proxy (NGINX/Traefik) or use Kubernetes Service Mesh integrations.

Integration & Extensibility

Developers can plug in any external system via the plugin interface:

  • Authentication – OAuth2, JWT introspection, custom auth providers.
  • Caching – In‑memory LRU, Redis, or Memcached backends.
  • Transformation – User‑defined Go functions that receive the aggregated payload and return a modified response.
  • Webhooks & Callbacks – Register hooks for request/response lifecycle events.

The framework also exposes a RESTful API to query runtime metrics and health status, which can be consumed by monitoring dashboards or CI pipelines.

Developer Experience

The documentation is comprehensive, with code examples and a live playground. The community is active on Slack and GitHub; contributors report issues quickly via the issue tracker. Lura’s open‑source license (MIT) and lack of vendor lock‑in give developers full control over their deployment. The modular design encourages unit testing: each middleware can be tested in isolation with a mock request context.

Use Cases

  • Mobile / SPA front‑ends – Consolidate multiple microservice calls into a single endpoint, reducing latency and payload size.
  • Micro‑services orchestration – Act as a lightweight orchestrator that aggregates data from services written in different languages.
  • Legacy API modernization – Wrap older REST endpoints with modern authentication, rate‑limiting, and response shaping.
  • Hybrid HTTP/RPC gateways – Use Lura’s generic libraries to build a gRPC or Thrift proxy that shares the same middleware stack.

Advantages Over Alternatives

  • Performance – Go’s concurrency model and static binaries give Lura a lower memory footprint than Node or Java gateways.
  • Flexibility – The library‑first approach allows developers to cherry‑pick only the components they need.
  • Licensing – MIT license ensures no royalty or subscription costs, unlike commercial gateways.
  • Community & Ecosystem – A vibrant open‑source community provides frequent updates, security patches, and plugin contributions.

In summary, Lura offers a lightweight yet feature‑rich foundation for building custom API Gateways that fit precisely into an organization’s architecture, without the overhead of monolithic solutions.

Open SourceReady to get started?

Join the community and start self-hosting Lura today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
development-tools
License
NOASSERTION
Stars
6.7k
Technical Specs
Pricing
Open Source
Supported OS
LinuxDocker
Author
luraproject
luraproject
Last Updated
9 days ago