eazybright / status-page
Status page for your laravel application
Installs: 7 271
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- spatie/laravel-package-tools: ^1.14.0
- symfony/process: ^6.2
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
This package is auto-updated.
Last update: 2024-12-13 20:44:45 UTC
README
How do you tell if your laravel application is up and running or if there's a downtime? StatusPage helps you communicate realtime status of your application.
Installation
You can install the package via composer:
composer require eazybright/status-page
You can publish the public assets with:
php artisan vendor:publish --tag="status-page-assets"
The asset files will be available in public/vendor/status-page
directory
You can publish the config file with:
php artisan vendor:publish --tag="status-page-config"
This is the contents of the published config file:
return [ /** * Specify the location of the logo */ 'logo' => 'vendor/status-page/img/STATUSPAGE.png', ];
Optionally, you can publish the views using
php artisan vendor:publish --tag="status-page-views"
Usage
Before the you can view the status page, some actions needs to be performed.
- Copy the bash script to root folder,
health-check.sh
file will be generated.
php artisan status-page:copy-script
- Crawl the routes in the application. This creates
urls.cfg
file in the public folder. This is where the available urls will be saved to.
php artisan status-page:generate-route
Optionally, you can include your urls to urls.cfg
file.
Google https://google.com GET Statsig https://statsig.com GET
- Create the status page view.
php artisan status-page:create
Your view is available at localhost:8000/status-page
- To automate
step 3
, you can schedule the artisan commandphp artisan status-page:create
to run independently insideapp\Console\kernel.php
file.
// ... /** * Define the application's command schedule. * * @param Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { // ... $schedule->command('status-page:create')->hourly(); }
How does it work?
The script (health-check.sh
) runs curl
on every url in your config (urls.cfg
) and appends the result of that run to a log file (public/vendor/status-page/logs
). This log is then pulled dynamically from status.blade.php
file and displayed in a easily consumable fashion.
Testing
composer test
Contributing
Send in a PR - I'd love to integrate your ideas.
Credits
License
The MIT License (MIT). Please see License File for more information.