2021-03-11 19:13:27 +05:30
# frozen_string_literal: true
require 'logger'
desc " GitLab | Terraform | Migrate Terraform states to remote storage "
namespace :gitlab do
namespace :terraform_states do
task migrate : :environment do
2021-09-04 01:27:46 +05:30
logger = Logger . new ( $stdout )
2021-03-11 19:13:27 +05:30
logger . info ( 'Starting transfer of Terraform states to object storage' )
begin
Gitlab :: Terraform :: StateMigrationHelper . migrate_to_remote_storage do | state_version |
message = " Transferred Terraform state version ID #{ state_version . id } ( #{ state_version . terraform_state . name } / #{ state_version . version } ) to object storage "
logger . info ( message )
end
2021-06-08 01:23:25 +05:30
rescue StandardError = > e
2021-03-11 19:13:27 +05:30
logger . error ( " Failed to migrate: #{ e . message } " )
end
end
end
end