-
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathserverless.yml
130 lines (119 loc) · 3.52 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Welcome to Serverless!
#
# This file is the main config file for your service.
# It's very minimal at this point and uses default values.
# You can always add more config options for more control.
# We've included some commented out config examples here.
# Just uncomment any of them to get that config option.
#
# For full config options, check the docs:
# docs.serverless.com
#
# Happy Coding!
service: ${env:GITMASK_SERVICE, 'gitmask-api'} # NOTE: update this with your service name
#app: your-app-name
#tenant: your-tenant-name
# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
# frameworkVersion: "=X.X.X"
provider:
name: aws
runtime: python3.7
logRetentionInDays: 60
cfLogs: true
stage: 'beta'
region: us-east-1
timeout: 40 # optional, default is 6
memorySize: 128
environment:
GITMASK_SERVICE: ${self:service}
DOMAIN: git.gitmask.com
DEPLOY_SHA: ${env:CIRCLE_SHA1}
STAGE: ${opt:stage, self:provider.stage}
GITHUB_USER: ${env:GITHUB_USER, 'unmasked'}
GITHUB_API_TOKEN: ${env:GITHUB_API_TOKEN}
DEBUG: gitmask:*
apiGateway:
binaryMediaTypes:
- 'application/x-git-receive-pack-request'
- 'application/x-git-receive-pack-result'
- '*/*'
custom:
pythonRequirements:
dockerizePip: non-linux
apigwBinary:
types: #list of mime-types
- 'application/x-git-receive-pack-request'
- 'application/x-git-receive-pack-result'
variables:
master:
cleanup_enabled: true
debug: ''
api_path: 'v1'
beta:
cleanup_enabled: false
debug: gitmask:*
api_path: 'beta'
local:
cleanup_enabled: false
debug: gitmask:*
api_path: 'local'
prune:
automatic: true
number: 2
customDomain:
domainName: git.gitmask.com
basePath: ${self:custom.variables.${opt:stage, self:provider.stage}.api_path}
stage: ${self:provider.stage}
createRoute53Record: false
certificateName: '*.gitmask.com'
functions:
version:
handler: gitmask/version.handler
events:
- http:
path: version
method: get
cors: true
# V2 Backend Methods
git-info-refs:
handler: gitmask/git-info-refs.handler
events:
- http:
# https://beta.gitmask.com/gh/AnalogJ/capsulecd.git
path: gh/{org}/{repo}/info/refs
method: get
cors: true
git-receive-pack:
handler: gitmask/git-receive-pack.handler
layers:
- arn:aws:lambda:us-east-1:553035198032:layer:git:11
events:
- http:
# https://beta.gitmask.com/gh/AnalogJ/capsulecd.git
path: gh/{org}/{repo}/git-receive-pack
method: post
cors: true
# request:
# contentHandling: CONVERT_TO_BINARY
plugins:
- serverless-python-requirements
- serverless-offline-python
- serverless-prune-plugin
- serverless-domain-manager
# you can add packaging information here
package:
# individually: true # required for https://github.com/FidelLimited/serverless-plugin-optimize
# only the following paths will be included in the resulting artifact which will be uploaded. Without specific include everything in the current folder will be included
include:
- gitmask
- functions
- opt
# The following paths will be excluded from the resulting artifact. If both include and exclude are defined we first apply the include, then the exclude so files are guaranteed to be excluded
exclude:
- tmp
- .git
- .idea
- no
- opt
- venv