server/app.yaml (72 lines of code) (raw):
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
runtime: nodejs14
service: $SERVICE
default_expiration: "$CACHE"
handlers:
- url: /woolaroo/assets/(.*)
static_files: assets/\1
upload: assets/(.*)
secure: always
http_headers:
X-Frame-Options: "DENY"
Strict-Transport-Security: "max-age=2592000; includeSubdomains"
X-Content-Type-Options: "nosniff"
X-XSS-Protection: "1; mode=block"
Content-Security-Policy: >-
default-src 'none';
object-src 'none';
script-src 'self';
connect-src 'self' connect-src 'self';
font-src 'self';
img-src 'self';
style-src 'self';
- url: /woolaroo/(.*\.(js|css|ico|map|json|xml|webmanifest))
static_files: \1
upload: (.*\.(js|css|ico|map|json|xml|webmanifest))
secure: always
http_headers:
X-Frame-Options: "DENY"
Strict-Transport-Security: "max-age=2592000; includeSubdomains"
X-Content-Type-Options: "nosniff"
X-XSS-Protection: "1; mode=block"
Content-Security-Policy: >-
default-src 'none';
object-src 'none';
script-src 'self';
connect-src 'self' https://fonts.gstatic.com https://fonts.googleapis.com https://www.googletagmanager.com/ https://australia-southeast1-woolaroo-project.cloudfunctions.net;
font-src 'self';
img-src 'self';
style-src 'self';
media-src 'self' https://storage.googleapis.com https://www.googleapis.com;
- url: /woolaroo/3rdpartylicenses.txt
static_files: 3rdpartylicenses.txt
upload: 3rdpartylicenses.txt
secure: always
http_headers:
X-Frame-Options: "DENY"
Strict-Transport-Security: "max-age=2592000; includeSubdomains"
X-Content-Type-Options: "nosniff"
X-XSS-Protection: "1; mode=block"
Content-Security-Policy: >-
default-src 'self';
- url: /woolaroo/?.*
static_files: index.html
upload: index.html
secure: always
expiration: $INDEX_CACHE
http_headers:
X-Frame-Options: "DENY"
Strict-Transport-Security: "max-age=2592000; includeSubdomains"
X-Content-Type-Options: "nosniff"
X-XSS-Protection: "1; mode=block"
Content-Security-Policy: >-
default-src 'self';
img-src 'self' blob: data: *.googleusercontent.com https://www.google-analytics.com;
frame-src 'self';
object-src 'none';
script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.gstatic.com/ https://www.google-analytics.com https://apis.google.com;
script-src 'self' 'unsafe-inline' 'unsafe-eval' https://apis.google.com https://accounts.google.com https://www.googletagmanager.com https://www.gstatic.com https://www.google-analytics.com https://www.googleapis.com;
connect-src 'self' https://australia-southeast1-woolaroo-project.cloudfunctions.net https://www.gstatic.com https://www.google-analytics.com https://www.googleapis.com https://apis.google.com https://*.googleapis.com https://www.googletagmanager.com https://fonts.googleapis.com;
font-src 'self' https://fonts.gstatic.com https://fonts.googleapis.com;
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com;
media-src 'self' https://storage.googleapis.com https://www.googleapis.com;
manifest-src 'self';