-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #79 from JarvusInnovations/develop
Release: gatekeeper v2.2.3
- Loading branch information
Showing
1 changed file
with
13 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ GateKeeper is a web application designed to sit between internal API endpoints a | |
It provides a central facility for logging, analyzing, rate-limiting, and credentialing access. | ||
|
||
## Features | ||
|
||
- **Dashboard**: List of all mapped endpoints ordered by current traffic. Charts request count, response time, and cache hit ratio in real-time | ||
- **Create and configure endpoint mappings**: Create new or configure existing public endpoints that map to internal API endpoints from the web GUI | ||
- **Versioning**: Optionally maintain multiple versions for any endpoint | ||
|
@@ -20,35 +21,42 @@ It provides a central facility for logging, analyzing, rate-limiting, and creden | |
- **Uptime monitoring**: Ping your internal endpoints on a regular interval to test for a healthy response with an optional regex pattern for the response body | ||
|
||
## Roadmap | ||
|
||
These features are currently under development for the next release: | ||
|
||
- Historical metrics | ||
- Email subscriptions for the public to receive notices about specific endpoints | ||
- Public portal endpoints' status, documentation, and test consoles | ||
- Public portal for obtaining API keys | ||
- Advanced filtering, sorting, and searching for transactions log | ||
|
||
## Requirements | ||
|
||
The GateKeeper application is built on the Emergence PHP framework and deployment engine, and requires an Emergence server to host it. | ||
|
||
Emergence takes just a few minutes to setup on a Linux VM, and is designed to have a fresh system to itself. Once launched | ||
it will configure services on the machine as-needed to host an instance of the application along with any other | ||
sites, clones, or child sites. The guides for Ubuntu and Gentoo are most up-to-date: http://emr.ge/docs/setup | ||
|
||
## Installation | ||
|
||
### Launch instance | ||
|
||
#### Option 1) fork via Emergence (recommended) | ||
- Create an emergence site that extends http://[email protected] | ||
|
||
- Create an emergence site that extends http://[email protected] | ||
|
||
This video walks through the complete process of installing emergence and then instantiating the GateKeeper application: | ||
|
||
[![Walkthrough Video](http://b.vimeocdn.com/ts/455/313/455313620_640.jpg)](https://vimeo.com/79587819) | ||
|
||
#### Option 2) clone from Git repository | ||
- Create an emergence site that extends http://[email protected] | ||
- Upload contents of git repository using WebDAV client (CyberDuck is the best open-source option) | ||
|
||
- Create an emergence site that extends http://[email protected] | ||
- Upload contents of git repository using WebDAV client (CyberDuck is the best open-source option) | ||
|
||
### Install heartbeat cron script | ||
|
||
```bash | ||
printf "*/5 *\t* * *\troot\techo \"Emergence\\\\EventBus::fireEvent('heartbeat', 'Gatekeeper');\" | /usr/local/bin/emergence-shell gatekeeper > /dev/null\n" | sudo tee /etc/cron.d/gatekeeper-heartbeat | ||
printf "*/5 *\t* * *\troot\temergence-fire-event gatekeeper-test heartbeat Gatekeeper > /dev/null\n" | sudo tee /etc/cron.d/gatekeeper-heartbeat | ||
``` | ||
### |