@bitblit/ratchet-epsilon-deployment 5.0.537-alpha → 5.0.539-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.
|
@@ -14,4 +14,5 @@ export interface EpsilonWebsiteStackProps extends StackProps {
|
|
|
14
14
|
simpleAdditionalMappings?: SimpleAdditionalS3WebsiteMapping[];
|
|
15
15
|
websiteCacheBehavior?: EpsilonWebsiteCacheBehavior;
|
|
16
16
|
websiteBehaviorOverride?: Behavior[];
|
|
17
|
+
retainWebsiteBucketOnDestroy?: boolean;
|
|
17
18
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Bucket, BucketEncryption } from 'aws-cdk-lib/aws-s3';
|
|
2
|
-
import { Duration, Stack } from
|
|
2
|
+
import { Duration, RemovalPolicy, Stack } from "aws-cdk-lib";
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { AllowedMethods, CachePolicy, Distribution, OriginAccessIdentity, PriceClass, ResponseHeadersPolicy, SSLMethod, ViewerProtocolPolicy, } from 'aws-cdk-lib/aws-cloudfront';
|
|
5
5
|
import { HostedZone, RecordSet, RecordType } from 'aws-cdk-lib/aws-route53';
|
|
@@ -13,14 +13,16 @@ import { Logger } from '@bitblit/ratchet-common/logger/logger';
|
|
|
13
13
|
export class EpsilonWebsiteStack extends Stack {
|
|
14
14
|
constructor(scope, id, props) {
|
|
15
15
|
super(scope, id, props);
|
|
16
|
-
const originAccessId = new OriginAccessIdentity(
|
|
17
|
-
const websiteBucket = new Bucket(
|
|
16
|
+
const originAccessId = new OriginAccessIdentity(this, id + 'OriginAccessId');
|
|
17
|
+
const websiteBucket = new Bucket(this, id + 'DeployBucket', {
|
|
18
18
|
bucketName: props.targetBucketName,
|
|
19
|
+
removalPolicy: props.retainWebsiteBucketOnDestroy ? undefined : RemovalPolicy.DESTROY,
|
|
20
|
+
autoDeleteObjects: !props.retainWebsiteBucketOnDestroy,
|
|
19
21
|
versioned: false,
|
|
20
22
|
publicReadAccess: false,
|
|
21
23
|
encryption: BucketEncryption.S3_MANAGED,
|
|
22
24
|
});
|
|
23
|
-
const cachePolicy = new CachePolicy(
|
|
25
|
+
const cachePolicy = new CachePolicy(this, id + 'ShortCachePolicy', {
|
|
24
26
|
defaultTtl: Duration.seconds(1),
|
|
25
27
|
maxTtl: Duration.seconds(1),
|
|
26
28
|
minTtl: Duration.seconds(1),
|
|
@@ -32,7 +34,7 @@ export class EpsilonWebsiteStack extends Stack {
|
|
|
32
34
|
cachePolicy: cachePolicy,
|
|
33
35
|
allowedMethods: AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
|
|
34
36
|
};
|
|
35
|
-
const httpsCertificate = Certificate.fromCertificateArn(
|
|
37
|
+
const httpsCertificate = Certificate.fromCertificateArn(this, id + 'HttpsCert', props.cloudFrontHttpsCertificateArn);
|
|
36
38
|
const distributionProps = {
|
|
37
39
|
defaultBehavior: defaultBehavior,
|
|
38
40
|
defaultRootObject: 'index.html',
|
|
@@ -64,7 +66,7 @@ export class EpsilonWebsiteStack extends Stack {
|
|
|
64
66
|
cachePolicy: CachePolicy.CACHING_DISABLED,
|
|
65
67
|
allowedMethods: AllowedMethods.ALLOW_ALL,
|
|
66
68
|
responseHeadersPolicy: s.responseHeadersPolicyCreator
|
|
67
|
-
? s.responseHeadersPolicyCreator(
|
|
69
|
+
? s.responseHeadersPolicyCreator(this, id)
|
|
68
70
|
: ResponseHeadersPolicy.CORS_ALLOW_ALL_ORIGINS_WITH_PREFLIGHT_AND_SECURITY_HEADERS,
|
|
69
71
|
};
|
|
70
72
|
distributionProps.additionalBehaviors[s.pathPattern] = next;
|
|
@@ -82,24 +84,24 @@ export class EpsilonWebsiteStack extends Stack {
|
|
|
82
84
|
};
|
|
83
85
|
distributionProps.additionalBehaviors[eb.pathPattern] = behaviorOptions;
|
|
84
86
|
});
|
|
85
|
-
const cloudfrontDistro = new Distribution(
|
|
87
|
+
const cloudfrontDistro = new Distribution(this, id + 'CloudfrontDistro', distributionProps);
|
|
86
88
|
if (props?.route53Handling === EpsilonRoute53Handling.Update) {
|
|
87
89
|
if (props?.cloudFrontDomainNames?.length) {
|
|
88
90
|
for (let i = 0; i < props.cloudFrontDomainNames.length; i++) {
|
|
89
|
-
const _domain = new RecordSet(
|
|
91
|
+
const _domain = new RecordSet(this, id + 'DomainName-' + props.cloudFrontDomainNames[i], {
|
|
90
92
|
recordType: RecordType.A,
|
|
91
93
|
recordName: props.cloudFrontDomainNames[i],
|
|
92
94
|
target: {
|
|
93
95
|
aliasTarget: new CloudFrontTarget(cloudfrontDistro),
|
|
94
96
|
},
|
|
95
|
-
zone: HostedZone.fromLookup(
|
|
97
|
+
zone: HostedZone.fromLookup(this, id, { domainName: EpsilonStackUtil.extractApexDomain(props.cloudFrontDomainNames[i]) }),
|
|
96
98
|
});
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
const assetSources = props.pathsToAssets.map((inPath) => Source.asset(path.resolve(inPath)));
|
|
101
103
|
Logger.info('Found %d asset sources to push to S3', assetSources.length);
|
|
102
|
-
new BucketDeployment(
|
|
104
|
+
new BucketDeployment(this, id + 'SiteDeploy', {
|
|
103
105
|
sources: assetSources,
|
|
104
106
|
destinationBucket: websiteBucket,
|
|
105
107
|
distribution: cloudfrontDistro,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epsilon-website-stack.js","sourceRoot":"","sources":["../../../src/deployment/cdk/epsilon-website-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"epsilon-website-stack.js","sourceRoot":"","sources":["../../../src/deployment/cdk/epsilon-website-stack.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitblit/ratchet-epsilon-deployment",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.539-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.
|
|
54
|
-
"@bitblit/ratchet-common": "5.0.
|
|
55
|
-
"@bitblit/ratchet-epsilon-common": "5.0.
|
|
53
|
+
"@bitblit/ratchet-aws": "5.0.539-alpha",
|
|
54
|
+
"@bitblit/ratchet-common": "5.0.539-alpha",
|
|
55
|
+
"@bitblit/ratchet-epsilon-common": "5.0.539-alpha",
|
|
56
56
|
"aws-cdk-lib": "2.164.1",
|
|
57
57
|
"constructs": "10.4.2"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"@bitblit/ratchet-common": "5.0.
|
|
60
|
+
"@bitblit/ratchet-common": "5.0.539-alpha",
|
|
61
61
|
"aws-cdk-lib": "^2.164.1",
|
|
62
62
|
"constructs": "^10.4.2"
|
|
63
63
|
}
|