volumes: add mount UI

This commit is contained in:
Girish Ramakrishnan
2021-05-12 21:40:30 -07:00
parent c56c43c464
commit fd3fb23955
3 changed files with 88 additions and 3 deletions

View File

@@ -10,6 +10,14 @@ angular.module('Application').controller('VolumesController', ['$scope', '$locat
$scope.volumes = [];
$scope.ready = false;
$scope.mountTypes = [
{ name: 'CIFS', value: 'cifs' },
{ name: 'EXT4', value: 'ext4' },
{ name: 'NFS', value: 'nfs' },
{ name: 'SSHFS', value: 'sshfs' },
{ name: 'No-op', value: 'noop' }
];
function refreshVolumes(callback) {
Client.getVolumes(function (error, results) {
if (error) return console.error(error);
@@ -26,12 +34,24 @@ angular.module('Application').controller('VolumesController', ['$scope', '$locat
name: '',
hostPath: '',
mountType: 'noop',
host: '',
remoteDir: '',
username: '',
password: '',
diskPath: '',
reset: function () {
$scope.volumeAdd.busy = false;
$scope.volumeAdd.error = null;
$scope.volumeAdd.name = '';
$scope.volumeAdd.hostPath = '';
$scope.volumeAdd.mountType = 'noop';
$scope.volumeAdd.host = '';
$scope.volumeAdd.remoteDir = '';
$scope.volumeAdd.username = '';
$scope.volumeAdd.password = '';
$scope.volumeAdd.diskPath = '';
$scope.volumeAddForm.$setPristine();
$scope.volumeAddForm.$setUntouched();
@@ -47,7 +67,27 @@ angular.module('Application').controller('VolumesController', ['$scope', '$locat
$scope.volumeAdd.busy = true;
$scope.volumeAdd.error = null;
Client.addVolume($scope.volumeAdd.name, $scope.volumeAdd.hostPath, function (error) {
var mountOptions = null;
if ($scope.volumeAdd.mountType === 'cifs') {
mountOptions = {
host: $scope.volumeAdd.host,
remoteDir: $scope.volumeAdd.remoteDir,
username: $scope.volumeAdd.username,
password: $scope.volumeAdd.password
};
} else if ($scope.volumeAdd.mountType === 'nfs') {
mountOptions = {
host: $scope.volumeAdd.host,
remoteDir: $scope.volumeAdd.remoteDir,
};
} else {
mountOptions = {
diskPath: $scope.volumeAdd.diskPath
};
}
Client.addVolume($scope.volumeAdd.name, $scope.volumeAdd.hostPath, $scope.volumeAdd.mountType, mountOptions, function (error) {
$scope.volumeAdd.busy = false;
if (error) {
$scope.volumeAdd.error = error.message;