An API Gateway to easily expose your services to web clients
- Install with:
npm i -g api-joe
. - Setup your services.
- Run in the terminal with:
api-joe
(optional argument for the config file path).
The official image repository in Docker Hub is gcsboss/api-joe
.
Run like this: docker run -p 9000:9000 gcsboss/api-joe
port = 9000
[auth]
method = 'POST'
url = 'http://auth-api/path'
timeout = 3000
onSuccess = 'http://webhook-url/auth-success'
[redis]
host = 'session'
port = 6379
[services]
[services.my-service]
url = 'http://host-of-service'
endpoints = [
'POST /something',
'GET /stuff'
]
To specify your services, use the following structure:
-
Endpoint
: a string with the method and path from your service, you mean to expose -
Service
: object with:url
: string with protocol host and port to reach your servicesendpoints
: array ofEndpoint
-
services
: object with:<service name>
:Service
If you have found any problems with this module, please:
- Open an issue.
- Describe what happened and how.
- Also in the issue text, reference the label
~bug
.
We will make sure to take a look when time allows us.
If you wish to get that awesome feature or have some advice for us, please:
- Open an issue.
- Describe your ideas.
- Also in the issue text, reference the label
~proposal
.
If you have spotted any enhancements to be made and is willing to get your hands dirty about it, fork us and submit your merge request so we can collaborate effectively.