restore: add mounts support
This commit is contained in:
+26
-4
@@ -42,6 +42,14 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
|
||||
$scope.setupToken = '';
|
||||
$scope.skipDnsSetup = false;
|
||||
|
||||
$scope.mountOptions = {
|
||||
host: '',
|
||||
remoteDir: '',
|
||||
username: '',
|
||||
password: '',
|
||||
diskPath: ''
|
||||
};
|
||||
|
||||
$scope.sysinfo = {
|
||||
provider: 'generic',
|
||||
ip: '',
|
||||
@@ -144,6 +152,7 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
|
||||
{ name: 'DigitalOcean Spaces', value: 'digitalocean-spaces' },
|
||||
{ name: 'Exoscale SOS', value: 'exoscale-sos' },
|
||||
{ name: 'Filesystem', value: 'filesystem' },
|
||||
{ name: 'Filesystem (Mountpoint)', value: 'mountpoint' }, // legacy
|
||||
{ name: 'Google Cloud Storage', value: 'gcs' },
|
||||
{ name: 'IONOS (Profitbricks)', value: 'ionos-objectstorage' },
|
||||
{ name: 'Linode Object Storage', value: 'linode-objectstorage' },
|
||||
@@ -169,7 +178,7 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
|
||||
};
|
||||
|
||||
$scope.mountlike = function (provider) {
|
||||
return provider === 'sshfs' || provider === 'cifs' || provider === 'nfs';
|
||||
return provider === 'sshfs' || provider === 'cifs' || provider === 'nfs' || provider === 'mountpoint' || provider === 'ext4';
|
||||
};
|
||||
|
||||
$scope.restore = function () {
|
||||
@@ -240,11 +249,24 @@ app.controller('RestoreController', ['$scope', 'Client', function ($scope, Clien
|
||||
$scope.busy = false;
|
||||
return;
|
||||
}
|
||||
} else if (backupConfig.provider === 'sshfs' || backupConfig.provider === 'cifs' || backupConfig.provider === 'nfs') {
|
||||
} else if ($scope.mountlike(backupConfig.provider)) {
|
||||
backupConfig.mountPoint = $scope.mountPoint;
|
||||
backupConfig.prefix = $scope.prefix;
|
||||
} else if (backupConfig.provider === 'filesystem') {
|
||||
backupConfig.backupFolder = $scope.backupFolder;
|
||||
backupConfig.mountOptions = {};
|
||||
|
||||
if (backupConfig.provider === 'cifs' || backupConfig.provider === 'sshfs' || backupConfig.provider === 'nfs') {
|
||||
backupConfig.mountOptions.host = $scope.mountOptions.host;
|
||||
backupConfig.mountOptions.remoteDir = $scope.mountOptions.remoteDir;
|
||||
|
||||
if (backupConfig.provider === 'cifs') {
|
||||
backupConfig.mountOptions.username = $scope.mountOptions.username;
|
||||
backupConfig.mountOptions.password = $scope.mountOptions.password;
|
||||
}
|
||||
} else if (backupConfig.provider === 'ext4') {
|
||||
backupConfig.mountOptions.diskPath = $scope.diskPath;
|
||||
}
|
||||
} else if (backupConfig.provider === 'filesystem' || backupConfig.provider === 'mountpoint') {
|
||||
backupConfig.backupFolder = $scope.configureBackup.backupFolder;
|
||||
}
|
||||
|
||||
if ($scope.backupId.indexOf('/') === -1) {
|
||||
|
||||
Reference in New Issue
Block a user