
Sushi Gateway is a lightweight and extensible Layer 7 API Gateway designed to empower developers with seamless control, robust security, and dynamic adaptability.
By providing functionality such as routing, load balancing, authentication, and plugins, Sushi Gateway enables effortless orchestration of microservices and APIs.
Installation Guide | Documentation | Releases
See the Roadmap for more information on the project's future direction.
- Dynamic Routing: Route traffic efficiently with support for dynamic paths and advanced match criteria.
- Plugin System: Extend functionality with modular plugins for security, rate limiting, logging, and more.
- Load Balancing: Built-in strategies like round robin, weighted (in progress), and IP hash.
- Declarative Configuration: Use declarative JSON configurations to configure the gateway.
- Secure API Management: Features such as Mutual TLS, API key authentication, and JWT support.
- Lightweight & Efficient: Optimized for speed and scalability with a minimal footprint.
View our quick start guide using Docker here.
Sushi Gateway offers a wide range of plugins to enhance functionality, including:
Plugin Name | Description |
---|---|
Rate Limit | Limit requests per user/service. |
CORS | Enable cross-origin resource sharing. |
JWT Authentication | Secure APIs with JWT tokens. |
Basic Authentication | Simplify API access control. |
Bot Protection | Block malicious user agents. |
Explore all available plugins in the Plugins Documentation.
We ❤️ contributions! Check out the Contributing Guide to get started.
- Join the Community: Share feedback and ask questions in our Discussions.
- Chat on Discord: Collaborate and discuss on our Discord Channel.
- Report Issues: Open issues directly in the GitHub repository.
- Ensure you have Go installed with at least version 1.22.
- Look up the Quick Start guide to get the config file, certs and keys required for the gateway to run.
- Create the certs and keys required for the gateway to run.
- Create the config file for the gateway to run.
- Build and run the gateway using the following commands:
go run cmd/main.go
- To run tests use the following command:
go test ./...
- Use the
docker-compose.yml
file to quickly start up dev servers to test proxydocker compose up -d