{"id":17404941,"url":"https://github.com/b13/azure-purge","last_synced_at":"2026-04-30T00:32:40.906Z","repository":{"id":41841013,"uuid":"510418015","full_name":"b13/azure-purge","owner":"b13","description":"TYPO3 Extension to Purge Caches in Microsoft Azure's CDN","archived":false,"fork":false,"pushed_at":"2022-07-04T15:49:39.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-19T07:19:02.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-04T15:47:48.000Z","updated_at":"2022-07-04T15:48:47.000Z","dependencies_parsed_at":"2022-08-31T17:50:33.039Z","dependency_job_id":null,"html_url":"https://github.com/b13/azure-purge","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fazure-purge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fazure-purge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fazure-purge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fazure-purge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b13","download_url":"https://codeload.github.com/b13/azure-purge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245937916,"owners_count":20696987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-16T20:05:49.155Z","updated_at":"2026-04-30T00:32:35.887Z","avatar_url":"https://github.com/b13.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microsoft Azure CDN Adapter for TYPO3\n\nWhen TYPO3 is behind an Azure's CDN Profile, this extension is a perfect companion\nfor you.\n\nThis extension hides the complexity of Azure's CDN API to purge caches.\n\n## Installation\n\nYou can install this extension by using composer:\n\n    composer req b13/azure-purge\n\n## Usage\n\nBy default, EXT:azure-purge ships with a `azure:cdnpurge` CLI command to purge a full\nCDN profile or a specific URL within the CDN profile.\n\nIt is possible to purge a single or multiple URLs\n\n    ./vendor/bin/typo3 azure:cdnpurge --url=/page1 --url=/page2\n\nor purge a whole CDN Profile\n\n    ./vendor/bin/typo3 azure:cdnpurge --profile=abcdef\n\n## Integration into TYPO3 Backend\n\nEXT:azure-purge can be used in conjunction with TYPO3's Proxy Cache Manager Extension.\n\nUsing the Azure CDN Adapter for EXT:proxycachemanager flushes page caches directly\nwhen modifying a page. This is perfect if you're dealing with Azure CDN\nthat not just caches your static assets but also your pages.\n\nFor this, ensure to set the class `\\B13\\AzurePurge\\Provider\\AzureProxyProvider` in\nthe settings of EXT:proxycachemanager.\n\n## Configuration\n\nThis extension purges CDN caches via cURL requests wrapped in the Guzzle\nAPI (bundled in TYPO3) instead of using the CLI binary `az` as requested\nby most examples.\n\nFor this reason, a OAuth Client with a `Client ID`, `Tenant ID` and a `Secret`\nmust be created within Azure Portal first.\n\nTYPO3 then creates an Access Token (oauth2/authorize), which is then\nused to purge content on the Azure CDN Profile.\n\nAzure thus requires:\n\n* Azure App ID / Client ID\n* Azure Tenant ID\n* Azure Client Secret\n\nThen:\n* Azure Subscription\n* Azure Resource Group\n* Azure CDN Profile\n* Azure CDN Endpoint\n* Optional: FrontDoor ID\n\nAll need to be provided via Environment variables:\n\n* AZURE_CLIENT_ID\n* AZURE_TENANT_ID\n* AZURE_CLIENT_SECRET\n* AZURE_SUBSCRIPTION_ID\n* AZURE_RESOURCE_GROUP\n* AZURE_CDN_PROFILE\n* AZURE_CDN_ENDPOINT\n* AZURE_FRONTDOOR\n\n\n## Support for Azure FrontDoors\n\nSee https://docs.microsoft.com/de-de/rest/api/frontdoorservice/frontdoor/endpoints/purge-content\n\nEnsure to set the environment variable `AZURE_FRONTDOOR` to the Front Door Name.\n\n### Using multiple sections / CDN endpoints in Site Configuration\n\nThis isn't implemented yet.\n\n## License\n\nThe extension is licensed under GPL v2+, same as the TYPO3 Core. For details see the LICENSE file in this repository.\n\nIcon courtesy of Microsoft Azure Icon Pack. https://docs.microsoft.com/de-de/azure/architecture/icons/\n\n## Open Issues\n\nIf you find an issue, feel free to create an issue on GitHub or a pull request.\n\n## Credits\n\nThis extension was created by [Benni Mack](https://github.com/bmack) in 2022 for [b13 GmbH](https://b13.com).\n\n[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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fazure-purge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb13%2Fazure-purge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fazure-purge/lists"}