diff --git a/endpoints/web.py b/endpoints/web.py index cc12565c8..5533a1ebd 100644 --- a/endpoints/web.py +++ b/endpoints/web.py @@ -211,6 +211,12 @@ def security(): return index('') +@web.route('/enterprise/') +@no_cache +def enterprise(): + return index('') + + @web.route('/__exp/') @no_cache def exp(expname): diff --git a/static/css/enterprise_landing_page.css b/static/css/enterprise_landing_page.css new file mode 100755 index 000000000..be7ac7b34 --- /dev/null +++ b/static/css/enterprise_landing_page.css @@ -0,0 +1,93 @@ +/* Enterprise LP specific styles */ +.enterpriseLP {font-family: "Source Sans Pro", sans-serif; font-size: 1.2em; padding: 20px 10px;} +.enterpriseLP h2, .enterpriseLP h3, .enterpriseLP h4 {color: #003763; font-weight: bold;} +.enterpriseLP h2 {font-size: 1.5em; margin-bottom: 60px;} +.enterpriseLP h3 {font-size: 1.7em; margin-bottom: 40px;} +.enterpriseLP h4 {font-size: 1.4em;} +.enterpriseLP hr {border-top: 1px solid #c2c2c2;} +.enterpriseLP a {text-decoration: underline;} +.enterpriseLP .btn {background: #20ca8c; font-size: 1.1em; margin: 30px auto; padding: 16px 40px; text-decoration: none; white-space: normal;} +.enterpriseLP .sectionTop {margin-top: 60px;} + +.enterpriseLP .logo {max-width: 100%} +.enterpriseLP .img-responsive {margin: 0 auto;} +.enterpriseLP .header p {color: #20ca8c; font-weight: bold; font-size: 2em;} +.enterpriseLP .header .btn {font-size: 1.1em;} +.enterpriseLP .contactBox {background: #e7e7e7; color: #003763; padding: 10px 30px} +.enterpriseLP .contactBox hr {border-top: 1px dashed #c3c3c3; margin: 10px 0;} +.enterpriseLP .contactBox p {margin: 0 0 10px;} +.enterpriseLP .contactBox a {color: #2f79b9; font-size: 1.1em; font-weight: 400;} +.enterpriseLP .contactBox .highlight {color: #20ca8c; font-weight: bold;} +.enterpriseLP .contactBox .telephone {color: #2f79b9; font-size: 1.1em; font-weight: 400;} +.enterpriseLP .enterpriseFeatures {margin-bottom: 30px;} +.enterpriseLP .enterpriseFeatures p {font-size: 1em; margin: 0;} +.enterpriseLP .enterpriseFeatures .row {margin-top: 40px;} +.enterpriseLP .enterpriseFeatures .fa {color: #52575f; font-size: 2em; padding-top: 10px;} +.enterpriseLP .enterpriseFeatures p.featuresHeader {color: #003763; font-size: 1.2em; font-weight: 700;} +.enterpriseLP .planInfo {border: 1px solid #666666; box-sizing: border-box; margin: 50px 5px; padding: 10px} +.enterpriseLP .planInfo p {font-size: .9em;} +.enterpriseLP .planInfo .feature {padding-left: 30px;} +.enterpriseLP .planName {font-size: 1.3em; text-transform: uppercase;} +.enterpriseLP .planPrice {font-size: 1.4em;} +.enterpriseLP .planPrice span {font-size: 1.5em; font-weight: 600;} +.enterpriseLP .planPrice span.symbol {display: inline-block; font-size: 1em; margin-top: 5px; vertical-align: top;} +.enterpriseLP .pricing .fa {box-sizing: border-box; text-align: center; width: 19px;} +.enterpriseLP .hosted {margin-bottom: 50px;} +.enterpriseLP .hosted a {text-decoration: underline;} +.enterpriseLP .featureSet .enterprise ul {color: #20ca8c;} +.enterpriseLP .featureSet ul {list-style-type: square; color: #2f79b9;} +.enterpriseLP .featureSet li p {font-size: 1em; color: #333333;} +.enterpriseLP .featureSet li p.featureSetHeader {color: #003763; margin-bottom: 0; font-size: 1.1em;} +.enterpriseLP .featureSet .planHeader {color: #003763; display: table; font-size: 1.2em; font-weight: 600;} +.enterpriseLP .featureSet .planHeader:before, .enterpriseLP .featureSet .planHeader:after { border-top: 1px solid #c2c2c2; content: ''; display: table-cell; position: relative; top: 0.5em; width: 45%;} +.enterpriseLP .featureSet .planHeader:before {right: 1.5%} +.enterpriseLP .featureSet .planHeader:after {left: 1.5%} +.enterpriseLP .featureSet .enterprise .planHeader {color: #20ca8c;} +.enterpriseLP .faq {margin-bottom: 20px;} +.enterpriseLP .faqQuestion {color: #003763; font-size: 1.2em; font-weight: 600;} +.enterpriseLP .faqHeader {font-size: 1.2em; font-weight: bold; padding-top: 20px;} +.enterpriseLP .faqLists {margin-bottom: 80px;} +.enterpriseLP .faqLists li {font-size: .8em;} +.enterpriseLP .faqImg {padding-top: 40px;} +.enterpriseLP .startTrial {margin: 20px auto;} +.enterpriseLP .questions {color: #003763;} +.enterpriseLP .bottom {margin-top: 40px;} + +@media (max-width: 768px) { + .enterpriseLP .btn {width: 100%} +} + +@media (min-width: 700px) { + .enterpriseLP .enterpriseFeatures .fa {padding-top: 5px;} + .enterpriseLP .btn { margin-top: 15px; padding: 6px 30px; text-decoration: none;} +} +@media (min-width: 769px) { + .enterpriseLP {font-size: 1.35em; padding: 60px 100px;} + .enterpriseLP h2 {font-size: 2.6em; margin-bottom: 50px;} + .enterpriseLP p {margin: 0 0 10px;} + .enterpriseLP .header {margin-bottom: 70px;} + .enterpriseLP .header .btn {margin: 0 auto;} + .enterpriseLP .header p {margin: 0} + .enterpriseLP .enterpriseFeatures .row {margin-top: 40px;} + .enterpriseLP .planInfo {border: 1px solid #cecece; margin: 20px 5px;} + .enterpriseLP .pricing .fa {margin-right: 15px; width: 19px;} + .enterpriseLP .featureSet .planHeader {white-space: nowrap;} + .enterpriseLP .featureSet li p {font-size: .8em; color: #333333;} + .enterpriseLP .featureSet li p.featureSetHeader {color: #003763; margin-bottom: 0; font-size: .9em;} + .enterpriseLP .faqLists {margin: 50px auto;} + .enterpriseLP .startTrial .btn {font-size: 1.2em; padding: 6px 40px;} +} + +@media (min-width: 10100px) { + .enterpriseLP .featureSet li {height: 220px;} + +} + +@media (min-width: 1120px) { + .enterpriseLP .featureSet li {height: 160px;} +} + +@media (min-width: 1300px) { + .enterpriseLP .planInfo .btn {width: 260px;} + .enterpriseLP .featureSet li {height: 120px;} +} diff --git a/static/img/enterprise/QuayEnterprise_horizontal_color.svg b/static/img/enterprise/QuayEnterprise_horizontal_color.svg new file mode 100755 index 000000000..8b6c0cb3a --- /dev/null +++ b/static/img/enterprise/QuayEnterprise_horizontal_color.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/enterprise/container_img.png b/static/img/enterprise/container_img.png new file mode 100755 index 000000000..db8f7adbb Binary files /dev/null and b/static/img/enterprise/container_img.png differ diff --git a/static/img/enterprise/tectonic_logo.png b/static/img/enterprise/tectonic_logo.png new file mode 100755 index 000000000..9a54ff718 Binary files /dev/null and b/static/img/enterprise/tectonic_logo.png differ diff --git a/static/js/app.js b/static/js/app.js index 0c6c1b5d4..d2c212c04 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -163,6 +163,9 @@ quayApp.config(['$routeProvider', '$locationProvider', 'pages', function($routeP // Confirm Invite .route('/confirminvite', 'confirm-invite') + // Enterprise marketing page + .route('/enterprise', 'enterprise') + // Experiments .route('/__exp/newseclayout', 'exp-new-sec-layout') diff --git a/static/js/pages/enterprise.js b/static/js/pages/enterprise.js new file mode 100644 index 000000000..6432e9bcd --- /dev/null +++ b/static/js/pages/enterprise.js @@ -0,0 +1,18 @@ +(function() { + /** + * Enterprise marketing page. + */ + angular.module('quayPages').config(['pages', function(pages) { + pages.create('enterprise', 'enterprise.html', EnterpriseCtrl, { + 'title': 'Quay Enterprise', + 'description': 'Quay Enterprise' + }); + + function EnterpriseCtrl($scope, $location, UserService, PlanService, $routeParams) { + $scope.qeStartTrial = function(plan) { + $scope.currentQEPlan = plan; + $('#tectonicManagerDialog').modal('show'); + }; + } + }]); +}()); \ No newline at end of file diff --git a/static/partials/enterprise.html b/static/partials/enterprise.html new file mode 100644 index 000000000..71bb89ade --- /dev/null +++ b/static/partials/enterprise.html @@ -0,0 +1,338 @@ + +
+
+
+ +
+
+

FREE 30-day Trial

+ Start Your FREE Trial +
+
+
+
+

Quay Enterprise, Your First Step in Achieving GIFEE

+
+
+
+
+

Start your journey toward Google Infrastructure for Everyone Else (#GIFEE) by building, storing, analyzing, and distributing your application containers with Quay. With a familiar interface, GitHub repository hooks, and built-in security analysis from Clair, Quay fits readily into modern containerized application developer workflows.

+

Deploy Quay Enterprise on-premises, in the datacenter, or on commodity cloud infrastructure with more security, better performance, easier distribution in multiple container image formats, and fixed pricing for an unlimited number of users and repositories.

+
+
+

Questions?

+

See how Quay Enterprise can grow your business with a FREE 30-day Trial.

+
+

(800) 774-3507

+
+
+
+
+

Quay Enterprise Features

+
+
+
+
+
+
+
+ +
+
+

Secure Enterprise Performance

+

Running Quay within your infrastructure, you get the advantage of faster image pulls and quicker builds with builders running 24x7, geo replication, and flexible authentication. Integrate with private GitHub repositories and your existing identity infrastructure, including LDAP, Keystone, Tectonic Identity, and more.

+
+
+
+
+ +
+
+

Flexible and Private Storage Backends

+

Quay was built with user experience as a top priority. Developers can push and pull Docker (v1 and/or v2) and rkt images to a private registry. Store your container images on Amazon S3, OpenStack Swift, Google Cloud Storage, or directly to disk.

+
+
+
+
+ +
+
+

Professional Support

+

Unparalleled, friendly support to help you get up and running and meet the demands of your growing business.

+
+
+
+
+
+
+

Try Quay Enterprise FREE

+
+
+
+
+
+

Basic

+

$450/mo

+

Great for smaller companies getting started with containers

+
+

Free Trial: 30-day

+

Support: Via ticket

+

Unlimited Repos: Users and Teams

+

Dedicated Builders: None

+

Geo Replication: None

+

FREE TRIAL

+
+
+
+
+

Standard

+

$1,800/mo

+

MOST POPULAR — Great for growing and larger companies

+
+

Free Trial: 30-day

+

Support: 9 AM - 5 PM PST

+

Unlimited Repos: Users and Teams

+

Dedicated Builders: Up to 5

+

Geo Replication: None

+

FREE TRIAL

+
+
+
+
+

Premium

+

Contact Us

+

Perfect for an enterprise with production deployment of containers

+
+

Free Trial: 30-day

+

Support: 24/7

+

Unlimited Repos: Users and Teams

+

Dedicated Builders: Scalable

+

Geo Replication: Between Regions

+

CONTACT SALES

+
+
+
+ +
+
+

QUAY Enterprise Full Feature Set

+
+
+
+
+
+
+

Enterprise Only

+
+
+
+
+
    +
  • +

    Enterprise Performance

    +

    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.

    +
  • +
  • +

    Professional Support

    +

    Unparalleled support to help you get up and running and meet the demands of your growing business.

    +
  • +
+
+
+
+
+
+
+

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 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 in your CI pipeline. Actions via API and UI are tracked.

    +
  • +
  • +

    Multiple Image Formats

    +

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

    +
  • +
  • +

    Invoice History

    +

    Download past invoices for your billing team or purchasing department.

    +
  • +
+
+
+
+
+
+
+
+
+

FAQ

+
+
+
+
+
+

How can I run Quay Enterprise?

+
+

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

+

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

+

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

+
+
+
+
+
+
+
+

Deploy Individual Containers

+
    +
  • Fits into your existing deployment
  • +
  • Runs anywhere a container does
  • +
  • Orchestration is up to you
  • +
+
+
+ visual representation of multiple containers +
+
+

Deploy on Tectonic

+
    +
  • Deployment is consistent between regions
  • +
  • Machine failure is handled automatically
  • +
  • Orchestration is handled by the cluster
  • +
+
+
+ Tectonic by CoreOS +
+
+
+
+
+
+

How is Quay Enterprise different from Quay?

+
+

Quay Enterprise provides better security and performance. It runs on your own hardware or in your cloud environment. Running the application yourself is more secure and more performant 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.

+
+
+
+
+
+

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. 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.

+
+
+
+
+
+
+
+
+
+
+ + +

Questions? We'd love to hear from you. Contact Us

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