diff --git a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html
index f26e77443..45ebc13a8 100644
--- a/app/portainer/components/datatables/registries-datatable/registriesDatatable.html
+++ b/app/portainer/components/datatables/registries-datatable/registriesDatatable.html
@@ -62,10 +62,10 @@
Manage access
-
+
Browse
-
+
Browse (extension)
diff --git a/app/portainer/components/datatables/registries-datatable/registriesDatatable.js b/app/portainer/components/datatables/registries-datatable/registriesDatatable.js
index f0247eb40..a235dfcad 100644
--- a/app/portainer/components/datatables/registries-datatable/registriesDatatable.js
+++ b/app/portainer/components/datatables/registries-datatable/registriesDatatable.js
@@ -10,6 +10,7 @@ angular.module('portainer.app').component('registriesDatatable', {
reverseOrder: '<',
accessManagement: '<',
removeAction: '<',
- registryManagement: '<'
+ registryManagement: '<',
+ canBrowse: '<'
}
});
diff --git a/app/portainer/views/registries/registries.html b/app/portainer/views/registries/registries.html
index 670baba7e..3bf7d8eb7 100644
--- a/app/portainer/views/registries/registries.html
+++ b/app/portainer/views/registries/registries.html
@@ -77,6 +77,7 @@
access-management="applicationState.application.authentication && isAdmin"
remove-action="removeAction"
registry-management="registryManagementAvailable"
+ can-browse="canBrowse"
>
diff --git a/app/portainer/views/registries/registriesController.js b/app/portainer/views/registries/registriesController.js
index c504cf5e6..bdb0a062d 100644
--- a/app/portainer/views/registries/registriesController.js
+++ b/app/portainer/views/registries/registriesController.js
@@ -1,3 +1,5 @@
+import _ from 'lodash-es';
+
angular.module('portainer.app')
.controller('RegistriesController', ['$q', '$scope', '$state', 'RegistryService', 'DockerHubService', 'ModalService', 'Notifications', 'ExtensionService', 'Authentication',
function ($q, $scope, $state, RegistryService, DockerHubService, ModalService, Notifications, ExtensionService, Authentication) {
@@ -10,6 +12,12 @@ function ($q, $scope, $state, RegistryService, DockerHubService, ModalService, N
dockerHubPassword: ''
};
+ const nonBrowsableUrls = ['quay.io'];
+
+ $scope.canBrowse = function(item) {
+ return ! _.includes(nonBrowsableUrls, item.URL);
+ }
+
$scope.updateDockerHub = function() {
var dockerhub = $scope.dockerhub;
dockerhub.Password = $scope.formValues.dockerHubPassword;