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,23 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('enterprise_health_runs', function (Blueprint $table): void {
$table->id();
$table->foreignId('user_id')->nullable()->constrained()->nullOnDelete();
$table->string('status', 20);
$table->json('results');
$table->timestamp('ran_at');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('enterprise_health_runs');
}
};
@@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('enterprise_backups', function (Blueprint $table): void {
$table->id();
$table->foreignId('user_id')->nullable()->constrained()->nullOnDelete();
$table->string('disk');
$table->string('path');
$table->unsignedBigInteger('size')->default(0);
$table->string('status', 20)->default('completed');
$table->text('message')->nullable();
$table->timestamp('completed_at')->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('enterprise_backups');
}
};