Skip to main content

Deploy Hugo static websites to AWS

Project description

CDK-Hugo-Deploy

This is an AWS CDK Construct for easily deploying Hugo Static websites to AWS S3 behind SSL/Cloudfront.

Usage

Before deploying, run the hugo command in your Hugo project to generate a built site in the public directory.

Typescript

import { App, Stack, StackProps } from 'aws-cdk-lib';
import { HugoDeploy } from 'cdk-hugo-deploy';

export class MyStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    new HugoDeploy(this, 'HugoDeploy', {
      publicDir: 'path/to/hugo-project/public',
      domainName: 'example.com'  // Domain you already have a hosted zone for
    });
}

Python

from constructs import Construct
from aws_cdk import Stack
from cdk_hugo_deploy import HugoDeploy

class MyStack(Stack):
    def __init__(self, scope: Construct, id: str, **kwargs):
        super().__init__(scope, id, **kwargs)

        HugoDeploy(self, "HugoDeploy",
            public_dir="path/to/hugo-project/public",
            domain_name="example.com"
        )

Prerequisites

Assumes that there is already a Route53 hosted zone for domainName that can be looked up

Why this construct?

Other constructs for deploying Single Page Applicationis (SPA) such as CDK-SPA-Deploy don't account for how Hugo handles paths that end in /.

This construct includes a Cloudfront Function to rewrite paths to ensure /path/to/page/ will request /path/to/page/index.html from the S3 Origin.

Contributing

Please open an issue with any updates/features you'd like on this

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

cdk-hugo-deploy-0.0.58.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdk_hugo_deploy-0.0.58-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file cdk-hugo-deploy-0.0.58.tar.gz.

File metadata

  • Download URL: cdk-hugo-deploy-0.0.58.tar.gz
  • Upload date:
  • Size: 32.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for cdk-hugo-deploy-0.0.58.tar.gz
Algorithm Hash digest
SHA256 33fd17908ef98d65f1c27634cd918f3a314b85aa1847a2211c595d917da481a9
MD5 075fb77720cc182a80e7b309ba17ee0c
BLAKE2b-256 f075c7e93c391a48b0bf2c5c6013b00f5e7b35b6df997a940619c1e968004209

See more details on using hashes here.

File details

Details for the file cdk_hugo_deploy-0.0.58-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_hugo_deploy-0.0.58-py3-none-any.whl
Algorithm Hash digest
SHA256 9977ab767baa4424b7d513610545737386c87ea09618c5989e3efda055e6823c
MD5 90c111a71a152c5853ccc80a5d4c3003
BLAKE2b-256 9bd426018badb5ac176585a6221d2b5bffaf7cdab4202d842d84c91ed4570a3c

See more details on using hashes here.

Supported by

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