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

Uploaded Source

Built Distribution

alma_cdk.domain-0.0.10-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: alma-cdk.domain-0.0.10.tar.gz
  • Upload date:
  • Size: 69.1 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.10.tar.gz
Algorithm Hash digest
SHA256 c0bb49ce2aa26920a98c49b855fce676a32955187e9de62fd19bfcc4873c78bf
MD5 2a22e5c44b89442580fa4da5960271f1
BLAKE2b-256 992755926231a00e585d9fc14ed45cdc8140e6c89dcddab910268fc40b829281

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for alma_cdk.domain-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1383836d1aefb69cd51d40ef4be175feb6e1d64a7851d5ce57d6dd31590f3db7
MD5 99145f24ab2927de0f5f5e8dde7bdb29
BLAKE2b-256 7bc41a0d17342959a6b8a4f7666775a9609b8104696464835409c9903e402e07

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