Skip to content
This repository has been archived by the owner on Mar 6, 2023. It is now read-only.
/ gydro Public archive

🐙 Lightweight API Gateway with zero dependencies.

License

Notifications You must be signed in to change notification settings

xaviergodart/gydro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gydro Build Status Go Report Card GoDoc

A lightweight API Gateway with zero dependencies for JSON services written in Go. You can see it as a very simple alternative to Kong, Tyk or API Umbrella.

Gydro is still under development and should not be used in production.

Features

  • No external databases needed
  • Administration via RESTFul api
  • Consumer auth by api key
  • Round-robin load balancing per route between multiple backends
  • Circuit breaker
  • Persistent rate limiter
  • Group based authorization

TODO

  • Add JWT auth
  • Add support for an external database to allow multi host deployments
  • Allow some configuration in order to override hardcoded default parameters...
  • Add some tests...

Under the hood

  • Tiedot as datastore
  • BuntDB for rate limiter middleware backend
  • Gorilla Mux for api routing
  • Oxy for forwarding and load balancing requests
  • Echo for admin api

Installing

From sources

Install Go >= 1.7, set your $GOPATH, and run :

go get github.com/xaviergodart/gydro

To start Gydro:

$GOPATH/bin/gydro

Documentation

Getting started

About

🐙 Lightweight API Gateway with zero dependencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages