diff --git a/website/components/basic-hero/index.jsx b/website/components/basic-hero/index.jsx new file mode 100644 index 000000000..550721636 --- /dev/null +++ b/website/components/basic-hero/index.jsx @@ -0,0 +1,34 @@ +import Button from '@hashicorp/react-button' + +export default function BasicHero({ heading, content, links }) { + return ( +
{content}
+ {links && ( +++ ) +} diff --git a/website/components/case-study-carousel/img/active-control-dot.svg b/website/components/case-study-carousel/img/active-control-dot.svg new file mode 100644 index 000000000..ee15572f4 --- /dev/null +++ b/website/components/case-study-carousel/img/active-control-dot.svg @@ -0,0 +1 @@ + diff --git a/website/components/case-study-carousel/img/inactive-control-dot.svg b/website/components/case-study-carousel/img/inactive-control-dot.svg new file mode 100644 index 000000000..c28dc9680 --- /dev/null +++ b/website/components/case-study-carousel/img/inactive-control-dot.svg @@ -0,0 +1 @@ + diff --git a/website/components/case-study-carousel/img/left-arrow-control.svg b/website/components/case-study-carousel/img/left-arrow-control.svg new file mode 100644 index 000000000..67809357d --- /dev/null +++ b/website/components/case-study-carousel/img/left-arrow-control.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/components/case-study-carousel/img/quote.svg b/website/components/case-study-carousel/img/quote.svg new file mode 100644 index 000000000..d47007ce7 --- /dev/null +++ b/website/components/case-study-carousel/img/quote.svg @@ -0,0 +1,3 @@ + diff --git a/website/components/case-study-carousel/img/right-arrow-control.svg b/website/components/case-study-carousel/img/right-arrow-control.svg new file mode 100644 index 000000000..717c98126 --- /dev/null +++ b/website/components/case-study-carousel/img/right-arrow-control.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/components/case-study-carousel/index.jsx b/website/components/case-study-carousel/index.jsx new file mode 100644 index 000000000..5fbc9bca7 --- /dev/null +++ b/website/components/case-study-carousel/index.jsx @@ -0,0 +1,90 @@ +import { useState } from 'react' +import { isIE } from 'react-device-detect' + +import Carousel from 'nuka-carousel' +import CaseSlide from './case-study-slide' +import Image from '@hashicorp/react-image' +import InlineSvg from '@hashicorp/react-inline-svg' +import ActiveControlDot from './img/active-control-dot.svg?include' +import InactiveControlDot from './img/inactive-control-dot.svg?include' +import LeftArrow from './img/left-arrow-control.svg?include' +import RightArrow from './img/right-arrow-control.svg?include' + +export default function CaseStudyCarousel({ + caseStudies, + title, + featuredLogos +}) { + const [slideIndex, setSlideIndex] = useState(0) + const caseStudySlides = caseStudies.map(caseStudy => ( ++ {quote}
+++ ++++ +++ {person.firstName} {person.lastName} +
++ {person.title}, {company.name} +
++
{itemOne.description}
+ +{itemTwo.description}
+ +{content}
++ {description} +
++ + {product + ? `Learn how ${product} fits into the` + : 'Learn more about the'} + +
+ +{description}
: null} + +This flexibility makes it easy to deploy one container, dozens of containers, or even millions.
' - }, - { - title: '2. Plan Changes', - details: - 'With built-in dry-run execution, Nomad shows what scheduling decisions it will take before it takes them. Operators can approve or deny these changes to create a safe and reproducible workflow.' - }, - { - title: '3. Run Applications', - details: - 'Nomad runs applications and ensures they keep running in failure scenarios. In addition to long-running services, Nomad can schedule batch jobs, distributed cron jobs, and parameterized jobs.' - }, - { - title: '4. Monitor Progress', - details: - 'Stream logs, send signals, and interact with the file system of scheduled applications. These operator-friendly commands bring the familiar debugging tools to a scheduled world.' - } - ]} - /> -- In order to update an application while reducing downtime, - Nomad provides a built-in mechanism for rolling upgrades. - Operators specify the rate at which they would like to upgrade - their service in the declarative job file, plan the changes, - and submit the new job. Nomad then updates the service to the - newest version using task health and Consul health check - information to ensure replacement allocations are healthy. - With full control over the update strategy, rolling upgrades - make application deployments simple and safe. -
-- Nomad supports native blue/green and canary deployments - through the declarative job file syntax. Instead of doing a - rolling upgrade of the existing allocations, the new version - of the group is deployed along side the existing set. While - this duplicates the resources required during the upgrade - process, it allows very safe deployments as the original - version of the group is untouched till the operator promotes - the new version. -
-- Because it knows the state of all nodes and applications, if a - node becomes unhealthy, Nomad will automatically reschedule - the applications that were previously running on the unhealthy - host onto a new, healthy host if capacity exists. As new - clients are added to the cluster, they can share the - responsibility of running applications and services. -
-- Easily create, validate, submit, and check the status of jobs using - the Nomad CLI. -
-- Perform a dry-run to check application placement, scheduling - decisions, and visualize failures before they happen. -
-- Stream application logs directly in the terminal to help analyze and - debug applications. -
-{item.details}
- )} --+ +- - ---