Skip to main content

Domain with certificate

Project description



Alma CDK Domain

npm i -D @alma-cdk/domain

Simplifies creation of subdomain with a TLS certificate and configuration with services like AWS CloudFront.



🚧   Project Stability

experimental

This construct is still versioned with v0 major version and breaking changes might be introduced if necessary (without a major version bump), though we aim to keep the API as stable as possible (even within v0 development). We aim to publish v1.0.0 soon and after that breaking changes will be introduced via major version bumps.


Getting Started

import { Domain } from '@alma-cdk/domain';
import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
const domain = new Domain(this, 'Domain', {
  zone: 'example.com', // retrieve the zone via lookup, or provide IHostedZone
  subdomain: 'foobar', // optional subdomain
});

const distribution = new cloudfront.Distribution(this, 'Distribution', {
  /* other cloudfront configuration values removed for brevity */

  certificate: domain.certificate, // reference to created ICertificate
  domainNames: [domain.fqdn], // foobar.example.com
  enableIpv6: domain.enableIpv6, // true by default  set enableIpv6 prop to false during new Domain()
})

// assign CloudFront distribution to given fqdn with A + AAAA records
domain.addTarget(new targets.CloudFrontTarget(distribution))

CloudFront helper

Instead of assigning certificate, domainNames and enableIpv6 properties individually, you may choose to use the one-liner helper utility method configureCloudFront() to set all three values at once – don't forget to use ... object spread syntax:

const distribution = new cloudfront.Distribution(this, 'Distribution', {
  /* other cloudfront configuration values removed for brevity */

  // one-liner to configure certificate, domainNames and IPv6 support
  ...domain.configureCloudFront(),
})

// assign CloudFront distribution to given fqdn with A + AAAA records
domain.addTarget(new targets.CloudFrontTarget(distribution))

Note: The returned domain names configuration is domainNames: [domain.fqdn], meaning this only works in scenarios where your CloudFront distribution has only single domain name.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alma-cdk.domain-0.0.12.tar.gz (70.7 kB view details)

Uploaded Source

Built Distribution

alma_cdk.domain-0.0.12-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file alma-cdk.domain-0.0.12.tar.gz.

File metadata

  • Download URL: alma-cdk.domain-0.0.12.tar.gz
  • Upload date:
  • Size: 70.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for alma-cdk.domain-0.0.12.tar.gz
Algorithm Hash digest
SHA256 c52e4e48c5b5a2e5991820c539cd9eabf6ec611eeca00b41b2320520a3db97de
MD5 732744700f96e8c6e46ff98c0a205d26
BLAKE2b-256 94b4dc4f8dfcb6ffabbfa7ecb081a0f5afe19e8d2627d372ded30d0535f4ca57

See more details on using hashes here.

File details

Details for the file alma_cdk.domain-0.0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for alma_cdk.domain-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 338f28a2cdba7a6b080f9f02f1edf5b264e7df10f5ff674fedea4f6fb4e2edae
MD5 26eb1777e9a92101595f6473476047cb
BLAKE2b-256 939e9cda7000022d8599850d1f0dfaed961a67bed55ae3d2929fd1cc038d39eb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page