diff --git a/app/components/createService/createServiceController.js b/app/components/createService/createServiceController.js index 675aeb338..7cc0767e3 100644 --- a/app/components/createService/createServiceController.js +++ b/app/components/createService/createServiceController.js @@ -12,6 +12,7 @@ function ($scope, $state, Service, Volume, Network, ImageHelper, Messages) { WorkingDir: '', User: '', Env: [], + Labels: [], Volumes: [], Network: '', ExtraNetworks: [], @@ -50,6 +51,14 @@ function ($scope, $state, Service, Volume, Network, ImageHelper, Messages) { $scope.formValues.Env.splice(index, 1); }; + $scope.addLabel = function() { + $scope.formValues.Labels.push({ name: '', value: ''}); + }; + + $scope.removeLabel = function(index) { + $scope.formValues.Labels.splice(index, 1); + }; + function prepareImageConfig(config, input) { var imageConfig = ImageHelper.createImageConfig(input.Image, input.Registry); config.TaskTemplate.ContainerSpec.Image = imageConfig.repo + ':' + imageConfig.tag; @@ -97,6 +106,16 @@ function ($scope, $state, Service, Volume, Network, ImageHelper, Messages) { config.TaskTemplate.ContainerSpec.Env = env; } + function prepareLabelsConfig(config, input) { + var labels = {}; + input.Labels.forEach(function (label) { + if (label.name && label.value) { + labels[label.name] = label.value; + } + }); + config.TaskTemplate.ContainerSpec.Labels = labels; + } + function prepareVolumes(config, input) { input.Volumes.forEach(function (volume) { if (volume.Source && volume.Target) { @@ -138,6 +157,7 @@ function ($scope, $state, Service, Volume, Network, ImageHelper, Messages) { preparePortsConfig(config, input); prepareCommandConfig(config, input); prepareEnvConfig(config, input); + prepareLabelsConfig(config, input); prepareVolumes(config, input); prepareNetworks(config, input); return config; diff --git a/app/components/createService/createservice.html b/app/components/createService/createservice.html index 25f458dd5..c6e68a7dc 100644 --- a/app/components/createService/createservice.html +++ b/app/components/createService/createservice.html @@ -101,6 +101,7 @@
  • Command
  • Volumes
  • Network
  • +
  • Labels
  • @@ -251,6 +252,42 @@
    + +
    +
    + +
    + +
    + + label + +
    + +
    +
    +
    + name + +
    +
    + value + + + + +
    +
    +
    + +
    + +
    +
    + +