restore: add mounts support

This commit is contained in:
Girish Ramakrishnan
2021-05-27 15:01:44 -07:00
parent fcee182ca3
commit 218450880e
2 changed files with 59 additions and 7 deletions
+26 -4
View File
@@ -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) {