Add azcopy support to backup_utility
This MR adds the necessary support to backup_utility
to handle sending backups to Azure blob storage using azcopy
(introduced in !1135 (merged)).
The configuration for the Azure connection is read from a file in the format of:
azure_storage_account_name: <the storage account (required)>
azure_storage_access_key: <base 64 encoded access key (required)>
azure_storage_domain: <host of the azure blob service (optional>
The access key is used to generate SAS tokens to interact with the storage.
Design note on this: I choose not to use azure-storage-ruby to generate the tokens. Reasons for this are:
- Avoid conflicts / dependency hell with existing gems from the base image.
- Keeps the image smaller.
- The azure-storage-ruby does not support Ruby 3 yet.
Test Plan
Testing these changes in isolation is difficult. The best way to test these changes is to follow the test plan in gitlab-org/charts/gitlab!2797 (merged).
Related Issues
Relates gitlab-org/charts/gitlab#2298 (closed)
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
Pipeline is green on dev.gitlab.org if the change is touching anything besides documentation or internal cookbooks -
trigger-package has a green pipeline running against latest commit
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened
Edited by Clemens Beck