blob: 78cb7d72d4fcf4978283d52393be54b3a764ce2d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# frozen_string_literal: true
require 'active_record/fixtures'
namespace :gitlab do
namespace :backup do
# Create backup of GitLab system
desc 'GitLab | Backup | Create a backup of the GitLab system'
task create: :gitlab_environment do
warn_user_is_not_gitlab
Backup::Manager.new(progress).create
end
# Restore backup of GitLab system
desc 'GitLab | Backup | Restore a previously created backup'
task restore: :gitlab_environment do
warn_user_is_not_gitlab
Backup::Manager.new(progress).restore
end
namespace :repo do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('repositories')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('repositories')
end
end
namespace :db do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('db')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('db')
end
end
namespace :builds do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('builds')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('builds')
end
end
namespace :uploads do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('uploads')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('uploads')
end
end
namespace :artifacts do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('artifacts')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('artifacts')
end
end
namespace :pages do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('pages')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('pages')
end
end
namespace :lfs do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('lfs')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('lfs')
end
end
namespace :terraform_state do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('terraform_state')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('terraform_state')
end
end
namespace :registry do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('registry')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('registry')
end
end
namespace :packages do
task create: :gitlab_environment do
Backup::Manager.new(progress).run_create_task('packages')
end
task restore: :gitlab_environment do
Backup::Manager.new(progress).run_restore_task('packages')
end
end
def progress
if ENV['CRON']
# We need an object we can say 'puts' and 'print' to; let's use a
# StringIO.
require 'stringio'
StringIO.new
else
$stdout
end
end
end
# namespace end: backup
end
# namespace end: gitlab
|