Add `rake gitlab:terraform_states:migrate` (to object storage)

Problem

Customers with deployments with files stored locally may wish to migrate the files to object storage. Maybe they are transitioning to Kubernetes.

We have:

  • rake gitlab:uploads:migrate
  • rake gitlab:artifacts:migrate
  • rake gitlab:lfs:migrate
  • rake gitlab:packages:migrate

But it looks like we don't have a task for:

  • Terraform States
  • Also, the upcoming Terraform::State::Version should be included in the same task

Proposal

  • Add rake task to migrate to object storage, e.g. rake gitlab:terraform_states:migrate => !50740 (merged)
  • Add rake task to migrate to local storage, e.g. rake gitlab:terraform_states:migrate_to_local (this could be a follow up, but it is not for nothing: we know the lack of rollback tasks has been a problem in the past) => #350187
  • Add docs for customers, maybe like https://docs.gitlab.com/ee/administration/raketasks/uploads/migrate.html, or search the docs for the other rake tasks
Edited by Michael Kozono