jorisnoo / statamic-bunny-purge
Automatically purge Bunny CDN cache when Statamic content changes.
Fund package maintenance!
Requires
- php: ^8.3
- illuminate/contracts: ^12.6
- spatie/laravel-package-tools: ^1.16
- statamic/cms: ^5.0 || ^6.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^10.0.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- spatie/laravel-ray: ^1.35
README
Automatically purge your CDN cache when Statamic content changes. Works with Bunny CDN out of the box, but supports any CDN with a purge API.
Installation
You can install the package via composer:
composer require jorisnoo/statamic-bunny-purge
Add your API key to .env:
CDN_PURGE_API_KEY=your-bunny-api-key
That's it — Bunny CDN is the default and works without any further configuration.
Configuration
You can publish the config file with:
php artisan vendor:publish --tag="statamic-bunny-purge"
This is the contents of the published config file:
return [ 'api_url' => env('CDN_PURGE_API_URL', 'https://api.bunny.net/purge'), 'api_key' => env('CDN_PURGE_API_KEY'), 'auth_type' => env('CDN_PURGE_AUTH_TYPE', 'access_key'), ];
| Key | Description | Default |
|---|---|---|
api_url |
The CDN purge API endpoint | https://api.bunny.net/purge |
api_key |
Your CDN API key | — |
auth_type |
Auth header style: access_key or bearer |
access_key |
Using a custom CDN
Override the API URL and auth type to point at any CDN purge endpoint:
CDN_PURGE_API_URL=https://cdn.example.com/api/cache/purge CDN_PURGE_API_KEY=your-api-key CDN_PURGE_AUTH_TYPE=bearer
Usage
The package works automatically. It listens to Statamic's URL invalidation events and purges the corresponding URLs from your CDN cache whenever content changes.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.