Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/soasme/blackgate

Blackgate is an API gateway application
https://github.com/soasme/blackgate

Last synced: about 1 month ago
JSON representation

Blackgate is an API gateway application

Awesome Lists containing this project

README

        

Blackgate
=========

Blackgate is an API gateway application. It's stateless and extendable.

.. image:: https://travis-ci.org/soasme/blackgate.svg?branch=master
.. image:: https://images.microbadger.com/badges/image/soasme/blackgate.svg
:target: https://microbadger.com/images/soasme/blackgate

Install via pip
---------------

Run::

$ pip install blackgate

Or::

$ git clone [email protected]:soasme/blackgate.git
$ cd blackgate
$ python setup.py install

Install via docker
-------------------

Run::

$ docker pull soasme/blackgate

Example
--------

Configure Upstream
```````````````````

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
```````````````````

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

Test Blackgate
```````````````````

Using `curl` to test functionality::

$ curl http://127.0.0.1:9654/github/repos/soasme/blackgate
{"id":59739087,"name":"blackgate","full_name":"soasme/blackgate", ...