Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/backup.rb')
-rw-r--r--lib/backup.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/backup.rb b/lib/backup.rb
index 2712b33b4b4..91682645a9a 100644
--- a/lib/backup.rb
+++ b/lib/backup.rb
@@ -2,4 +2,43 @@
module Backup
Error = Class.new(StandardError)
+
+ class FileBackupError < Backup::Error
+ attr_reader :app_files_dir, :backup_tarball
+
+ def initialize(app_files_dir, backup_tarball)
+ @app_files_dir = app_files_dir
+ @backup_tarball = backup_tarball
+ end
+
+ def message
+ "Failed to create compressed file '#{backup_tarball}' when trying to backup the following paths: '#{app_files_dir}'"
+ end
+ end
+
+ class RepositoryBackupError < Backup::Error
+ attr_reader :container, :backup_repos_path
+
+ def initialize(container, backup_repos_path)
+ @container = container
+ @backup_repos_path = backup_repos_path
+ end
+
+ def message
+ "Failed to create compressed file '#{backup_repos_path}' when trying to backup the following paths: '#{container.disk_path}'"
+ end
+ end
+
+ class DatabaseBackupError < Backup::Error
+ attr_reader :config, :db_file_name
+
+ def initialize(config, db_file_name)
+ @config = config
+ @db_file_name = db_file_name
+ end
+
+ def message
+ "Failed to create compressed file '#{db_file_name}' when trying to backup the main database:\n - host: '#{config[:host]}'\n - port: '#{config[:port]}'\n - database: '#{config[:database]}'"
+ end
+ end
end