microgateway - IBM API Connect Microgateway framework, built on Node.js & Nginx

  •        70

The role of a Gateway in an API architecture is to protect, enrich and control access to API services. These sets of capabilities are often related to security and rate limiting, but it also includes the ability to do deeper message inspection. For example, you may want to insure that the message received is properly formed JSON, XML, or data following your own specific format. In addition, the Gateway can modify the payload or transform it to meet old or new interfaces for the API backend. Finally, the Gateway can invoke multiple services and aggregate responses from multiple API backends.The Microgateway is the foundation for all of those things. It is optimized to perform security, rate limiting, and much more complex packet processing through a highly flexible flow-engine.

https://developer.ibm.com/apiconnect
https://github.com/strongloop/microgateway

Dependencies:

apiconnect-cli-logger : ^1.x
apiconnect-config : ^1.x
apiconnect-project : ^1.x
async : ^1.5.2
auth-header : ^0.2.2
basic-auth : ^1.0.3
bluebird : ^3.3.3
body-parser : ^1.14.2
chokidar : ^1.4.2
connect-redis : ^3.1.0
content-type : ^1.0.1
csv-parse : ^1.0.2
express : ^4.13.4
express-session : ^1.13.0
flow-engine : ^1.x
glob : ^7.0.3
handlebars : ^4.0.5
htmlparser2 : ^3.9.1
ip : ^1.1.3
js-yaml : ^3.5.2
jsonschema : ^1.1.0
jws : ^3.1.3
ldapjs : ^1.0.0
limiter : ^1.1.0
lodash : ^4.2.1
loopback : ^2.26.2
lru-cache : ^4.0.0
microgateway-datastore : ^1.x
microgateway-util : ^1.x
moment : ^2.11.2
multer : ^1.1.0
osenv : ^0.1.3
passport : ^0.3.2
passport-http-bearer : ^1.0.1
path-to-regexp : ^1.5.1
pug : ^2.0.0-alpha8
qs : ^6.1.0
redis : ^2.4.2
request : ^2.69.0
rolling-rate-limiter : ^0.1.4
semver : ^4.1.0
type-is : ^1.6.11
uid-safe : ^2.1.1
pem : ^1.8.3
yamljs : ^0.2.4

Tags
Implementation
License
Platform

   




Related Projects

Kong - The Microservice API Gateway

  •    Lua

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway, API Middleware or in some cases Service Mesh). Backed by the battle-tested NGINX with a focus on high performance, Kong was made available as an open-source platform in 2015. Under active development, Kong is used in production at thousands of organizations from startups, Global 5000 and Government organizations.

Istio - An open platform to connect, manage, and secure microservices

  •    Go

An open platform to connect, manage, and secure microservices. Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.

express-gateway - A microservices API Gateway built on top of ExpressJS

  •    Javascript

Express Gateway is an API Gateway that sits at the heart of any microservices architecture, regardless of what language or platform you're using. Express Gateway secures your microservices and exposes them through APIs using Node.js, ExpressJS and Express middleware. Developing microservices, orchestrating and managing them now can be done insanely fast all on one seamless platform without having to introduce additional infrastructure. Express Gateway is commerically supported LunchBadger. For more information about support plans please contact info@express-gateway.io.

ambassador - open source Kubernetes-native API gateway for microservices built on the Envoy Proxy

  •    Python

Ambassador is an open source Kubernetes-native API Gateway built on Envoy, designed for microservices. Ambassador essentially serves as an Envoy ingress controller, but with many more features. Ambassador deploys the Envoy Proxy for L7 traffic management. Configuration of Ambassador is via Kubernetes annotations. Ambassador relies on Kubernetes for scaling and resilience. For more on Ambassador's architecture and motivation, read this blog post.

Resgate - A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.

  •    Go

Resgate is a Go project implementing a realtime API gateway for the RES protocol with NATS server as messaging system. It is a simple server that lets you create REST, real time, and RPC APIs, where all your clients are synchronized seamlessly.


claudia - Deploy Node.js projects to AWS Lambda and API Gateway easily

  •    Javascript

Claudia makes it easy to deploy Node.js projects to AWS Lambda and API Gateway. It automates all the error-prone deployment and configuration tasks, and sets everything up the way JavaScript developers expect out of the box. This means that you can get started with Lambda and API Gateway easily, and focus on solving important business problems instead of dealing with AWS deployment workflows. Check out this video to see how to create and deploy a microservice in under 5 minutes. With the help of Claudia builder projects, you can also use API Gateway as if it were a lightweight javascript web server, or create and deploy chat bots for various platforms easily.

orange - OpenResty/Nginx Gateway for API Monitoring and Management.

  •    Lua

A Gateway based on OpenResty(Nginx+lua) for API Monitoring and Management. Import the SQL file(e.g. install/orange-v0.6.3.sql) which is adapted to your Orange version into MySQL database named orange.

gloo - The Function Gateway built on top of Envoy

  •    Go

Gloo is a high-performance, plugin-extendable, platform-agnostic function Gateway built on top of Envoy. Gloo is designed for microservice, monolithic, and serverless applications. By employing function-level routing, Gloo can completely decouple client APIs from upstream APIs at the routing level. Gloo serves as an abstraction layer between clients and upstream services, allowing front-end teams to work independently of teams developing the microservices their apps connect to. Gloo would not be possible without the valuable open-source work of projects in the community. We would like to extend a special thank-you to Envoy.

tyk - Tyk Open Source API Gateway written in Go

  •    Go

Tyk is a lightweight, open source API Gateway and Management Platform enables you to control who accesses your API, when they access it and how they access it. Tyk will also record detailed analytics on how your users are interacting with your API and when things go wrong. Go version 1.8 or later is required to build master, the current development version. Tyk is officially supported on linux/amd64, linux/i386 and linux/arm64.

janus - An API Gateway written in Go

  •    Go

This is a lightweight API Gateway and Management Platform that enables you to control who accesses your API, when they access it and how they access it. Janus will also record detailed analytics on how your users are interacting with your API and when things go wrong. Go version 1.9 or later is required to build master, the current development version. Janus is officially supported on linux/amd64, linux/i386, linux/arm64, darwin/i386, darwin/amd64, windows/i386 and windows/amd64.

api-gateway-secure-pet-store - Amazon API Gateway sample using Amazon Cognito credentials through AWS Lambda

  •    Objective-C

The Secure Pet Store sample is an application built in Java for AWS Lambda. It uses Amazon API Gateway to expose the Lambda function as HTTP endpoints and uses Identity and Access Management (IAM) and Amazon Cognito to retrieve temporary credentials for a user and authorize access to its APIs with.The application needs to be modified to reflect the resource names created above. After adapting the configuration you package the application and deploy it as an AWS Lambda function with the necessary execution role.

api-gateway-secure-pet-store - Amazon API Gateway sample using Amazon Cognito credentials through AWS Lambda

  •    Objective-C

The Secure Pet Store sample is an application built in Java for AWS Lambda. It uses Amazon API Gateway to expose the Lambda function as HTTP endpoints and uses Identity and Access Management (IAM) and Amazon Cognito to retrieve temporary credentials for a user and authorize access to its APIs with. The application needs to be modified to reflect the resource names created above. After adapting the configuration you package the application and deploy it as an AWS Lambda function with the necessary execution role.

api-umbrella - Open source API management platform

  •    Ruby

Binary packages are available for download. Follow the quick setup instructions on the download page to begin running API Umbrella. Once you have API Umbrella up and running, there are a variety of things you can do to start using the platform. For a quick tutorial, see getting started.

ui-for-docker - A web interface for Docker, formerly known as DockerUI. This repo is not maintained

  •    Javascript

UI For Docker is a web interface for the Docker Remote API. The goal is to provide a pure client side implementation so it is effortless to connect and manage docker. Bind mounting the Unix socket into the UI For Docker container is much more secure than exposing your docker daemon over TCP. The --privileged flag is required for hosts using SELinux. You should still secure your UI For Docker instance behind some type of auth. Directions for using Nginx auth are here.

Ocelot - .NET core API Gateway

  •    CSharp

Ocelot is a .NET Api Gateway. This project is aimed at people using .NET running a micro services / service orientated architecture that need a unified point of entry into their system. However it will work with anything that speaks HTTP and run on any platform that asp.net core supports. In particular I want easy integration with IdentityServer reference and bearer tokens.

proxygateway - Proxy Gateway基于openresty(nginx lua module)开发,可以作为接口网关(api gateway)使用,整合业务模块接口,微服务治理聚合,通过web配置界面,能够轻松进行代理配置管理,支持负载均衡,服务器状态检测等

  •    Javascript

Proxy Gateway基于openresty(nginx lua module)开发,可以作为接口网关(api gateway)使用,整合业务模块接口,微服务治理聚合,通过web配置界面,能够轻松进行代理配置管理,支持负载均衡,服务器状态检测等

mu - A full-stack DevOps on AWS framework

  •    Go

Amazon ECS (EC2 Container Service) provides an excellent platform for deploying microservices as containers. The challenge however is that there is a significant learning curve for microservice developers to deploy their applications in an efficient manner. Specifically, they must learn to use CloudFormation to orchestrate the management of ECS, ECR, EC2, ELB, VPC, and IAM resources. Additionally, tools like CodeBuild and CodePipeline must be mastered to create a continuous delivery pipeline for their microservices. To address these challenges, this tool was created to simplify the declaration and administration of the AWS resources necessary to support microservices. Similar to how the Serverless Framework improved the developer experience of Lambda and API Gateway, this tool makes it easier for developers to use ECS as a microservices platform.

mockbin - Mock, Test & Track HTTP Requests and Responses.

  •    Javascript

Mockbin is used internally and maintained by Mashape, who also maintain the open-source API Gateway Kong. read more on Installation.

mycollab - An open source, free, high performance, stable and secure Java Application Business Platform of Project Management, CRM and Document

  •    Java

MyCollab is the free and open source collaboration tools, it has three existing modules: Project Management, CRM and Document Management. Intuitive UI, rich features, high performance and stable are the advantages compare with various popular tools in the market such as Redmine, Bugzilla, Mantis etc. This open source is included into a trusted commercial product that is deployed on hundreds of companies' servers. MyCollab does work well on both desktop and mobile devices.

up - Deploy infinitely scalable serverless apps, apis, and sites in seconds.

  •    Go

Up deploys infinitely scalable serverless apps, APIs, and static websites in seconds, so you can get back to working on what makes your product unique.Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.