Skip to content

Commit

Permalink
Merge pull request #79 from JarvusInnovations/develop
Browse files Browse the repository at this point in the history
Release: gatekeeper v2.2.3
  • Loading branch information
themightychris authored Dec 8, 2019
2 parents 3723645 + 3f06e88 commit a0463bf
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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://Nrnt1W9ER1FewOP1@gatekeeper.sandbox01.jarv.us

- Create an emergence site that extends http://Nrnt1W9ER1FewOP1@gatekeeper.sandbox01.jarv.us

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://lKhjNhwXoM8rLbXw@skeleton-v2.emr.ge
- Upload contents of git repository using WebDAV client (CyberDuck is the best open-source option)

- Create an emergence site that extends http://lKhjNhwXoM8rLbXw@skeleton-v2.emr.ge
- 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
```
###

0 comments on commit a0463bf

Please sign in to comment.