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

Uploaded Source

Built Distribution

alma_cdk.domain-0.0.9-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for alma-cdk.domain-0.0.9.tar.gz
Algorithm Hash digest
SHA256 7f3af469493f73ee6d2a23fe82b45d3b2be900693f059cdd09ec0b03bbca78a2
MD5 a9d2198cbbd0a58f023f706555017cb9
BLAKE2b-256 9fc0fe0c41a152257aa9fbbd1c26821f1cd5372364e8787b8b7220386e68b896

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for alma_cdk.domain-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 4046dd92c7cc442d6e7f4ae2821bb305596e5b575e2c84e3d6454f0c9f48a6ea
MD5 480c71a0dbc161c61e0ef3468292a48c
BLAKE2b-256 2f53edd856f01624a7bc09873bc44cc1c045723d9dd412c5cbc511fcb02eb891

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