Skip to main content

@aws-prototyping-sdk/static-website

Project description

The static-website module is able to deploy your pre-packaged static website content into an S3 Bucket, fronted by Cloudfront. This module uses an Origin Access Identity to ensure your Bucket can only be accessed via Cloudfront and is configured to only allow HTTPS requests by default. Custom runtime configurations can also be specified which will emit a runtime-config.json file along with your website content. Typically this includes resource Arns, Id's etc which may need to be referenced from your website. This package uses sane defaults and at a minimum only requires the path to your website assets.

Below is a conceptual view of the default architecture this module creates:

Cloudfront Distribution (HTTPS only) -> S3 Bucket (Private via OAI)
|_ WAF V2 ACL                                |_ index.html (+ other website files and assets)
                                             |_ runtime-config.json

A typical use case is to create a static website with AuthN. To accomplish this, we can leverage the UserIdentity to create the User Pool (Cognito by default) and Identity Pool. We can then pipe the respective pool id's as runtimeOptions into the StaticWebsite. After the website is deployed, these values can be interrogated from the runtime-config.json deployed alongside the website in order to perform authentication within the app using something like the Amplify Auth API.

const userIdentity = new UserIdentity(this, 'UserIdentity');
new StaticWebsite(this, 'StaticWebsite', {
    websiteContentPath: '<relative>/<path>/<to>/<built>/<website>',
    runtimeOptions: {
        jsonPayload: {
            identityPoolId: userIdentity.identityPool.identityPoolId,
            userPoolId: userIdentity.userPool?.userPoolId,
            userPoolClientId: userIdentity.userPoolClient?.userPoolClientId,
        },
    },
});

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

aws_prototyping_sdk.static_website-0.2.6.tar.gz (63.4 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file aws_prototyping_sdk.static_website-0.2.6.tar.gz.

File metadata

File hashes

Hashes for aws_prototyping_sdk.static_website-0.2.6.tar.gz
Algorithm Hash digest
SHA256 58c15490bb7d5c88dded8e07540d449d43acc941a60dda58a09284cd9625683a
MD5 5c710d064a3840ebf5244759d61b14f2
BLAKE2b-256 130f92e5de675352e1c80aeb49925efcc1d338e8e9d8526cc48cd76e21928d46

See more details on using hashes here.

File details

Details for the file aws_prototyping_sdk.static_website-0.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for aws_prototyping_sdk.static_website-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 655f09c926d30fe08e2a3a60036e8f13d4aef14add14bd1ed1a99453130c9f8a
MD5 b0fa0972f3aa4d325700a02ae1a6a9f8
BLAKE2b-256 3ca93f74be0df53ddff99ca27862c945c724ad78d1e33e005dc62b1203f9aba2

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