mirror of https://github.com/portainer/portainer
feat(service-details): manage bridge & ingress
parent
e4254cb634
commit
77294ad731
|
@ -28,16 +28,25 @@ angular.module('portainer.docker')
|
|||
});
|
||||
}
|
||||
|
||||
helper.mapNetworkNameToServiceNetwork = function(service, networks) {
|
||||
helper.filterServiceNetworks = function(service, networks) {
|
||||
for (var i = 0; i < service.ServiceNetworks.length; i++) {
|
||||
var serviceNetwork = service.ServiceNetworks[i];
|
||||
var network = findAssociatedNetwork(serviceNetwork, networks);
|
||||
if (network) {
|
||||
if (network && network.Name) {
|
||||
serviceNetwork.Name = network.Name;
|
||||
}
|
||||
}
|
||||
_.remove(service.ServiceNetworks, network => (!network.Name));
|
||||
if (!_.some(service.ServiceNetworks, network => (network.Name === 'bridge'))){
|
||||
service.ServiceNetworks.push(_.find(networks, network => network.Name === 'bridge'));
|
||||
}
|
||||
};
|
||||
|
||||
helper.translateNetworkNameToTargets = function(networks) {
|
||||
_.remove(networks, network => (network.Name === 'ingress' || network.Name === 'bridge'));
|
||||
return _.map(networks, ({NetworkID}) => ({ Target: NetworkID}));
|
||||
}
|
||||
|
||||
helper.serviceToConfig = function(service) {
|
||||
return {
|
||||
Name: service.Spec.Name,
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</td>
|
||||
<td>{{ network.Addr }}</td>
|
||||
<td authorization="DockerServiceUpdate">
|
||||
<button type="button" class="btn btn-xs btn-danger" ng-click="removeNetwork(service, $index)" ng-disabled="isUpdating">
|
||||
<button type="button" class="btn btn-xs btn-danger" ng-click="removeNetwork(service, $index)" ng-disabled="isUpdating" ng-if="network.Name && !(network.Name == 'ingress' || network.Name == 'bridge')" >
|
||||
<i class="fa fa-trash" aria-hidden="true"></i> Remove network
|
||||
</button>
|
||||
</td>
|
||||
|
|
|
@ -172,7 +172,7 @@ function ($q, $scope, $transition$, $state, $location, $timeout, $anchorScroll,
|
|||
if (network && !_.find(service.ServiceNetworks, {'NetworkID': network.Id})) {
|
||||
service.ServiceNetworks.push({NetworkID: network.Id})
|
||||
updateServiceArray(service, 'ServiceNetworks', service.ServiceNetworks);
|
||||
ServiceHelper.mapNetworkNameToServiceNetwork(service, $scope.networks);
|
||||
ServiceHelper.filterServiceNetworks(service, $scope.networks);
|
||||
}
|
||||
};
|
||||
$scope.removeNetwork = function removeNetwork(service, index) {
|
||||
|
@ -311,7 +311,7 @@ function ($q, $scope, $transition$, $state, $location, $timeout, $anchorScroll,
|
|||
config.TaskTemplate.ContainerSpec.Image = service.Image;
|
||||
}
|
||||
if ($scope.hasChanges(service, ["ServiceNetworks"])) {
|
||||
config.TaskTemplate.Networks = _.map(service.ServiceNetworks, ({NetworkID}) => ({ Target: NetworkID}));
|
||||
config.TaskTemplate.Networks = ServiceHelper.translateNetworkNameToTargets(service.ServiceNetworks);
|
||||
}
|
||||
config.TaskTemplate.ContainerSpec.Secrets = service.ServiceSecrets ? service.ServiceSecrets.map(SecretHelper.secretConfig) : [];
|
||||
config.TaskTemplate.ContainerSpec.Configs = service.ServiceConfigs ? service.ServiceConfigs.map(ConfigHelper.configConfig) : [];
|
||||
|
@ -566,7 +566,8 @@ function ($q, $scope, $transition$, $state, $location, $timeout, $anchorScroll,
|
|||
containers: agentProxy ? ContainerService.containers() : [],
|
||||
nodes: NodeService.nodes(),
|
||||
networks: NetworkService.networks(true, true, true),
|
||||
availableNetworks: NetworkService.networks(true, true, true),
|
||||
availableNetworks: NetworkService.networks(false, true, true),
|
||||
test: NetworkService.networks(false, true, true),
|
||||
secrets: apiVersion >= 1.25 ? SecretService.secrets() : [],
|
||||
configs: apiVersion >= 1.30 ? ConfigService.configs() : [],
|
||||
availableImages: ImageService.images(),
|
||||
|
@ -607,7 +608,7 @@ function ($q, $scope, $transition$, $state, $location, $timeout, $anchorScroll,
|
|||
|
||||
$scope.tasks = data.tasks;
|
||||
|
||||
ServiceHelper.mapNetworkNameToServiceNetwork(service, data.networks);
|
||||
ServiceHelper.filterServiceNetworks(service, data.networks);
|
||||
|
||||
// Set max cpu value
|
||||
var maxCpus = 0;
|
||||
|
|
Loading…
Reference in New Issue