feat: simplify cloud and compute architecture sections

- Condensed architecture explanations to focus on core capabilities rather than implementation details
- Replaced detailed bullet lists with concise descriptions for better readability
- Added new CallToAction component with dual-path user journey (host vs deploy)
This commit is contained in:
2025-11-05 12:17:22 +01:00
parent 88d6a90f60
commit 2bd3026bac
7 changed files with 122 additions and 140 deletions

View File

@@ -1,39 +1,22 @@
import { Container } from '../../components/Container'
import { Eyebrow, H3, P } from '../../components/Texts'
import { Button } from '../../components/Button'
const architectureSections = [
const architecture = [
{
title: 'Decentralized Infrastructure',
title: 'Mesh Networking Layer',
description:
'Clusters launch across the ThreeFold Grid with direct node access and encrypted connectivity.',
bullets: [
'Unique Mycelium IP addresses assigned to every node.',
'Peer-to-peer mesh networking links services across nodes.',
'End-to-end encryption keeps traffic sealed inside the fabric.',
'No public IP exposure—everything is addressable via Mycelium IPs.',
],
'Every node receives a cryptographic network identity and secure routing path.',
},
{
title: 'Network Flow',
title: 'Sovereign Compute Layer',
description:
'Traffic moves through the Mycelium mesh, maintaining sovereignty without sacrificing reach.',
bullets: [
'User requests enter through the encrypted Mycelium network.',
'Traffic routes directly to cluster nodes without intermediate hops.',
'Services answer over the same mesh—no ingress controller required.',
'Operational visibility without exposing public attack surface.',
],
'Workloads run on hardware you authorize, no shared control, no exposed surfaces.',
},
{
title: 'Kubernetes Management',
title: 'Deterministic Orchestration',
description:
'Lightweight K3s orchestration delivers HA clusters with automated lifecycle management.',
bullets: [
'Full K3s deployment and lifecycle management built-in.',
'IPv6-native networking ensures deterministic service discovery.',
'Multi-master topologies with automatic failover for resilience.',
'Drift-free upgrades orchestrated through smart contracts.',
],
'K3s clusters deploy predictably, verifiably, and remain drift-free.',
},
]
@@ -41,51 +24,41 @@ export function CloudArchitecture() {
return (
<section className="bg-white py-24 lg:py-32">
<Container>
<div className="mx-auto max-w-5xl text-center">
<Eyebrow>
Technical Architecture
</Eyebrow>
<div className="mx-auto max-w-4xl text-center">
<Eyebrow>ARCHITECTURE</Eyebrow>
<H3 className="mt-6 text-gray-900">
Built on a Sovereign, Encrypted Delivery Mesh.
How Mycelium Cloud Works
</H3>
<P className="mt-6 text-gray-600">
Mycelium Cloud rides on the ThreeFold Grid, pairing encrypted mesh
networking with deterministic K3s orchestration. Every layer is
designed to keep workloads sovereign, observable, and effortless to
operate.
Mycelium Cloud runs Kubernetes on a global encrypted mesh, with
identity, routing, and state verified at the protocol level.
</P>
</div>
<div className="mt-16 grid gap-8 lg:grid-cols-3">
{architectureSections.map((section) => (
<div className="mx-auto mt-16 max-w-4xl space-y-6 lg:space-y-0 lg:grid lg:grid-cols-3 lg:gap-8">
{architecture.map((layer) => (
<div
key={section.title}
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-gray-50/25 p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg "
key={layer.title}
className="rounded-3xl border border-slate-200 bg-gray-50/40 p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
>
<div className="flex items-center gap-3">
<span className="inline-flex size-10 items-center justify-center rounded-full bg-cyan-500/10 text-base font-semibold uppercase tracking-[0.3em] text-cyan-600">
</span>
<h3 className="text-xl font-semibold text-gray-900">
{section.title}
</h3>
</div>
<p className="mt-4 text-sm leading-relaxed text-gray-600">
{section.description}
<h3 className="text-xl font-semibold text-gray-900">
{layer.title}
</h3>
<p className="mt-3 text-sm leading-relaxed text-gray-600">
{layer.description}
</p>
<ul className="mt-6 space-y-3 text-sm text-gray-600">
{section.bullets.map((bullet) => (
<li
key={bullet}
className="flex items-start gap-3 rounded-2xl border border-cyan-100 bg-cyan-50/60 p-3 leading-relaxed"
>
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
<span>{bullet}</span>
</li>
))}
</ul>
</div>
))}
</div>
<div className="mx-auto mt-16 flex justify-center gap-4">
<Button variant="solid" color="cyan" href="/start">
Get Started
</Button>
<Button variant="outline" color="gray" href="/docs">
Explore Docs
</Button>
</div>
</Container>
</section>
)