diff --git a/config.py b/config.py index bdf4f5e35..a903fa29a 100644 --- a/config.py +++ b/config.py @@ -18,7 +18,8 @@ def build_requests_session(): # values are set to the frontend, DO NOT PLACE ANY SECRETS OR KEYS in this list. CLIENT_WHITELIST = ['SERVER_HOSTNAME', 'PREFERRED_URL_SCHEME', 'GITHUB_CLIENT_ID', 'GITHUB_LOGIN_CLIENT_ID', 'MIXPANEL_KEY', 'STRIPE_PUBLISHABLE_KEY', - 'ENTERPRISE_LOGO_URL', 'SENTRY_PUBLIC_DSN', 'AUTHENTICATION_TYPE'] + 'ENTERPRISE_LOGO_URL', 'SENTRY_PUBLIC_DSN', 'AUTHENTICATION_TYPE', + 'REGISTRY_TITLE', 'REGISTRY_TITLE_SHORT'] def getFrontendVisibleConfig(config_dict): @@ -45,6 +46,9 @@ class DefaultConfig(object): PREFERRED_URL_SCHEME = 'http' SERVER_HOSTNAME = 'localhost:5000' + REGISTRY_TITLE = 'Quay.io' + REGISTRY_TITLE_SHORT = 'Quay.io' + # Mail config MAIL_SERVER = '' MAIL_USE_TLS = True diff --git a/static/directives/registry-name.html b/static/directives/registry-name.html new file mode 100644 index 000000000..d68e63ddb --- /dev/null +++ b/static/directives/registry-name.html @@ -0,0 +1 @@ +{{ name }} diff --git a/static/directives/setup-trigger-dialog.html b/static/directives/setup-trigger-dialog.html index 07158c5db..dd384c808 100644 --- a/static/directives/setup-trigger-dialog.html +++ b/static/directives/setup-trigger-dialog.html @@ -37,7 +37,7 @@ The Dockerfile found Dockerfile found - depends on Quay.io repository + depends on the private repository {{ pullRequirements.namespace }}/{{ pullRequirements.name }} which requires @@ -82,13 +82,13 @@
Note: We've automatically selected robot account - , since it has access to the Quay.io + , since it has access to the private repository.
- Note: No robot account currently has access to the Quay.io repository. Please create one and/or assign access in the + Note: No robot account currently has access to the private repository. Please create one and/or assign access in the repository's admin panel.
diff --git a/static/directives/tour-content.html b/static/directives/tour-content.html index e0609fb65..79a197b3e 100644 --- a/static/directives/tour-content.html +++ b/static/directives/tour-content.html @@ -11,7 +11,7 @@
-
+
Customized for you
@@ -22,7 +22,7 @@
-
+
Useful views of respositories
@@ -32,7 +32,7 @@
-
@@ -47,7 +47,7 @@
-
+
Share at your control
@@ -61,7 +61,7 @@
-
+
Docker diff whenever you need it
@@ -100,14 +100,14 @@
Organize your repositories like you organize your company
- Organizations in Quay provide unique features for businesses and other + Organizations in provide unique features for businesses and other groups, including team-based sharing and fine-grained permission controls.
-
+
A central collection of repositories
@@ -121,7 +121,7 @@
-
+
Organization settings at a glance
@@ -137,7 +137,7 @@
-
+
Logging for comprehensive analysis
@@ -158,7 +158,7 @@
-
+
Teams simplify access controls
@@ -179,7 +179,7 @@
-
+
Fine-grained control of sharing
@@ -281,7 +281,7 @@
Organize your repositories like you organize your business
- The built in teams and organizations features of Quay.io allow you to finely control how the different teams and projects within your enterprise collaborate on repositories. + The built in teams and organizations features of allow you to finely control how the different teams and projects within your enterprise collaborate on repositories.
diff --git a/static/js/app.js b/static/js/app.js index bbb16bc75..d6d23db9c 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -991,7 +991,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading return userService; }]); - $provide.factory('ExternalNotificationData', [function() { + $provide.factory('ExternalNotificationData', ['Config', function(Config) { var externalNotificationData = {}; var events = [ @@ -1025,7 +1025,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading var methods = [ { 'id': 'quay_notification', - 'title': 'Quay.io Notification', + 'title': Config.REGISTRY_TITLE + ' Notification', 'icon': 'quay-icon', 'fields': [ { @@ -1111,7 +1111,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading }, 'password_required': { 'level': 'error', - 'message': 'In order to begin pushing and pulling repositories to Quay.io, a password must be set for your account', + 'message': 'In order to begin pushing and pulling repositories, a password must be set for your account', 'page': '/user?tab=password' }, 'over_private_usage': { @@ -1130,7 +1130,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading 'expiring_license': { 'level': 'error', 'message': 'Your license will expire at: {expires_at} ' + - '

Please contact Quay.io support to purchase a new license.', + '

Please contact support to purchase a new license.', 'page': '/contact/' }, 'maintenance': { @@ -1634,8 +1634,9 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading }); }; }). - config(['$routeProvider', '$locationProvider', + config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { + var title = window.__config['REGISTRY_TITLE'] || 'Quay.io'; $locationProvider.html5Mode(true); @@ -1654,13 +1655,14 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading when('/repository/:namespace/:name/build/:buildid/buildpack', {templateUrl: '/static/partials/build-package.html', controller:BuildPackageCtrl, reloadOnSearch: false}). when('/repository/', {title: 'Repositories', description: 'Public and private docker repositories list', templateUrl: '/static/partials/repo-list.html', controller: RepoListCtrl}). - when('/user/', {title: 'Account Settings', description:'Account settings for Quay.io', templateUrl: '/static/partials/user-admin.html', + when('/user/', {title: 'Account Settings', description:'Account settings for ' + title, templateUrl: '/static/partials/user-admin.html', reloadOnSearch: false, controller: UserAdminCtrl}). - when('/superuser/', {title: 'Superuser Admin Panel', description:'Admin panel for Quay.io', templateUrl: '/static/partials/super-user.html', + when('/superuser/', {title: 'Superuser Admin Panel', description:'Admin panel for ' + title, templateUrl: '/static/partials/super-user.html', reloadOnSearch: false, controller: SuperUserAdminCtrl}). - when('/guide/', {title: 'Guide', description:'Guide to using private docker repositories on Quay.io', templateUrl: '/static/partials/guide.html', + when('/guide/', {title: 'Guide', description:'Guide to using private docker repositories on ' + title, + templateUrl: '/static/partials/guide.html', controller: GuideCtrl}). - when('/tutorial/', {title: 'Tutorial', description:'Interactive tutorial for using Quay.io', templateUrl: '/static/partials/tutorial.html', + when('/tutorial/', {title: 'Tutorial', description:'Interactive tutorial for using ' + title, templateUrl: '/static/partials/tutorial.html', controller: TutorialCtrl}). when('/contact/', {title: 'Contact Us', description:'Different ways for you to get a hold of us when you need us most.', templateUrl: '/static/partials/contact.html', controller: ContactCtrl}). @@ -1669,12 +1671,12 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading templateUrl: '/static/partials/plans.html', controller: PlansCtrl}). when('/security/', {title: 'Security', description: 'Security features used when transmitting and storing data', templateUrl: '/static/partials/security.html'}). - when('/signin/', {title: 'Sign In', description: 'Sign into Quay.io', templateUrl: '/static/partials/signin.html'}). + when('/signin/', {title: 'Sign In', description: 'Sign into ' + title, templateUrl: '/static/partials/signin.html'}). when('/new/', {title: 'Create new repository', description: 'Create a new public or private docker repository, optionally constructing from a dockerfile', templateUrl: '/static/partials/new-repo.html', controller: NewRepoCtrl}). when('/organizations/', {title: 'Organizations', description: 'Private docker repository hosting for businesses and organizations', templateUrl: '/static/partials/organizations.html', controller: OrgsCtrl}). - when('/organizations/new/', {title: 'New Organization', description: 'Create a new organization on Quay.io', + when('/organizations/new/', {title: 'New Organization', description: 'Create a new organization on ' + title, templateUrl: '/static/partials/new-organization.html', controller: NewOrgCtrl}). when('/organization/:orgname', {templateUrl: '/static/partials/org-view.html', controller: OrgViewCtrl}). when('/organization/:orgname/admin', {templateUrl: '/static/partials/org-admin.html', controller: OrgAdminCtrl, reloadOnSearch: false}). @@ -1685,10 +1687,10 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading when('/v1/', {title: 'Activation information', templateUrl: '/static/partials/v1-page.html', controller: V1Ctrl}). - when('/tour/', {title: 'Quay.io Tour', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). + when('/tour/', {title: title + ' Tour', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). when('/tour/organizations', {title: 'Teams and Organizations Tour', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). - when('/tour/features', {title: 'Quay.io Features', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). - when('/tour/enterprise', {title: 'Quay.io Enterprise Edition', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). + when('/tour/features', {title: title + ' Features', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). + when('/tour/enterprise', {title: 'Enterprise Edition', templateUrl: '/static/partials/tour.html', controller: TourCtrl}). when('/', {title: 'Hosted Private Docker Registry', templateUrl: '/static/partials/landing.html', controller: LandingCtrl, pageClass: 'landing-page'}). @@ -3149,6 +3151,22 @@ quayApp.directive('quaySpinner', function () { }); +quayApp.directive('registryName', function () { + var directiveDefinitionObject = { + priority: 0, + templateUrl: '/static/directives/registry-name.html', + replace: false, + transclude: true, + restrict: 'C', + scope: {}, + controller: function($scope, $element, Config) { + $scope.name = Config.REGISTRY_TITLE; + } + }; + return directiveDefinitionObject; +}); + + quayApp.directive('organizationHeader', function () { var directiveDefinitionObject = { priority: 0, @@ -3355,7 +3373,7 @@ quayApp.directive('entitySearch', function () { // Set this property to immediately clear the contents of the control. 'clearValue': '=clearValue', }, - controller: function($rootScope, $scope, $element, Restangular, UserService, ApiService) { + controller: function($rootScope, $scope, $element, Restangular, UserService, ApiService, Config) { $scope.lazyLoading = true; $scope.teams = null; @@ -3553,7 +3571,7 @@ quayApp.directive('entitySearch', function () { } if (val.indexOf('@') > 0) { - return '
A Quay.io username (not an e-mail address) must be specified
'; + return '
A ' + Config.REGISTRY_TITLE_SHORT + ' username (not an e-mail address) must be specified
'; } var classes = []; @@ -3580,7 +3598,7 @@ quayApp.directive('entitySearch', function () { class_string += classes[i]; } - return '
No matching Quay.io ' + class_string + ' found
'; + return '
No matching ' + Config.REGISTRY_TITLE_SHORT + ' ' + class_string + ' found
'; } return null; diff --git a/static/js/controllers.js b/static/js/controllers.js index 1a9dad045..d77ffb298 100644 --- a/static/js/controllers.js +++ b/static/js/controllers.js @@ -62,14 +62,14 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf var showSudo = navigator.appVersion.indexOf("Linux") != -1; $scope.tour = { - 'title': 'Quay.io Tutorial', + 'title': Config.REGISTRY_TITLE_SHORT + ' Tutorial', 'initialScope': { 'showSudo': showSudo, 'domainName': Config.getDomain() }, 'steps': [ { - 'title': 'Welcome to the Quay.io tutorial!', + 'title': 'Welcome to the ' + Config.REGISTRY_TITLE_SHORT + ' tutorial!', 'templateUrl': '/static/tutorial/welcome.html' }, { @@ -84,7 +84,7 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf } }, { - 'title': 'Step 1: Login to Quay.io', + 'title': 'Step 1: Login to ' + Config.REGISTRY_TITLE, 'templateUrl': '/static/tutorial/docker-login.html', 'signal': AngularTourSignals.serverEvent('/realtime/user/subscribe?events=docker-cli', function(message) { @@ -103,7 +103,7 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf 'templateUrl': '/static/tutorial/create-image.html' }, { - 'title': 'Step 4: Push the image to Quay.io', + 'title': 'Step 4: Push the image to ' + Config.REGISTRY_TITLE, 'templateUrl': '/static/tutorial/push-image.html', 'signal': AngularTourSignals.serverEvent('/realtime/user/subscribe?events=docker-cli', function(message, tourScope) { @@ -126,7 +126,7 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf 'waitMessage': "Waiting for repository push to complete" }, { - 'title': 'Step 5: View the repository on Quay.io', + 'title': 'Step 5: View the repository on ' + Config.REGISTRY_TITLE, 'templateUrl': '/static/tutorial/view-repo.html', 'signal': AngularTourSignals.matchesLocation('/repository/'), 'overlayable': true, @@ -1292,10 +1292,11 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, $routeParams return imageUrl; case 'md': - return '[![Docker Repository on Quay.io](' + imageUrl + ' "Docker Repository on Quay.io")](' + linkUrl + ')'; + return '[![Docker Repository on ' + Config.REGISTRY_TITLE_SHORT + '](' + imageUrl + + ' "Docker Repository on ' + Config.REGISTRY_TITLE_SHORT + '")](' + linkUrl + ')'; case 'asciidoc': - return 'image:' + imageUrl + '["Docker Repository on Quay.io", link="' + linkUrl + '"]'; + return 'image:' + imageUrl + '["Docker Repository on ' + Config.REGISTRY_TITLE_SHORT + '", link="' + linkUrl + '"]'; } return ''; diff --git a/static/partials/image-view.html b/static/partials/image-view.html index 0091cded0..0ad7ce748 100644 --- a/static/partials/image-view.html +++ b/static/partials/image-view.html @@ -23,7 +23,7 @@
Compressed Image Size
{{ image.value.size | bytes }}
diff --git a/static/partials/landing-login.html b/static/partials/landing-login.html index c0278b026..5b8b03ce5 100644 --- a/static/partials/landing-login.html +++ b/static/partials/landing-login.html @@ -13,7 +13,7 @@ -

Quay.io Enterprise Edition

+

Enterprise Registry

diff --git a/static/partials/super-user.html b/static/partials/super-user.html index b7d60a8a8..64b043331 100644 --- a/static/partials/super-user.html +++ b/static/partials/super-user.html @@ -1,6 +1,6 @@
- This panel provides administrator access to super users of this installation of Quay.io. Super users can be managed in the configuration for this installation. + This panel provides administrator access to super users of this installation of the registry. Super users can be managed in the configuration for this installation.
@@ -128,7 +128,7 @@