From b1e0620c1d55967f157a5dce68587f3d9d4403f3 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Fri, 26 Aug 2016 13:09:05 -0400 Subject: [PATCH] Fix handling of tabs in the plans page Fixes #1768 --- static/directives/plans-display.html | 646 ++++++++++++++++++++++ static/js/directives/ui/plans-display.js | 59 +++ static/js/pages/plans.js | 49 +- static/partials/plans.html | 647 +---------------------- 4 files changed, 708 insertions(+), 693 deletions(-) create mode 100644 static/directives/plans-display.html create mode 100644 static/js/directives/ui/plans-display.js diff --git a/static/directives/plans-display.html b/static/directives/plans-display.html new file mode 100644 index 000000000..0436e9eee --- /dev/null +++ b/static/directives/plans-display.html @@ -0,0 +1,646 @@ +
+ +
Use Quay in the cloud or hosted on your servers:
+ + + + +
+ +
+ +
+
+ +
+
+
+ $12/mo + Personal +
+
    +
  • 5 private repositories
  • +
  • Unlimited public repos
  • +
+
Great for individuals
+ + Start Free Trial + + +
+ +
    +
  • 30-day free trial
  • +
+
+ + +
+
+
+ $25/mo + Skiff +
+
    +
  • 10 private repositories
  • +
  • Unlimited public repos
  • +
  • Team-based permissions
  • +
+
Great for startups
+ + Start Free Trial + + +
+ +
    +
  • 30-day free trial
  • +
+
+ + + + + +
+
+
+ Larger Plans +
+ + + +
    +
  • Unlimited public repos
  • +
  • Team-based permissions
  • +
+
Great for enterprises
+ + Start Free Trial + + +
+ +
    +
  • 30-day free trial
  • +
+
+
+
+ + +
+
+
+ +
+
All plans include:
+
+
+
    +
  • + Continuous Integration +

    Build your containers in response to git pushes: GitHub, BitBucket, Gitlab and others.

    +
  • + +
  • + 30-Day Free Trial +

    Your first 30 days are free on Quay. Test it out and start building containers!

    +
  • + +
  • + Public Repositories +

    Provide a public download page for your container. The best part, they're free!

    +
  • + +
  • + Robot Accounts +

    Create credentials designed for deploying software automatically.

    +
  • +
+
+ +
+
    +
  • + Teams +

    Teams can collectively have access to manage specific repositories on your account.

    +
  • + +
  • + SSL Encryption +

    Transit between Quay and your servers is secured automatically.

    +
  • + +
  • + Logging & Auditing +

    Auditing is essential for everything in your CI pipeline. Actions via API and UI are tracked.

    +
  • + +
  • + Invoice History +

    Download past invoices for your billing team or purchasing department.

    +
  • +
+
+
+
+ + +
+

How do I use Quay with my servers and code?

+ +

Using Quay with your infrastructure is separated into two main actions: building containers and distributing them to your servers.

+ +

You can configure Quay to automatically build containers of your code on each commit. Integrations with GitHub, Bitbucket, GitLab and self-hosted Git repositories are supported. Each built container is stored on Quay and is available to be pulled down onto your servers.

+ +

To distribute your private containers onto your servers, Docker or rkt must be configured with the correct credentials. Quay has sophisticated access controls — organizations, teams, robot accounts, and more — to give you full control over which servers can pull down your containers. An API can be used to automate the creation and management of these credentials.

+ +

How is Quay optimized for a team environment?

+ +

Quay's permission model is designed for teams. Each new user can be assigned to one or more teams, with specific permissions. Robot accounts, used for automated deployments, can be managed per team as well. This system allows for each development team to manage their own credentials.

+ +

Full logging and auditing is integrated into every part of the application and API. Quay helps you dig into every action for more details.

+ +

Additional FAQs

+ + Can I change my plan? + +

Yes, you can change your plan at any time and your account will be pro-rated for the difference. For large organizations, Quay Enterprise offers unlimited users and repos.

+ + Do you offer special plans for business or academic institutions? + +

Please contact us at our support email address to discuss the details of your organization and intended usage.

+ + Can I use Quay for free? + +

Yes! We offer unlimited storage and serving of public repositories. We strongly believe in the open source community and will do what we can to help!

+ + What types of payment do you accept? + +

Quay uses Stripe as our payment processor, so we can accept any of the payment options they offer, which are currently: Visa, MasterCard, American Express, JCB, Discover and Diners Club.

+
+
+
+
+
+ + +
+ +
+
+ +
+
+
+ $450/mo + Basic +
+
Single region deployment of Quay with unlimited users and repos.
+
Great for smaller companies that are getting started with containers.
+ + Start Free Trial + + +
+ +
    +
  • 30-day free trial
  • +
  • Support via ticket
  • +
  • Unlimited repos, users and teams
  • +
  • No dedicated builders
  • +
  • No geo replication
  • +
+
+ + + + + +
+
+
+ Contact Sales + Premium +
+
Perfect for an enterprise with production deployment of containers.
+
Replicate container images to different regions for faster pulls to your servers around the world.
+ + Contact Sales + + +
+ +
    +
  • 30-day free trial
  • +
  • 24/7 Support
  • +
  • Unlimited repos, users and teams
  • +
  • Dedicated container builders
  • +
  • Geo replication between regions
  • +
+
+ + +
+
+
+ Questions? +
+ + +
+
+
+
+ + +
+
+
+ +
+
Enterprise features:
+
+
+
    +
  • + Enterprise Authentication +

    Integrate to your existing identity infrastructure: LDAP, Keystone, Tectonic Identity and more.

    +
  • + +
  • + Flexible Storage Backends +

    Store your container images on Amazon S3, OpenStack Swift, Google Cloud Storage, or directly to disk.

    +
  • +
+
+
+ +
All plans include:
+ +
+
+
    +
  • + Continuous Integration +

    Build your containers in response to git pushes: GitHub, BitBucket, Gitlab and others.

    +
  • + +
  • + 30-Day Free Trial +

    Your first 30 days are free on Quay. Test it out and start building containers!

    +
  • + +
  • + Public Repositories +

    Provide a public download page for your container. The best part, they're free!

    +
  • + +
  • + Robot Accounts +

    Create credentials designed for deploying software automatically.

    +
  • +
+
+ +
+
    +
  • + Teams +

    Teams can collectively have access to manage specific repositories on your account.

    +
  • + +
  • + SSL Encryption +

    Transit between Quay and your servers is secured automatically.

    +
  • + +
  • + Logging & Auditing +

    Auditing is essential for everything in your CI pipeline. Actions via API and UI are tracked.

    +
  • + +
  • + Multiple Image Formats +

    Images are transformed on the fly, allowing you to push Docker (v1 and v2) and pull rkt.

    +
  • +
+
+ +
+
    +
  • + Invoice History +

    Download past invoices for your billing team or purchasing department.

    +
  • +
+
+ +
+
+ + +
+

How can I run Quay Enterprise?

+ +

Quay Enterprise is delivered as a set of containers that is self-managed, or run it as an application on top of a Tectonic cluster. Quay Enterprise is included for free with all Tectonic clusters.

+ +

Running as a single container excels for the Basic plan. Quickly get started during your trial.

+ +

For production setups, Tectonic provides a level of consistency between your regions, allows Quay to share the same identity infrastructure powering Tectonic, provides easy scaling of your builders, and seamless recovery from a machine failure.

+ +
+
+ + Deploy Individual Containers +
    +
  • Fits into your existing deployment +
  • Runs anywhere a container does +
  • Orchestration is up to you +
+
+ +
+ + Deploy on Tectonic +
    +
  • Deployment is consistent between regions +
  • Machine failure is handled automatically +
  • Orchestration is handled by the cluster +
+
+
+ +

How is Quay Enterprise different than Quay?

+ +

Quay Enterprise is closely related to Quay, but runs on your own hardware or in your cloud environment. Running the application yourself is more secure and is more performant when running on the same cluster as your containerized applications.

+ +

When running behind your firewall, Quay Enterprise can connect to private Git repositories, LDAP infrastructure, and more.

+ +

Additional FAQs

+ + Is there a free trial for Quay Enterprise? + +

Yes, the first 30 days of usage are free, and then your license will be automatically converted to the standard rate. We’ll send you an email before that happens as a reminder.

+ + What types of payment do you accept? + +

Quay Enterprise is billed monthly through your Tectonic account. Major credit cards are accepted and invoices are available by request.

+ + Can I pay annually? + +

Yes, you can annually. During the purchase process, you can choose between using a credit card or paying via an invoice.

+ + Can I change my plan? + +

Yes, you can change or cancel your license at any time via your Tectonic account.

+
+
+
+
+
+ + + + + + + + +
diff --git a/static/js/directives/ui/plans-display.js b/static/js/directives/ui/plans-display.js new file mode 100644 index 000000000..3a79579c8 --- /dev/null +++ b/static/js/directives/ui/plans-display.js @@ -0,0 +1,59 @@ +/** + * An element which displays the plans page content. Put into a directive for encapsulating the tab + * changing code. + */ +angular.module('quay').directive('plansDisplay', function () { + var directiveDefinitionObject = { + priority: 0, + templateUrl: '/static/directives/plans-display.html', + replace: false, + transclude: true, + restrict: 'C', + scope: { + }, + controller: function($scope, $element, $routeParams, UserService, PlanService, UIService) { + // Monitor any user changes and place the current user into the scope. + UserService.updateUserIn($scope); + + // Watch for tab changes. + UIService.initializeTabs($scope, $element); + + $scope.signedIn = function() { + $('#signinModal').modal('hide'); + PlanService.handleNotedPlan(); + }; + + $scope.qeStartTrial = function(plan) { + $scope.currentQEPlan = plan; + $('#tectonicManagerDialog').modal('show'); + }; + + $scope.buyNow = function(plan) { + PlanService.notePlan(plan); + if ($scope.user && !$scope.user.anonymous) { + PlanService.handleNotedPlan(); + } else { + $('#signinModal').modal({}); + } + }; + + // Load the list of plans. + PlanService.getPlans(function(plans) { + $scope.plans = plans; + + for (var i = 0; i < $scope.plans.length; ++i) { + var plan = plans[i]; + if (plan.privateRepos > 20 && !plan.plans_page_hidden) { + $scope.dropdownPlan = plan.stripeId; + break + } + } + + if ($scope && $routeParams['trial-plan']) { + $scope.buyNow($routeParams['trial-plan']); + } + }, /* include the personal plan */ true); + } + }; + return directiveDefinitionObject; +}); \ No newline at end of file diff --git a/static/js/pages/plans.js b/static/js/pages/plans.js index fdaec9c6e..054e17540 100644 --- a/static/js/pages/plans.js +++ b/static/js/pages/plans.js @@ -9,52 +9,5 @@ }); }]); - function PlansCtrl($scope, $location, UserService, PlanService, $routeParams) { - // Monitor any user changes and place the current user into the scope. - UserService.updateUserIn($scope); - - $('.plan-tabs a[data-toggle="tab"]').on('shown.bs.tab', function (e) { - $location.search({'tab': e.target.getAttribute('data-target').substr(1)}); - }); - - $scope.signedIn = function() { - $('#signinModal').modal('hide'); - PlanService.handleNotedPlan(); - }; - - $scope.qeStartTrial = function(plan) { - $scope.currentQEPlan = plan; - $('#tectonicManagerDialog').modal('show'); - }; - - $scope.buyNow = function(plan) { - PlanService.notePlan(plan); - if ($scope.user && !$scope.user.anonymous) { - PlanService.handleNotedPlan(); - } else { - $('#signinModal').modal({}); - } - }; - - // Load the list of plans. - PlanService.getPlans(function(plans) { - $scope.plans = plans; - - for (var i = 0; i < $scope.plans.length; ++i) { - var plan = plans[i]; - if (plan.privateRepos > 20 && !plan.plans_page_hidden) { - $scope.dropdownPlan = plan.stripeId; - break - } - } - - if ($scope && $routeParams['trial-plan']) { - $scope.buyNow($routeParams['trial-plan']); - } - - if ($scope && $routeParams['tab'] == 'enterprise') { - $('#enterpriseTab').tab('show') - } - }, /* include the personal plan */ true); - } + function PlansCtrl($scope) {} })(); \ No newline at end of file diff --git a/static/partials/plans.html b/static/partials/plans.html index 80c61b091..074175fbb 100644 --- a/static/partials/plans.html +++ b/static/partials/plans.html @@ -1,646 +1,3 @@
- -
Use Quay in the cloud or hosted on your servers:
- - - - -
- -
- -
-
- -
-
-
- $12/mo - Personal -
-
    -
  • 5 private repositories
  • -
  • Unlimited public repos
  • -
-
Great for individuals
- - Start Free Trial - - -
- -
    -
  • 30-day free trial
  • -
-
- - -
-
-
- $25/mo - Skiff -
-
    -
  • 10 private repositories
  • -
  • Unlimited public repos
  • -
  • Team-based permissions
  • -
-
Great for startups
- - Start Free Trial - - -
- -
    -
  • 30-day free trial
  • -
-
- - - - - -
-
-
- Larger Plans -
- - - -
    -
  • Unlimited public repos
  • -
  • Team-based permissions
  • -
-
Great for enterprises
- - Start Free Trial - - -
- -
    -
  • 30-day free trial
  • -
-
-
-
- - -
-
-
- -
-
All plans include:
-
-
-
    -
  • - Continuous Integration -

    Build your containers in response to git pushes: GitHub, BitBucket, Gitlab and others.

    -
  • - -
  • - 30-Day Free Trial -

    Your first 30 days are free on Quay. Test it out and start building containers!

    -
  • - -
  • - Public Repositories -

    Provide a public download page for your container. The best part, they're free!

    -
  • - -
  • - Robot Accounts -

    Create credentials designed for deploying software automatically.

    -
  • -
-
- -
-
    -
  • - Teams -

    Teams can collectively have access to manage specific repositories on your account.

    -
  • - -
  • - SSL Encryption -

    Transit between Quay and your servers is secured automatically.

    -
  • - -
  • - Logging & Auditing -

    Auditing is essential for everything in your CI pipeline. Actions via API and UI are tracked.

    -
  • - -
  • - Invoice History -

    Download past invoices for your billing team or purchasing department.

    -
  • -
-
-
-
- - -
-

How do I use Quay with my servers and code?

- -

Using Quay with your infrastructure is separated into two main actions: building containers and distributing them to your servers.

- -

You can configure Quay to automatically build containers of your code on each commit. Integrations with GitHub, Bitbucket, GitLab and self-hosted Git repositories are supported. Each built container is stored on Quay and is available to be pulled down onto your servers.

- -

To distribute your private containers onto your servers, Docker or rkt must be configured with the correct credentials. Quay has sophisticated access controls — organizations, teams, robot accounts, and more — to give you full control over which servers can pull down your containers. An API can be used to automate the creation and management of these credentials.

- -

How is Quay optimized for a team environment?

- -

Quay's permission model is designed for teams. Each new user can be assigned to one or more teams, with specific permissions. Robot accounts, used for automated deployments, can be managed per team as well. This system allows for each development team to manage their own credentials.

- -

Full logging and auditing is integrated into every part of the application and API. Quay helps you dig into every action for more details.

- -

Additional FAQs

- - Can I change my plan? - -

Yes, you can change your plan at any time and your account will be pro-rated for the difference. For large organizations, Quay Enterprise offers unlimited users and repos.

- - Do you offer special plans for business or academic institutions? - -

Please contact us at our support email address to discuss the details of your organization and intended usage.

- - Can I use Quay for free? - -

Yes! We offer unlimited storage and serving of public repositories. We strongly believe in the open source community and will do what we can to help!

- - What types of payment do you accept? - -

Quay uses Stripe as our payment processor, so we can accept any of the payment options they offer, which are currently: Visa, MasterCard, American Express, JCB, Discover and Diners Club.

-
-
-
-
-
- - -
- -
-
- -
-
-
- $450/mo - Basic -
-
Single region deployment of Quay with unlimited users and repos.
-
Great for smaller companies that are getting started with containers.
- - Start Free Trial - - -
- -
    -
  • 30-day free trial
  • -
  • Support via ticket
  • -
  • Unlimited repos, users and teams
  • -
  • No dedicated builders
  • -
  • No geo replication
  • -
-
- - - - - -
-
-
- Contact Sales - Premium -
-
Perfect for an enterprise with production deployment of containers.
-
Replicate container images to different regions for faster pulls to your servers around the world.
- - Contact Sales - - -
- -
    -
  • 30-day free trial
  • -
  • 24/7 Support
  • -
  • Unlimited repos, users and teams
  • -
  • Dedicated container builders
  • -
  • Geo replication between regions
  • -
-
- - -
-
-
- Questions? -
- - -
-
-
-
- - -
-
-
- -
-
Enterprise features:
-
-
-
    -
  • - Enterprise Authentication -

    Integrate to your existing identity infrastructure: LDAP, Keystone, Tectonic Identity and more.

    -
  • - -
  • - Flexible Storage Backends -

    Store your container images on Amazon S3, OpenStack Swift, Google Cloud Storage, or directly to disk.

    -
  • -
-
-
- -
All plans include:
- -
-
-
    -
  • - Continuous Integration -

    Build your containers in response to git pushes: GitHub, BitBucket, Gitlab and others.

    -
  • - -
  • - 30-Day Free Trial -

    Your first 30 days are free on Quay. Test it out and start building containers!

    -
  • - -
  • - Public Repositories -

    Provide a public download page for your container. The best part, they're free!

    -
  • - -
  • - Robot Accounts -

    Create credentials designed for deploying software automatically.

    -
  • -
-
- -
-
    -
  • - Teams -

    Teams can collectively have access to manage specific repositories on your account.

    -
  • - -
  • - SSL Encryption -

    Transit between Quay and your servers is secured automatically.

    -
  • - -
  • - Logging & Auditing -

    Auditing is essential for everything in your CI pipeline. Actions via API and UI are tracked.

    -
  • - -
  • - Multiple Image Formats -

    Images are transformed on the fly, allowing you to push Docker (v1 and v2) and pull rkt.

    -
  • -
-
- -
-
    -
  • - Invoice History -

    Download past invoices for your billing team or purchasing department.

    -
  • -
-
- -
-
- - -
-

How can I run Quay Enterprise?

- -

Quay Enterprise is delivered as a set of containers that is self-managed, or run it as an application on top of a Tectonic cluster. Quay Enterprise is included for free with all Tectonic clusters.

- -

Running as a single container excels for the Basic plan. Quickly get started during your trial.

- -

For production setups, Tectonic provides a level of consistency between your regions, allows Quay to share the same identity infrastructure powering Tectonic, provides easy scaling of your builders, and seamless recovery from a machine failure.

- -
-
- - Deploy Individual Containers -
    -
  • Fits into your existing deployment -
  • Runs anywhere a container does -
  • Orchestration is up to you -
-
- -
- - Deploy on Tectonic -
    -
  • Deployment is consistent between regions -
  • Machine failure is handled automatically -
  • Orchestration is handled by the cluster -
-
-
- -

How is Quay Enterprise different than Quay?

- -

Quay Enterprise is closely related to Quay, but runs on your own hardware or in your cloud environment. Running the application yourself is more secure and is more performant when running on the same cluster as your containerized applications.

- -

When running behind your firewall, Quay Enterprise can connect to private Git repositories, LDAP infrastructure, and more.

- -

Additional FAQs

- - Is there a free trial for Quay Enterprise? - -

Yes, the first 30 days of usage are free, and then your license will be automatically converted to the standard rate. We’ll send you an email before that happens as a reminder.

- - What types of payment do you accept? - -

Quay Enterprise is billed monthly through your Tectonic account. Major credit cards are accepted and invoices are available by request.

- - Can I pay annually? - -

Yes, you can annually. During the purchase process, you can choose between using a credit card or paying via an invoice.

- - Can I change my plan? - -

Yes, you can change or cancel your license at any time via your Tectonic account.

-
-
-
-
- -
-
- - - - - - - +
+
\ No newline at end of file