diff --git a/src/js/restore.js b/src/js/restore.js index 9e980273a..855c9df0b 100644 --- a/src/js/restore.js +++ b/src/js/restore.js @@ -67,6 +67,12 @@ app.controller('RestoreController', ['$scope', '$http', 'Client', function ($sco { name: 'DE-FRA-1', value: 'https://sos-de-fra-1.exo.io' }, ]; + // https://www.scaleway.com/docs/object-storage-feature/ + $scope.scalewayRegions = [ + { name: 'FR-PAR', value: 'https://s3.fr-par.scw.cloud', region: 'fr-par' }, // default + { name: 'NL-AMS', value: 'https://s3.nl-ams.scw.cloud', region: 'nl-ams' } + ]; + $scope.storageProvider = [ { name: 'Amazon S3', value: 's3' }, { name: 'DigitalOcean Spaces', value: 'digitalocean-spaces' }, @@ -74,6 +80,7 @@ app.controller('RestoreController', ['$scope', '$http', 'Client', function ($sco { name: 'Filesystem', value: 'filesystem' }, { name: 'Google Cloud Storage', value: 'gcs' }, { name: 'Minio', value: 'minio' }, + { name: 'Scaleway Object Storage', value: 'scaleway-objectstorage' }, { name: 'S3 API Compatible (v4)', value: 's3-v4-compat' }, ]; @@ -114,6 +121,9 @@ app.controller('RestoreController', ['$scope', '$http', 'Client', function ($sco } else if (backupConfig.provider === 'exoscale-sos') { 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.endpoint; }).region; + backupConfig.signatureVersion = 'v4'; } else if (backupConfig.provider === 'digitalocean-spaces') { backupConfig.region = 'us-east-1'; } diff --git a/src/restore.html b/src/restore.html index 6a1a489c5..a3e358a6c 100644 --- a/src/restore.html +++ b/src/restore.html @@ -113,6 +113,11 @@ +
+ + +
+