-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserverless.yml
More file actions
121 lines (114 loc) · 4.06 KB
/
Copy pathserverless.yml
File metadata and controls
121 lines (114 loc) · 4.06 KB
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
service: cdn-php
params:
default:
storage_driver: s3
cache_ttl: 31536000
avif_enabled: 'true'
webp_enabled: 'true'
cors_allow_origin: '*'
prod:
app_debug: 0
log_level: info
allowed_domains: ${ssm:/cdn-php/prod/allowed-domains}
domains_aliases: ${ssm:/cdn-php/prod/domains-aliases}
s3_bucket: ${ssm:/cdn-php/prod/s3-bucket}
s3_endpoint: ${ssm:/cdn-php/prod/s3-endpoint}
s3_region: ${ssm:/cdn-php/prod/s3-region}
s3_access_key: ${ssm:/cdn-php/prod/s3-access-key}
s3_secret_key: ${ssm:/cdn-php/prod/s3-secret-key}
avif_enabled: ${ssm:/cdn-php/prod/avif-enabled}
webp_enabled: ${ssm:/cdn-php/prod/webp-enabled}
jpeg_compression: ${ssm:/cdn-php/prod/jpeg-compression}
webp_compression: ${ssm:/cdn-php/prod/webp-compression}
avif_compression: ${ssm:/cdn-php/prod/avif-compression}
force_token: ${ssm:/cdn-php/prod/force-token}
dev:
app_debug: 1
log_level: debug
allowed_domains: ${ssm:/cdn-php/dev/allowed-domains}
domains_aliases: ${ssm:/cdn-php/dev/domains-aliases}
s3_bucket: ${ssm:/cdn-php/dev/s3-bucket}
s3_endpoint: ${ssm:/cdn-php/dev/s3-endpoint}
s3_region: ${ssm:/cdn-php/dev/s3-region}
s3_access_key: ${ssm:/cdn-php/dev/s3-access-key}
s3_secret_key: ${ssm:/cdn-php/dev/s3-secret-key}
avif_enabled: ${ssm:/cdn-php/dev/avif-enabled}
webp_enabled: ${ssm:/cdn-php/dev/webp-enabled}
jpeg_compression: ${ssm:/cdn-php/dev/jpeg-compression}
webp_compression: ${ssm:/cdn-php/dev/webp-compression}
avif_compression: ${ssm:/cdn-php/dev/avif-compression}
force_token: ${ssm:/cdn-php/dev/force-token}
provider:
name: aws
region: eu-west-3
apiGateway:
binaryMediaTypes:
- '*/*'
minimumCompressionSize: 1024 # GZIP responses larger than 1 KB
environment:
BREF_BINARY_RESPONSES: '1'
plugins:
- ./vendor/bref/bref
- ./vendor/bref/extra-php-extensions
functions:
main:
handler: public/index.php
description: 'CDN PHP'
runtime: php-84-fpm
layers:
- ${bref-extra:imagick-php-84}
timeout: 28 # in seconds (API Gateway has a timeout of 29 seconds)
memorySize: 2048
events:
- http: 'GET /'
- http: 'GET /{proxy+}'
- schedule:
rate: rate(5 minutes)
input:
warmer: true
environment:
FETCH_TIMEOUT: 10
FETCH_MAX_SIZE: 52428800
FORCE_TOKEN: ${param:force_token}
FETCH_ALLOW_REDIRECTS: 0
APP_DEBUG: ${param:app_debug}
CACHE_TTL: ${param:cache_ttl}
STORAGE_DRIVER: ${param:storage_driver}
S3_PATH_STYLE_ENDPOINT: 1
ALLOWED_DOMAINS: ${param:allowed_domains}
DOMAINS_ALIASES: ${param:domains_aliases}
S3_BUCKET: ${param:s3_bucket}
S3_ENDPOINT: ${param:s3_endpoint}
S3_REGION: ${param:s3_region}
S3_ACCESS_KEY: ${param:s3_access_key}
S3_SECRET_KEY: ${param:s3_secret_key}
LOG_STREAM: php://stderr
LOG_LEVEL: ${param:log_level}
CORS_ALLOW_ORIGIN: ${param:cors_allow_origin}
AVIF_COMPRESSION: ${param:avif_compression}
AVIF_ENABLED: ${param:avif_enabled}
WEBP_ENABLED: ${param:webp_enabled}
JPEG_COMPRESSION: ${param:jpeg_compression}
WEBP_COMPRESSION: ${param:webp_compression}
package:
patterns:
- '!.cache/**'
- '!.idea/**'
- '!.github/**'
- '!build/**'
- '!docker/**'
- '!tests/**'
- '!.editorconfig'
- '!.env.local'
- '!.gitignore'
- '!composer.json'
- '!composer.lock'
- '!LICENSE'
- '!Makefile'
- '!phpcs.xml'
- '!phpmd-ruleset.xml'
- '!phpstan.neon'
- '!phpunit.xml'
- '!CLAUDE.md'
- '!README.md'
- '!serverless.yml'