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.14.tar.gz (70.7 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: alma-cdk.domain-0.0.14.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.14.tar.gz
Algorithm Hash digest
SHA256 33b1df41537961abf2e95461ff5aa426767de1ebe88c40644af36310747c9841
MD5 daf54552d2771684e2829d495f65a047
BLAKE2b-256 cfd8702ce56fcac1516d704a45a3e9208e2f54491eb02b41066970d08a51b1c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for alma_cdk.domain-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 b3aad429af683668633618adfce0202be8091399d959f9e6a978a43d5faacf35
MD5 cd58c37727710d5f4e53c0338d788e43
BLAKE2b-256 6c7e4fcc2d8198a6cc8ff3d0fcab5d66b4e634d650cd2d8e5c089f996ce9775c

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