Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thesmartmonkey/sls-multi-offline
Run multiple serverless api or db instance under 1 URL for local development purposes
https://github.com/thesmartmonkey/sls-multi-offline
serverless serverless-dynamodb-local-plugin serverless-framework serverless-offline serverless-offline-plugin
Last synced: about 16 hours ago
JSON representation
Run multiple serverless api or db instance under 1 URL for local development purposes
- Host: GitHub
- URL: https://github.com/thesmartmonkey/sls-multi-offline
- Owner: TheSmartMonkey
- License: mit
- Created: 2022-04-18T19:31:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-19T22:40:10.000Z (over 2 years ago)
- Last Synced: 2024-12-05T17:08:05.347Z (18 days ago)
- Topics: serverless, serverless-dynamodb-local-plugin, serverless-framework, serverless-offline, serverless-offline-plugin
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/sls-multi-offline
- Size: 41.2 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sls-multi-offline
Run multiple serverless api or db instance under 1 URL for local development purposes
This repo is inspired from [sls-multi-gateways](https://github.com/edis/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](https://medium.com/@edisgonuler/run-multiple-serverless-applications-d8b38ef04f37)
## Getting started
### Installation
sls-multi-offline needs to be installed globally using the following command:
```bash
npm install -g sls-multi-offline
```### Config
After installing sls-multi-offline, cd into your project directory
```bash
cd [project-directory]
```Create a offline config file
```bash
touch offline.yml
```Inside your sls-multi-offline config file add the services you would like to run
```yaml
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 :
```yaml
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]`.
### Usage
To run sls-multi-offline, execute the following cmd in the directory with the config file
```bash
sls-multi-offline
```## For contributors
Debug :
```bash
npm run dev
```create a post :
```bash
curl -X POST -H "Content-Type:application/json" http://localhost:3100/dev/create-post --data '{ "text": "Learn Serverless" }'
```create a user :
```bash
curl -X POST -H "Content-Type:application/json" http://localhost:3101/dev/create-user --data '{ "text": "Learn Serverless" }'
```