Enhance MinIO handling in replication management and update legacy test bootstrap. Add MinIO replication logic, legacy setup cleanup, and include necessary tests for improved MinIO interaction and error tolerance.

This commit is contained in:
Jeppe Bundgaard
2026-05-18 14:12:03 +02:00
parent 3261ed8414
commit ab31cd6dbb
33 changed files with 2392 additions and 252 deletions
@@ -29,6 +29,7 @@ class superuser_system_status_service
$dependencies['minio']['status'] ?? 'down',
$dependencies['database']['replication']['status'] ?? 'not_configured',
$dependencies['redis']['replication']['status'] ?? 'not_configured',
$dependencies['minio']['replication']['status'] ?? 'not_configured',
];
foreach ($modules as $module) {
if (($module['enabled'] ?? false) === true) {
@@ -301,9 +302,11 @@ class superuser_system_status_service
$replicationManager = new replication_manager();
$database['replication'] = $replicationManager->dependencyReplication('database');
$redis['replication'] = $replicationManager->dependencyReplication('redis');
$minio['replication'] = $replicationManager->dependencyReplication('minio');
} catch (Throwable $throwable) {
$database['replication'] = $this->replicationStatusFallback('database', $throwable);
$redis['replication'] = $this->replicationStatusFallback('redis', $throwable);
$minio['replication'] = $this->replicationStatusFallback('minio', $throwable);
}
if (($redis['status'] ?? '') === 'down') {
@@ -526,7 +529,7 @@ class superuser_system_status_service
protected function minioBuckets(): array
{
return ['attachments', 'backups', 'invoices', 'pdfs', 'uploads', 'truckwashdev'];
return replication_manager::normalizeMinioBuckets($GLOBALS['MINIO']['buckets'] ?? ['attachments', 'backups', 'invoices', 'pdfs', 'uploads', 'truckwashdev']);
}
protected function collectModules(bool $force, array &$warnings): array