Skip to content

Commit 1d41f4f

Browse files
authored
Merge pull request #1 from Syndi-Health/alternate-cloudfront-domains
Alternate cloudfront domains
2 parents 6f87650 + 65208f2 commit 1d41f4f

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

serverless.component.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
name: website
2-
version: 1.1.2
3-
org: serverlessinc
4-
description: Deploys Serverless Websites
1+
name: website-alternate-domains
2+
version: 1.0.3
3+
org: roodrallec
4+
description: Variation of Serverless Website Component for Alternate Cloudfront Domain Names
55
keywords: aws, serverless, website
6-
repo: https://github.com/serverless-components/website
6+
repo: https://github.com/Syndi-Health/website
77
license: MIT
88
src: ./src
99
types:

src/serverless.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,10 @@ class Website extends Component {
150150
outputs.domain = `https://${config.domain}`
151151
}
152152

153+
if (config.alternateDomainNames) {
154+
outputs.alternateDomainNames = config.alternateDomainNames
155+
}
156+
153157
return outputs
154158
}
155159

src/utils.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ const getConfig = (inputs, state) => {
9999
config.domainHostedZoneId = config.domain ? state.domainHostedZoneId : null
100100
config.certificateArn = state.certificateArn
101101

102+
// for alternate cloudfront CNAME domains
103+
config.alternateDomainNames = inputs.alternateDomainNames
104+
? inputs.alternateDomainNames.split(',')
105+
: null
106+
102107
// if user input example.com, make sure we also setup www.example.com
103108
if (config.domain && config.domain === config.nakedDomain) {
104109
config.domain = `www.${config.domain}`
@@ -598,6 +603,13 @@ const createCloudFrontDistribution = async (clients, config) => {
598603
distributionConfig.Aliases.Quantity = 2
599604
distributionConfig.Aliases.Items.push(config.nakedDomain)
600605
}
606+
607+
if (Array.isArray(config.alternateDomainNames)) {
608+
config.alternateDomainNames.forEach((domain) => {
609+
distributionConfig.Aliases.Quantity += 1
610+
distributionConfig.Aliases.Items.push(domain)
611+
})
612+
}
601613
}
602614

603615
try {
@@ -667,6 +679,13 @@ const updateCloudFrontDistribution = async (clients, config) => {
667679
params.DistributionConfig.Aliases.Quantity = 2
668680
params.DistributionConfig.Aliases.Items.push(config.nakedDomain)
669681
}
682+
683+
if (Array.isArray(config.alternateDomainNames)) {
684+
config.alternateDomainNames.forEach((domain) => {
685+
params.DistributionConfig.Aliases.Quantity += 1
686+
params.DistributionConfig.Aliases.Items.push(domain)
687+
})
688+
}
670689
}
671690
// 6. then finally update!
672691
const res = await clients.cf.updateDistribution(params).promise()

0 commit comments

Comments
 (0)