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", ...