Replace references seen in the enterprise version to "Quay.io" with a config-pulled value
This commit is contained in:
parent
5d4a6fc279
commit
6f804c222a
18 changed files with 84 additions and 60 deletions
|
@ -18,7 +18,8 @@ def build_requests_session():
|
||||||
# values are set to the frontend, DO NOT PLACE ANY SECRETS OR KEYS in this list.
|
# 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',
|
CLIENT_WHITELIST = ['SERVER_HOSTNAME', 'PREFERRED_URL_SCHEME', 'GITHUB_CLIENT_ID',
|
||||||
'GITHUB_LOGIN_CLIENT_ID', 'MIXPANEL_KEY', 'STRIPE_PUBLISHABLE_KEY',
|
'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):
|
def getFrontendVisibleConfig(config_dict):
|
||||||
|
@ -45,6 +46,9 @@ class DefaultConfig(object):
|
||||||
PREFERRED_URL_SCHEME = 'http'
|
PREFERRED_URL_SCHEME = 'http'
|
||||||
SERVER_HOSTNAME = 'localhost:5000'
|
SERVER_HOSTNAME = 'localhost:5000'
|
||||||
|
|
||||||
|
REGISTRY_TITLE = 'Quay.io'
|
||||||
|
REGISTRY_TITLE_SHORT = 'Quay.io'
|
||||||
|
|
||||||
# Mail config
|
# Mail config
|
||||||
MAIL_SERVER = ''
|
MAIL_SERVER = ''
|
||||||
MAIL_USE_TLS = True
|
MAIL_USE_TLS = True
|
||||||
|
|
1
static/directives/registry-name.html
Normal file
1
static/directives/registry-name.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<span class="registry-name-element">{{ name }}</span>
|
|
@ -37,7 +37,7 @@
|
||||||
The
|
The
|
||||||
<a href="{{ pullRequirements.dockerfile_url }}" ng-if="pullRequirements.dockerfile_url" target="_blank">Dockerfile found</a>
|
<a href="{{ pullRequirements.dockerfile_url }}" ng-if="pullRequirements.dockerfile_url" target="_blank">Dockerfile found</a>
|
||||||
<span ng-if="!pullRequirements.dockerfile_url">Dockerfile found</span>
|
<span ng-if="!pullRequirements.dockerfile_url">Dockerfile found</span>
|
||||||
depends on Quay.io repository
|
depends on the private <span class="registry-name"></span> repository
|
||||||
<a href="/repository/{{ pullRequirements.namespace }}/{{ pullRequirements.name }}" target="_blank">
|
<a href="/repository/{{ pullRequirements.namespace }}/{{ pullRequirements.name }}" target="_blank">
|
||||||
{{ pullRequirements.namespace }}/{{ pullRequirements.name }}
|
{{ pullRequirements.namespace }}/{{ pullRequirements.name }}
|
||||||
</a> which requires
|
</a> which requires
|
||||||
|
@ -82,13 +82,13 @@
|
||||||
<div class="alert alert-info" ng-if="pullRequirements.status == 'analyzed' && pullRequirements.robots.length"
|
<div class="alert alert-info" ng-if="pullRequirements.status == 'analyzed' && pullRequirements.robots.length"
|
||||||
style="margin-top: 20px; margin-bottom: 0px;">
|
style="margin-top: 20px; margin-bottom: 0px;">
|
||||||
Note: We've automatically selected robot account
|
Note: We've automatically selected robot account
|
||||||
<span class="entity-reference" entity="pullRequirements.robots[0]"></span>, since it has access to the Quay.io
|
<span class="entity-reference" entity="pullRequirements.robots[0]"></span>, since it has access to the private
|
||||||
repository.
|
repository.
|
||||||
</div>
|
</div>
|
||||||
<div class="alert alert-warning"
|
<div class="alert alert-warning"
|
||||||
ng-if="pullRequirements.status == 'analyzed' && !pullRequirements.robots.length && pullRequirements.name"
|
ng-if="pullRequirements.status == 'analyzed' && !pullRequirements.robots.length && pullRequirements.name"
|
||||||
style="margin-top: 20px; margin-bottom: 0px;">
|
style="margin-top: 20px; margin-bottom: 0px;">
|
||||||
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
|
||||||
<a href="/repository/{{ pullRequirements.namespace }}/{{ pullRequirements.name }}/admin" target="_blank">repository's
|
<a href="/repository/{{ pullRequirements.namespace }}/{{ pullRequirements.name }}/admin" target="_blank">repository's
|
||||||
admin panel</a>.
|
admin panel</a>.
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7"><img src="/static/img/user-home.png" title="User Home - Quay.io" data-screenshot-url="https://quay.io/" class="img-responsive"></div>
|
<div class="col-md-7"><img src="/static/img/user-home.png" title="User Home" data-screenshot-url="https://quay.io/" class="img-responsive"></div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<div class="tour-section-title">Customized for you</div>
|
<div class="tour-section-title">Customized for you</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7 col-md-push-5"><img src="/static/img/repo-view.png" title="Repository View - Quay.io" data-screenshot-url="https://quay.io/repository/devtable/complex" class="img-responsive"></div>
|
<div class="col-md-7 col-md-push-5"><img src="/static/img/repo-view.png" title="Repository View" data-screenshot-url="https://quay.io/repository/devtable/complex" class="img-responsive"></div>
|
||||||
<div class="col-md-5 col-md-pull-7">
|
<div class="col-md-5 col-md-pull-7">
|
||||||
<div class="tour-section-title">Useful views of respositories</div>
|
<div class="tour-section-title">Useful views of respositories</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7"><img src="/static/img/build-history.png" title="View Image - Quay.io"
|
<div class="col-md-7"><img src="/static/img/build-history.png" title="View Image"
|
||||||
data-screenshot-url="https://quay.io/repository/devtable/building/build"
|
data-screenshot-url="https://quay.io/repository/devtable/building/build"
|
||||||
class="img-responsive"></div>
|
class="img-responsive"></div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
|
@ -47,7 +47,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7 col-md-push-5"><img src="/static/img/repo-admin.png" title="Repository Admin - Quay.io" data-screenshot-url="https://quay.io/repository/devtable/complex/admin" class="img-responsive"></div>
|
<div class="col-md-7 col-md-push-5"><img src="/static/img/repo-admin.png" title="Repository Admin" data-screenshot-url="https://quay.io/repository/devtable/complex/admin" class="img-responsive"></div>
|
||||||
<div class="col-md-5 col-md-pull-7">
|
<div class="col-md-5 col-md-pull-7">
|
||||||
<div class="tour-section-title">Share at your control</div>
|
<div class="tour-section-title">Share at your control</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7"><img src="/static/img/repo-changes.png" title="View Image - Quay.io" data-screenshot-url="https://quay.io/repository/devtable/image/..." class="img-responsive"></div>
|
<div class="col-md-7"><img src="/static/img/repo-changes.png" title="View Image" data-screenshot-url="https://quay.io/repository/devtable/image/..." class="img-responsive"></div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<div class="tour-section-title">Docker diff whenever you need it</div>
|
<div class="tour-section-title">Docker diff whenever you need it</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -100,14 +100,14 @@
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="tour-section-title">Organize your repositories like you organize your company</div>
|
<div class="tour-section-title">Organize your repositories like you organize your company</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
Organizations in Quay provide unique features for <span quay-require="['BILLING']">businesses and other</span>
|
Organizations in <span class="registry-name"></span> provide unique features for <span quay-require="['BILLING']">businesses and other</span>
|
||||||
groups, including team-based sharing and fine-grained permission controls.
|
groups, including team-based sharing and fine-grained permission controls.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7"><img src="/static/img/org-repo-list.png" data-title="Repositories - Quay.io" data-screenshot-url="https://quay.io/repository/" class="img-responsive"></div>
|
<div class="col-md-7"><img src="/static/img/org-repo-list.png" data-title="Repositories" data-screenshot-url="https://quay.io/repository/" class="img-responsive"></div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<div class="tour-section-title">A central collection of repositories</div>
|
<div class="tour-section-title">A central collection of repositories</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -121,7 +121,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7 col-md-push-5"><img src="/static/img/org-admin.png" data-title="buynlarge Admin - Quay.io" data-screenshot-url="https://quay.io/organization/buynlarge/admin" class="img-responsive"></div>
|
<div class="col-md-7 col-md-push-5"><img src="/static/img/org-admin.png" data-title="buynlarge Admin" data-screenshot-url="https://quay.io/organization/buynlarge/admin" class="img-responsive"></div>
|
||||||
<div class="col-md-5 col-md-pull-7">
|
<div class="col-md-5 col-md-pull-7">
|
||||||
<div class="tour-section-title">Organization settings at a glance</div>
|
<div class="tour-section-title">Organization settings at a glance</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -137,7 +137,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7"><img src="/static/img/org-logs.png" data-title="buynlarge Admin - Quay.io" data-screenshot-url="https://quay.io/organization/buynlarge" class="img-responsive"></div>
|
<div class="col-md-7"><img src="/static/img/org-logs.png" data-title="buynlarge Admin" data-screenshot-url="https://quay.io/organization/buynlarge" class="img-responsive"></div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<div class="tour-section-title">Logging for comprehensive analysis</div>
|
<div class="tour-section-title">Logging for comprehensive analysis</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -158,7 +158,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7 col-md-push-5"><img src="/static/img/org-teams.png" data-title="buynlarge - Quay.io" data-screenshot-url="https://quay.io/organization/buynlarge" class="img-responsive"></div>
|
<div class="col-md-7 col-md-push-5"><img src="/static/img/org-teams.png" data-title="buynlarge" data-screenshot-url="https://quay.io/organization/buynlarge" class="img-responsive"></div>
|
||||||
<div class="col-md-5 col-md-pull-7">
|
<div class="col-md-5 col-md-pull-7">
|
||||||
<div class="tour-section-title">Teams simplify access controls</div>
|
<div class="tour-section-title">Teams simplify access controls</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -179,7 +179,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tour-section row">
|
<div class="tour-section row">
|
||||||
<div class="col-md-7"><img src="/static/img/org-repo-admin.png" data-title="buynlarge/orgrepo - Quay.io" data-screenshot-url="https://quay.io/repository/buynlarge/orgrepo" class="img-responsive"></div>
|
<div class="col-md-7"><img src="/static/img/org-repo-admin.png" data-title="buynlarge/orgrepo" data-screenshot-url="https://quay.io/repository/buynlarge/orgrepo" class="img-responsive"></div>
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<div class="tour-section-title">Fine-grained control of sharing</div>
|
<div class="tour-section-title">Fine-grained control of sharing</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
|
@ -281,7 +281,7 @@
|
||||||
<div class="col-sm-9">
|
<div class="col-sm-9">
|
||||||
<div class="tour-section-title">Organize your repositories like you organize your business</div>
|
<div class="tour-section-title">Organize your repositories like you organize your business</div>
|
||||||
<div class="tour-section-description">
|
<div class="tour-section-description">
|
||||||
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 <span class="registry-name"></span> allow you to finely control how the different teams and projects within your enterprise collaborate on repositories.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -991,7 +991,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
|
||||||
return userService;
|
return userService;
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
$provide.factory('ExternalNotificationData', [function() {
|
$provide.factory('ExternalNotificationData', ['Config', function(Config) {
|
||||||
var externalNotificationData = {};
|
var externalNotificationData = {};
|
||||||
|
|
||||||
var events = [
|
var events = [
|
||||||
|
@ -1025,7 +1025,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
|
||||||
var methods = [
|
var methods = [
|
||||||
{
|
{
|
||||||
'id': 'quay_notification',
|
'id': 'quay_notification',
|
||||||
'title': 'Quay.io Notification',
|
'title': Config.REGISTRY_TITLE + ' Notification',
|
||||||
'icon': 'quay-icon',
|
'icon': 'quay-icon',
|
||||||
'fields': [
|
'fields': [
|
||||||
{
|
{
|
||||||
|
@ -1111,7 +1111,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
|
||||||
},
|
},
|
||||||
'password_required': {
|
'password_required': {
|
||||||
'level': 'error',
|
'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'
|
'page': '/user?tab=password'
|
||||||
},
|
},
|
||||||
'over_private_usage': {
|
'over_private_usage': {
|
||||||
|
@ -1130,7 +1130,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
|
||||||
'expiring_license': {
|
'expiring_license': {
|
||||||
'level': 'error',
|
'level': 'error',
|
||||||
'message': 'Your license will expire at: {expires_at} ' +
|
'message': 'Your license will expire at: {expires_at} ' +
|
||||||
'<br><br>Please contact Quay.io support to purchase a new license.',
|
'<br><br>Please contact support to purchase a new license.',
|
||||||
'page': '/contact/'
|
'page': '/contact/'
|
||||||
},
|
},
|
||||||
'maintenance': {
|
'maintenance': {
|
||||||
|
@ -1634,8 +1634,9 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
}).
|
}).
|
||||||
config(['$routeProvider', '$locationProvider',
|
config(['$routeProvider', '$locationProvider',
|
||||||
function($routeProvider, $locationProvider) {
|
function($routeProvider, $locationProvider) {
|
||||||
|
var title = window.__config['REGISTRY_TITLE'] || 'Quay.io';
|
||||||
|
|
||||||
$locationProvider.html5Mode(true);
|
$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/: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',
|
when('/repository/', {title: 'Repositories', description: 'Public and private docker repositories list',
|
||||||
templateUrl: '/static/partials/repo-list.html', controller: RepoListCtrl}).
|
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}).
|
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}).
|
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}).
|
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}).
|
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',
|
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}).
|
controller: ContactCtrl}).
|
||||||
|
@ -1669,12 +1671,12 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
|
||||||
templateUrl: '/static/partials/plans.html', controller: PlansCtrl}).
|
templateUrl: '/static/partials/plans.html', controller: PlansCtrl}).
|
||||||
when('/security/', {title: 'Security', description: 'Security features used when transmitting and storing data',
|
when('/security/', {title: 'Security', description: 'Security features used when transmitting and storing data',
|
||||||
templateUrl: '/static/partials/security.html'}).
|
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',
|
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}).
|
templateUrl: '/static/partials/new-repo.html', controller: NewRepoCtrl}).
|
||||||
when('/organizations/', {title: 'Organizations', description: 'Private docker repository hosting for businesses and organizations',
|
when('/organizations/', {title: 'Organizations', description: 'Private docker repository hosting for businesses and organizations',
|
||||||
templateUrl: '/static/partials/organizations.html', controller: OrgsCtrl}).
|
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}).
|
templateUrl: '/static/partials/new-organization.html', controller: NewOrgCtrl}).
|
||||||
when('/organization/:orgname', {templateUrl: '/static/partials/org-view.html', controller: OrgViewCtrl}).
|
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}).
|
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('/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/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/features', {title: title + ' 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/enterprise', {title: 'Enterprise Edition', templateUrl: '/static/partials/tour.html', controller: TourCtrl}).
|
||||||
|
|
||||||
when('/', {title: 'Hosted Private Docker Registry', templateUrl: '/static/partials/landing.html', controller: LandingCtrl,
|
when('/', {title: 'Hosted Private Docker Registry', templateUrl: '/static/partials/landing.html', controller: LandingCtrl,
|
||||||
pageClass: 'landing-page'}).
|
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 () {
|
quayApp.directive('organizationHeader', function () {
|
||||||
var directiveDefinitionObject = {
|
var directiveDefinitionObject = {
|
||||||
priority: 0,
|
priority: 0,
|
||||||
|
@ -3355,7 +3373,7 @@ quayApp.directive('entitySearch', function () {
|
||||||
// Set this property to immediately clear the contents of the control.
|
// Set this property to immediately clear the contents of the control.
|
||||||
'clearValue': '=clearValue',
|
'clearValue': '=clearValue',
|
||||||
},
|
},
|
||||||
controller: function($rootScope, $scope, $element, Restangular, UserService, ApiService) {
|
controller: function($rootScope, $scope, $element, Restangular, UserService, ApiService, Config) {
|
||||||
$scope.lazyLoading = true;
|
$scope.lazyLoading = true;
|
||||||
|
|
||||||
$scope.teams = null;
|
$scope.teams = null;
|
||||||
|
@ -3553,7 +3571,7 @@ quayApp.directive('entitySearch', function () {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (val.indexOf('@') > 0) {
|
if (val.indexOf('@') > 0) {
|
||||||
return '<div class="tt-empty">A Quay.io username (not an e-mail address) must be specified</div>';
|
return '<div class="tt-empty">A ' + Config.REGISTRY_TITLE_SHORT + ' username (not an e-mail address) must be specified</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
var classes = [];
|
var classes = [];
|
||||||
|
@ -3580,7 +3598,7 @@ quayApp.directive('entitySearch', function () {
|
||||||
class_string += classes[i];
|
class_string += classes[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
return '<div class="tt-empty">No matching Quay.io ' + class_string + ' found</div>';
|
return '<div class="tt-empty">No matching ' + Config.REGISTRY_TITLE_SHORT + ' ' + class_string + ' found</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -62,14 +62,14 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf
|
||||||
var showSudo = navigator.appVersion.indexOf("Linux") != -1;
|
var showSudo = navigator.appVersion.indexOf("Linux") != -1;
|
||||||
|
|
||||||
$scope.tour = {
|
$scope.tour = {
|
||||||
'title': 'Quay.io Tutorial',
|
'title': Config.REGISTRY_TITLE_SHORT + ' Tutorial',
|
||||||
'initialScope': {
|
'initialScope': {
|
||||||
'showSudo': showSudo,
|
'showSudo': showSudo,
|
||||||
'domainName': Config.getDomain()
|
'domainName': Config.getDomain()
|
||||||
},
|
},
|
||||||
'steps': [
|
'steps': [
|
||||||
{
|
{
|
||||||
'title': 'Welcome to the Quay.io tutorial!',
|
'title': 'Welcome to the ' + Config.REGISTRY_TITLE_SHORT + ' tutorial!',
|
||||||
'templateUrl': '/static/tutorial/welcome.html'
|
'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',
|
'templateUrl': '/static/tutorial/docker-login.html',
|
||||||
'signal': AngularTourSignals.serverEvent('/realtime/user/subscribe?events=docker-cli',
|
'signal': AngularTourSignals.serverEvent('/realtime/user/subscribe?events=docker-cli',
|
||||||
function(message) {
|
function(message) {
|
||||||
|
@ -103,7 +103,7 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf
|
||||||
'templateUrl': '/static/tutorial/create-image.html'
|
'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',
|
'templateUrl': '/static/tutorial/push-image.html',
|
||||||
'signal': AngularTourSignals.serverEvent('/realtime/user/subscribe?events=docker-cli',
|
'signal': AngularTourSignals.serverEvent('/realtime/user/subscribe?events=docker-cli',
|
||||||
function(message, tourScope) {
|
function(message, tourScope) {
|
||||||
|
@ -126,7 +126,7 @@ function TutorialCtrl($scope, AngularTour, AngularTourSignals, UserService, Conf
|
||||||
'waitMessage': "Waiting for repository push to complete"
|
'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',
|
'templateUrl': '/static/tutorial/view-repo.html',
|
||||||
'signal': AngularTourSignals.matchesLocation('/repository/'),
|
'signal': AngularTourSignals.matchesLocation('/repository/'),
|
||||||
'overlayable': true,
|
'overlayable': true,
|
||||||
|
@ -1292,10 +1292,11 @@ function RepoAdminCtrl($scope, Restangular, ApiService, KeyService, $routeParams
|
||||||
return imageUrl;
|
return imageUrl;
|
||||||
|
|
||||||
case 'md':
|
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':
|
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 '';
|
return '';
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
<dd am-time-ago="parseDate(image.value.created)"></dd>
|
<dd am-time-ago="parseDate(image.value.created)"></dd>
|
||||||
<dt>Compressed Image Size</dt>
|
<dt>Compressed Image Size</dt>
|
||||||
<dd><span class="context-tooltip"
|
<dd><span class="context-tooltip"
|
||||||
data-title="The amount of data sent between Docker and Quay.io when pushing/pulling"
|
data-title="The amount of data sent between Docker and the registry when pushing/pulling"
|
||||||
bs-tooltip="tooltip.title" data-container="body">{{ image.value.size | bytes }}</span>
|
bs-tooltip="tooltip.title" data-container="body">{{ image.value.size | bytes }}</span>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<span style="display: inline-block; background: white; padding: 10px; border-radius: 10px;">
|
<span style="display: inline-block; background: white; padding: 10px; border-radius: 10px;">
|
||||||
<img ng-src="{{ getEnterpriseLogo() }}" style="max-height: 100px;">
|
<img ng-src="{{ getEnterpriseLogo() }}" style="max-height: 100px;">
|
||||||
</span>
|
</span>
|
||||||
<h1>Quay.io Enterprise Edition</h1>
|
<h1>Enterprise Registry</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div ng-show="!user.anonymous">
|
<div ng-show="!user.anonymous">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div class="container" quay-show="Features.SUPER_USERS">
|
<div class="container" quay-show="Features.SUPER_USERS">
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
This panel provides administrator access to <strong>super users of this installation of Quay.io</strong>. Super users can be managed in the configuration for this installation.
|
This panel provides administrator access to <strong>super users of this installation of the registry</strong>. Super users can be managed in the configuration for this installation.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -128,7 +128,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="alert alert-warning">
|
<div class="alert alert-warning">
|
||||||
The user will no longer be able to access Quay.io with their current password
|
The user will no longer be able to access the registry with their current password
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form class="form-change" id="changePasswordForm" name="changePasswordForm" data-trigger="manual">
|
<form class="form-change" id="changePasswordForm" name="changePasswordForm" data-trigger="manual">
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
<tr ng-show="canEditMembers">
|
<tr ng-show="canEditMembers">
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
<div class="entity-search" style="width: 100%"
|
<div class="entity-search" style="width: 100%"
|
||||||
namespace="orgname" placeholder="'Add a Quay.io user or robot...'"
|
namespace="orgname" placeholder="'Add a registered user or robot...'"
|
||||||
entity-selected="addNewMember(entity)"
|
entity-selected="addNewMember(entity)"
|
||||||
current-entity="selectedMember"
|
current-entity="selectedMember"
|
||||||
auto-clear="true"
|
auto-clear="true"
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body" ng-show="authorizedApps.length">
|
<div class="panel-body" ng-show="authorizedApps.length">
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
These are the applications you have authorized to view information and perform Quay.io actions on your behalf.
|
These are the applications you have authorized to view information and perform actions on your behalf.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table class="table">
|
<table class="table">
|
||||||
|
@ -240,7 +240,7 @@
|
||||||
ng-model="org.adminPassword" required>
|
ng-model="org.adminPassword" required>
|
||||||
<span class="description">
|
<span class="description">
|
||||||
The username and password for the account that will become an administrator of the organization.
|
The username and password for the account that will become an administrator of the organization.
|
||||||
Note that this account <b>must be a separate Quay.io account</b> from the account that you are
|
Note that this account <b>must be a separate registered account</b> from the account that you are
|
||||||
trying to convert, and <b>must already exist</b>.
|
trying to convert, and <b>must already exist</b>.
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -86,7 +86,7 @@
|
||||||
<div class="panel-default">
|
<div class="panel-default">
|
||||||
<div class="panel-heading">How to push a new image to this repository:</div>
|
<div class="panel-heading">How to push a new image to this repository:</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
First login to Quay.io (if you have not done so already):
|
First login to the registry (if you have not done so already):
|
||||||
<pre class="command">sudo docker login {{ Config.getDomain() }}</pre>
|
<pre class="command">sudo docker login {{ Config.getDomain() }}</pre>
|
||||||
|
|
||||||
Tag an image to this repository:
|
Tag an image to this repository:
|
||||||
|
@ -173,7 +173,7 @@
|
||||||
|
|
||||||
<dt>Total Compressed Size</dt>
|
<dt>Total Compressed Size</dt>
|
||||||
<dd><span class="context-tooltip"
|
<dd><span class="context-tooltip"
|
||||||
data-title="The amount of data sent between Docker and Quay.io when pushing/pulling"
|
data-title="The amount of data sent between Docker and the registry when pushing/pulling"
|
||||||
bs-tooltip="tooltip.title" data-container="body">{{ getTotalSize(currentTag) | bytes }}</span>
|
bs-tooltip="tooltip.title" data-container="body">{{ getTotalSize(currentTag) | bytes }}</span>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
@ -266,7 +266,7 @@
|
||||||
|
|
||||||
<div class="image-section">
|
<div class="image-section">
|
||||||
<i class="fa fa-cloud-upload section-icon" bs-tooltip="tooltip.title"
|
<i class="fa fa-cloud-upload section-icon" bs-tooltip="tooltip.title"
|
||||||
data-title="The amount of data sent between Docker and Quay.io when pushing/pulling"></i>
|
data-title="The amount of data sent between Docker and the registry when pushing/pulling"></i>
|
||||||
<span class="section-info">{{ currentImage.size | bytes }}</span>
|
<span class="section-info">{{ currentImage.size | bytes }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>The first step when using Quay.io is to login via the <code>docker login</code> command.</p>
|
<p>The first step when using <span class="registry-name"></span> is to login via the <code>docker login</code> command.</p>
|
||||||
<p>Enter your Quay.io username and your password when prompted.</p>
|
<p>Enter your <span class="registry-name"></span> username and your password when prompted.</p>
|
||||||
<pre class="command"><code ng-show="tour.tourScope.showSudo">sudo </code>docker login {{ tour.tourScope.domainName }}
|
<pre class="command"><code ng-show="tour.tourScope.showSudo">sudo </code>docker login {{ tour.tourScope.domainName }}
|
||||||
Username: {{ tour.tourScope.username }}
|
Username: {{ tour.tourScope.username }}
|
||||||
Password: (password here)
|
Password: (password here)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
That's it for the introduction tutorial! If you have any questions, please check the <a href="http://docs.quay.io" target="_blank">Quay Documentation</a> or <a href="/contact">contact us</a>!
|
That's it for the introduction tutorial! If you have any questions, please check the <a href="http://docs.quay.io" target="_blank">Documentation</a> or <a href="/contact">contact us</a>!
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<p>Now that we've tagged our image with a repository name, we can <code>push</code> the repository to Quay.io:</p>
|
<p>Now that we've tagged our image with a repository name, we can <code>push</code> the repository to <span class="registry-name"></span>:</p>
|
||||||
|
|
||||||
<pre class="command">
|
<pre class="command">
|
||||||
<code ng-show="tour.tourScope.showSudo">sudo </code>docker push {{ tour.tourScope.domainName }}/{{ tour.tourScope.username }}/<var class="var2">{{ tour.tourScope.repoName || 'myfirstrepo' }}</var>
|
<code ng-show="tour.tourScope.showSudo">sudo </code>docker push {{ tour.tourScope.domainName }}/{{ tour.tourScope.username }}/<var class="var2">{{ tour.tourScope.repoName || 'myfirstrepo' }}</var>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Your repository <span class="repo-name-small">{{ tour.tourScope.username }}/{{ tour.tourScope.repoName }}</span> is currently being pushed to Quay.io...
|
Your repository <span class="repo-name-small">{{ tour.tourScope.username }}/{{ tour.tourScope.repoName }}</span> is currently being pushed to <span class="registry-name"></span>...
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
<p>Your repository <span class="repo-name-small">{{ tour.tourScope.username }}/{{ tour.tourScope.repoName }}</span> has been pushed to Quay.io!</p>
|
<p>Your repository <span class="repo-name-small">{{ tour.tourScope.username }}/{{ tour.tourScope.repoName }}</span> has been pushed to <span class="registry-name"></span>!</p>
|
||||||
|
|
||||||
<p>To view your repository, first click on the <strong>Repositories</strong> link in the header to continue. This will display the repositories list.</p>
|
<p>To view your repository, first click on the <strong>Repositories</strong> link in the header to continue. This will display the repositories list.</p>
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<p>This tutorial will walk you step-by-step through using Quay.io, covering:
|
<p>This tutorial will walk you step-by-step through using <span class="registry-name"></span>, covering:
|
||||||
<ul>
|
<ul>
|
||||||
<li>Logging into Quay.io from Docker</li>
|
<li>Logging into <span class="registry-name"></span> from Docker</li>
|
||||||
<li>Starting a container</li>
|
<li>Starting a container</li>
|
||||||
<li>Creating images from a container</li>
|
<li>Creating images from a container</li>
|
||||||
<li>Pushing a repository to Quay.io</li>
|
<li>Pushing a repository to <span class="registry-name"></span></li>
|
||||||
<li>Viewing a repository</li>
|
<li>Viewing a repository</li>
|
||||||
<li>Changing a repository's permissions</li>
|
<li>Changing a repository's permissions</li>
|
||||||
</ul>
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>This tutorial should take about <b>15 minutes</b>, but may take slightly longer depending on the speed of your internet connection</p>
|
<p>This tutorial should take about <b>15 minutes</b>, but may take slightly longer depending on the speed of your internet connection</p>
|
||||||
|
|
Reference in a new issue