Enable sshfs/cifs/nfs in app import UI

This commit is contained in:
Johannes Zellner
2021-09-14 11:37:36 +02:00
parent a0e85f5203
commit be574d371f
3 changed files with 58 additions and 12 deletions
+8 -4
View File
@@ -94,7 +94,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.storageProvider = [
{ name: 'Amazon S3', value: 's3' },
{ name: 'Backblaze B2 (S3 API)', value: 'backblaze-b2' },
// { name: 'CIFS Mount', value: 'cifs' },
{ name: 'CIFS Mount', value: 'cifs' },
{ name: 'DigitalOcean Spaces', value: 'digitalocean-spaces' },
{ name: 'Exoscale SOS', value: 'exoscale-sos' },
// { name: 'EXT4', value: 'ext4' },
@@ -104,11 +104,11 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
{ name: 'IONOS (Profitbricks)', value: 'ionos-objectstorage' },
{ name: 'Linode Object Storage', value: 'linode-objectstorage' },
{ name: 'Minio', value: 'minio' },
// { name: 'NFS Mount', value: 'nfs' },
{ name: 'NFS Mount', value: 'nfs' },
{ name: 'OVH Object Storage', value: 'ovh-objectstorage' },
{ name: 'S3 API Compatible (v4)', value: 's3-v4-compat' },
{ name: 'Scaleway Object Storage', value: 'scaleway-objectstorage' },
// { name: 'SSHFS Mount', value: 'sshfs' },
{ name: 'SSHFS Mount', value: 'sshfs' },
{ name: 'Vultr Object Storage', value: 'vultr-objectstorage' },
// { name: 'No-op (Only for testing)', value: 'noop' },
{ name: 'Wasabi', value: 'wasabi' }
@@ -986,6 +986,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
format: 'tgz',
backupId: '',
password: '',
mountOptions: {},
clearForm: function () {
// $scope.importBackup.provider = ''; // do not clear since we call this function on provider change
@@ -1002,6 +1003,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
$scope.importBackup.acceptSelfSignedCerts = false;
$scope.importBackup.password = '';
$scope.importBackup.backupId = '';
$scope.importBackup.mountOptions = {};
},
submit: function () {
@@ -1076,7 +1078,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
return;
}
} else if (backupConfig.provider === 'sshfs' || backupConfig.provider === 'cifs' || backupConfig.provider === 'nfs') {
backupConfig.mountPoint = $scope.importBackup.mountPoint;
backupConfig.mountOptions = $scope.importBackup.mountOptions;
backupConfig.prefix = $scope.importBackup.prefix;
} else if (backupConfig.provider === 'filesystem') {
var parts = backupId.split('/');
@@ -1646,6 +1648,8 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
return;
}
console.log(backupConfig)
$scope.$apply(function () {
// we assume property names match here, this does not yet work for gcs keys
Object.keys(backupConfig).forEach(function (k) {