All Projects → menecio → django-api-bouncer

menecio / django-api-bouncer

Licence: Apache-2.0 License
Simple Django app to provide API Gateways for micro-services

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to django-api-bouncer

kong-map
Kongmap is a free visualization tool which allows you to view and edit configurations of your Kong API Gateway Clusters, including Routes, Services, and Plugins/Policies. The tool is being offered for installation via Docker and Kubernetes at this time.
Stars: ✭ 60 (+233.33%)
Mutual labels:  api-gateway, kong, kong-gateway
kong-plugin-api-response-merger
Kong API response merger plugin
Stars: ✭ 14 (-22.22%)
Mutual labels:  api-gateway, kong
kongverge
A desired state configuration tool for Kong
Stars: ✭ 23 (+27.78%)
Mutual labels:  kong, kong-gateway
dubbo-go-pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 385 (+2038.89%)
Mutual labels:  api-gateway, api-rest
Graphql2rest
GraphQL to REST converter: automatically generate a RESTful API from your existing GraphQL API
Stars: ✭ 181 (+905.56%)
Mutual labels:  api-gateway, api-rest
kong-plugin-url-rewrite
Kong API Gateway plugin for url-rewrite purposes
Stars: ✭ 43 (+138.89%)
Mutual labels:  api-gateway, kong
kong-oidc-auth
OpenID Connect authentication with Kong gateway
Stars: ✭ 41 (+127.78%)
Mutual labels:  api-gateway, kong
Kong Docs Cn
微服务 Api 网关 Kong 最新文档中文版
Stars: ✭ 371 (+1961.11%)
Mutual labels:  api-gateway, kong
gluu-gateway
Gluu API 🚀 and Web Gateway 🎯
Stars: ✭ 29 (+61.11%)
Mutual labels:  api-gateway, kong
kong-java-client
Java Client for Kong API Gateway configuration
Stars: ✭ 69 (+283.33%)
Mutual labels:  api-gateway, kong
kong-api-gateway-plugin-and-microservices-demo
Creating plugin for Kong API Gateway and Simple micro services example
Stars: ✭ 20 (+11.11%)
Mutual labels:  kong, kong-gateway
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (+588.89%)
Mutual labels:  api-gateway, api-rest
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+171222.22%)
Mutual labels:  api-gateway, kong
kongsul
Kong Api Gateway with Consul Service Discovery (MicroService)
Stars: ✭ 35 (+94.44%)
Mutual labels:  kong, kong-gateway
Cv4pve Api Java
Proxmox VE Client API JAVA
Stars: ✭ 17 (-5.56%)
Mutual labels:  api-gateway, api-rest
cv4pve-api-php
Proxmox VE Client API for PHP
Stars: ✭ 45 (+150%)
Mutual labels:  api-gateway, api-rest
kong
Kong docker image that easily installs plugins from source code.
Stars: ✭ 20 (+11.11%)
Mutual labels:  api-gateway, kong
kong-scalable-rate-limiter
Kong plugin for Rate Limiting at high throughputs.
Stars: ✭ 19 (+5.56%)
Mutual labels:  api-gateway, kong
Deep-learning-model-deploy-with-django
Serving a keras model (neural networks) in a website with the python Django-REST framework.
Stars: ✭ 76 (+322.22%)
Mutual labels:  django-rest-framework, api-rest
kong-ui
UI for KONG API Gateway
Stars: ✭ 20 (+11.11%)
Mutual labels:  api-gateway, kong

API Bouncer

build-status-image coverage-image pypi-version

API Bouncer is a simple Django app to provide an API Gateway for micro-services.

It's heavily inspired by Kong

Requirements

  • Python (3.5, 3.6)
  • Django (1.10, 1.11)
  • Django Rest Framework (3.6)
  • PostgreSQL (9.4+)
  • psycopg2 (2.5.4+)

Quick start

Add "api_bouncer" to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        # all other Django apss you have...
        'api_bouncer',
    ]

Activate the key-auth plugin by adding the middleware on your settings.py:

    MIDDLEWARE = [
        # all other middleware...
        'api_bouncer.middleware.bouncer.BouncerMiddleware',  # required
        'api_bouncer.middleware.key_auth.KeyAuthMiddleware',
    ]

Important! Note that you need to include BouncerMiddleware before the rest of plugin middleware. Otherwise it will not work.

Include the api_bouncer URLconf in your project urls.py like this:

    url(r'^', include('api_bouncer.urls', namespace='api_bouncer')),

Run python manage.py migrate to create the api_bouncer models.

Available plugins

Authenticacion

  • Key authentication: Add key authentication to your API

Security

  • ACL: Control which consumers have access to your API
  • IP restriction: Blacklist or whilelist IPs that can access your API

Traffic Control

  • Request termination: Terminate all request with a specific response.

Documentation

Documentation can be found in the docs directory or here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].