feat(backups): add scheduled persistent volume backups

This commit is contained in:
Andras Bacsai
2026-07-15 15:47:57 +02:00
parent 05dc2c65f6
commit 63961e0799
36 changed files with 3506 additions and 31 deletions
+15
View File
@@ -69,6 +69,16 @@ class S3Storage extends BaseModel
'save_s3' => false,
's3_storage_id' => null,
]);
$volumeBackupIds = ScheduledVolumeBackup::where('s3_storage_id', $storage->id)->pluck('id');
ScheduledVolumeBackupExecution::whereIn('scheduled_volume_backup_id', $volumeBackupIds)
->update([
's3_storage_deleted' => true,
's3_cleanup_pending' => false,
]);
ScheduledVolumeBackup::whereKey($volumeBackupIds)->update([
'save_s3' => false,
's3_storage_id' => null,
]);
});
}
@@ -101,6 +111,11 @@ class S3Storage extends BaseModel
return $this->hasMany(ScheduledDatabaseBackup::class, 's3_storage_id');
}
public function scheduledVolumeBackups()
{
return $this->hasMany(ScheduledVolumeBackup::class, 's3_storage_id');
}
public function awsUrl()
{
return "{$this->endpoint}/{$this->bucket}";