Blackgate is an API gateway application. It's stateless and extendable.
Run:
$ pip install blackgate
Or:
$ git clone git@github.com:soasme/blackgate.git $ cd blackgate $ python setup.py install
Run:
$ docker pull soasme/blackgate
A minimal Blackgate config looks something like this:
---
proxies:
- name: github
upstream_url: 'https://api.github.com'
request_path_regex: /github/(.*)
request_path_sub: /\1
Just save it as blackgate.yml.
Run application:
$ blackgate -c ./blackgate.yml --no-daemon start
# or run as a daemon
$ blackgate -c ./blackgate.yml --pidfile=/tmp/blackgate.pid start
# or run via docker
$ docker run -it --rm --name blackgate \
-p 9654:9654 \
-v `pwd`:/etc/blackgate/blackgate.yml blackgate:latest
Using curl to test functionality:
$ curl http://127.0.0.1:9654/github/repos/soasme/blackgate
{"id":59739087,"name":"blackgate","full_name":"soasme/blackgate", ...