diff --git a/src/js/restore.js b/src/js/restore.js
index 8bb8dd637..93e17d4ee 100644
--- a/src/js/restore.js
+++ b/src/js/restore.js
@@ -122,6 +122,11 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
{ name: 'Warsaw (WAW)', value: 'https://storage.waw.cloud.ovh.net', region: 'waw' },
];
+ // https://devops.ionos.com/api/s3/
+ $scope.ionosRegions = [
+ { name: 'DE', value: 'https://s3-de-central.profitbricks.com', region: 's3-de-central' }, // default
+ ];
+
$scope.wasabiRegions = [
{ name: 'EU Central 1', value: 'https://s3.eu-central-1.wasabisys.com' },
{ name: 'US East 1', value: 'https://s3.us-east-1.wasabisys.com' },
@@ -155,7 +160,8 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
$scope.s3like = function (provider) {
return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat' || provider === 'exoscale-sos'
|| provider === 'digitalocean-spaces' || provider === 'wasabi' || provider === 'scaleway-objectstorage'
- || provider === 'linode-objectstorage' || provider === 'ovh-objectstorage' || provider === 'backblaze-b2';
+ || provider === 'linode-objectstorage' || provider === 'ovh-objectstorage' || provider === 'backblaze-b2'
+ || provider === 'ionos-objectstorage';
};
$scope.mountlike = function (provider) {
@@ -204,6 +210,9 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
} else if (backupConfig.provider === 'ovh-objectstorage') {
backupConfig.region = $scope.ovhRegions.find(function (x) { return x.value === $scope.endpoint; }).region;
backupConfig.signatureVersion = 'v4';
+ } else if (backupConfig.provider === 'ionos-objectstorage') {
+ backupConfig.region = $scope.ionosRegions.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 feff35bfd..6057df1d6 100644
--- a/src/restore.html
+++ b/src/restore.html
@@ -169,6 +169,11 @@
+
+
+
+
+
diff --git a/src/views/app.html b/src/views/app.html
index a81aa3d19..1d8e62af2 100644
--- a/src/views/app.html
+++ b/src/views/app.html
@@ -231,6 +231,11 @@
+
+
+
+
+
diff --git a/src/views/app.js b/src/views/app.js
index 9b8c6662f..a8dea9cbf 100644
--- a/src/views/app.js
+++ b/src/views/app.js
@@ -80,6 +80,11 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
{ name: 'Warsaw (WAW)', value: 'https://storage.waw.cloud.ovh.net', region: 'waw' },
];
+ // https://devops.ionos.com/api/s3/
+ $scope.ionosRegions = [
+ { name: 'DE', value: 'https://s3-de-central.profitbricks.com', region: 's3-de-central' }, // default
+ ];
+
$scope.storageProvider = [
{ name: 'Amazon S3', value: 's3' },
{ name: 'Backblaze B2 (S3 API)', value: 'backblaze-b2' },
@@ -937,7 +942,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat'
|| provider === 'exoscale-sos' || provider === 'digitalocean-spaces'
|| provider === 'scaleway-objectstorage' || provider === 'wasabi' || provider === 'backblaze-b2'
- || provider === 'linode-objectstorage' || provider === 'ovh-objectstorage';
+ || provider === 'linode-objectstorage' || provider === 'ovh-objectstorage' || provider === 'ionos-objectstorage';
};
$scope.mountlike = function (provider) {
@@ -1022,6 +1027,9 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
} else if (backupConfig.provider === 'ovh-objectstorage') {
backupConfig.region = $scope.ovhRegions.find(function (x) { return x.value === $scope.importBackup.endpoint; }).region;
backupConfig.signatureVersion = 'v4';
+ } else if (backupConfig.provider === 'ionos-objectstorage') {
+ backupConfig.region = $scope.ionosRegions.find(function (x) { return x.value === $scope.importBackup.endpoint; }).region;
+ backupConfig.signatureVersion = 'v4';
} else if (backupConfig.provider === 'digitalocean-spaces') {
backupConfig.region = 'us-east-1';
}
diff --git a/src/views/backups.html b/src/views/backups.html
index 73ab53f7e..03b7c6b02 100644
--- a/src/views/backups.html
+++ b/src/views/backups.html
@@ -220,6 +220,11 @@
+
+
+
+
+
diff --git a/src/views/backups.js b/src/views/backups.js
index 6bc9b0a42..552c8ff4a 100644
--- a/src/views/backups.js
+++ b/src/views/backups.js
@@ -84,6 +84,11 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
{ name: 'Warsaw (WAW)', value: 'https://storage.waw.cloud.ovh.net', region: 'waw' },
];
+ // https://devops.ionos.com/api/s3/
+ $scope.ionosRegions = [
+ { name: 'DE', value: 'https://s3-de-central.profitbricks.com', region: 's3-de-central' }, // default
+ ];
+
$scope.storageProvider = [
{ name: 'Amazon S3', value: 's3' },
{ name: 'Backblaze B2 (S3 API)', value: 'backblaze-b2' },
@@ -92,6 +97,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
{ name: 'Exoscale SOS', value: 'exoscale-sos' },
{ name: 'Filesystem', value: 'filesystem' },
{ name: 'Google Cloud Storage', value: 'gcs' },
+ { name: 'IONOS (Profitbricks)', value: 'ionos-objectstorage' },
{ name: 'Linode Object Storage', value: 'linode-objectstorage' },
{ name: 'Minio', value: 'minio' },
{ name: 'NFS Mount', value: 'nfs' },
@@ -281,7 +287,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat'
|| provider === 'exoscale-sos' || provider === 'digitalocean-spaces'
|| provider === 'scaleway-objectstorage' || provider === 'wasabi' || provider === 'backblaze-b2'
- || provider === 'linode-objectstorage' || provider === 'ovh-objectstorage';
+ || provider === 'linode-objectstorage' || provider === 'ovh-objectstorage' || provider === 'ionos-objectstorage';
};
$scope.mountlike = function (provider) {
@@ -545,6 +551,9 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
} else if (backupConfig.provider === 'ovh-objectstorage') {
backupConfig.region = $scope.ovhRegions.find(function (x) { return x.value === $scope.configureBackup.endpoint; }).region;
backupConfig.signatureVersion = 'v4';
+ } else if (backupConfig.provider === 'ionos-objectstorage') {
+ backupConfig.region = $scope.ionosRegions.find(function (x) { return x.value === $scope.configureBackup.endpoint; }).region;
+ backupConfig.signatureVersion = 'v4';
} else if (backupConfig.provider === 'digitalocean-spaces') {
backupConfig.region = 'us-east-1';
}