secretsanta/apps/http/sls/serverless.yml
2023-12-08 17:00:22 +01:00

73 lines
No EOL
1.6 KiB
YAML

app: secret-santa
service: secret-santa
frameworkVersion: '3'
configValidationMode: error
provider:
name: aws
runtime: python3.11
region: eu-west-1
environment:
SECRETSANTA_SERVER_URL: "https://foo.bar"
SECRETSANTA_S3_BUCKET_NAME: ${env:SECRETSANTA_S3_BUCKET_NAME}
SECRETSANTA_S3_ACCESS_KEY_ID: ${env:SECRETSANTA_S3_ACCESS_KEY_ID}
SECRETSANTA_S3_SECRET_ACCESS_KEY: ${env:SECRETSANTA_S3_SECRET_ACCESS_KEY}
package:
excludeDevDependencies: true
individually: false
patterns:
- '!./**'
- ./*.py
- ../../../secretsanta/**.py
custom:
pythonRequirements:
dockerizePip: true
zip: true
slim: true
layer: true
prune:
automatic: true
includeLayers: true
number: 1
apiGatewayCaching:
enabled: true
apiGatewayThrottling:
maxRequestsPerSecond: 100
maxConcurrentRequests: 5
plugins:
- serverless-python-requirements
- serverless-offline
- serverless-prune-plugin
- serverless-api-gateway-caching
- serverless-api-gateway-throttling
functions:
get_participants:
handler: app.get_participants
layers:
- Ref: PythonRequirementsLambdaLayer
events:
- httpApi:
path: /api/v1/groups/{group_uuid}
method: get
create_group:
handler: app.create_group
layers:
- Ref: PythonRequirementsLambdaLayer
events:
- httpApi:
path: /api/v1/groups/{group_uuid}
method: put
get_pair:
handler: app.get_pair
layers:
- Ref: PythonRequirementsLambdaLayer
events:
- httpApi:
path: /api/v1/groups/{group_uuid}/pair/{participant}
method: get