@bitblit/ratchet-epsilon-deployment 4.0.143-alpha → 4.0.145-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.
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/package.json +7 -6
package/lib/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Stack as e,Duration as t,Size as o,Lazy as s}from"aws-cdk-lib";import{CfnComputeEnvironment as a,CfnJobQueue as r,CfnJobDefinition as i}from"aws-cdk-lib/aws-batch";import{DockerImageCode as n,DockerImageFunction as c,FunctionUrlAuthType as l,HttpMethod as m}from"aws-cdk-lib/aws-lambda";import{PolicyStatement as d,Effect as u,Role as p,ServicePrincipal as w,PolicyDocument as S,CfnInstanceProfile as A,ManagedPolicy as f}from"aws-cdk-lib/aws-iam";import{Topic as h}from"aws-cdk-lib/aws-sns";import{Queue as L}from"aws-cdk-lib/aws-sqs";import{LambdaSubscription as g}from"aws-cdk-lib/aws-sns-subscriptions";import{Rule as b,Schedule as E}from"aws-cdk-lib/aws-events";import{LambdaFunction as N}from"aws-cdk-lib/aws-events-targets";import{DockerImageAsset as _}from"aws-cdk-lib/aws-ecr-assets";import{StringRatchet as I,ErrorRatchet as O}from"@bitblit/ratchet-common";import{Bucket as T,BucketEncryption as C}from"aws-cdk-lib/aws-s3";import y from"path";import{OriginAccessIdentity as P,OriginProtocolPolicy as k,CloudFrontAllowedMethods as v,CloudFrontAllowedCachedMethods as D,HttpVersion as R,PriceClass as B,ViewerProtocolPolicy as H,CloudFrontWebDistribution as W}from"aws-cdk-lib/aws-cloudfront";import{RecordSet as M,RecordType as F,HostedZone as U}from"aws-cdk-lib/aws-route53";import{CloudFrontTarget as G}from"aws-cdk-lib/aws-route53-targets";import{BucketDeployment as x,Source as z}from"aws-cdk-lib/aws-s3-deployment";class V{constructor(){}static buildInformation(){return{version:"LOCAL-SNAPSHOT",hash:"LOCAL-HASH",branch:"LOCAL-BRANCH",tag:"LOCAL-TAG",timeBuiltISO:"LOCAL-TIME-ISO",notes:"LOCAL-NOTES"}}}class q{constructor(){}static toEnvironmentVariables(e){const t=[];return e.forEach((e=>{Object.keys(e).forEach((o=>{t.push({name:o,value:I.safeString(e[o])})}))})),t}static createDefaultPolicyStatementList(e,t,o,s){return(e.additionalPolicyStatements||[]).concat([new d({effect:u.ALLOW,actions:["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],resources:["arn:aws:logs:*:*:*"]}),new d({effect:u.ALLOW,actions:["ses:SendEmail","ses:SendRawEmail"],resources:["arn:aws:ses:*"]}),new d({effect:u.ALLOW,actions:["sqs:*"],resources:[t.queueArn]}),new d({effect:u.ALLOW,actions:["sns:*"],resources:[o.topicArn,s.topicArn]}),new d({effect:u.ALLOW,actions:["batch:*"],resources:["*"]})])}static ALLOW_ECS=new d({effect:u.ALLOW,actions:["ecs:*"],resources:["*"]});static ALLOW_ECR=new d({effect:u.ALLOW,actions:["ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer","ecr:GetAuthorizationToken"],resources:["*"]});static ALLOW_RESTRICTED_LOGS=new d({effect:u.ALLOW,actions:["logs:CreateLogStream","logs:PutLogEvents","logs:DescribeLogStreams","logs:CreateLogGroup"],resources:["*"]});static ECS_POLICY_STATEMENTS=[q.ALLOW_ECS,q.ALLOW_ECR,q.ALLOW_RESTRICTED_LOGS]}class K extends e{webHandler;backgroundHandler;apiDomain;constructor(d,u,O){super(d,u,O);const T=new _(this,u+"DockerImage",{directory:O.dockerFileFolder,file:O.dockerFileName}),C=n.fromImageAsset(O.dockerFileFolder,{file:O.dockerFileName}),y=new h(this,u+"WorkNotificationTopic"),P=new L(this,u+"WorkQueue",{fifo:!0,retentionPeriod:t.hours(8),visibilityTimeout:t.minutes(5),contentBasedDeduplication:!0,...O}),k=new h(this,u+"InterApiTopic"),v={EPSILON_AWS_REGION:I.safeString(e.of(this).region),EPSILON_AWS_AVAILABILITY_ZONES:I.safeString(JSON.stringify(e.of(this).availabilityZones)),EPSILON_BACKGROUND_SQS_QUEUE_URL:I.safeString(P.queueUrl),EPSILON_BACKGROUND_SNS_TOPIC_ARN:I.safeString(y.topicArn),EPSILON_INTER_API_EVENT_TOPIC_ARN:I.safeString(k.topicArn),EPSILON_LIB_BUILD_HASH:I.safeString(V.buildInformation().hash),EPSILON_LIB_BUILD_TIME:I.safeString(V.buildInformation().timeBuiltISO),EPSILON_LIB_BUILD_BRANCH_OR_TAG:I.safeString(V.buildInformation().branch||V.buildInformation().tag),EPSILON_LIB_BUILD_VERSION:I.safeString(V.buildInformation().version)},D=Object.assign({},O.extraEnvironmentalVars||{},v),R=new p(this,u+"AwsEcsRole",{assumedBy:new w("ec2.amazonaws.com"),inlinePolicies:{root:new S({statements:q.ECS_POLICY_STATEMENTS})}}),B=new A(this,u+"EcsInstanceProfile",{path:"/",roles:[R.roleName]}),H=new p(this,u+"AwsBatchRole",{assumedBy:new w("ecs-tasks.amazonaws.com"),managedPolicies:[f.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole")],inlinePolicies:{root:new S({statements:q.createDefaultPolicyStatementList(O,P,y,k)})}}),W={replaceComputeEnvironment:!1,computeResources:{minvCpus:0,maxvCpus:16,instanceTypes:["optimal"],instanceRole:B.attrArn,ec2KeyPair:O.batchInstancesEc2KeyPairName,type:"EC2",subnets:O.vpcSubnetIds.map((e=>"subnet-"+e)),securityGroupIds:O.lambdaSecurityGroupIds.map((e=>"sg-"+e)),allocationStrategy:"BEST_FIT"},serviceRole:"arn:aws:iam::"+O.env.account+":role/AWSBatchServiceRole",type:"MANAGED",state:"ENABLED"},M={state:"ENABLED",priority:1,computeEnvironmentOrder:[{computeEnvironment:new a(this,u+"ComputeEnv",W).attrComputeEnvironmentArn,order:1}],tags:{tagsKey:u}},F=new r(this,u+"BatchJobQueue",M),U=q.toEnvironmentVariables([D,O.extraEnvironmentalVars||{},{EPSILON_RUNNING_IN_AWS_BATCH:!0}]),G={type:"container",platformCapabilities:["EC2"],containerProperties:{mountPoints:[],volumes:[],memory:4294,privileged:!1,jobRoleArn:H.roleArn,readonlyRootFilesystem:!1,vcpus:1,image:T.imageUri,command:["Ref::taskName","Ref::taskData","Ref::traceId","Ref::traceDepth"],environment:U}},x=new i(this,u+"JobDefinition",G),z=new p(this,"customRole",{roleName:u+"LambdaCustomRole",assumedBy:new w("lambda.amazonaws.com"),managedPolicies:[f.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole")],inlinePolicies:{root:new S({statements:q.createDefaultPolicyStatementList(O,P,y,k)})}});if(D.EPSILON_AWS_BATCH_JOB_DEFINITION_ARN=x.ref,D.EPSILON_AWS_BATCH_JOB_QUEUE_ARN=F.ref,this.webHandler=new c(this,u+"Web",{retryAttempts:2,memorySize:O.webMemorySizeMb||128,ephemeralStorageSize:o.mebibytes(512),timeout:t.seconds(O.webTimeoutSeconds||20),code:C,role:z,environment:D}),O?.webLambdaPingMinutes&&O.webLambdaPingMinutes>0){new b(this,u+"WebKeepaliveRule",{schedule:E.rate(t.minutes(Math.ceil(O.webLambdaPingMinutes)))}).addTarget(new N(this.webHandler))}const K=this.webHandler.addFunctionUrl({authType:l.NONE,cors:{allowedOrigins:["*"],allowedHeaders:["Content-Type","X-Amz-Date","Authorization","X-Api-Key"],allowedMethods:[m.ALL],allowCredentials:!0}});this.backgroundHandler=new c(this,u+"Background",{retryAttempts:2,memorySize:O.backgroundMemorySizeMb||3e3,ephemeralStorageSize:o.mebibytes(512),timeout:t.seconds(O.backgroundTimeoutSeconds||900),code:C,role:z,environment:D}),y.addSubscription(new g(this.backgroundHandler)),k.addSubscription(new g(this.backgroundHandler));new b(this,u+"CronRule",{schedule:E.rate(t.minutes(1))}).addTarget(new N(this.backgroundHandler)),this.apiDomain=s.uncachedString({produce:e=>({"Fn::Select":[2,{"Fn::Split":["/",e.resolve(K.url)]}]})})}}var J;!function(e){e.Update="Update",e.DoNotUpdate="DoNotUpdate"}(J||(J={}));class Q extends e{constructor(e,o,s){super(e,o,s);const a=new P(this,o+"OriginAccessId"),r=new T(this,o+"DeployBucket",{bucketName:s.targetBucketName,versioned:!1,publicReadAccess:!1,encryption:C.S3_MANAGED}),i=(s.simpleAdditionalMappings||[]).map((e=>{const o=new T(this,e.bucketName+"DeployBucket",{bucketName:e.bucketName,versioned:!1,publicReadAccess:!1,encryption:C.S3_MANAGED});return{bucket:o,sourceConfig:{s3OriginSource:{s3BucketSource:o,originAccessIdentity:a},behaviors:[{pathPattern:e.pathPattern,isDefaultBehavior:!1,compress:!0,defaultTtl:t.seconds(1),minTtl:t.seconds(1),maxTtl:t.seconds(1),forwardedValues:{queryString:!1}}]}}})),n={s3OriginSource:{s3BucketSource:r,originAccessIdentity:a},behaviors:[{isDefaultBehavior:!0,compress:!0,defaultTtl:t.seconds(1),minTtl:t.seconds(1),maxTtl:t.seconds(1),forwardedValues:{queryString:!1}}]},c={customOriginSource:{domainName:s.apiDomainName,originProtocolPolicy:k.HTTPS_ONLY},behaviors:[{compress:!0,forwardedValues:{queryString:!0,cookies:{forward:"whitelist",whitelistedNames:["idToken"]},headers:["Accept","Referer","Authorization","Content-Type"]},pathPattern:"graphql",defaultTtl:t.seconds(0),maxTtl:t.seconds(0),minTtl:t.seconds(0),allowedMethods:v.ALL,cachedMethods:D.GET_HEAD}]},l={httpVersion:R.HTTP2,defaultRootObject:"index.html",originConfigs:[n,c,...i.map((e=>e.sourceConfig))],errorConfigurations:[{errorCode:404,errorCachingMinTtl:300,responseCode:200,responsePagePath:"/index.html"},{errorCode:403,errorCachingMinTtl:300,responseCode:200,responsePagePath:"/index.html"}],priceClass:B.PRICE_CLASS_ALL,viewerProtocolPolicy:H.REDIRECT_TO_HTTPS,viewerCertificate:{aliases:s.cloudFrontDomainNames,props:{acmCertificateArn:s.cloudFrontHttpsCertificateArn,sslSupportMethod:"sni-only"}}},m=new W(this,o+"CloudfrontDistro",l);if(s?.route53Handling===J.Update&&s?.cloudFrontDomainNames?.length)for(let e=0;e<s.cloudFrontDomainNames.length;e++)new M(this,o+"DomainName-"+s.cloudFrontDomainNames[e],{recordType:F.A,recordName:s.cloudFrontDomainNames[e],target:{aliasTarget:new G(m)},zone:U.fromLookup(this,o,{domainName:Q.extractApexDomain(s.cloudFrontDomainNames[e])})});new x(this,o+"SiteDeploy",{sources:s.pathsToAssets.map((e=>z.asset(y.resolve(e)))),destinationBucket:r,distribution:m,distributionPaths:["/*"]})}static extractApexDomain(e){const t=I.trimToEmpty(e).split(".");return t.length<2&&O.throwFormattedErr("Not a valid domain name : %s",e),t[t.length-2]+"."+t[t.length-1]}}export{K as EpsilonApiStack,q as EpsilonStackUtil,Q as EpsilonWebsiteStack,J as EpsilonWebsiteStackPropsRoute53Handling,V as RatchetEpsilonDeploymentInfo};
|
|
1
|
+
import{Stack as e,Duration as t,Size as o,Lazy as i}from"aws-cdk-lib";import{DockerImageCode as r,DockerImageFunction as s,FunctionUrlAuthType as a,HttpMethod as n}from"aws-cdk-lib/aws-lambda";import{PolicyStatement as c,Effect as m,Role as l,ServicePrincipal as d,PolicyDocument as u,ManagedPolicy as p}from"aws-cdk-lib/aws-iam";import{Topic as f}from"aws-cdk-lib/aws-sns";import{Queue as w}from"aws-cdk-lib/aws-sqs";import{LambdaSubscription as S}from"aws-cdk-lib/aws-sns-subscriptions";import{Rule as b,Schedule as h}from"aws-cdk-lib/aws-events";import{LambdaFunction as A}from"aws-cdk-lib/aws-events-targets";import{DockerImageAsset as g}from"aws-cdk-lib/aws-ecr-assets";import{StringRatchet as L,ErrorRatchet as N}from"@bitblit/ratchet-common";import{FargateComputeEnvironment as E,JobQueue as I,EcsFargateContainerDefinition as _,EcsJobDefinition as O}from"@aws-cdk/aws-batch-alpha";import{Subnet as T,Vpc as C,SecurityGroup as v}from"aws-cdk-lib/aws-ec2";import{ContainerImage as y}from"aws-cdk-lib/aws-ecs";import{Bucket as P,BucketEncryption as k}from"aws-cdk-lib/aws-s3";import R from"path";import{OriginAccessIdentity as D,OriginProtocolPolicy as B,CloudFrontAllowedMethods as H,CloudFrontAllowedCachedMethods as W,HttpVersion as M,PriceClass as U,ViewerProtocolPolicy as x,CloudFrontWebDistribution as F}from"aws-cdk-lib/aws-cloudfront";import{RecordSet as G,RecordType as V,HostedZone as z}from"aws-cdk-lib/aws-route53";import{CloudFrontTarget as j}from"aws-cdk-lib/aws-route53-targets";import{BucketDeployment as q,Source as J}from"aws-cdk-lib/aws-s3-deployment";class Q{constructor(){}static buildInformation(){return{version:"LOCAL-SNAPSHOT",hash:"LOCAL-HASH",branch:"LOCAL-BRANCH",tag:"LOCAL-TAG",timeBuiltISO:"LOCAL-TIME-ISO",notes:"LOCAL-NOTES"}}}class ${constructor(){}static toEnvironmentVariables(e){const t=[];return e.forEach((e=>{Object.keys(e).forEach((o=>{t.push({name:o,value:L.safeString(e[o])})}))})),t}static createDefaultPolicyStatementList(e,t,o,i){return(e.additionalPolicyStatements||[]).concat([new c({effect:m.ALLOW,actions:["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],resources:["arn:aws:logs:*:*:*"]}),new c({effect:m.ALLOW,actions:["ses:SendEmail","ses:SendRawEmail"],resources:["arn:aws:ses:*"]}),new c({effect:m.ALLOW,actions:["sqs:*"],resources:[t.queueArn]}),new c({effect:m.ALLOW,actions:["sns:*"],resources:[o.topicArn,i.topicArn]}),new c({effect:m.ALLOW,actions:["batch:*"],resources:["*"]})])}static ALLOW_ECS=new c({effect:m.ALLOW,actions:["ecs:*"],resources:["*"]});static ALLOW_ECR=new c({effect:m.ALLOW,actions:["ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer","ecr:GetAuthorizationToken"],resources:["*"]});static ALLOW_RESTRICTED_LOGS=new c({effect:m.ALLOW,actions:["logs:CreateLogStream","logs:PutLogEvents","logs:DescribeLogStreams","logs:CreateLogGroup"],resources:["*"]});static ECS_POLICY_STATEMENTS=[$.ALLOW_ECS,$.ALLOW_ECR,$.ALLOW_RESTRICTED_LOGS]}class K extends e{webHandler;backgroundHandler;apiDomain;constructor(c,m,N){super(c,m,N);const P=new g(this,m+"DockerImage",{directory:N.dockerFileFolder,file:N.dockerFileName}),k=r.fromImageAsset(N.dockerFileFolder,{file:N.dockerFileName}),R=new f(this,m+"WorkNotificationTopic"),D=new w(this,m+"WorkQueue",{fifo:!0,retentionPeriod:t.hours(8),visibilityTimeout:t.minutes(5),contentBasedDeduplication:!0,...N}),B=new f(this,m+"InterApiTopic"),H={EPSILON_AWS_REGION:L.safeString(e.of(this).region),EPSILON_AWS_AVAILABILITY_ZONES:L.safeString(JSON.stringify(e.of(this).availabilityZones)),EPSILON_BACKGROUND_SQS_QUEUE_URL:L.safeString(D.queueUrl),EPSILON_BACKGROUND_SNS_TOPIC_ARN:L.safeString(R.topicArn),EPSILON_INTER_API_EVENT_TOPIC_ARN:L.safeString(B.topicArn),EPSILON_LIB_BUILD_HASH:L.safeString(Q.buildInformation().hash),EPSILON_LIB_BUILD_TIME:L.safeString(Q.buildInformation().timeBuiltISO),EPSILON_LIB_BUILD_BRANCH_OR_TAG:L.safeString(Q.buildInformation().branch||Q.buildInformation().tag),EPSILON_LIB_BUILD_VERSION:L.safeString(Q.buildInformation().version)},W=Object.assign({},N.extraEnvironmentalVars||{},H);new l(this,m+"AwsEcsRole",{assumedBy:new d("ec2.amazonaws.com"),inlinePolicies:{root:new u({statements:$.ECS_POLICY_STATEMENTS})}});const M=new l(this,m+"AwsBatchRole",{assumedBy:new d("ecs-tasks.amazonaws.com"),managedPolicies:[p.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole")],inlinePolicies:{root:new u({statements:$.createDefaultPolicyStatementList(N,D,R,B)})}}),U={subnets:N.vpcSubnetIds.map(((e,t)=>T.fromSubnetId(c,`VpcSubnet${t}`,`subnet-${e}`)))},x={vpc:C.fromLookup(c,"Vpc",{vpcId:N.vpcId}),computeEnvironmentName:m+"ComputeEnv",enabled:!0,maxvCpus:16,replaceComputeEnvironment:!1,securityGroups:N.lambdaSecurityGroupIds.map(((e,t)=>v.fromSecurityGroupId(c,`SecurityGroup${t}`,`sg-${e}`))),serviceRole:l.fromRoleArn(c,`${m}ServiceRole`,"arn:aws:iam::"+N.env.account+":role/AWSBatchServiceRole"),spot:!1,terminateOnUpdate:!1,updateTimeout:t.hours(4),updateToLatestImageVersion:!0,vpcSubnets:U},F=new E(this,m+"ComputeEnv",x),G=new I(this,m+"BatchJobQueue",{computeEnvironments:[{order:1,computeEnvironment:F}],enabled:!0,jobQueueName:m+"BatchJobQueue",priority:10,schedulingPolicy:void 0}),V=$.toEnvironmentVariables([W,N.extraEnvironmentalVars||{},{EPSILON_RUNNING_IN_AWS_BATCH:!0}]),z={cpu:4,image:y.fromRegistry(P.imageUri),memory:o.mebibytes(8192),assignPublicIp:!1,command:["Ref::taskName","Ref::taskData","Ref::traceId","Ref::traceDepth"],environment:V,executionRole:void 0,fargatePlatformVersion:void 0,jobRole:l.fromRoleArn(c,`${m}JobExecutionRole`,M.roleArn),linuxParameters:void 0,readonlyRootFilesystem:!1,secrets:void 0,user:void 0,volumes:[]},j=new _(c,`${m}FargateContainerDefinition`,z),q=new O(this,m+"JobDefinition",{jobDefinitionName:m+"JobDefinition",retryAttempts:3,retryStrategies:void 0,schedulingPriority:void 0,timeout:void 0,container:j}),J=new l(this,"customRole",{roleName:m+"LambdaCustomRole",assumedBy:new d("lambda.amazonaws.com"),managedPolicies:[p.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole")],inlinePolicies:{root:new u({statements:$.createDefaultPolicyStatementList(N,D,R,B)})}});if(W.EPSILON_AWS_BATCH_JOB_DEFINITION_ARN=q.jobDefinitionArn,W.EPSILON_AWS_BATCH_JOB_QUEUE_ARN=G.jobQueueArn,this.webHandler=new s(this,m+"Web",{retryAttempts:2,memorySize:N.webMemorySizeMb||128,ephemeralStorageSize:o.mebibytes(512),timeout:t.seconds(N.webTimeoutSeconds||20),code:k,role:J,environment:W}),N?.webLambdaPingMinutes&&N.webLambdaPingMinutes>0){new b(this,m+"WebKeepaliveRule",{schedule:h.rate(t.minutes(Math.ceil(N.webLambdaPingMinutes)))}).addTarget(new A(this.webHandler))}const K=this.webHandler.addFunctionUrl({authType:a.NONE,cors:{allowedOrigins:["*"],allowedHeaders:["Content-Type","X-Amz-Date","Authorization","X-Api-Key"],allowedMethods:[n.ALL],allowCredentials:!0}});this.backgroundHandler=new s(this,m+"Background",{retryAttempts:2,memorySize:N.backgroundMemorySizeMb||3e3,ephemeralStorageSize:o.mebibytes(512),timeout:t.seconds(N.backgroundTimeoutSeconds||900),code:k,role:J,environment:W}),R.addSubscription(new S(this.backgroundHandler)),B.addSubscription(new S(this.backgroundHandler));new b(this,m+"CronRule",{schedule:h.rate(t.minutes(1))}).addTarget(new A(this.backgroundHandler)),this.apiDomain=i.uncachedString({produce:e=>({"Fn::Select":[2,{"Fn::Split":["/",e.resolve(K.url)]}]})})}}var Y;!function(e){e.Update="Update",e.DoNotUpdate="DoNotUpdate"}(Y||(Y={}));class X extends e{constructor(e,o,i){super(e,o,i);const r=new D(this,o+"OriginAccessId"),s=new P(this,o+"DeployBucket",{bucketName:i.targetBucketName,versioned:!1,publicReadAccess:!1,encryption:k.S3_MANAGED}),a=(i.simpleAdditionalMappings||[]).map((e=>{const o=new P(this,e.bucketName+"DeployBucket",{bucketName:e.bucketName,versioned:!1,publicReadAccess:!1,encryption:k.S3_MANAGED});return{bucket:o,sourceConfig:{s3OriginSource:{s3BucketSource:o,originAccessIdentity:r},behaviors:[{pathPattern:e.pathPattern,isDefaultBehavior:!1,compress:!0,defaultTtl:t.seconds(1),minTtl:t.seconds(1),maxTtl:t.seconds(1),forwardedValues:{queryString:!1}}]}}})),n={s3OriginSource:{s3BucketSource:s,originAccessIdentity:r},behaviors:[{isDefaultBehavior:!0,compress:!0,defaultTtl:t.seconds(1),minTtl:t.seconds(1),maxTtl:t.seconds(1),forwardedValues:{queryString:!1}}]},c={customOriginSource:{domainName:i.apiDomainName,originProtocolPolicy:B.HTTPS_ONLY},behaviors:[{compress:!0,forwardedValues:{queryString:!0,cookies:{forward:"whitelist",whitelistedNames:["idToken"]},headers:["Accept","Referer","Authorization","Content-Type"]},pathPattern:"graphql",defaultTtl:t.seconds(0),maxTtl:t.seconds(0),minTtl:t.seconds(0),allowedMethods:H.ALL,cachedMethods:W.GET_HEAD}]},m={httpVersion:M.HTTP2,defaultRootObject:"index.html",originConfigs:[n,c,...a.map((e=>e.sourceConfig))],errorConfigurations:[{errorCode:404,errorCachingMinTtl:300,responseCode:200,responsePagePath:"/index.html"},{errorCode:403,errorCachingMinTtl:300,responseCode:200,responsePagePath:"/index.html"}],priceClass:U.PRICE_CLASS_ALL,viewerProtocolPolicy:x.REDIRECT_TO_HTTPS,viewerCertificate:{aliases:i.cloudFrontDomainNames,props:{acmCertificateArn:i.cloudFrontHttpsCertificateArn,sslSupportMethod:"sni-only"}}},l=new F(this,o+"CloudfrontDistro",m);if(i?.route53Handling===Y.Update&&i?.cloudFrontDomainNames?.length)for(let e=0;e<i.cloudFrontDomainNames.length;e++)new G(this,o+"DomainName-"+i.cloudFrontDomainNames[e],{recordType:V.A,recordName:i.cloudFrontDomainNames[e],target:{aliasTarget:new j(l)},zone:z.fromLookup(this,o,{domainName:X.extractApexDomain(i.cloudFrontDomainNames[e])})});new q(this,o+"SiteDeploy",{sources:i.pathsToAssets.map((e=>J.asset(R.resolve(e)))),destinationBucket:s,distribution:l,distributionPaths:["/*"]})}static extractApexDomain(e){const t=L.trimToEmpty(e).split(".");return t.length<2&&N.throwFormattedErr("Not a valid domain name : %s",e),t[t.length-2]+"."+t[t.length-1]}}export{K as EpsilonApiStack,$ as EpsilonStackUtil,X as EpsilonWebsiteStack,Y as EpsilonWebsiteStackPropsRoute53Handling,Q as RatchetEpsilonDeploymentInfo};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/build/ratchet-epsilon-deployment-info.ts","../src/deployment/cdk/epsilon-stack-util.ts","../src/deployment/cdk/epsilon-api-stack.ts","../src/deployment/cdk/epsilon-website-stack-props.ts","../src/deployment/cdk/epsilon-website-stack.ts"],"sourcesContent":[null,null,null,null,null],"names":["RatchetEpsilonDeploymentInfo","constructor","static","version","hash","branch","tag","timeBuiltISO","notes","EpsilonStackUtil","input","rval","forEach","inval","Object","keys","k","push","name","value","StringRatchet","safeString","props","backgroundLambdaSqs","backgroundLambdaSns","interApiSns","additionalPolicyStatements","concat","PolicyStatement","effect","Effect","ALLOW","actions","resources","queueArn","topicArn","ALLOW_ECS","ALLOW_ECR","ALLOW_RESTRICTED_LOGS","EpsilonApiStack","Stack","webHandler","backgroundHandler","apiDomain","scope","id","super","dockerImageAsset","DockerImageAsset","this","directory","dockerFileFolder","file","dockerFileName","dockerImageCode","DockerImageCode","fromImageAsset","notificationTopic","Topic","workQueue","Queue","fifo","retentionPeriod","Duration","hours","visibilityTimeout","minutes","contentBasedDeduplication","interApiGenericEventTopic","epsilonEnv","EPSILON_AWS_REGION","of","region","EPSILON_AWS_AVAILABILITY_ZONES","JSON","stringify","availabilityZones","EPSILON_BACKGROUND_SQS_QUEUE_URL","queueUrl","EPSILON_BACKGROUND_SNS_TOPIC_ARN","EPSILON_INTER_API_EVENT_TOPIC_ARN","EPSILON_LIB_BUILD_HASH","buildInformation","EPSILON_LIB_BUILD_TIME","EPSILON_LIB_BUILD_BRANCH_OR_TAG","EPSILON_LIB_BUILD_VERSION","env","assign","extraEnvironmentalVars","ecsRole","Role","assumedBy","ServicePrincipal","inlinePolicies","root","PolicyDocument","statements","ECS_POLICY_STATEMENTS","ecsInstanceProfile","CfnInstanceProfile","path","roles","roleName","jobRole","managedPolicies","ManagedPolicy","fromAwsManagedPolicyName","createDefaultPolicyStatementList","compEnvProps","replaceComputeEnvironment","computeResources","minvCpus","maxvCpus","instanceTypes","instanceRole","attrArn","ec2KeyPair","batchInstancesEc2KeyPairName","type","subnets","vpcSubnetIds","map","s","securityGroupIds","lambdaSecurityGroupIds","allocationStrategy","serviceRole","account","state","batchJobQueueProps","priority","computeEnvironmentOrder","computeEnvironment","CfnComputeEnvironment","attrComputeEnvironmentArn","order","tags","tagsKey","batchJobQueue","CfnJobQueue","batchEnvVars","toEnvironmentVariables","EPSILON_RUNNING_IN_AWS_BATCH","jobProps","platformCapabilities","containerProperties","mountPoints","volumes","memory","privileged","jobRoleArn","roleArn","readonlyRootFilesystem","vcpus","image","imageUri","command","environment","jobDef","CfnJobDefinition","lambdaRole","ref","DockerImageFunction","retryAttempts","memorySize","webMemorySizeMb","ephemeralStorageSize","Size","mebibytes","timeout","seconds","webTimeoutSeconds","code","role","webLambdaPingMinutes","Rule","schedule","Schedule","rate","Math","ceil","addTarget","LambdaFunction","fnUrl","addFunctionUrl","authType","FunctionUrlAuthType","NONE","cors","allowedOrigins","allowedHeaders","allowedMethods","HttpMethod","ALL","allowCredentials","backgroundMemorySizeMb","backgroundTimeoutSeconds","addSubscription","LambdaSubscription","Lazy","uncachedString","produce","context","resolve","url","EpsilonWebsiteStackPropsRoute53Handling","EpsilonWebsiteStack","originAccessId","OriginAccessIdentity","websiteBucket","Bucket","bucketName","targetBucketName","versioned","publicReadAccess","encryption","BucketEncryption","S3_MANAGED","extraBucketAndSource","simpleAdditionalMappings","eb","nextBucket","bucket","sourceConfig","s3OriginSource","s3BucketSource","originAccessIdentity","behaviors","pathPattern","isDefaultBehavior","compress","defaultTtl","minTtl","maxTtl","forwardedValues","queryString","assetSource","apiSource","customOriginSource","domainName","apiDomainName","originProtocolPolicy","OriginProtocolPolicy","HTTPS_ONLY","cookies","forward","whitelistedNames","headers","CloudFrontAllowedMethods","cachedMethods","CloudFrontAllowedCachedMethods","GET_HEAD","distributionProps","httpVersion","HttpVersion","HTTP2","defaultRootObject","originConfigs","errorConfigurations","errorCode","errorCachingMinTtl","responseCode","responsePagePath","priceClass","PriceClass","PRICE_CLASS_ALL","viewerProtocolPolicy","ViewerProtocolPolicy","REDIRECT_TO_HTTPS","viewerCertificate","aliases","cloudFrontDomainNames","acmCertificateArn","cloudFrontHttpsCertificateArn","sslSupportMethod","cloudfrontDistro","CloudFrontWebDistribution","route53Handling","Update","length","i","RecordSet","recordType","RecordType","A","recordName","target","aliasTarget","CloudFrontTarget","zone","HostedZone","fromLookup","extractApexDomain","BucketDeployment","sources","pathsToAssets","inPath","Source","asset","destinationBucket","distribution","distributionPaths","pieces","trimToEmpty","split","ErrorRatchet","throwFormattedErr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/build/ratchet-epsilon-deployment-info.ts","../src/deployment/cdk/epsilon-stack-util.ts","../src/deployment/cdk/epsilon-api-stack.ts","../src/deployment/cdk/epsilon-website-stack-props.ts","../src/deployment/cdk/epsilon-website-stack.ts"],"sourcesContent":[null,null,null,null,null],"names":["RatchetEpsilonDeploymentInfo","constructor","static","version","hash","branch","tag","timeBuiltISO","notes","EpsilonStackUtil","input","rval","forEach","inval","Object","keys","k","push","name","value","StringRatchet","safeString","props","backgroundLambdaSqs","backgroundLambdaSns","interApiSns","additionalPolicyStatements","concat","PolicyStatement","effect","Effect","ALLOW","actions","resources","queueArn","topicArn","ALLOW_ECS","ALLOW_ECR","ALLOW_RESTRICTED_LOGS","EpsilonApiStack","Stack","webHandler","backgroundHandler","apiDomain","scope","id","super","dockerImageAsset","DockerImageAsset","this","directory","dockerFileFolder","file","dockerFileName","dockerImageCode","DockerImageCode","fromImageAsset","notificationTopic","Topic","workQueue","Queue","fifo","retentionPeriod","Duration","hours","visibilityTimeout","minutes","contentBasedDeduplication","interApiGenericEventTopic","epsilonEnv","EPSILON_AWS_REGION","of","region","EPSILON_AWS_AVAILABILITY_ZONES","JSON","stringify","availabilityZones","EPSILON_BACKGROUND_SQS_QUEUE_URL","queueUrl","EPSILON_BACKGROUND_SNS_TOPIC_ARN","EPSILON_INTER_API_EVENT_TOPIC_ARN","EPSILON_LIB_BUILD_HASH","buildInformation","EPSILON_LIB_BUILD_TIME","EPSILON_LIB_BUILD_BRANCH_OR_TAG","EPSILON_LIB_BUILD_VERSION","env","assign","extraEnvironmentalVars","Role","assumedBy","ServicePrincipal","inlinePolicies","root","PolicyDocument","statements","ECS_POLICY_STATEMENTS","jobRole","managedPolicies","ManagedPolicy","fromAwsManagedPolicyName","createDefaultPolicyStatementList","subnetSelection","subnets","vpcSubnetIds","map","subnetId","index","Subnet","fromSubnetId","compEnvProps","vpc","Vpc","fromLookup","vpcId","computeEnvironmentName","enabled","maxvCpus","replaceComputeEnvironment","securityGroups","lambdaSecurityGroupIds","sgId","SecurityGroup","fromSecurityGroupId","serviceRole","fromRoleArn","account","spot","terminateOnUpdate","updateTimeout","updateToLatestImageVersion","vpcSubnets","compEnv","FargateComputeEnvironment","batchJobQueue","JobQueue","computeEnvironments","order","computeEnvironment","jobQueueName","priority","schedulingPolicy","undefined","batchEnvVars","toEnvironmentVariables","EPSILON_RUNNING_IN_AWS_BATCH","containerDef","cpu","image","ContainerImage","fromRegistry","imageUri","memory","Size","mebibytes","assignPublicIp","command","environment","executionRole","fargatePlatformVersion","roleArn","linuxParameters","readonlyRootFilesystem","secrets","user","volumes","fargateContainerDefinitionDef","EcsFargateContainerDefinition","jobDef","EcsJobDefinition","jobDefinitionName","retryAttempts","retryStrategies","schedulingPriority","timeout","container","lambdaRole","roleName","jobDefinitionArn","jobQueueArn","DockerImageFunction","memorySize","webMemorySizeMb","ephemeralStorageSize","seconds","webTimeoutSeconds","code","role","webLambdaPingMinutes","Rule","schedule","Schedule","rate","Math","ceil","addTarget","LambdaFunction","fnUrl","addFunctionUrl","authType","FunctionUrlAuthType","NONE","cors","allowedOrigins","allowedHeaders","allowedMethods","HttpMethod","ALL","allowCredentials","backgroundMemorySizeMb","backgroundTimeoutSeconds","addSubscription","LambdaSubscription","Lazy","uncachedString","produce","context","resolve","url","EpsilonWebsiteStackPropsRoute53Handling","EpsilonWebsiteStack","originAccessId","OriginAccessIdentity","websiteBucket","Bucket","bucketName","targetBucketName","versioned","publicReadAccess","encryption","BucketEncryption","S3_MANAGED","extraBucketAndSource","simpleAdditionalMappings","eb","nextBucket","bucket","sourceConfig","s3OriginSource","s3BucketSource","originAccessIdentity","behaviors","pathPattern","isDefaultBehavior","compress","defaultTtl","minTtl","maxTtl","forwardedValues","queryString","assetSource","apiSource","customOriginSource","domainName","apiDomainName","originProtocolPolicy","OriginProtocolPolicy","HTTPS_ONLY","cookies","forward","whitelistedNames","headers","CloudFrontAllowedMethods","cachedMethods","CloudFrontAllowedCachedMethods","GET_HEAD","distributionProps","httpVersion","HttpVersion","HTTP2","defaultRootObject","originConfigs","s","errorConfigurations","errorCode","errorCachingMinTtl","responseCode","responsePagePath","priceClass","PriceClass","PRICE_CLASS_ALL","viewerProtocolPolicy","ViewerProtocolPolicy","REDIRECT_TO_HTTPS","viewerCertificate","aliases","cloudFrontDomainNames","acmCertificateArn","cloudFrontHttpsCertificateArn","sslSupportMethod","cloudfrontDistro","CloudFrontWebDistribution","route53Handling","Update","length","i","RecordSet","recordType","RecordType","A","recordName","target","aliasTarget","CloudFrontTarget","zone","HostedZone","extractApexDomain","BucketDeployment","sources","pathsToAssets","inPath","Source","asset","path","destinationBucket","distribution","distributionPaths","pieces","trimToEmpty","split","ErrorRatchet","throwFormattedErr"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitblit/ratchet-epsilon-deployment",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.145-alpha",
|
|
4
4
|
"description": "Epsilon CDK extensions to simplify deployment",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -61,11 +61,12 @@
|
|
|
61
61
|
},
|
|
62
62
|
"license": "Apache-2.0",
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@
|
|
65
|
-
"@bitblit/ratchet-
|
|
66
|
-
"@bitblit/ratchet-
|
|
67
|
-
"
|
|
68
|
-
"
|
|
64
|
+
"@aws-cdk/aws-batch-alpha": "2.83.0-alpha.0",
|
|
65
|
+
"@bitblit/ratchet-aws": "4.0.145-alpha",
|
|
66
|
+
"@bitblit/ratchet-common": "4.0.145-alpha",
|
|
67
|
+
"@bitblit/ratchet-epsilon-common": "4.0.145-alpha",
|
|
68
|
+
"aws-cdk-lib": "2.83.0",
|
|
69
|
+
"constructs": "10.2.45"
|
|
69
70
|
},
|
|
70
71
|
"resolutions": {},
|
|
71
72
|
"peerDependencies": {},
|