https://github.com/b13/azure-purge
TYPO3 Extension to Purge Caches in Microsoft Azure's CDN
https://github.com/b13/azure-purge
Last synced: 2 months ago
JSON representation
TYPO3 Extension to Purge Caches in Microsoft Azure's CDN
- Host: GitHub
- URL: https://github.com/b13/azure-purge
- Owner: b13
- License: gpl-2.0
- Created: 2022-07-04T15:47:48.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-04T15:49:39.000Z (about 4 years ago)
- Last Synced: 2025-03-19T07:19:02.840Z (over 1 year ago)
- Language: PHP
- Size: 13.7 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Microsoft Azure CDN Adapter for TYPO3
When TYPO3 is behind an Azure's CDN Profile, this extension is a perfect companion
for you.
This extension hides the complexity of Azure's CDN API to purge caches.
## Installation
You can install this extension by using composer:
composer req b13/azure-purge
## Usage
By default, EXT:azure-purge ships with a `azure:cdnpurge` CLI command to purge a full
CDN profile or a specific URL within the CDN profile.
It is possible to purge a single or multiple URLs
./vendor/bin/typo3 azure:cdnpurge --url=/page1 --url=/page2
or purge a whole CDN Profile
./vendor/bin/typo3 azure:cdnpurge --profile=abcdef
## Integration into TYPO3 Backend
EXT:azure-purge can be used in conjunction with TYPO3's Proxy Cache Manager Extension.
Using the Azure CDN Adapter for EXT:proxycachemanager flushes page caches directly
when modifying a page. This is perfect if you're dealing with Azure CDN
that not just caches your static assets but also your pages.
For this, ensure to set the class `\B13\AzurePurge\Provider\AzureProxyProvider` in
the settings of EXT:proxycachemanager.
## Configuration
This extension purges CDN caches via cURL requests wrapped in the Guzzle
API (bundled in TYPO3) instead of using the CLI binary `az` as requested
by most examples.
For this reason, a OAuth Client with a `Client ID`, `Tenant ID` and a `Secret`
must be created within Azure Portal first.
TYPO3 then creates an Access Token (oauth2/authorize), which is then
used to purge content on the Azure CDN Profile.
Azure thus requires:
* Azure App ID / Client ID
* Azure Tenant ID
* Azure Client Secret
Then:
* Azure Subscription
* Azure Resource Group
* Azure CDN Profile
* Azure CDN Endpoint
* Optional: FrontDoor ID
All need to be provided via Environment variables:
* AZURE_CLIENT_ID
* AZURE_TENANT_ID
* AZURE_CLIENT_SECRET
* AZURE_SUBSCRIPTION_ID
* AZURE_RESOURCE_GROUP
* AZURE_CDN_PROFILE
* AZURE_CDN_ENDPOINT
* AZURE_FRONTDOOR
## Support for Azure FrontDoors
See https://docs.microsoft.com/de-de/rest/api/frontdoorservice/frontdoor/endpoints/purge-content
Ensure to set the environment variable `AZURE_FRONTDOOR` to the Front Door Name.
### Using multiple sections / CDN endpoints in Site Configuration
This isn't implemented yet.
## License
The extension is licensed under GPL v2+, same as the TYPO3 Core. For details see the LICENSE file in this repository.
Icon courtesy of Microsoft Azure Icon Pack. https://docs.microsoft.com/de-de/azure/architecture/icons/
## Open Issues
If you find an issue, feel free to create an issue on GitHub or a pull request.
## Credits
This extension was created by [Benni Mack](https://github.com/bmack) in 2022 for [b13 GmbH](https://b13.com).
[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you) that help us deliver value in client projects. As part of the way we work, we focus on testing and best practices to ensure long-term performance, reliability, and results in all our code.