portainer/app/docker/helpers/infoHelper.js

40 lines
883 B
JavaScript

import _ from 'lodash-es';
angular.module('portainer.docker').factory('InfoHelper', [
function InfoHelperFactory() {
'use strict';
var helper = {};
helper.determineEndpointMode = function (info, type) {
var mode = {
provider: '',
role: '',
agentProxy: false,
};
if (type === 2 || type === 4) {
mode.agentProxy = true;
}
if (!info.Swarm || _.isEmpty(info.Swarm.NodeID)) {
if (info.ID === 'vSphere Integrated Containers') {
mode.provider = 'VMWARE_VIC';
} else {
mode.provider = 'DOCKER_STANDALONE';
}
} else {
mode.provider = 'DOCKER_SWARM_MODE';
if (info.Swarm.ControlAvailable) {
mode.role = 'MANAGER';
} else {
mode.role = 'WORKER';
}
}
return mode;
};
return helper;
},
]);