podviaznikov / confetti

A tool to help authoring static sites with AWS.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

confetti-logo-small

(alpha) A tool to help authoring static sites with AWS.

Features

  • Create all AWS resources required for ideal deployment of static sites
    • S3 Bucket, Bucket Policy, Cloudfront Distribution
  • Provide a sepatarate user & access key that can only push to the bucket
  • (optional) Setup DNS via Route 53
  • Follow AWS best practices for deploying static sites.

Usage

Currently confetti is packaged up as a boot task. This is mainly because boot makes it easy to write commandline apps in Clojure without needing to worry about bootstrapping or dependency resolution.

To get help on the command line you can run:

boot create-site --help
boot sync-bucket --help

An example to create a new stack:

boot create-site --domain "hello.martinklepsch.org"

An example to sync an S3 bucket:

boot sync-bucket --bucket "hello.martinklepsch.org"

NOTE: Both tasks require a creds option containing authorized AWS keys.

APEX Domains

Cloudfront supports APEX domains but only if you use Route53's ALIAS records. More information can be found in the official announcement.

This limitation makes it harder to automate root (APEX) domain setups thus it's currently not supported to create sites for root domains without also managing DNS with Route53.

Edge cases

  • subdomain setup with DNS but Zone for root domain exists Should work fine for cost optimization these zones could be merged however.

SSL

In the future I'd like this tool to setup SSL as well. Let's Encrypt is still in beta but as soon as this is generally available and someone wrote a usable Clojure/Java client it would be really nice to make it "dead-simeple" to deploy static sites with SSL

About

A tool to help authoring static sites with AWS.


Languages

Language:Clojure 100.0%