https://github.com/starwalkn/aastro
Extensible API Gateway written in Go. Load custom plugins to extend functionality.
https://github.com/starwalkn/aastro
api-gateway extensible gateway go go-plugin golang infrastructure reverse-proxy so-plugins
Last synced: 10 days ago
JSON representation
Extensible API Gateway written in Go. Load custom plugins to extend functionality.
- Host: GitHub
- URL: https://github.com/starwalkn/aastro
- Owner: starwalkn
- License: apache-2.0
- Created: 2025-10-14T21:27:24.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2026-06-05T06:25:11.000Z (20 days ago)
- Last Synced: 2026-06-14T15:39:59.291Z (10 days ago)
- Topics: api-gateway, extensible, gateway, go, go-plugin, golang, infrastructure, reverse-proxy, so-plugins
- Language: Go
- Homepage: https://starwalkn.github.io/aastro-docs
- Size: 1.57 MB
- Stars: 9
- Watchers: 0
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Aastro API Gateway
A lightweight, modular, and high-performance API Gateway for modern microservices.
Built with simplicity, performance, and developer-friendly configuration in mind.
[](https://golang.org)
[](LICENSE)
[](https://goreportcard.com/report/github.com/starwalkn/aastro)
[](https://codecov.io/gh/starwalkn/aastro)


[](https://github.com/starwalkn/aastro/releases)
---
## ✨ Features
- 🚀 High-performance HTTP reverse proxy
- 🔀 Request fan-out & response aggregation (merge, array, namespace)
- 🧩 Dynamic `.so` plugin system (request & response phase)
- 🔗 Path parameter extraction and forwarding
- 🔁 Retry, circuit breaker & load balancing (round-robin, least-conns)
- 📊 Prometheus metrics with circuit breaker state tracking
- 🛡 Rate limiting & trusted proxy support
- 📦 YAML-based configuration
- 🐳 Docker-ready
---
## 🚀 Quick Start
```bash
git clone https://github.com/starwalkn/aastro.git
cd aastro
make all GOOS= GOARCH=
./bin/aastro -c path/to/config.yaml
```
Or with Docker:
```bash
docker run \
-p 7805:7805 \
-v $(pwd)/config.yaml:/etc/aastro/config.yaml \
-e AASTRO_CONFIG=/etc/aastro/config.yaml \
starwalkn/aastro:latest
```
---
## 📖 Documentation
Full documentation, configuration reference, and plugin guide are available at:
**[starwalkn.github.io/aastrodocs](https://starwalkn.github.io/aastro-docs/)**
---
## 📄 License
Open-source. See `LICENSE` file for details.
---
Made with ❤️ in Go