-
Notifications
You must be signed in to change notification settings - Fork 0
/
serverless.yml
85 lines (82 loc) · 2.02 KB
/
serverless.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
service: myia-serverless-pdf-creator-api
provider:
name: aws
runtime: nodejs8.10
region: >-
${opt:region, self:provider.environment.DEFAULT_REGION}
stage: "${opt:stage, self:custom.defaults.stage}"
profile: "${self:custom.profiles.${self:provider.stage}}"
timeout: 30
tracing: true
environment:
AWS_CURRENT_REGION: "${self:provider.region}"
AWS_CURRENT_STAGE: "${self:provider.stage}"
DEFAULT_REGION: eu-central-1
SNS_PORT: "${self:custom.defaults.ports.sns}"
iamRoleStatements:
- Effect: Allow
Action:
- "xray:*"
- "sns:*"
Resource: "*"
plugins:
- serverless-prune-plugin
- serverless-plugin-tracing
- serverless-apigw-binary
- serverless-apigwy-binary
- serverless-offline-sns
- serverless-offline
- serverless-webpack
custom:
apigwBinary:
types:
- "*/*"
defaults:
stage: local
ports:
sls: "6567"
sns: "6575"
profiles:
local: "${self:service}-local"
dev: "${self:service}-dev"
staging: "${self:service}-staging"
prod: "${self:service}-prod"
prune:
automatic: true
number: 1
serverless-offline:
port: "${self:custom.defaults.ports.sls}"
prefix: "${self:provider.stage}"
region: "${self:provider.region}"
stage: "${self:provider.stage}"
serverless-offline-sns:
host: '${env:SLS_HOST_IP, "127.0.0.1"}'
port: "${self:custom.defaults.ports.sns}"
sns-endpoint: >-
http://${self:custom.serverless-offline-sns.host}:${self:custom.serverless-offline-sns.port}
webpack:
includeModules:
forceExclude:
- aws-sdk
- aws-lambda
functions:
create-pdf:
memorySize: 128
handler: src/create-pdf.ts
events:
- http:
cors: true
method: POST
path: /create-pdf
# Event listeners
create-pdf-listener:
handler: src/create-pdf-listener.ts
timeout: 900
memorySize: 3008
events:
- sns: "${self:provider.stage}CreatePDF"
layers:
- { Ref: ChromeLambdaLayer }
layers:
chrome:
path: layer