Run multiple serverless api or db instance under 1 URL for local development purposes
This repo is inspired from sls-multi-gateways
sls-multi-gateways is a tool that allows you to run multiple api gateways under one domain for local development purposes.
Here is a walkthrough article on medium
sls-multi-offline needs to be installed globally using the following command:
npm install -g sls-multi-offline
After installing sls-multi-offline, cd into your project directory
cd [project-directory]
Create a offline config file
touch offline.yml
Inside your sls-multi-offline config file add the services you would like to run
port: [port the proxy will run on - (optional: default is 3100)]
stage: [stage the proxy will run on - (optional: default is dev)]
services:
- name: [name of the service]
path: [proxy path to the service]
source: [path to the serverless.yml file belong to that service]
type: [api or db]
- name: [name of the service 2]
path: [proxy path to the service 2]
source: [path to the serverless.yml file belong to that service]
type: [api or db]
Exemple :
port: 3100
services:
- name: posts
path: posts
source: ./sample/posts
type: api
- name: users
path: users
source: ./sample/users
type: api
- name: db
path: db
source: ./sample/db
type: db
All paths by default are mapped to localhost:[port]/[path]
.
To run sls-multi-offline, execute the following cmd in the directory with the config file
sls-multi-offline
Debug :
npm run dev
create a post :
curl -X POST -H "Content-Type:application/json" http://localhost:3100/dev/create-post --data '{ "text": "Learn Serverless" }'
create a user :
curl -X POST -H "Content-Type:application/json" http://localhost:3101/dev/create-user --data '{ "text": "Learn Serverless" }'