Add scaleway object storage

This commit is contained in:
Girish Ramakrishnan
2019-04-12 10:04:26 -07:00
parent f89f201764
commit f263c73df7
2 changed files with 20 additions and 3 deletions

View File

@@ -47,6 +47,12 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
{ name: 'AT-VIE-1', value: 'https://sos-at-vie-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' },
@@ -54,8 +60,9 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
{ name: 'Filesystem', value: 'filesystem' },
{ name: 'Google Cloud Storage', value: 'gcs' },
{ 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' }
];
$scope.retentionTimes = [
@@ -172,7 +179,9 @@ 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';
return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat'
|| provider === 'exoscale-sos' || provider === 'digitalocean-spaces'
|| provider === 'scaleway-objectstorage';
};
$scope.configureBackup = {
@@ -274,6 +283,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 === 'scaleway-objectstorage') {
backupConfig.region = $scope.scalewayRegions.find(function (x) { return x.value === $scope.configureBackup.endpoint; }).region;
backupConfig.signatureVersion = 'v4';
} else if (backupConfig.provider === 'digitalocean-spaces') {
backupConfig.region = 'us-east-1';
}