Skip to content

Commit

Permalink
Upgrade infrastructure to cdk 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
miensol committed Feb 7, 2023
1 parent aa53b13 commit 7fc64d7
Show file tree
Hide file tree
Showing 8 changed files with 828 additions and 17,355 deletions.
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v12.2.0
v16
4 changes: 2 additions & 2 deletions infrastructure/bin/app.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#!/usr/bin/env node
import 'source-map-support/register'
import * as cdk from '@aws-cdk/core'
import * as cdk from 'aws-cdk-lib'
import { Website } from '../lib/website'
import { CloudFrontCertificates } from '../lib/cloud-front-certificates'
import { Tag, Tags } from '@aws-cdk/core'
import { Tag, Tags } from 'aws-cdk-lib'

const app = new cdk.App()

Expand Down
2 changes: 0 additions & 2 deletions infrastructure/cdk.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@
"app": "npx ts-node --prefer-ts-exts bin/app.ts",
"context": {
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true,
"@aws-cdk/core:enableStackNameDuplicates": "true",
"aws-cdk:enableDiffNoFail": "true",
"@aws-cdk/core:stackRelativeExports": "true",
"@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true,
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true,
"@aws-cdk/aws-kms:defaultKeyPolicies": true,
"@aws-cdk/aws-s3:grantWriteWithoutAcl": true,
"@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": true,
"@aws-cdk/aws-rds:lowercaseDbIdentifier": true,
"@aws-cdk/aws-efs:defaultEncryptionAtRest": true
Expand Down
11 changes: 6 additions & 5 deletions infrastructure/lib/cloud-front-certificates.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as cdk from '@aws-cdk/core'
import { CfnOutput, Construct } from '@aws-cdk/core'
import { Certificate, ValidationMethod } from '@aws-cdk/aws-certificatemanager'
import * as cdk from 'aws-cdk-lib'
import { Construct } from 'constructs'
import { CfnOutput } from 'aws-cdk-lib'
import { Certificate, CertificateValidation } from 'aws-cdk-lib/aws-certificatemanager'
import { productionDomainNames, stagingDomainNames } from './domain-names'

export class CloudFrontCertificates extends cdk.Stack {
Expand All @@ -10,11 +11,11 @@ export class CloudFrontCertificates extends cdk.Stack {
const certificate = new Certificate(this, 'CustomDomainCertificate', {
domainName: domainNames[0],
subjectAlternativeNames: domainNames.filter((_, ix) => ix > 0),
validationMethod: ValidationMethod.DNS
validation: CertificateValidation.fromDns(),
})

new CfnOutput(this, 'CertificateArn', {
value: certificate.certificateArn
value: certificate.certificateArn,
})
}
}
27 changes: 13 additions & 14 deletions infrastructure/lib/website.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
import * as cdk from '@aws-cdk/core'
import { Arn, CfnOutput, Duration, RemovalPolicy } from '@aws-cdk/core'
import { Bucket } from '@aws-cdk/aws-s3'
import * as cdk from 'aws-cdk-lib'
import { Arn, CfnOutput, Duration, RemovalPolicy } from 'aws-cdk-lib'
import { Bucket } from 'aws-cdk-lib/aws-s3'
import {
CloudFrontWebDistribution,
OriginAccessIdentity,
OriginProtocolPolicy,
ViewerCertificate
} from '@aws-cdk/aws-cloudfront'
import { Effect, PolicyStatement, User } from '@aws-cdk/aws-iam'
} from 'aws-cdk-lib/aws-cloudfront'
import { Effect, PolicyStatement, User } from 'aws-cdk-lib/aws-iam'
import { productionDomainNames, stagingDomainNames } from './domain-names'
import { Certificate } from '@aws-cdk/aws-certificatemanager'
import { NodejsFunction } from '@aws-cdk/aws-lambda-nodejs'
import { Certificate } from 'aws-cdk-lib/aws-certificatemanager'
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'
import { join as pathJoin } from 'path'
import { Runtime } from '@aws-cdk/aws-lambda'
import { Schedule } from '@aws-cdk/aws-events/lib/schedule'
import { Rule } from '@aws-cdk/aws-events'
import { LambdaFunction } from '@aws-cdk/aws-events-targets'
import { Runtime } from 'aws-cdk-lib/aws-lambda'
import { Schedule } from 'aws-cdk-lib/aws-events'
import { Rule } from 'aws-cdk-lib/aws-events'
import { LambdaFunction } from 'aws-cdk-lib/aws-events-targets'
import { Construct } from 'constructs'

interface WebsiteProps {
certificateArn: string
prefix?: string
}

export class Website extends cdk.Stack {
constructor(scope: cdk.Construct, props: WebsiteProps) {
constructor(scope: Construct, props: WebsiteProps) {
super(scope, 'BrightInventionsPl')

const originAccessIdentity = new OriginAccessIdentity(this, 'cloudfront access')
Expand Down Expand Up @@ -131,8 +132,6 @@ export class Website extends cdk.Stack {
},
})

stagingWebDistribution.node.addDependency(productionWebDistribution)

const scheduleRate = Duration.days(1)

const notifyOn404 = new NodejsFunction(this, 'notify-on-404', {
Expand Down
Loading

0 comments on commit 7fc64d7

Please sign in to comment.