Skip to main content

An Azure CDN or Front Door backend for Wagtail’s front-end cache invalidator.

This module requires azure-mgmt-cdn as minimum to work properly with Azure CDN.

This module requires azure-mgmt-frontdoor as minimum to work properly with Azure Front Door.

Installation

pip install wagtail-azure-cdn

You can also install with dependencies. For Azure CDN support:

pip install wagtail-azure-cdn[cdn]

Or for Front Door support:

pip install wagtail-azure-cdn[frontdoor]

Or for both:

pip install wagtail-azure-cdn[cdn,frontdoor]

Configuration for Azure CDN

Add the following settings to your Wagtail project.

from azure.common.credentials import get_azure_cli_credentials

WAGTAILFRONTENDCACHE = {
    "default": {
        "BACKEND": "wagtail_azure_cdn.backends.AzureCdnBackend",
        "RESOURCE_GROUP_NAME": "Your resource group name",
        "CDN_PROFILE_NAME": "Your CDN profile name",
        "SUBSCRIPTION_ID": "Your subscription ID",
        "CDN_ENDPOINT_NAME": "Your endpoint name",
        "CREDENTIALS": get_azure_cli_credentials()[0]
    }
}
  • RESOURCE_GROUP_NAME, CDN_PROFILE_NAME, SUBSCRIPTION_ID and CDN_ENDPOINT_NAME can be all obtained from the Azure portal.

  • CREDENTIALS is Azure credentials objects. They may be a callable to. See the documentation for the details.

Multiple sites

You can set settings for multiple hosts using the SITES setting , for example:

from azure.common.credentials import get_azure_cli_credentials

WAGTAILFRONTENDCACHE = {
    "default": {
        "BACKEND": "wagtail_azure_cdn.backends.AzureCdnBackend",
        "SITES": {
            "torchbox.com": {
                "RESOURCE_GROUP_NAME": "Your resource group name",
                "CDN_PROFILE_NAME": "Your CDN profile name",
                "SUBSCRIPTION_ID": "Your subscription ID",
                "CDN_ENDPOINT_NAME": "Your endpoint name",
                "CREDENTIALS": get_azure_cli_credentials()[0],
            },
        },
    },
}

Settings set at the top level will be used if there’s no settings for a site. E.g. you can do this:

from azure.common.credentials import get_azure_cli_credentials

WAGTAILFRONTENDCACHE = {
    "default": {
        "BACKEND": "wagtail_azure_cdn.backends.AzureCdnBackend",
        "RESOURCE_GROUP_NAME": "Your resource group name",
        "CDN_PROFILE_NAME": "Your CDN profile name",
        "SUBSCRIPTION_ID": "Your subscription ID",
        "SITES": {
            "torchbox.com": {
                "CDN_ENDPOINT_NAME": "Your endpoint name",
                "CREDENTIALS": get_azure_cli_credentials()[0]
            },

            "jobs.torchbox.com": {
                "CDN_ENDPOINT_NAME": "Your endpoint name",
                "CREDENTIALS": get_azure_cli_credentials()[0]
            },
        },
    },
}

Configuration for Azure Front Door

Add the following settings to your Wagtail project.

from azure.common.credentials import get_azure_cli_credentials

WAGTAILFRONTENDCACHE = {
    "default": {
        "BACKEND": "wagtail_azure_cdn.backends.AzureFrontDoorBackend",
        "RESOURCE_GROUP_NAME": "Your resource group name",
        "FRONTDOOR_NAME": "Your Front Door name",
        "SUBSCRIPTION_ID": "Your subscription ID",
        "CREDENTIALS": get_azure_cli_credentials()[0]
    }
}
  • RESOURCE_GROUP_NAME, FRONTDOOR_NAME and SUBSCRIPTION_ID can be all obtained from the Azure portal.

  • CREDENTIALS is Azure credentials objects. They may be a callable to. See the documentation for the details.

Multi-site configuration

The multi-site configuration works the same for the Front Door, just use SITES.

from azure.common.credentials import get_azure_cli_credentials

WAGTAILFRONTENDCACHE = {
    "default": {
        "BACKEND": "wagtail_azure_cdn.backends.AzureFrontDoorBackend",
        "SITES": {
            "torchbox.com": {
                "RESOURCE_GROUP_NAME": "Your resource group name",
                "FRONTDOOR_NAME": "Your Front Door name",
                "SUBSCRIPTION_ID": "Your subscription ID",
                "CREDENTIALS": get_azure_cli_credentials()[0],
            },
        },
    },
}

Download files

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

Source Distribution

wagtail-azure-cdn-0.3.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

wagtail_azure_cdn-0.3-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file wagtail-azure-cdn-0.3.tar.gz.

File metadata

  • Download URL: wagtail-azure-cdn-0.3.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for wagtail-azure-cdn-0.3.tar.gz
Algorithm Hash digest
SHA256 3cbd30bd72b4fba0778a5f5bbf1fbc82c262ec7dcc56535188f8579f3b3866d8
MD5 f51e4a40e4b96caba094c105ef5e7b99
BLAKE2b-256 016aa7d82455808117f08192c50e6201fd748e0b7b46d27fca4985d07957ff58

See more details on using hashes here.

File details

Details for the file wagtail_azure_cdn-0.3-py3-none-any.whl.

File metadata

  • Download URL: wagtail_azure_cdn-0.3-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for wagtail_azure_cdn-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bd645eeebae8287c86e1f16e6e67636f52d1aa55bd321142166038f1a5458074
MD5 4b98d91312f104f0a7983ad0b80fa0ea
BLAKE2b-256 f50475b6cf3c73715084ef77007f69f16da3d16105c75ba5e3c3e4c9f3565ad6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3 This release

2 files

Supported by

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