Files
vanillameta/backend-api/serverless.yml
2022-10-27 06:08:32 +09:00

88 lines
2.2 KiB
YAML

service: vanillameta-backend-api
#frameworkVersion: '2'
plugins:
- serverless-plugin-typescript
- serverless-offline
- serverless-latest-layer-version
- serverless-plugin-warmup
provider:
name: aws
runtime: nodejs14.x
lambdaHashingVersion: 20201221
## memorySize: 512 - 기본은 512
timeout: 10
layers:
- arn:aws:lambda:${opt:region, self:provider.region}:${AWS::AccountId}:layer:VanillaMetaApiNodeLibs:latest
stage: ${opt:stage, file(./config.serverless.yml):STAGE}
region: ${opt:region, file(./config.serverless.yml):AWS_REGION}
deploymentBucket: ${file(./config.serverless.yml):DEPLOYMENT_BUCKET}
environment:
STAGE: ${self:provider.stage}
NODE_ENV: ${self:provider.stage}
NODE_PATH: "./:/opt/node_modules"
# # DB_HOST: ${self:custom.DB_CONFIG.${self:custom.STAGE}.DB_HOST}
# # DB_USER: ${self:custom.DB_CONFIG.${self:custom.STAGE}.DB_USER}
# # DB_PASSWORD: ${self:custom.DB_CONFIG.${self:custom.STAGE}.DB_PASSWORD}
apiGateway:
binaryMediaTypes:
- '*/*'
custom:
# Enable warmup on all functions (only for production)
warmup:
- prod
STAGE: ${self:provider.stage}
DB_CONFIG: ${file(./config.serverless.yml):DB_CONFIG}
DOMAINS: ${file(./config.serverless.yml):DOMAINS}
customDomain:
domainName: ${self:custom.DOMAINS.${self:custom.STAGE}}
basePath: 'v1'
stage: ${self:custom.STAGE}
createRoute53Record: true
serverless-offline:
httpPort: 4000
host: '0.0.0.0'
serverlessPluginTypescript:
tsConfigFileLocation: './tsconfig.build.json'
webpack:
includeModules: true
package:
include:
- .env.dev
- .env.prod
- src/templates/**
exclude:
- node_modules/**
- .git/**
- test/**
- e2e/**
- nodemon.json
- README.md
# - src/**cd
functions:
app: # 람다함수 이름
handler: src/serverless.handler
events:
- http:
method: ANY
path: /
cors:
origin: '*'
headers: '*'
allowCredentials: true
maxAge: 86400
- http:
method: ANY
path: '{proxy+}'
cors:
origin: '*'
headers: '*'
allowCredentials: true
maxAge: 86400