-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcloudfront-function-resource.yaml
More file actions
24 lines (24 loc) · 1.77 KB
/
cloudfront-function-resource.yaml
File metadata and controls
24 lines (24 loc) · 1.77 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
# CloudFront Function for path-based routing
# Appends index.html to directory paths and paths without file extension
# Required because CloudFront defaultRootObject only works for the root path
#
# Examples:
# /demojhgr-inventory-dev/ -> /demojhgr-inventory-dev/index.html
# /auth/callback?code=xxx -> /auth/callback/index.html (preserves query)
# /demojhgr-inventory-dev -> /demojhgr-inventory-dev/index.html
#
apiVersion: cloudfront.services.k8s.aws/v1alpha1
kind: Function
metadata:
name: hkc-url-rewrite
namespace: kro-serverless-stack
labels:
app.kubernetes.io/name: hkc-sample
app.kubernetes.io/component: cloudfront
app.kubernetes.io/part-of: shared-platform
spec:
name: hkc-url-rewrite
functionConfig:
comment: "Append index.html to directory paths - HKC sample"
runtime: cloudfront-js-2.0
functionCode: Ly8gQ2xvdWRGcm9udCBGdW5jdGlvbiBmb3IgcGF0aC1iYXNlZCByb3V0aW5nCi8vIEFwcGVuZHMgaW5kZXguaHRtbCB0byBkaXJlY3RvcnkgcGF0aHMKLy8KLy8gSGFuZGxlczoKLy8gICAvY2Fyb2xoa2MtaW52ZW50b3J5LWRldi8gICAgICAgIOKGkiAvY2Fyb2xoa2MtaW52ZW50b3J5LWRldi9pbmRleC5odG1sCi8vICAgL2F1dGgvY2FsbGJhY2s/Y29kZT14eHggICAgICAgICDihpIgL2F1dGgvY2FsbGJhY2svaW5kZXguaHRtbCAocHJlc2VydmVzIHF1ZXJ5KQovLyAgIC9jYXJvbGhrYy1pbnZlbnRvcnktZGV2ICAgICAgICAg4oaSIC9jYXJvbGhrYy1pbnZlbnRvcnktZGV2L2luZGV4Lmh0bWwKLy8KZnVuY3Rpb24gaGFuZGxlcihldmVudCkgewogICAgdmFyIHJlcXVlc3QgPSBldmVudC5yZXF1ZXN0OwogICAgdmFyIHVyaSA9IHJlcXVlc3QudXJpOwoKICAgIC8vIElmIFVSSSBlbmRzIHdpdGggLywgYXBwZW5kIGluZGV4Lmh0bWwKICAgIGlmICh1cmkuZW5kc1dpdGgoJy8nKSkgewogICAgICAgIHJlcXVlc3QudXJpICs9ICdpbmRleC5odG1sJzsKICAgIH0KICAgIC8vIElmIFVSSSBoYXMgbm8gZmlsZSBleHRlbnNpb24sIHRyZWF0IGFzIGRpcmVjdG9yeQogICAgZWxzZSBpZiAoIXVyaS5pbmNsdWRlcygnLicpKSB7CiAgICAgICAgcmVxdWVzdC51cmkgKz0gJy9pbmRleC5odG1sJzsKICAgIH0KCiAgICByZXR1cm4gcmVxdWVzdDsKfQo=