From 703a64cd6a71c31d6a8f078a35ecef1aa46705c5 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Wed, 25 Oct 2017 15:02:39 -0400 Subject: [PATCH] Add pull by digest to the fetch tag dialog --- static/js/directives/ui/fetch-tag-dialog.js | 25 ++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/static/js/directives/ui/fetch-tag-dialog.js b/static/js/directives/ui/fetch-tag-dialog.js index ae84b0f6d..51d75abea 100644 --- a/static/js/directives/ui/fetch-tag-dialog.js +++ b/static/js/directives/ui/fetch-tag-dialog.js @@ -25,6 +25,20 @@ angular.module('quay').directive('fetchTagDialog', function () { var updateFormats = function() { $scope.formats = []; + $scope.formats.push({ + 'title': 'Docker Pull (by tag)', + 'icon': 'docker-icon', + 'command': 'docker pull {hostname}/{namespace}/{name}:{tag}' + }); + + if ($scope.currentTag && $scope.currentTag.manifest_digest) { + $scope.formats.push({ + 'title': 'Docker Pull (by digest)', + 'icon': 'docker-icon', + 'command': 'docker pull {hostname}/{namespace}/{name}@{manifest_digest}' + }); + } + if ($scope.repository) { $scope.formats.push({ 'title': 'Squashed Docker Image', @@ -37,17 +51,11 @@ angular.module('quay').directive('fetchTagDialog', function () { if (Features.ACI_CONVERSION) { $scope.formats.push({ - 'title': 'Rocket Fetch', + 'title': 'rkt Fetch', 'icon': 'rocket-icon', 'command': 'rkt fetch {hostname}/{namespace}/{name}:{tag}' }); } - - $scope.formats.push({ - 'title': 'Basic Docker Pull', - 'icon': 'docker-icon', - 'command': 'docker pull {hostname}/{namespace}/{name}:{tag}' - }); }; $scope.$watch('currentEntity', function(entity) { @@ -97,7 +105,8 @@ angular.module('quay').directive('fetchTagDialog', function () { 'http': Config.getHttp(), 'namespace': $scope.repository.namespace, 'name': $scope.repository.name, - 'tag': $scope.currentTag.name + 'tag': $scope.currentTag.name, + 'manifest_digest': $scope.currentTag.manifest_digest }; var value = format.command;