Enterprise Services administration dashboard

* Database health checks
* Cache health checks
* Storage write and disk-space checks
* Failed queue job monitoring
* Production environment diagnostics
* Persisted health-check history
* Queue retry controls
* Scheduler execution controls
* Cache and optimisation clearing
* Backup creation and retention
* Backup deletion
* SQLite database backup support
* Backup manifests and module metadata
* Artisan health and backup commands
* Administration navigation
* Enterprise permissions
* Module registration and tests
This commit is contained in:
Mark Gregory
2026-07-24 12:14:58 +01:00
parent 2b949cb354
commit 44684c93e5
20 changed files with 456 additions and 2 deletions
@@ -0,0 +1,29 @@
<?php
namespace Modules\Enterprise\Providers;
use Illuminate\Support\ServiceProvider;
use Modules\Enterprise\Console\BackupCreateCommand;
use Modules\Enterprise\Console\BackupPruneCommand;
use Modules\Enterprise\Console\HealthCheckCommand;
use Modules\Enterprise\Services\BackupService;
use Modules\Enterprise\Services\SystemHealthService;
final class EnterpriseServiceProvider extends ServiceProvider
{
public function register(): void
{
$this->app->register(RouteServiceProvider::class);
$this->mergeConfigFrom(module_path('Enterprise', 'Config/config.php'), 'enterprise');
$this->app->singleton(SystemHealthService::class);
$this->app->singleton(BackupService::class);
}
public function boot(): void
{
$this->loadMigrationsFrom(module_path('Enterprise', 'Database/Migrations'));
$this->loadViewsFrom(module_path('Enterprise', 'Resources/views'), 'enterprise');
if ($this->app->runningInConsole()) {
$this->commands([HealthCheckCommand::class, BackupCreateCommand::class, BackupPruneCommand::class]);
}
}
}
@@ -0,0 +1,13 @@
<?php
namespace Modules\Enterprise\Providers;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Route;
final class RouteServiceProvider extends ServiceProvider
{
public function boot(): void
{
Route::middleware('web')->group(module_path('Enterprise', 'Routes/web.php'));
}
}