@bitblit/ratchet-epsilon-deployment 5.0.500-alpha → 5.0.501-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,6 @@
1
+ import { IBucket } from "aws-cdk-lib/aws-s3";
2
+ import { BehaviorOptions } from "aws-cdk-lib/aws-cloudfront";
3
+ export interface BucketAndBehaviorOptions {
4
+ bucket: IBucket;
5
+ behaviorOptions: BehaviorOptions;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bucket-and-behavior-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket-and-behavior-options.js","sourceRoot":"","sources":["../../../src/deployment/cdk/bucket-and-behavior-options.ts"],"names":[],"mappings":""}
@@ -1,4 +1,8 @@
1
+ import { FunctionUrl } from "aws-cdk-lib/aws-lambda";
2
+ import { Construct } from "constructs";
3
+ import { IResponseHeadersPolicy } from "aws-cdk-lib/aws-cloudfront";
1
4
  export interface EpsilonLambdaToCloudfrontPathMapping {
2
- apiDomainName: string;
5
+ lambdaFunctionUrl: FunctionUrl;
3
6
  pathPattern: string;
7
+ responseHeadersPolicyCreator?: (scope: Construct, id: string) => IResponseHeadersPolicy;
4
8
  }
@@ -1,6 +1,6 @@
1
- import { Stack } from 'aws-cdk-lib';
2
- import { Construct } from 'constructs';
3
- import { EpsilonWebsiteStackProps } from './epsilon-website-stack-props.js';
1
+ import { Stack } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ import { EpsilonWebsiteStackProps } from "./epsilon-website-stack-props.js";
4
4
  export declare class EpsilonWebsiteStack extends Stack {
5
5
  constructor(scope: Construct, id: string, props?: EpsilonWebsiteStackProps);
6
6
  }
@@ -1,14 +1,14 @@
1
- import { Bucket, BucketEncryption } from 'aws-cdk-lib/aws-s3';
2
- import { Duration, Stack } from 'aws-cdk-lib';
3
- import path from 'path';
4
- import { CloudFrontAllowedCachedMethods, CloudFrontAllowedMethods, CloudFrontWebDistribution, HttpVersion, OriginAccessIdentity, OriginProtocolPolicy, PriceClass, ViewerProtocolPolicy, } from 'aws-cdk-lib/aws-cloudfront';
5
- import { HostedZone, RecordSet, RecordType } from 'aws-cdk-lib/aws-route53';
6
- import { CloudFrontTarget } from 'aws-cdk-lib/aws-route53-targets';
7
- import { BucketDeployment, Source } from 'aws-cdk-lib/aws-s3-deployment';
8
- import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
9
- import { EpsilonWebsiteCacheBehavior } from './epsilon-website-cache-behavior.js';
1
+ import { Bucket, BucketEncryption } from "aws-cdk-lib/aws-s3";
2
+ import { Duration, Stack } from "aws-cdk-lib";
3
+ import path from "path";
4
+ import { AllowedMethods, CachePolicy, Distribution, OriginAccessIdentity, PriceClass, ResponseHeadersPolicy, SSLMethod, ViewerProtocolPolicy } from "aws-cdk-lib/aws-cloudfront";
5
+ import { HostedZone, RecordSet, RecordType } from "aws-cdk-lib/aws-route53";
6
+ import { CloudFrontTarget } from "aws-cdk-lib/aws-route53-targets";
7
+ import { BucketDeployment, Source } from "aws-cdk-lib/aws-s3-deployment";
10
8
  import { EpsilonStackUtil } from "./epsilon-stack-util.js";
11
9
  import { EpsilonRoute53Handling } from "./epsilon-route-53-handling";
10
+ import { FunctionUrlOrigin, S3BucketOrigin } from "aws-cdk-lib/aws-cloudfront-origins";
11
+ import { Certificate } from "aws-cdk-lib/aws-certificatemanager";
12
12
  export class EpsilonWebsiteStack extends Stack {
13
13
  constructor(scope, id, props) {
14
14
  super(scope, id, props);
@@ -19,138 +19,67 @@ export class EpsilonWebsiteStack extends Stack {
19
19
  publicReadAccess: false,
20
20
  encryption: BucketEncryption.S3_MANAGED,
21
21
  });
22
- const extraBucketAndSource = (props.simpleAdditionalMappings || []).map((eb) => {
23
- const nextBucket = Bucket.fromBucketAttributes(this, eb.bucketName + 'ImportedBucket', {
24
- bucketName: eb.bucketName,
25
- });
26
- const nextBS = {
27
- bucket: nextBucket,
28
- sourceConfig: {
29
- s3OriginSource: {
30
- s3BucketSource: nextBucket,
31
- originAccessIdentity: originAccessId,
32
- },
33
- behaviors: [
34
- {
35
- pathPattern: eb.pathPattern,
36
- isDefaultBehavior: false,
37
- compress: true,
38
- defaultTtl: Duration.seconds(1),
39
- minTtl: Duration.seconds(1),
40
- maxTtl: Duration.seconds(1),
41
- forwardedValues: {
42
- queryString: false,
43
- },
44
- },
45
- ],
46
- },
47
- };
48
- return nextBS;
22
+ const cachePolicy = new CachePolicy(scope, id + 'ShortCachePolicy', {
23
+ defaultTtl: Duration.seconds(1),
24
+ maxTtl: Duration.seconds(1),
25
+ minTtl: Duration.seconds(1),
49
26
  });
50
- if (props.websiteCacheBehavior === EpsilonWebsiteCacheBehavior.Custom && !props?.websiteBehaviorOverride?.length) {
51
- throw ErrorRatchet.fErr('Custom cache behavior selected but no custom provided');
52
- }
53
- if (props.websiteCacheBehavior !== EpsilonWebsiteCacheBehavior.Custom && props?.websiteBehaviorOverride?.length) {
54
- throw ErrorRatchet.fErr('Custom cache behavior not selected but custom provided');
55
- }
56
- let websiteBehaviors;
57
- switch (props.websiteCacheBehavior) {
58
- case EpsilonWebsiteCacheBehavior.NoCache:
59
- websiteBehaviors = [
60
- {
61
- isDefaultBehavior: true,
62
- compress: true,
63
- defaultTtl: Duration.seconds(0),
64
- minTtl: Duration.seconds(0),
65
- maxTtl: Duration.seconds(0),
66
- forwardedValues: {
67
- queryString: false,
68
- },
69
- },
70
- ];
71
- break;
72
- case EpsilonWebsiteCacheBehavior.Custom:
73
- websiteBehaviors = props.websiteBehaviorOverride;
74
- break;
75
- default:
76
- websiteBehaviors = [
77
- {
78
- isDefaultBehavior: true,
79
- compress: true,
80
- defaultTtl: Duration.seconds(1),
81
- minTtl: Duration.seconds(1),
82
- maxTtl: Duration.seconds(1),
83
- forwardedValues: {
84
- queryString: false,
85
- },
86
- },
87
- ];
88
- break;
89
- }
90
- const assetSource = {
91
- s3OriginSource: {
92
- s3BucketSource: websiteBucket,
93
- originAccessIdentity: originAccessId,
94
- },
95
- behaviors: websiteBehaviors,
27
+ const defaultBehavior = {
28
+ origin: S3BucketOrigin.withBucketDefaults(websiteBucket),
29
+ compress: true,
30
+ viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
31
+ cachePolicy: cachePolicy,
32
+ allowedMethods: AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
96
33
  };
97
- const apiSources = (props.apiMappings || []).map((s) => {
98
- const next = {
99
- customOriginSource: {
100
- domainName: s.apiDomainName,
101
- originProtocolPolicy: OriginProtocolPolicy.HTTPS_ONLY,
102
- },
103
- behaviors: [
104
- {
105
- compress: true,
106
- forwardedValues: {
107
- queryString: true,
108
- cookies: {
109
- forward: 'whitelist',
110
- whitelistedNames: ['idToken'],
111
- },
112
- headers: ['Accept', 'Referer', 'Authorization', 'Content-Type'],
113
- },
114
- pathPattern: s.pathPattern,
115
- defaultTtl: Duration.seconds(0),
116
- maxTtl: Duration.seconds(0),
117
- minTtl: Duration.seconds(0),
118
- allowedMethods: CloudFrontAllowedMethods.ALL,
119
- cachedMethods: CloudFrontAllowedCachedMethods.GET_HEAD,
120
- },
121
- ],
122
- };
123
- return next;
124
- });
34
+ const httpsCertificate = Certificate.fromCertificateArn(scope, id + 'HttpsCert', props.cloudFrontHttpsCertificateArn);
125
35
  const distributionProps = {
126
- httpVersion: HttpVersion.HTTP2,
36
+ defaultBehavior: defaultBehavior,
127
37
  defaultRootObject: 'index.html',
128
- originConfigs: [assetSource, ...apiSources, ...extraBucketAndSource.map((s) => s.sourceConfig)],
129
- errorConfigurations: [
38
+ priceClass: PriceClass.PRICE_CLASS_ALL,
39
+ certificate: httpsCertificate,
40
+ domainNames: props.cloudFrontDomainNames,
41
+ sslSupportMethod: SSLMethod.SNI,
42
+ additionalBehaviors: {},
43
+ errorResponses: [
130
44
  {
131
- errorCode: 404,
132
- errorCachingMinTtl: 300,
133
- responseCode: 200,
45
+ httpStatus: 404,
46
+ ttl: Duration.seconds(300),
47
+ responseHttpStatus: 200,
134
48
  responsePagePath: '/index.html',
135
49
  },
136
50
  {
137
- errorCode: 403,
138
- errorCachingMinTtl: 300,
139
- responseCode: 200,
51
+ httpStatus: 403,
52
+ ttl: Duration.seconds(300),
53
+ responseHttpStatus: 200,
140
54
  responsePagePath: '/index.html',
141
55
  },
142
56
  ],
143
- priceClass: PriceClass.PRICE_CLASS_ALL,
144
- viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
145
- viewerCertificate: {
146
- aliases: props.cloudFrontDomainNames,
147
- props: {
148
- acmCertificateArn: props.cloudFrontHttpsCertificateArn,
149
- sslSupportMethod: 'sni-only',
150
- },
151
- },
152
57
  };
153
- const cloudfrontDistro = new CloudFrontWebDistribution(this, id + 'CloudfrontDistro', distributionProps);
58
+ (props.apiMappings || []).forEach(s => {
59
+ const next = {
60
+ origin: new FunctionUrlOrigin(s.lambdaFunctionUrl),
61
+ compress: true,
62
+ viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
63
+ cachePolicy: CachePolicy.CACHING_DISABLED,
64
+ allowedMethods: AllowedMethods.ALLOW_ALL,
65
+ responseHeadersPolicy: s.responseHeadersPolicyCreator ? s.responseHeadersPolicyCreator(scope, id) : ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS
66
+ };
67
+ distributionProps.additionalBehaviors[s.pathPattern] = next;
68
+ });
69
+ (props.simpleAdditionalMappings || []).forEach((eb) => {
70
+ const nextBucket = Bucket.fromBucketAttributes(this, eb.bucketName + 'ImportedBucket', {
71
+ bucketName: eb.bucketName,
72
+ });
73
+ const behaviorOptions = {
74
+ origin: S3BucketOrigin.withBucketDefaults(nextBucket),
75
+ compress: true,
76
+ viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
77
+ cachePolicy: cachePolicy,
78
+ allowedMethods: AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
79
+ };
80
+ distributionProps.additionalBehaviors[eb.pathPattern] = behaviorOptions;
81
+ });
82
+ const cloudfrontDistro = new Distribution(this, id + 'CloudfrontDistro', distributionProps);
154
83
  if (props?.route53Handling === EpsilonRoute53Handling.Update) {
155
84
  if (props?.cloudFrontDomainNames?.length) {
156
85
  for (let i = 0; i < props.cloudFrontDomainNames.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"epsilon-website-stack.js","sourceRoot":"","sources":["../../../src/deployment/cdk/epsilon-website-stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epsilon-website-stack.js","sourceRoot":"","sources":["../../../src/deployment/cdk/epsilon-website-stack.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from './cdk/bucket-and-source-configuration.js';
1
+ export * from './cdk/bucket-and-behavior-options';
2
2
  export * from './cdk/epsilon-api-stack-feature.js';
3
3
  export * from './cdk/epsilon-api-stack-props.js';
4
4
  export * from './cdk/epsilon-api-stack.js';
@@ -1,4 +1,4 @@
1
- export * from './cdk/bucket-and-source-configuration.js';
1
+ export * from './cdk/bucket-and-behavior-options';
2
2
  export * from './cdk/epsilon-api-stack-feature.js';
3
3
  export * from './cdk/epsilon-api-stack-props.js';
4
4
  export * from './cdk/epsilon-api-stack.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deployment/index.ts"],"names":[],"mappings":"AAIA,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oDAAoD,CAAC;AACnE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+CAA+C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deployment/index.ts"],"names":[],"mappings":"AAIA,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oDAAoD,CAAC;AACnE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+CAA+C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitblit/ratchet-epsilon-deployment",
3
- "version": "5.0.500-alpha",
3
+ "version": "5.0.501-alpha",
4
4
  "description": "Epsilon CDK extensions to simplify deployment",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -50,14 +50,14 @@
50
50
  },
51
51
  "license": "Apache-2.0",
52
52
  "dependencies": {
53
- "@bitblit/ratchet-aws": "5.0.500-alpha",
54
- "@bitblit/ratchet-common": "5.0.500-alpha",
55
- "@bitblit/ratchet-epsilon-common": "5.0.500-alpha",
53
+ "@bitblit/ratchet-aws": "5.0.501-alpha",
54
+ "@bitblit/ratchet-common": "5.0.501-alpha",
55
+ "@bitblit/ratchet-epsilon-common": "5.0.501-alpha",
56
56
  "aws-cdk-lib": "2.161.1",
57
57
  "constructs": "10.3.0"
58
58
  },
59
59
  "peerDependencies": {
60
- "@bitblit/ratchet-common": "5.0.500-alpha",
60
+ "@bitblit/ratchet-common": "5.0.501-alpha",
61
61
  "aws-cdk-lib": "^2.161.1",
62
62
  "constructs": "^10.3.0"
63
63
  }
@@ -1,6 +0,0 @@
1
- import { IBucket } from 'aws-cdk-lib/aws-s3';
2
- import { SourceConfiguration } from 'aws-cdk-lib/aws-cloudfront';
3
- export interface BucketAndSourceConfiguration {
4
- bucket: IBucket;
5
- sourceConfig: SourceConfiguration;
6
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bucket-and-source-configuration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bucket-and-source-configuration.js","sourceRoot":"","sources":["../../../src/deployment/cdk/bucket-and-source-configuration.ts"],"names":[],"mappings":""}