Skip to main content

Static website using Azure Blob Storage and CDN

An example of a static website hosted on Azure Blob Storage + Azure CDN.

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set azure-ts-static-website
cd pulumi-examples/azure-ts-static-website

Based on https://github.com/zemien/static-website-ARM-template

This example configures Static website hosting in Azure Storage.

In addition to the Storage itself, a CDN is configured to serve files from the Blob container origin. This may be useful if you need to serve files via HTTPS from a custom domain (not shown in the example).

Prerequisites#

  1. Install Pulumi
  2. Configure Azure credentials
  3. Install Node.js

Deploying the example#

  1. Create a new stack:

    Terminal window
    pulumi stack init dev
  2. Log in to the Azure CLI (you will be prompted to do this during deployment if you forget this step):

    Terminal window
    az login
  3. Set the Azure region to deploy into:

    Terminal window
    pulumi config set azure-native:location westus
  4. Install dependencies:

    Terminal window
    npm install
  5. Run pulumi up to preview and deploy changes:

    Terminal window
    pulumi up
    Updating (dev):
    ...
    Resources:
    + 9 created
    Duration: 2m52s
  6. Check the deployed website endpoint:

    Terminal window
    pulumi stack output staticEndpoint
    curl "$(pulumi stack output staticEndpoint)"
    https://websitesbc90978a1.z20.web.core.windows.net/
    <html>
    <body>
    <h1>This file is served from Blob Storage (courtesy of Pulumi!)</h1>
    </body>
    </html>

Cleaning up#

Once you are done, you can destroy all of the resources, and the stack:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.