whatisgithub

What is lura?

luraproject/lura — explained in plain English

Analysis updated 2026-06-24

6,773GoAudience · ops devopsComplexity · 4/5LicenseSetup · hard

In one sentence

A Go framework hosted by the Linux Foundation for building API gateways that aggregate multiple backend services into a single endpoint, reducing client-side complexity and network calls, the core engine behind KrakenD.

Mindmap

mindmap
  root((repo))
    What it does
      API gateway framework
      Backend aggregation
      Single endpoint
    How it works
      Parallel upstream calls
      Response merging
      Field filtering
    Config
      JSON endpoint file
      Middleware plugins
    Built on Lura
      KrakenD binary
      Custom gateways
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build an API gateway that fetches data from four backend services in parallel and returns a single merged response to a mobile app.

USE CASE 2

Reduce mobile network usage by letting the gateway strip fields the client does not need before sending the response.

USE CASE 3

Assemble a custom Go gateway with OAuth authorization and request transformation middleware using Lura as the core framework.

USE CASE 4

Deploy KrakenD, the pre-built binary on top of Lura, for a fully functional gateway without writing Go code.

What is it built with?

GoJSON

How does it compare?

luraproject/luragoogle/gopacketstackexchange/blackbox
Stars6,7736,7766,769
LanguageGoGoGo
Setup difficultyhardmoderatemoderate
Complexity4/53/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Lura is a framework, not a runnable binary, you write Go code that imports it, use the KrakenD binary for a zero-code gateway.

Use freely for any purpose, including commercial use, as long as you preserve the copyright and license notice, Apache 2.0.

So what is it?

Lura is a Go library for building API gateways, hosted under The Linux Foundation. An API gateway is a service that sits between a client app (like a mobile app or web frontend) and a set of backend servers. Instead of the client making four separate network calls to four different services and then combining the results itself, the gateway does all of that work server-side and returns one clean response. The README walks through a practical example: a mobile screen that needs data from a product list, a promotions list, a user profile, and a shopping cart. Without a gateway, the app makes four requests and stitches together the pieces it needs. With Lura in front, it makes one request to a single endpoint, and Lura fetches all four upstream responses in parallel, merges them, and strips out any fields the client does not need. This reduces the amount of data sent over the mobile connection and removes complexity from the app itself. Lura is a framework, not a ready-to-run binary. You use it as a library in your own Go code to assemble the gateway behavior you want, connecting it to middleware components for things like OAuth authorization, security checks, and request transformation. The KrakenD API Gateway is the most prominent product built on top of Lura, a downloadable KrakenD binary is available for those who want a fully functional gateway without building from source. Configuration is driven by a JSON file that describes the endpoints the gateway should expose and what backend services each one calls. Benchmark results for various components are included in the repository documentation. The project is a Linux Foundation hosted project, was previously known as the KrakenD framework, and is licensed under Apache 2.0.

Copy-paste prompts

Prompt 1
I want to build an API gateway with Lura in Go that calls three microservices in parallel and merges their JSON responses into one. Show me the minimal Go code and JSON config to set that up.
Prompt 2
How do I configure Lura to strip specific fields from an upstream API response before sending it to the client?
Prompt 3
I want to add OAuth2 token verification middleware to a Lura-based gateway. Where do I plug in middleware and what interface does it need to implement?
Prompt 4
What is the difference between using Lura as a framework and downloading the KrakenD binary? When should I build from source versus use the pre-built binary?

Frequently asked questions

What is lura?

A Go framework hosted by the Linux Foundation for building API gateways that aggregate multiple backend services into a single endpoint, reducing client-side complexity and network calls, the core engine behind KrakenD.

What language is lura written in?

Mainly Go. The stack also includes Go, JSON.

What license does lura use?

Use freely for any purpose, including commercial use, as long as you preserve the copyright and license notice, Apache 2.0.

How hard is lura to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is lura for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.