diff --git a/app/docker/helpers/imageHelper.js b/app/docker/helpers/imageHelper.js index 069b0bc42..61bdd92c8 100644 --- a/app/docker/helpers/imageHelper.js +++ b/app/docker/helpers/imageHelper.js @@ -8,47 +8,27 @@ angular.module('portainer.docker') helper.isValidTag = isValidTag; helper.createImageConfigForContainer = createImageConfigForContainer; + helper.getImagesNamesForDownload = getImagesNamesForDownload; + helper.removeDigestFromRepository = removeDigestFromRepository; function isValidTag(tag) { return tag.match(/^(?![\.\-])([a-zA-Z0-9\_\.\-])+$/g); } - // helper.extractImageAndRegistryFromRepository = function(repository) { - // var slashCount = _.countBy(repository)['/']; - // var registry = null; - // var image = repository; - // if (slashCount >= 1) { - // // assume something/something[/...] - // registry = repository.substr(0, repository.indexOf('/')); - // // assume valid DNS name or IP (contains at least one '.') - // if (_.countBy(registry)['.'] > 0) { - // image = repository.substr(repository.indexOf('/') + 1); - // } else { - // registry = null; - // } - // } - - // return { - // registry: registry, - // image: image - // }; - // }; - - helper.getImagesNamesForDownload = function(images) { + function getImagesNamesForDownload(images) { var names = images.map(function(image) { return image.RepoTags[0] !== ':' ? image.RepoTags[0] : image.Id; }); return { names: names }; - }; + } /** * * @param {PorImageRegistryModel} registry */ function createImageConfigForContainer(registry) { - console.log('registry', registry); const data = { fromImage: '' }; @@ -64,13 +44,12 @@ angular.module('portainer.docker') } data.fromImage = fullImageName; - console.log('FULL IMAGE NAME', fullImageName); return data; } - helper.removeDigestFromRepository = function(repository) { + function removeDigestFromRepository(repository) { return repository.split('@sha')[0]; - }; + } return helper; }]); diff --git a/app/docker/services/imageService.js b/app/docker/services/imageService.js index ae818c710..8bc1f8705 100644 --- a/app/docker/services/imageService.js +++ b/app/docker/services/imageService.js @@ -96,6 +96,10 @@ angular.module('portainer.docker') return deferred.promise; }; + /** + * PULL IMAGE + */ + function pullImageAndIgnoreErrors(imageConfiguration) { var deferred = $q.defer(); @@ -146,6 +150,10 @@ angular.module('portainer.docker') return pullImageAndAcknowledgeErrors(imageConfiguration); } + /** + * ! PULL IMAGE + */ + service.tagImage = function(id, image, registry) { void registry; return Image.tag({id: id, repo: image}).$promise; diff --git a/app/docker/views/containers/edit/containerController.js b/app/docker/views/containers/edit/containerController.js index 97a10b874..a090992f3 100644 --- a/app/docker/views/containers/edit/containerController.js +++ b/app/docker/views/containers/edit/containerController.js @@ -224,9 +224,9 @@ function ($q, $scope, $state, $transition$, $filter, Commit, ContainerHelper, Co if (!pullImage) { return $q.when(); } - return RegistryService.retrieveRegistryFromRepository(container.Config.Image) - .then(function pullImage(containerRegistry) { - return ImageService.pullImage(containerRegistry, true); + return RegistryService.retrievePorRegistryModelFromRepository(container.Config.Image) + .then(function pullImage(registryModel) { + return ImageService.pullImage(registryModel, true); }); }