Combine several separate microservice APIs behind a single public endpoint.
Get one merged OpenAPI schema document covering multiple backend services.
Add JWT authentication, rate limiting, and CORS handling in front of existing APIs without changing them.
Export Prometheus metrics and OpenTelemetry traces for API traffic across services.
Runs as a Docker container configured through a JSON file describing upstream services and routing rules.
uplink is a gateway tool that sits in front of several separate web APIs and makes them look like one combined API to whoever is calling them. Each backend service gets its own path prefix, such as /petstore or /apisguru, and uplink automatically merges each service's OpenAPI schema, a standard description format for APIs, into one combined schema document at /openapi.json. It is built on top of OpenResty, which is the nginx web server extended with scripting support, and it deliberately keeps the actual proxying of requests running through nginx's own native, C-speed request forwarding rather than routing traffic through slower scripting code. The end result, packaged as a small roughly 62 megabyte Docker container image, uses very little memory while idle. Beyond simple proxying, it includes a number of features aimed at production use: load balancing across multiple backend instances, WebSocket support, TLS encryption for both incoming and outgoing connections, and JWT based authentication per service supporting several common signing methods. It can rate limit requests, adjust how many requests it allows through based on current load, handle CORS for browser based clients, add or remove HTTP headers, and filter which routes are exposed using flexible rules based on path, HTTP method, or tag, including wildcards and exclusions. For monitoring, it can export Prometheus metrics, write JSON formatted access logs, and send distributed tracing data using OpenTelemetry. Getting started involves pulling the Docker image and mounting a JSON configuration file that lists each backend service, its address, and simple routing rules describing which paths and methods are allowed through. Extensive documentation covers configuration, routing rules, authentication, TLS, traffic controls, and deployment to Docker or Kubernetes. This project is aimed at backend and platform engineers who need to combine several existing APIs behind one gateway, particularly in situations where performance and low resource use matter. It is released under the Mozilla Public License 2.0.
A lightweight API gateway that combines several backend OpenAPI services into one endpoint with a merged schema, built on nginx for fast native proxying.
Mainly Fennel. The stack also includes OpenResty, nginx, Docker.
Released under the Mozilla Public License 2.0, a weak copyleft license that lets you use and modify the code, including commercially, but changes to the licensed files themselves must also be shared under the same license.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.