What is Vrata?

Vrata is a programmable HTTP reverse proxy with a REST API. You create listeners, destinations, routes, and middlewares through HTTP calls — Vrata applies them instantly without restarts, reloads, or dropped connections.

The idea

Every existing API gateway tries to be everything for everyone. They accumulate hundreds of features, plugins, and configuration knobs to cover every corner of the industry. The result is complexity: massive config files, external dependencies, version-locked sidecars, and features you’ll never use slowing down the ones you need.

Vrata takes a different approach. Instead of covering every possible use case, it borrows the best ideas from existing proxies, discards the features that are rarely needed in a modern API gateway, and redesigns the ones that matter — from scratch, with a clean API surface.

What you get

How it works

# Open a port
curl -X POST localhost:8080/api/v1/listeners \
  -d '{"name": "main", "port": 3000}'

# Point at a backend
curl -X POST localhost:8080/api/v1/destinations \
  -d '{"name": "api", "host": "api-svc.default.svc.cluster.local", "port": 80}'

# Create a route
curl -X POST localhost:8080/api/v1/routes \
  -d '{"name": "api", "match": {"pathPrefix": "/api"}, "forward": {"destinations": [{"destinationId": "...", "weight": 100}]}}'

# Snapshot and activate — pushes to all proxies instantly
curl -X POST localhost:8080/api/v1/snapshots -d '{"name": "v1"}'
curl -X POST localhost:8080/api/v1/snapshots/{id}/activate

Changes propagate in milliseconds via SSE. No restart, no reload, no dropped connections.