Files
api/services/nginx/app/interfaces/minio_backups_i.php
T

102 lines
3.0 KiB
PHP

<?php
namespace interfaces;
use Exception;
interface minio_backups_i
{
/**
* Check if a backup exists in the Minio bucket
* @param string $backup_uuid
* @return bool
*/
public function backup_exists(string $backup_uuid): bool;
/**
* Get the download URL for a backup
* @param string $backup_uuid
* @return string
*/
public function getBackupDownloadUrl(string $backup_uuid): string;
/**
* Download a backup from the Minio bucket
* @param string $backup_uuid
* @return string The path to the downloaded file
*/
public function download(string $backup_uuid): string;
/**
* Create a backup, upload it to the Minio bucket and return the UUID
* @return string The UUID of the backup
*/
public function createBackup($backup_name = null, $backup_description = null): string;
/**
* Create the metadata for a backup
* @param string $backup_uuid
* @param string $backup_name
* @param string $backup_description
* @return void
*/
public function createBackupMetadata(string $backup_uuid, string $backup_name, string $backup_description): void;
/**
* Get the metadata for a backup
* @param string $backup_uuid
* @return array
*/
public function getBackupMetadata(string $backup_uuid): array;
/**
* List all backups in the Minio bucket, from the metadata stored in the bucket
* @return array
*/
public function listBackups(): array;
/**
* Generate backup file, this is a helper function for createBackup
* @return string The path to the backup file
* @throws Exception if the backup file could not be created
*/
public function generateBackupFile(): string;
/**
* Clean up backup files, this is a helper function for createBackup
* This removes all local backup files, to prevent the disk from filling up.
* @param string $backup_uuid
* @return void
*/
public function cleanupBackupFile(string $backup_uuid): void;
/**
* Backup the database, this is a helper function for generateBackupFile
* @param string $backup_uuid
* @return string The path to the backup file
*/
public function backupDatabase(string $backup_uuid): string;
/**
* Validate the bucket, this is a helper function.
* Checks if the buckets /metadata and /backups exist, and creates them if they don't.
* @return void
*/
public function validateBucket(): void;
/**
* Backup server files, this is a helper function for generateBackupFile
* @param string $backup_uuid
* @return string The path to the backup file
*/
public function backupServerFiles(string $backup_uuid): string;
/**
* Backup the environment variables, this is a helper function for generateBackupFile
* @param string $backup_uuid
* @return string The path to the backup file
*/
public function backupEnvironmentVariables(string $backup_uuid): string;
}