Step 6 - Hosting the CDN¶
In this step we will provision hosting of CDN under the client's domain.
- All the below operations are to be performed under the terraform organization created in the step 2.
- Setting up the workspace
- Create a workspace with name
cdn
prefixed with the organization's environment type. For e.g. if env isprod
then the workspace name will beprod-cdn
. - Choose
/cdn
in theterraform
github repository for version control with default branch pointing tomaster
. - Configure the following variables for the workspace
cdn_domains
- (HCL) client's domain on which CDN is hosted. Replace<domain>
with the client's domain. if domain iscdn.example.com
then the variable will besdk_version
- version of SDK to host
- Create a workspace with name
- Attach this workspace to the respective variable set of the organization created in Step 2.
-
Run the pipeline by Actions.
- Click on
Actions
and thenStart new run
to start a new run. - Below variables are present in the output
cdn_domains_mappings
- DNS authentication for CDN domainscdn_cloudfront_mappings
- DNS authentication to SDK domains. For e.g.
- Click on
-
The above pipeline creates a SSL/TLS certificate under the client's domain. This certificate needs to be verified via the DNS strategy.
- Client needs to create a CNAME record with the above
record_name
andrecord_value
given in the variable outputcdn_domains_mapping
as name and target respectively. - Proxy status for the CNAME record should be kept off.
- Create another CNAME record for client's domain, where the name is
domain
and target iscloudfront_endpoint
as represented in thecdn_cloudfront_mappings
. This step points the client's domain to the cloudfront endpoint.
- Client needs to create a CNAME record with the above
- Edit
dns_map_ack_success
key incdn_domains
variable totrue
once the DNS records are in place. Taking the above example - - Click on
Actions
and thenStart new run
to start a new run. - To verify the changes, hit the
/index.js
endpoint over client's endpoint. This will give your SDK hosted on CDN.