diff --git a/src/views/backups.html b/src/views/backups.html index d2b90c4e5..094c5f510 100644 --- a/src/views/backups.html +++ b/src/views/backups.html @@ -96,6 +96,11 @@ +
+ + +
+
@@ -177,7 +182,7 @@
{{ backupConfig.backupFolder }} - {{ backupConfig.bucket + '/' + backupConfig.prefix }} + {{ backupConfig.bucket + '/' + backupConfig.prefix }} {{ backupConfig.region + ' ' + backupConfig.bucket + '/' + backupConfig.prefix }}
diff --git a/src/views/backups.js b/src/views/backups.js index 5a5029106..cb63f4f3f 100644 --- a/src/views/backups.js +++ b/src/views/backups.js @@ -34,6 +34,12 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat { name: 'US West (Oregon)', value: 'us-west-2' }, ]; + $scope.wasabiRegions = [ + { name: 'EU Central 1', value: 'https://s3.eu-central-1.wasabisys.com' }, + { name: 'US East 1', value: 'https://s3.wasabisys.com' }, + { name: 'US West 1', value: 'https://s3.us-west-1.wasabisys.com' } + ]; + $scope.doSpacesRegions = [ { name: 'AMS3', value: 'https://ams3.digitaloceanspaces.com' }, { name: 'FRA1', value: 'https://fra1.digitaloceanspaces.com' }, @@ -64,7 +70,8 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat { name: 'Minio', value: 'minio' }, { name: 'Scaleway Object Storage', value: 'scaleway-objectstorage' }, { name: 'No-op (Only for testing)', value: 'noop' }, - { name: 'S3 API Compatible (v4)', value: 's3-v4-compat' } + { name: 'S3 API Compatible (v4)', value: 's3-v4-compat' }, + { name: 'Wasabi', value: 'wasabi' } ]; $scope.retentionTimes = [ @@ -181,7 +188,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat $scope.s3like = function (provider) { return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat' || provider === 'exoscale-sos' || provider === 'digitalocean-spaces' - || provider === 'scaleway-objectstorage'; + || provider === 'scaleway-objectstorage' || provider === 'wasabi'; }; $scope.configureBackup = { @@ -283,6 +290,9 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat } else if (backupConfig.provider === 'exoscale-sos') { backupConfig.region = 'us-east-1'; backupConfig.signatureVersion = 'v4'; + } else if (backupConfig.provider === 'wasabi') { + backupConfig.region = 'us-east-1'; + backupConfig.signatureVersion = 'v4'; } else if (backupConfig.provider === 'scaleway-objectstorage') { backupConfig.region = $scope.scalewayRegions.find(function (x) { return x.value === $scope.configureBackup.endpoint; }).region; backupConfig.signatureVersion = 'v4';