Method: Moonshot::Plugins::Backup#backup
- Defined in:
- lib/plugins/backup.rb
#backup(resources) ⇒ Object
Main worker method, creates a tarball of the given files, and uploads to an S3 bucket.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/plugins/backup.rb', line 47 def backup(resources) raise ArgumentError if resources.nil? @app_name = resources.controller.config.app_name @stack_name = resources.stack.name @target_name = render(@target_name) @target_bucket = define_bucket @parameters = resources.stack.parameters return if @target_bucket.nil? resources.ilog.start("#{log_message} in progress.") do |s| tar_out = tar(@files) zip_out = zip(tar_out) upload(zip_out) s.success("#{log_message} succeeded.") rescue StandardError => e s.failure("#{log_message} failed: #{e}") ensure tar_out&.close zip_out&.close end end |