mirror of
https://github.com/portainer/portainer.git
synced 2025-08-05 05:45:22 +02:00
chore(project): add prettier for code format (#3645)
* chore(project): install prettier and lint-staged * chore(project): apply prettier to html too * chore(project): git ignore eslintcache * chore(project): add a comment about format script * chore(prettier): update printWidth * chore(prettier): remove useTabs option * chore(prettier): add HTML validation * refactor(prettier): fix closing tags * feat(prettier): define angular parser for html templates * style(prettier): run prettier on codebase Co-authored-by: Anthony Lapenna <lapenna.anthony@gmail.com>
This commit is contained in:
parent
6663073be1
commit
cf5056d9c0
714 changed files with 31228 additions and 28305 deletions
|
@ -1,9 +1,14 @@
|
|||
import { ResourceControlViewModel } from 'Portainer/models/resourceControl/resourceControl';
|
||||
|
||||
function b64DecodeUnicode(str) {
|
||||
return decodeURIComponent(atob(str).split('').map(function(c) {
|
||||
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
||||
}).join(''));
|
||||
return decodeURIComponent(
|
||||
atob(str)
|
||||
.split('')
|
||||
.map(function (c) {
|
||||
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
|
||||
})
|
||||
.join('')
|
||||
);
|
||||
}
|
||||
|
||||
export function ConfigViewModel(data) {
|
||||
|
|
|
@ -68,12 +68,14 @@ export function ContainerViewModel(data) {
|
|||
export function ContainerStatsViewModel(data) {
|
||||
this.read = data.read;
|
||||
this.preread = data.preread;
|
||||
if(data.memory_stats.privateworkingset !== undefined) { // Windows
|
||||
if (data.memory_stats.privateworkingset !== undefined) {
|
||||
// Windows
|
||||
this.MemoryUsage = data.memory_stats.privateworkingset;
|
||||
this.MemoryCache = 0;
|
||||
this.NumProcs = data.num_procs;
|
||||
this.isWindows = true;
|
||||
} else { // Linux
|
||||
} else {
|
||||
// Linux
|
||||
if (data.memory_stats.stats === undefined || data.memory_stats.usage === undefined) {
|
||||
this.MemoryUsage = this.MemoryCache = 0;
|
||||
} else {
|
||||
|
|
|
@ -1,90 +1,90 @@
|
|||
var capDesc = {
|
||||
'SETPCAP': 'Modify process capabilities.',
|
||||
'MKNOD': 'Create special files using mknod(2).',
|
||||
'AUDIT_WRITE': 'Write records to kernel auditing log.',
|
||||
'CHOWN': 'Make arbitrary changes to file UIDs and GIDs (see chown(2)).',
|
||||
'NET_RAW': 'Use RAW and PACKET sockets.',
|
||||
'DAC_OVERRIDE': 'Bypass file read, write, and execute permission checks.',
|
||||
'FOWNER': 'Bypass permission checks on operations that normally require the file system UID of the process to match the UID of the file.',
|
||||
'FSETID': 'Don’t clear set-user-ID and set-group-ID permission bits when a file is modified.',
|
||||
'KILL': 'Bypass permission checks for sending signals.',
|
||||
'SETGID': 'Make arbitrary manipulations of process GIDs and supplementary GID list.',
|
||||
'SETUID': 'Make arbitrary manipulations of process UIDs.',
|
||||
'NET_BIND_SERVICE': 'Bind a socket to internet domain privileged ports (port numbers less than 1024).',
|
||||
'SYS_CHROOT': 'Use chroot(2), change root directory.',
|
||||
'SETFCAP': 'Set file capabilities.',
|
||||
'SYS_MODULE': 'Load and unload kernel modules.',
|
||||
'SYS_RAWIO': 'Perform I/O port operations (iopl(2) and ioperm(2)).',
|
||||
'SYS_PACCT': 'Use acct(2), switch process accounting on or off.',
|
||||
'SYS_ADMIN': 'Perform a range of system administration operations.',
|
||||
'SYS_NICE': 'Raise process nice value (nice(2), setpriority(2)) and change the nice value for arbitrary processes.',
|
||||
'SYS_RESOURCE': 'Override resource Limits.',
|
||||
'SYS_TIME': 'Set system clock (settimeofday(2), stime(2), adjtimex(2)); set real-time (hardware) clock.',
|
||||
'SYS_TTY_CONFIG': 'Use vhangup(2); employ various privileged ioctl(2) operations on virtual terminals.',
|
||||
'AUDIT_CONTROL': 'Enable and disable kernel auditing; change auditing filter rules; retrieve auditing status and filtering rules.',
|
||||
'MAC_ADMIN': 'Allow MAC configuration or state changes. Implemented for the Smack LSM.',
|
||||
'MAC_OVERRIDE': 'Override Mandatory Access Control (MAC). Implemented for the Smack Linux Security Module (LSM).',
|
||||
'NET_ADMIN': 'Perform various network-related operations.',
|
||||
'SYSLOG': 'Perform privileged syslog(2) operations.',
|
||||
'DAC_READ_SEARCH': 'Bypass file read permission checks and directory read and execute permission checks.',
|
||||
'LINUX_IMMUTABLE': 'Set the FS_APPEND_FL and FS_IMMUTABLE_FL i-node flags.',
|
||||
'NET_BROADCAST': 'Make socket broadcasts, and listen to multicasts.',
|
||||
'IPC_LOCK': 'Lock memory (mlock(2), mlockall(2), mmap(2), shmctl(2)).',
|
||||
'IPC_OWNER': 'Bypass permission checks for operations on System V IPC objects.',
|
||||
'SYS_PTRACE': 'Trace arbitrary processes using ptrace(2).',
|
||||
'SYS_BOOT': 'Use reboot(2) and kexec_load(2), reboot and load a new kernel for later execution.',
|
||||
'LEASE': 'Establish leases on arbitrary files (see fcntl(2)).',
|
||||
'WAKE_ALARM': 'Trigger something that will wake up the system.',
|
||||
'BLOCK_SUSPEND': 'Employ features that can block system suspend.'
|
||||
SETPCAP: 'Modify process capabilities.',
|
||||
MKNOD: 'Create special files using mknod(2).',
|
||||
AUDIT_WRITE: 'Write records to kernel auditing log.',
|
||||
CHOWN: 'Make arbitrary changes to file UIDs and GIDs (see chown(2)).',
|
||||
NET_RAW: 'Use RAW and PACKET sockets.',
|
||||
DAC_OVERRIDE: 'Bypass file read, write, and execute permission checks.',
|
||||
FOWNER: 'Bypass permission checks on operations that normally require the file system UID of the process to match the UID of the file.',
|
||||
FSETID: 'Don’t clear set-user-ID and set-group-ID permission bits when a file is modified.',
|
||||
KILL: 'Bypass permission checks for sending signals.',
|
||||
SETGID: 'Make arbitrary manipulations of process GIDs and supplementary GID list.',
|
||||
SETUID: 'Make arbitrary manipulations of process UIDs.',
|
||||
NET_BIND_SERVICE: 'Bind a socket to internet domain privileged ports (port numbers less than 1024).',
|
||||
SYS_CHROOT: 'Use chroot(2), change root directory.',
|
||||
SETFCAP: 'Set file capabilities.',
|
||||
SYS_MODULE: 'Load and unload kernel modules.',
|
||||
SYS_RAWIO: 'Perform I/O port operations (iopl(2) and ioperm(2)).',
|
||||
SYS_PACCT: 'Use acct(2), switch process accounting on or off.',
|
||||
SYS_ADMIN: 'Perform a range of system administration operations.',
|
||||
SYS_NICE: 'Raise process nice value (nice(2), setpriority(2)) and change the nice value for arbitrary processes.',
|
||||
SYS_RESOURCE: 'Override resource Limits.',
|
||||
SYS_TIME: 'Set system clock (settimeofday(2), stime(2), adjtimex(2)); set real-time (hardware) clock.',
|
||||
SYS_TTY_CONFIG: 'Use vhangup(2); employ various privileged ioctl(2) operations on virtual terminals.',
|
||||
AUDIT_CONTROL: 'Enable and disable kernel auditing; change auditing filter rules; retrieve auditing status and filtering rules.',
|
||||
MAC_ADMIN: 'Allow MAC configuration or state changes. Implemented for the Smack LSM.',
|
||||
MAC_OVERRIDE: 'Override Mandatory Access Control (MAC). Implemented for the Smack Linux Security Module (LSM).',
|
||||
NET_ADMIN: 'Perform various network-related operations.',
|
||||
SYSLOG: 'Perform privileged syslog(2) operations.',
|
||||
DAC_READ_SEARCH: 'Bypass file read permission checks and directory read and execute permission checks.',
|
||||
LINUX_IMMUTABLE: 'Set the FS_APPEND_FL and FS_IMMUTABLE_FL i-node flags.',
|
||||
NET_BROADCAST: 'Make socket broadcasts, and listen to multicasts.',
|
||||
IPC_LOCK: 'Lock memory (mlock(2), mlockall(2), mmap(2), shmctl(2)).',
|
||||
IPC_OWNER: 'Bypass permission checks for operations on System V IPC objects.',
|
||||
SYS_PTRACE: 'Trace arbitrary processes using ptrace(2).',
|
||||
SYS_BOOT: 'Use reboot(2) and kexec_load(2), reboot and load a new kernel for later execution.',
|
||||
LEASE: 'Establish leases on arbitrary files (see fcntl(2)).',
|
||||
WAKE_ALARM: 'Trigger something that will wake up the system.',
|
||||
BLOCK_SUSPEND: 'Employ features that can block system suspend.',
|
||||
};
|
||||
|
||||
export function ContainerCapabilities() {
|
||||
// all capabilities can be found at https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities
|
||||
return [
|
||||
new ContainerCapability('SETPCAP', true),
|
||||
new ContainerCapability('MKNOD', true),
|
||||
new ContainerCapability('AUDIT_WRITE', true),
|
||||
new ContainerCapability('CHOWN', true),
|
||||
new ContainerCapability('NET_RAW', true),
|
||||
new ContainerCapability('DAC_OVERRIDE', true),
|
||||
new ContainerCapability('FOWNER', true),
|
||||
new ContainerCapability('FSETID', true),
|
||||
new ContainerCapability('KILL', true),
|
||||
new ContainerCapability('SETGID', true),
|
||||
new ContainerCapability('SETUID', true),
|
||||
new ContainerCapability('NET_BIND_SERVICE', true),
|
||||
new ContainerCapability('SYS_CHROOT', true),
|
||||
new ContainerCapability('SETFCAP', true),
|
||||
new ContainerCapability('SYS_MODULE', false),
|
||||
new ContainerCapability('SYS_RAWIO', false),
|
||||
new ContainerCapability('SYS_PACCT', false),
|
||||
new ContainerCapability('SYS_ADMIN', false),
|
||||
new ContainerCapability('SYS_NICE', false),
|
||||
new ContainerCapability('SYS_RESOURCE', false),
|
||||
new ContainerCapability('SYS_TIME', false),
|
||||
new ContainerCapability('SYS_TTY_CONFIG', false),
|
||||
new ContainerCapability('AUDIT_CONTROL', false),
|
||||
new ContainerCapability('MAC_ADMIN', false),
|
||||
new ContainerCapability('MAC_OVERRIDE', false),
|
||||
new ContainerCapability('NET_ADMIN', false),
|
||||
new ContainerCapability('SYSLOG', false),
|
||||
new ContainerCapability('DAC_READ_SEARCH', false),
|
||||
new ContainerCapability('LINUX_IMMUTABLE', false),
|
||||
new ContainerCapability('NET_BROADCAST', false),
|
||||
new ContainerCapability('IPC_LOCK', false),
|
||||
new ContainerCapability('IPC_OWNER', false),
|
||||
new ContainerCapability('SYS_PTRACE', false),
|
||||
new ContainerCapability('SYS_BOOT', false),
|
||||
new ContainerCapability('LEASE', false),
|
||||
new ContainerCapability('WAKE_ALARM', false),
|
||||
new ContainerCapability('BLOCK_SUSPEND', false)
|
||||
].sort(function (a, b) {
|
||||
return a.capability < b.capability ? -1 : 1;
|
||||
});
|
||||
// all capabilities can be found at https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities
|
||||
return [
|
||||
new ContainerCapability('SETPCAP', true),
|
||||
new ContainerCapability('MKNOD', true),
|
||||
new ContainerCapability('AUDIT_WRITE', true),
|
||||
new ContainerCapability('CHOWN', true),
|
||||
new ContainerCapability('NET_RAW', true),
|
||||
new ContainerCapability('DAC_OVERRIDE', true),
|
||||
new ContainerCapability('FOWNER', true),
|
||||
new ContainerCapability('FSETID', true),
|
||||
new ContainerCapability('KILL', true),
|
||||
new ContainerCapability('SETGID', true),
|
||||
new ContainerCapability('SETUID', true),
|
||||
new ContainerCapability('NET_BIND_SERVICE', true),
|
||||
new ContainerCapability('SYS_CHROOT', true),
|
||||
new ContainerCapability('SETFCAP', true),
|
||||
new ContainerCapability('SYS_MODULE', false),
|
||||
new ContainerCapability('SYS_RAWIO', false),
|
||||
new ContainerCapability('SYS_PACCT', false),
|
||||
new ContainerCapability('SYS_ADMIN', false),
|
||||
new ContainerCapability('SYS_NICE', false),
|
||||
new ContainerCapability('SYS_RESOURCE', false),
|
||||
new ContainerCapability('SYS_TIME', false),
|
||||
new ContainerCapability('SYS_TTY_CONFIG', false),
|
||||
new ContainerCapability('AUDIT_CONTROL', false),
|
||||
new ContainerCapability('MAC_ADMIN', false),
|
||||
new ContainerCapability('MAC_OVERRIDE', false),
|
||||
new ContainerCapability('NET_ADMIN', false),
|
||||
new ContainerCapability('SYSLOG', false),
|
||||
new ContainerCapability('DAC_READ_SEARCH', false),
|
||||
new ContainerCapability('LINUX_IMMUTABLE', false),
|
||||
new ContainerCapability('NET_BROADCAST', false),
|
||||
new ContainerCapability('IPC_LOCK', false),
|
||||
new ContainerCapability('IPC_OWNER', false),
|
||||
new ContainerCapability('SYS_PTRACE', false),
|
||||
new ContainerCapability('SYS_BOOT', false),
|
||||
new ContainerCapability('LEASE', false),
|
||||
new ContainerCapability('WAKE_ALARM', false),
|
||||
new ContainerCapability('BLOCK_SUSPEND', false),
|
||||
].sort(function (a, b) {
|
||||
return a.capability < b.capability ? -1 : 1;
|
||||
});
|
||||
}
|
||||
|
||||
export function ContainerCapability(cap, allowed) {
|
||||
this.capability = cap;
|
||||
this.allowed = allowed;
|
||||
this.description = capDesc[cap];
|
||||
}
|
||||
this.capability = cap;
|
||||
this.allowed = allowed;
|
||||
this.description = capDesc[cap];
|
||||
}
|
||||
|
|
|
@ -3,148 +3,148 @@ function createEventDetails(event) {
|
|||
var details = '';
|
||||
switch (event.Type) {
|
||||
case 'container':
|
||||
switch (event.Action) {
|
||||
case 'stop':
|
||||
details = 'Container ' + eventAttr.name + ' stopped';
|
||||
break;
|
||||
case 'destroy':
|
||||
details = 'Container ' + eventAttr.name + ' deleted';
|
||||
break;
|
||||
case 'create':
|
||||
details = 'Container ' + eventAttr.name + ' created';
|
||||
break;
|
||||
case 'start':
|
||||
details = 'Container ' + eventAttr.name + ' started';
|
||||
break;
|
||||
case 'kill':
|
||||
details = 'Container ' + eventAttr.name + ' killed';
|
||||
break;
|
||||
case 'die':
|
||||
details = 'Container ' + eventAttr.name + ' exited with status code ' + eventAttr.exitCode;
|
||||
break;
|
||||
case 'commit':
|
||||
details = 'Container ' + eventAttr.name + ' committed';
|
||||
break;
|
||||
case 'restart':
|
||||
details = 'Container ' + eventAttr.name + ' restarted';
|
||||
break;
|
||||
case 'pause':
|
||||
details = 'Container ' + eventAttr.name + ' paused';
|
||||
break;
|
||||
case 'unpause':
|
||||
details = 'Container ' + eventAttr.name + ' unpaused';
|
||||
break;
|
||||
case 'attach':
|
||||
details = 'Container ' + eventAttr.name + ' attached';
|
||||
break;
|
||||
case 'detach':
|
||||
details = 'Container ' + eventAttr.name + ' detached';
|
||||
break;
|
||||
case 'copy':
|
||||
details = 'Container ' + eventAttr.name + ' copied';
|
||||
break;
|
||||
case 'export':
|
||||
details = 'Container ' + eventAttr.name + ' exported';
|
||||
break;
|
||||
case 'health_status':
|
||||
details = 'Container ' + eventAttr.name + ' executed health status';
|
||||
break;
|
||||
case 'oom':
|
||||
details = 'Container ' + eventAttr.name + ' goes in out of memory';
|
||||
break;
|
||||
case 'rename':
|
||||
details = 'Container ' + eventAttr.name + ' renamed';
|
||||
break;
|
||||
case 'resize':
|
||||
details = 'Container ' + eventAttr.name + ' resized';
|
||||
break;
|
||||
case 'top':
|
||||
details = 'Showed running processes for container ' + eventAttr.name;
|
||||
break;
|
||||
case 'update':
|
||||
details = 'Container ' + eventAttr.name + ' updated';
|
||||
break;
|
||||
default:
|
||||
if (event.Action.indexOf('exec_create') === 0) {
|
||||
details = 'Exec instance created';
|
||||
} else if (event.Action.indexOf('exec_start') === 0) {
|
||||
details = 'Exec instance started';
|
||||
} else {
|
||||
details = 'Unsupported event';
|
||||
switch (event.Action) {
|
||||
case 'stop':
|
||||
details = 'Container ' + eventAttr.name + ' stopped';
|
||||
break;
|
||||
case 'destroy':
|
||||
details = 'Container ' + eventAttr.name + ' deleted';
|
||||
break;
|
||||
case 'create':
|
||||
details = 'Container ' + eventAttr.name + ' created';
|
||||
break;
|
||||
case 'start':
|
||||
details = 'Container ' + eventAttr.name + ' started';
|
||||
break;
|
||||
case 'kill':
|
||||
details = 'Container ' + eventAttr.name + ' killed';
|
||||
break;
|
||||
case 'die':
|
||||
details = 'Container ' + eventAttr.name + ' exited with status code ' + eventAttr.exitCode;
|
||||
break;
|
||||
case 'commit':
|
||||
details = 'Container ' + eventAttr.name + ' committed';
|
||||
break;
|
||||
case 'restart':
|
||||
details = 'Container ' + eventAttr.name + ' restarted';
|
||||
break;
|
||||
case 'pause':
|
||||
details = 'Container ' + eventAttr.name + ' paused';
|
||||
break;
|
||||
case 'unpause':
|
||||
details = 'Container ' + eventAttr.name + ' unpaused';
|
||||
break;
|
||||
case 'attach':
|
||||
details = 'Container ' + eventAttr.name + ' attached';
|
||||
break;
|
||||
case 'detach':
|
||||
details = 'Container ' + eventAttr.name + ' detached';
|
||||
break;
|
||||
case 'copy':
|
||||
details = 'Container ' + eventAttr.name + ' copied';
|
||||
break;
|
||||
case 'export':
|
||||
details = 'Container ' + eventAttr.name + ' exported';
|
||||
break;
|
||||
case 'health_status':
|
||||
details = 'Container ' + eventAttr.name + ' executed health status';
|
||||
break;
|
||||
case 'oom':
|
||||
details = 'Container ' + eventAttr.name + ' goes in out of memory';
|
||||
break;
|
||||
case 'rename':
|
||||
details = 'Container ' + eventAttr.name + ' renamed';
|
||||
break;
|
||||
case 'resize':
|
||||
details = 'Container ' + eventAttr.name + ' resized';
|
||||
break;
|
||||
case 'top':
|
||||
details = 'Showed running processes for container ' + eventAttr.name;
|
||||
break;
|
||||
case 'update':
|
||||
details = 'Container ' + eventAttr.name + ' updated';
|
||||
break;
|
||||
default:
|
||||
if (event.Action.indexOf('exec_create') === 0) {
|
||||
details = 'Exec instance created';
|
||||
} else if (event.Action.indexOf('exec_start') === 0) {
|
||||
details = 'Exec instance started';
|
||||
} else {
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 'image':
|
||||
switch (event.Action) {
|
||||
case 'delete':
|
||||
details = 'Image deleted';
|
||||
switch (event.Action) {
|
||||
case 'delete':
|
||||
details = 'Image deleted';
|
||||
break;
|
||||
case 'import':
|
||||
details = 'Image ' + event.Actor.ID + ' imported';
|
||||
break;
|
||||
case 'load':
|
||||
details = 'Image ' + event.Actor.ID + ' loaded';
|
||||
break;
|
||||
case 'tag':
|
||||
details = 'New tag created for ' + eventAttr.name;
|
||||
break;
|
||||
case 'untag':
|
||||
details = 'Image untagged';
|
||||
break;
|
||||
case 'save':
|
||||
details = 'Image ' + event.Actor.ID + ' saved';
|
||||
break;
|
||||
case 'pull':
|
||||
details = 'Image ' + event.Actor.ID + ' pulled';
|
||||
break;
|
||||
case 'push':
|
||||
details = 'Image ' + event.Actor.ID + ' pushed';
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
break;
|
||||
case 'import':
|
||||
details = 'Image ' + event.Actor.ID + ' imported';
|
||||
break;
|
||||
case 'load':
|
||||
details = 'Image ' + event.Actor.ID + ' loaded';
|
||||
break;
|
||||
case 'tag':
|
||||
details = 'New tag created for ' + eventAttr.name;
|
||||
break;
|
||||
case 'untag':
|
||||
details = 'Image untagged';
|
||||
break;
|
||||
case 'save':
|
||||
details = 'Image ' + event.Actor.ID + ' saved';
|
||||
break;
|
||||
case 'pull':
|
||||
details = 'Image ' + event.Actor.ID + ' pulled';
|
||||
break;
|
||||
case 'push':
|
||||
details = 'Image ' + event.Actor.ID + ' pushed';
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
break;
|
||||
case 'network':
|
||||
switch (event.Action) {
|
||||
case 'create':
|
||||
details = 'Network ' + eventAttr.name + ' created';
|
||||
switch (event.Action) {
|
||||
case 'create':
|
||||
details = 'Network ' + eventAttr.name + ' created';
|
||||
break;
|
||||
case 'destroy':
|
||||
details = 'Network ' + eventAttr.name + ' deleted';
|
||||
break;
|
||||
case 'remove':
|
||||
details = 'Network ' + eventAttr.name + ' removed';
|
||||
break;
|
||||
case 'connect':
|
||||
details = 'Container connected to ' + eventAttr.name + ' network';
|
||||
break;
|
||||
case 'disconnect':
|
||||
details = 'Container disconnected from ' + eventAttr.name + ' network';
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
break;
|
||||
case 'destroy':
|
||||
details = 'Network ' + eventAttr.name + ' deleted';
|
||||
break;
|
||||
case 'remove':
|
||||
details = 'Network ' + eventAttr.name + ' removed';
|
||||
break;
|
||||
case 'connect':
|
||||
details = 'Container connected to ' + eventAttr.name + ' network';
|
||||
break;
|
||||
case 'disconnect':
|
||||
details = 'Container disconnected from ' + eventAttr.name + ' network';
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
break;
|
||||
case 'volume':
|
||||
switch (event.Action) {
|
||||
case 'create':
|
||||
details = 'Volume ' + event.Actor.ID + ' created';
|
||||
switch (event.Action) {
|
||||
case 'create':
|
||||
details = 'Volume ' + event.Actor.ID + ' created';
|
||||
break;
|
||||
case 'destroy':
|
||||
details = 'Volume ' + event.Actor.ID + ' deleted';
|
||||
break;
|
||||
case 'mount':
|
||||
details = 'Volume ' + event.Actor.ID + ' mounted';
|
||||
break;
|
||||
case 'unmount':
|
||||
details = 'Volume ' + event.Actor.ID + ' unmounted';
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
break;
|
||||
case 'destroy':
|
||||
details = 'Volume ' + event.Actor.ID + ' deleted';
|
||||
break;
|
||||
case 'mount':
|
||||
details = 'Volume ' + event.Actor.ID + ' mounted';
|
||||
break;
|
||||
case 'unmount':
|
||||
details = 'Volume ' + event.Actor.ID + ' unmounted';
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
details = 'Unsupported event';
|
||||
details = 'Unsupported event';
|
||||
}
|
||||
return details;
|
||||
}
|
||||
|
|
|
@ -29,4 +29,4 @@ export function NetworkViewModel(data) {
|
|||
|
||||
this.ConfigFrom = data.ConfigFrom;
|
||||
this.ConfigOnly = data.ConfigOnly;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ export function NodeViewModel(data) {
|
|||
|
||||
var labels = data.Spec.Labels;
|
||||
if (labels) {
|
||||
this.Labels = Object.keys(labels).map(function(key) {
|
||||
this.Labels = Object.keys(labels).map(function (key) {
|
||||
return { key: key, value: labels[key], originalKey: key, originalValue: labels[key], added: true };
|
||||
});
|
||||
} else {
|
||||
|
@ -19,7 +19,7 @@ export function NodeViewModel(data) {
|
|||
|
||||
var engineLabels = data.Description.Engine.Labels;
|
||||
if (engineLabels) {
|
||||
this.EngineLabels = Object.keys(engineLabels).map(function(key) {
|
||||
this.EngineLabels = Object.keys(engineLabels).map(function (key) {
|
||||
return { key: key, value: engineLabels[key] };
|
||||
});
|
||||
} else {
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
/**
|
||||
* This model should be used with por-image-registry component
|
||||
* And bound to the 'model' attribute
|
||||
*
|
||||
*
|
||||
* // viewController.js
|
||||
*
|
||||
*
|
||||
* this.imageModel = new PorImageRegistryModel();
|
||||
*
|
||||
*
|
||||
* // view.html
|
||||
* <por-image-registry model="$ctrl.imageModel" ... />
|
||||
*/
|
||||
|
@ -13,4 +13,4 @@ export function PorImageRegistryModel() {
|
|||
this.UseRegistry = true;
|
||||
this.Registry = {};
|
||||
this.Image = '';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ export function ServiceViewModel(data, runningTasks, allTasks) {
|
|||
this.Image = data.Spec.TaskTemplate.ContainerSpec.Image;
|
||||
this.Version = data.Version.Index;
|
||||
if (data.Spec.Mode.Replicated) {
|
||||
this.Mode = 'replicated' ;
|
||||
this.Mode = 'replicated';
|
||||
this.Replicas = data.Spec.Mode.Replicated.Replicas;
|
||||
} else {
|
||||
this.Mode = 'global';
|
||||
|
@ -23,12 +23,12 @@ export function ServiceViewModel(data, runningTasks, allTasks) {
|
|||
}
|
||||
if (data.Spec.TaskTemplate.Resources) {
|
||||
if (data.Spec.TaskTemplate.Resources.Limits) {
|
||||
this.LimitNanoCPUs = data.Spec.TaskTemplate.Resources.Limits.NanoCPUs;
|
||||
this.LimitMemoryBytes = data.Spec.TaskTemplate.Resources.Limits.MemoryBytes;
|
||||
this.LimitNanoCPUs = data.Spec.TaskTemplate.Resources.Limits.NanoCPUs;
|
||||
this.LimitMemoryBytes = data.Spec.TaskTemplate.Resources.Limits.MemoryBytes;
|
||||
}
|
||||
if (data.Spec.TaskTemplate.Resources.Reservations) {
|
||||
this.ReservationNanoCPUs = data.Spec.TaskTemplate.Resources.Reservations.NanoCPUs;
|
||||
this.ReservationMemoryBytes = data.Spec.TaskTemplate.Resources.Reservations.MemoryBytes;
|
||||
this.ReservationNanoCPUs = data.Spec.TaskTemplate.Resources.Reservations.NanoCPUs;
|
||||
this.ReservationMemoryBytes = data.Spec.TaskTemplate.Resources.Reservations.MemoryBytes;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ export function ServiceViewModel(data, runningTasks, allTasks) {
|
|||
this.VirtualIPs = data.Endpoint ? data.Endpoint.VirtualIPs : [];
|
||||
|
||||
if (data.Spec.UpdateConfig) {
|
||||
this.UpdateParallelism = (typeof data.Spec.UpdateConfig.Parallelism !== undefined) ? data.Spec.UpdateConfig.Parallelism || 0 : 1;
|
||||
this.UpdateParallelism = typeof data.Spec.UpdateConfig.Parallelism !== undefined ? data.Spec.UpdateConfig.Parallelism || 0 : 1;
|
||||
this.UpdateDelay = data.Spec.UpdateConfig.Delay || 0;
|
||||
this.UpdateFailureAction = data.Spec.UpdateConfig.FailureAction || 'pause';
|
||||
this.UpdateOrder = data.Spec.UpdateConfig.Order || 'stop-first';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue