diff --git a/website/components/why-boundary/index.jsx b/website/components/why-boundary/index.jsx
new file mode 100644
index 0000000000..68856c3648
--- /dev/null
+++ b/website/components/why-boundary/index.jsx
@@ -0,0 +1,22 @@
+import s from './style.module.css'
+
+export default function WhyBoundary({ heading, items }) {
+ return (
+
+
{heading}
+
+ {items.map((item, index) => {
+ return (
+ // Index is stable
+ // eslint-disable-next-line react/no-array-index-key
+ -
+
+ {item.heading}
+ {item.description}
+
+ )
+ })}
+
+
+ )
+}
diff --git a/website/components/why-boundary/style.module.css b/website/components/why-boundary/style.module.css
new file mode 100644
index 0000000000..06be9dcb45
--- /dev/null
+++ b/website/components/why-boundary/style.module.css
@@ -0,0 +1,33 @@
+.root {
+ composes: g-grid-container from global;
+}
+
+.heading {
+ margin: 0;
+ composes: g-type-display-2 from global;
+}
+
+.items {
+ --columns: 1;
+
+ list-style: none;
+ padding: 0;
+ margin: 90px 0 0;
+ display: grid;
+ grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
+ grid-gap: 48px 32px;
+
+ @media (--medium-up) {
+ --columns: 3;
+ }
+}
+
+.itemHeading {
+ margin: 38px 0 0;
+ composes: g-type-display-4 from global;
+}
+
+.itemDescription {
+ margin: 12px 0 0;
+ composes: g-type-body from global;
+}
diff --git a/website/pages/_document.js b/website/pages/_document.js
index c96c2d8ff6..9f061de148 100644
--- a/website/pages/_document.js
+++ b/website/pages/_document.js
@@ -9,7 +9,7 @@ export default class MyDocument extends Document {
render() {
return (
-
+
diff --git a/website/pages/home/img/how-boundary-works.svg b/website/pages/home/img/how-boundary-works.svg
new file mode 100644
index 0000000000..39a1539d0b
--- /dev/null
+++ b/website/pages/home/img/how-boundary-works.svg
@@ -0,0 +1,103 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/icons/activity.svg b/website/pages/home/img/icons/activity.svg
new file mode 100644
index 0000000000..c55b7ef364
--- /dev/null
+++ b/website/pages/home/img/icons/activity.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/icons/code-white.svg b/website/pages/home/img/icons/code-white.svg
new file mode 100644
index 0000000000..d487e25ff0
--- /dev/null
+++ b/website/pages/home/img/icons/code-white.svg
@@ -0,0 +1,4 @@
+
diff --git a/website/pages/home/img/features/config-as-code.svg b/website/pages/home/img/icons/config-as-code.svg
similarity index 100%
rename from website/pages/home/img/features/config-as-code.svg
rename to website/pages/home/img/icons/config-as-code.svg
diff --git a/website/pages/home/img/features/identity-based-access.svg b/website/pages/home/img/icons/identity-based-access.svg
similarity index 100%
rename from website/pages/home/img/features/identity-based-access.svg
rename to website/pages/home/img/icons/identity-based-access.svg
diff --git a/website/pages/home/img/icons/layers-white.svg b/website/pages/home/img/icons/layers-white.svg
new file mode 100644
index 0000000000..a358a32d10
--- /dev/null
+++ b/website/pages/home/img/icons/layers-white.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/icons/layers.svg b/website/pages/home/img/icons/layers.svg
new file mode 100644
index 0000000000..b63c1eab42
--- /dev/null
+++ b/website/pages/home/img/icons/layers.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/icons/lock.svg b/website/pages/home/img/icons/lock.svg
new file mode 100644
index 0000000000..9c8aec7afd
--- /dev/null
+++ b/website/pages/home/img/icons/lock.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/features/managing-dynamic-environments.svg b/website/pages/home/img/icons/managing-dynamic-environments.svg
similarity index 100%
rename from website/pages/home/img/features/managing-dynamic-environments.svg
rename to website/pages/home/img/icons/managing-dynamic-environments.svg
diff --git a/website/pages/home/img/features/platform-agnosticity.svg b/website/pages/home/img/icons/platform-agnosticity.svg
similarity index 100%
rename from website/pages/home/img/features/platform-agnosticity.svg
rename to website/pages/home/img/icons/platform-agnosticity.svg
diff --git a/website/pages/home/img/icons/refresh-white.svg b/website/pages/home/img/icons/refresh-white.svg
new file mode 100644
index 0000000000..11c0ef427c
--- /dev/null
+++ b/website/pages/home/img/icons/refresh-white.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/features/session-management.svg b/website/pages/home/img/icons/session-management.svg
similarity index 100%
rename from website/pages/home/img/features/session-management.svg
rename to website/pages/home/img/icons/session-management.svg
diff --git a/website/pages/home/img/features/session-visibility.svg b/website/pages/home/img/icons/session-visibility.svg
similarity index 100%
rename from website/pages/home/img/features/session-visibility.svg
rename to website/pages/home/img/icons/session-visibility.svg
diff --git a/website/pages/home/img/icons/star.svg b/website/pages/home/img/icons/star.svg
new file mode 100644
index 0000000000..131b23c0f3
--- /dev/null
+++ b/website/pages/home/img/icons/star.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/icons/terminal.svg b/website/pages/home/img/icons/terminal.svg
new file mode 100644
index 0000000000..4e096dc5bd
--- /dev/null
+++ b/website/pages/home/img/icons/terminal.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/icons/user.svg b/website/pages/home/img/icons/user.svg
new file mode 100644
index 0000000000..77adbbb1d8
--- /dev/null
+++ b/website/pages/home/img/icons/user.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/logos/custom.svg b/website/pages/home/img/logos/custom.svg
new file mode 100644
index 0000000000..ba422144c5
--- /dev/null
+++ b/website/pages/home/img/logos/custom.svg
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/logos/github-black.svg b/website/pages/home/img/logos/github-black.svg
new file mode 100644
index 0000000000..ae48cb8c89
--- /dev/null
+++ b/website/pages/home/img/logos/github-black.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/logos/mongo-db.svg b/website/pages/home/img/logos/mongo-db.svg
new file mode 100644
index 0000000000..c86870e4e6
--- /dev/null
+++ b/website/pages/home/img/logos/mongo-db.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/logos/my-sql-color.svg b/website/pages/home/img/logos/my-sql-color.svg
new file mode 100644
index 0000000000..af973e3417
--- /dev/null
+++ b/website/pages/home/img/logos/my-sql-color.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/logos/postgresql.png b/website/pages/home/img/logos/postgresql.png
new file mode 100644
index 0000000000..21fc2eafab
Binary files /dev/null and b/website/pages/home/img/logos/postgresql.png differ
diff --git a/website/pages/home/img/logos/ssh.svg b/website/pages/home/img/logos/ssh.svg
new file mode 100644
index 0000000000..227757b479
--- /dev/null
+++ b/website/pages/home/img/logos/ssh.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/logos/unknown.svg b/website/pages/home/img/logos/unknown.svg
new file mode 100644
index 0000000000..a76989238a
--- /dev/null
+++ b/website/pages/home/img/logos/unknown.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/website/pages/home/img/red-usecase-accessprivileges.png b/website/pages/home/img/red-usecase-accessprivileges.png
deleted file mode 100644
index 511292dfe7..0000000000
Binary files a/website/pages/home/img/red-usecase-accessprivileges.png and /dev/null differ
diff --git a/website/pages/home/img/red-usecase-compliancewithoutoverhead.png b/website/pages/home/img/red-usecase-compliancewithoutoverhead.png
new file mode 100644
index 0000000000..c96c53bc67
Binary files /dev/null and b/website/pages/home/img/red-usecase-compliancewithoutoverhead.png differ
diff --git a/website/pages/home/img/red-usecase-integratedsystem.png b/website/pages/home/img/red-usecase-integratedsystem.png
new file mode 100644
index 0000000000..a46b4c62e7
Binary files /dev/null and b/website/pages/home/img/red-usecase-integratedsystem.png differ
diff --git a/website/pages/home/img/red-usecase-sessionvisibility.png b/website/pages/home/img/red-usecase-sessionvisibility.png
deleted file mode 100644
index a0cba5f6fe..0000000000
Binary files a/website/pages/home/img/red-usecase-sessionvisibility.png and /dev/null differ
diff --git a/website/pages/home/index.jsx b/website/pages/home/index.jsx
index 5c0b5ff5cc..e65e42e2e0 100644
--- a/website/pages/home/index.jsx
+++ b/website/pages/home/index.jsx
@@ -1,7 +1,8 @@
import BrandedCta from 'components/branded-cta'
import HomepageHero from 'components/homepage-hero'
import HowItWorks from 'components/how-it-works'
-import SectionBreakCta from 'components/section-break-cta'
+import HowBoundaryWorks from 'components/how-boundary-works'
+import WhyBoundary from 'components/why-boundary'
import ProductFeaturesList from '@hashicorp/react-product-features-list'
import UseCases from '@hashicorp/react-use-cases'
@@ -44,21 +45,33 @@ export default function HomePage() {
/>
+
+ In the shift to the cloud, organizations need secure access to
+ targets beyond their own perimeter.
+
+
+ Boundary provides a secure way to access hosts and critical
+ systems without having to manage credentials or expose your
+ network, and is entirely open source.
+
+ >
+ }
features={[
{
- title: 'Authenticate',
+ title: 'Authenticate & authorize',
description:
- 'Authenticate with any trusted identity provider you are already using. No need to distribute new credentials and manage them.',
+ 'Authenticate with any trusted identity provider you are already using and authorize access based on granular, logical roles and services.',
logos: [
{
alt: 'GitHub',
- url: require('./img/logos/github-gray.svg?url'),
+ url: require('./img/logos/github-black.svg?url'),
},
{
alt: 'AWS',
- url: require('./img/logos/aws-gray.svg?url'),
+ url: require('./img/logos/aws-color.svg?url'),
},
{
alt: 'Microsoft Azure',
@@ -78,14 +91,14 @@ export default function HomePage() {
},
{
alt: 'More integrations',
- url: require('./img/logos/more-gray.svg?url'),
+ url: require('./img/logos/custom.svg?url'),
},
],
},
{
- title: 'Authorize',
+ title: 'Connect',
description:
- 'Authorize access based on logical roles and services, instead of physical IP addresses. Manage dynamic infrastructure and integrate service registries so hosts and service catalogs are kept up-to-date.',
+ 'Manage dynamic infrastructure and integrate service registries so hosts and service catalogs are kept up-to-date.',
logos: [
{
alt: 'Consul',
@@ -112,78 +125,102 @@ export default function HomePage() {
url: require('./img/logos/kubernetes-color.svg?url'),
},
{
- url: require('./img/logos/more-gray.svg?url'),
alt: 'More integrations',
+ url: require('./img/logos/custom.svg?url'),
},
],
},
{
title: 'Access',
- description:
- 'Automate credential injection to securely access services and hosts with HashiCorp Vault. Reduce risk of leaking credentials with dynamic secrets and just-in-time credentials.',
- },
- ]}
- />
-
-
-
-
Use cases
-
+ Reduce risk of leaking credentials with dynamic secrets and
+ just-in-time credentials. Automate credential injection to
+ securely access services and hosts with{' '}
+
+ HashiCorp Vault
+
+ .
+ >
+ ),
+ logos: [
{
- title: 'Easily onboard and manage users',
- description:
- 'Use SSO to manage onboarding and off-boarding users.',
- image: {
- url: require('./img/red-usecase-accessmgmt.png?url'),
- },
- link: {
- title: 'Learn more',
- url:
- 'https://learn.hashicorp.com/tutorials/boundary/getting-started-config',
- },
+ alt: 'Postgresql',
+ url: require('./img/logos/postgresql.png?url'),
+ width: 36,
},
{
- title: 'Open and extensible remote access',
- description:
- 'Integrate with existing tooling and APIs to simplify access.',
- image: {
- url: require('./img/red-usecase-accessprivileges.png?url'),
- },
- link: {
- title: 'Learn more',
- url:
- 'https://learn.hashicorp.com/tutorials/boundary/manage-users-groups',
- },
+ alt: 'SSH',
+ url: require('./img/logos/ssh.svg?url'),
+ width: 42,
},
{
- title: 'Compliance without overhead',
- description:
- 'Provide session visibility that enables teams to stay compliant.',
- image: {
- url: require('./img/red-usecase-sessionvisibility.png?url'),
- },
- link: {
- title: 'Learn more',
- url:
- 'https://learn.hashicorp.com/tutorials/boundary/manage-sessions',
- },
+ alt: 'Mongo DB',
+ url: require('./img/logos/mongo-db.svg?url'),
},
- ]}
- />
-
-
+ {
+ alt: 'AWS',
+ url: require('./img/logos/aws-color.svg?url'),
+ },
+ {
+ alt: 'Unknown',
+ url: require('./img/logos/unknown.svg?url'),
+ },
+ {
+ alt: 'MySQL',
+ url: require('./img/logos/my-sql-color.svg?url'),
+ },
+ {
+ alt: 'More integrations',
+ url: require('./img/logos/custom.svg?url'),
+ },
+ ],
+ },
+ ]}
+ />
+
+
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/website/public/img/hero-pattern.svg b/website/public/img/hero-pattern.svg
index 2fadb6b292..0f266be7b5 100644
--- a/website/public/img/hero-pattern.svg
+++ b/website/public/img/hero-pattern.svg
@@ -1 +1,56 @@
-
\ No newline at end of file
+