41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
|
|
# Split Serverless services (deploy order)
|
||
|
|
|
||
|
|
This repo is split into multiple Serverless configs so you can deploy smaller CloudFormation stacks instead of one huge stack.
|
||
|
|
|
||
|
|
## Config files
|
||
|
|
|
||
|
|
- `serverless.layers.yml`: Prisma layer stack (deploy once per stage)
|
||
|
|
- `serverless.host.yml`: Host + PQQ functions (owns the shared HTTP API)
|
||
|
|
- `serverless.admin.yml`: Minglar Admin functions (attaches routes to Host HTTP API)
|
||
|
|
- `serverless.user.yml`: User functions (attaches routes to Host HTTP API)
|
||
|
|
- `serverless.prepopulate.yml`: Prepopulate functions (attaches routes to Host HTTP API)
|
||
|
|
|
||
|
|
## Deploy order (per stage)
|
||
|
|
|
||
|
|
1) Deploy the layer:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npx serverless deploy --config serverless.layers.yml --stage dev
|
||
|
|
```
|
||
|
|
|
||
|
|
2) Deploy Host (creates the HTTP API + routes for host functions):
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npx serverless deploy --config serverless.host.yml --stage dev
|
||
|
|
```
|
||
|
|
|
||
|
|
3) Deploy remaining services (they reuse Host's HTTP API id):
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npx serverless deploy --config serverless.admin.yml --stage dev
|
||
|
|
npx serverless deploy --config serverless.user.yml --stage dev
|
||
|
|
npx serverless deploy --config serverless.prepopulate.yml --stage dev
|
||
|
|
```
|
||
|
|
|
||
|
|
## Deploy a single function
|
||
|
|
|
||
|
|
```bash
|
||
|
|
npx serverless deploy function --config serverless.host.yml --stage dev -f getHosts
|
||
|
|
```
|
||
|
|
|