paper-leaf / mission-control
Mission Control is the command center for your Laravel application, giving you a clear view of your site's systems, integrations, and environment. Monitor key services, inspect application details, and perform essential maintenance tasks from one convenient location.
Fund package maintenance!
Requires
- php: ^8.2
- calebporzio/sushi: ^2.5
- filament/filament: ^5.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0|^10.0|^11.0
- pestphp/pest: ^3.7|^4.0
- pestphp/pest-plugin-arch: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- pestphp/pest-plugin-livewire: ^3.0|^4.0
- spatie/laravel-ray: ^1.26
README
Mission Control is the command center for your Laravel application, giving you a clear view of your site's systems, integrations, and environment. Monitor key services, inspect application details, and perform essential maintenance tasks from one convenient location.
Installation
You can install the package via composer:
composer require paper-leaf/mission-control
Important
If you have not set up a custom theme and are using Filament Panels follow the instructions in the Filament Docs first.
After setting up a custom theme add the plugin's views to your theme css file or your app's css file if using the standalone packages.
@source '../../../../vendor/paper-leaf/mission-control/resources/**/*.blade.php';
You can publish and run the migrations with:
php artisan vendor:publish --tag="mission-control-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="mission-control-config"
Optionally, you can publish the views using
php artisan vendor:publish --tag="mission-control-views"
This is the contents of the published config file:
return [ /************************************* * FILE STORAGE *************************************/ 'file_storage' => [ // If you store your files in a specific directory within the bucket (e.g. per environment) specify that here // You can get the prefix from your URL on S3 e.g. https://ca-central-1.console.aws.amazon.com/s3/buckets/name-of-bucket?prefix=prefix-here%2F 'aws_folder_prefix' => \Illuminate\Support\Str::upper(config('app.env', 'not set')), ], /************************************* * MONITORING *************************************/ // Connects the site to the different monitoring packages that are installed (or SHOULD be installed) 'monitoring' => [ 'sentry' => [ 'label' => 'Sentry', 'link' => sprintf("https://paper-leaf-1x.sentry.io/issues?environment=%s&project=4511457401307136", config('app.env', 'not set')), 'package_type' => 'composer', 'package_name' => 'sentry/sentry-laravel', ], 'horizon' => [ 'label' => 'Horizon', 'link' => '/horizon', 'package_type' => 'composer', 'package_name' => 'laravel/horizon', 'status_function' => 'horizonStatus', ], 'health' => [ 'label' => 'Laravel Health', 'package_type' => 'composer', 'package_name' => 'spatie/laravel-health', ], 'ray' => [ 'label' => 'Ray', 'package_type' => 'composer', 'package_name' => 'spatie/laravel-ray', ], 'debugbar' => [ 'label' => 'Debugbar', 'package_type' => 'composer', 'package_name' => 'barryvdh/laravel-debugbar', 'status_function' => 'envStatus', 'param' => 'DEBUGBAR_ENABLED', ], 'wirespy' => [ 'label' => 'WireSpy', 'package_type' => 'composer', 'package_name' => 'wire-elements/wire-spy', 'status_function' => 'envStatus', 'param' => 'WIRE_SPY_ENABLED', ], // Any other packages that are managed outside of Composer can be added manually // 'atatus' => [ // 'label' => 'Atatus', // 'is_installed' => true, // 'version' => '123', // ], ], ];
Usage
Register the plugin in your panel provider to add the Mission Control dashboard to your Filament panel.
->plugin( MissionControlPlugin::make() )
Once registered, you can optionally customize how the page appears within your panel using any of the following options.
->plugin( MissionControlPlugin::make() ->pageTitle('Custom Heading') ->pageSubheading('Custom subheading content, page description') ->pageIcon('heroicon-o-custom-icon') ->pageCluster(Cluster::class) )
Credits
License
The MIT License (MIT). Please see License File for more information.