forked from emre/www_projectmycelium_com
Compare commits
1 Commits
388654fcbd
...
developmen
| Author | SHA1 | Date | |
|---|---|---|---|
| 3ac2f8ede7 |
@@ -1,52 +0,0 @@
|
|||||||
import { H3, P, Eyebrow } from '../../components/Texts'
|
|
||||||
|
|
||||||
|
|
||||||
export function CloudBluePrint() {
|
|
||||||
return (
|
|
||||||
<div className="bg-white py-24 sm:py-32">
|
|
||||||
<div className="mx-auto max-w-7xl px-6 lg:px-8">
|
|
||||||
<Eyebrow color="accent">Cloud Blueprint</Eyebrow>
|
|
||||||
<H3 color="primary">Your Personal Sovereign Cloud Workspace</H3>
|
|
||||||
<P color="primary">Digital Me is an example environment built to demonstrate what’s possible on top of the Mycelium Stack, a full personal cloud you can deploy, customize, or extend.
|
|
||||||
Your files, communication, apps, and optional AI agent, all running privately on infrastructure you choose.</P>
|
|
||||||
<div className="mx-auto mt-10 grid max-w-lg grid-cols-4 items-center gap-x-8 gap-y-10 sm:max-w-xl sm:grid-cols-6 sm:gap-x-10 lg:mx-0 lg:max-w-none lg:grid-cols-5">
|
|
||||||
<img
|
|
||||||
alt="Transistor"
|
|
||||||
src="https://tailwindcss.com/plus-assets/img/logos/158x48/transistor-logo-gray-900.svg"
|
|
||||||
width={158}
|
|
||||||
height={48}
|
|
||||||
className="col-span-2 max-h-12 w-full object-contain lg:col-span-1"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
alt="Reform"
|
|
||||||
src="https://tailwindcss.com/plus-assets/img/logos/158x48/reform-logo-gray-900.svg"
|
|
||||||
width={158}
|
|
||||||
height={48}
|
|
||||||
className="col-span-2 max-h-12 w-full object-contain lg:col-span-1"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
alt="Tuple"
|
|
||||||
src="https://tailwindcss.com/plus-assets/img/logos/158x48/tuple-logo-gray-900.svg"
|
|
||||||
width={158}
|
|
||||||
height={48}
|
|
||||||
className="col-span-2 max-h-12 w-full object-contain lg:col-span-1"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
alt="SavvyCal"
|
|
||||||
src="https://tailwindcss.com/plus-assets/img/logos/158x48/savvycal-logo-gray-900.svg"
|
|
||||||
width={158}
|
|
||||||
height={48}
|
|
||||||
className="col-span-2 max-h-12 w-full object-contain sm:col-start-2 lg:col-span-1"
|
|
||||||
/>
|
|
||||||
<img
|
|
||||||
alt="Statamic"
|
|
||||||
src="https://tailwindcss.com/plus-assets/img/logos/158x48/statamic-logo-gray-900.svg"
|
|
||||||
width={158}
|
|
||||||
height={48}
|
|
||||||
className="col-span-2 col-start-2 max-h-12 w-full object-contain sm:col-start-auto lg:col-span-1"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -415,7 +415,7 @@ export function CloudFeatures() {
|
|||||||
A Decentralized Cloud that Operates Itself
|
A Decentralized Cloud that Operates Itself
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P color="light" className="mt-6">
|
<P color="light" className="mt-6">
|
||||||
Mycelium Cloud runs Kubernetes on a sovereign, self-healing network with compute, storage, and networking built in, so you don’t need external cloud dependencies.
|
Mycelium Cloud runs Kubernetes on a sovereign, self-healing network. Storage, networking, and compute are all integrated.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
|
|||||||
@@ -22,12 +22,7 @@ export function CloudHeroNew() {
|
|||||||
</H5>
|
</H5>
|
||||||
<H5 className="mt-4 text-lg text-gray-600">
|
<H5 className="mt-4 text-lg text-gray-600">
|
||||||
Deploy K3s clusters on a global, self-healing mesh network.
|
Deploy K3s clusters on a global, self-healing mesh network.
|
||||||
Your workloads run on sovereign, encrypted infrastructure, without centralized cloud control.
|
Your workloads run on sovereign, encrypted infrastructure, without centralized cloud control.
|
||||||
</H5>
|
|
||||||
<H5 className="mt-4 text-sm text-gray-600">
|
|
||||||
Works Alone. Works Together.
|
|
||||||
Mycelium Cloud can run on any network fabric, or pair with Mycelium Network
|
|
||||||
for sovereign connectivity.
|
|
||||||
</H5>
|
</H5>
|
||||||
<div className="mt-10 flex items-center gap-x-6">
|
<div className="mt-10 flex items-center gap-x-6">
|
||||||
<Button
|
<Button
|
||||||
@@ -39,7 +34,7 @@ export function CloudHeroNew() {
|
|||||||
Get started
|
Get started
|
||||||
</Button>
|
</Button>
|
||||||
<Button to="#" variant="outline">
|
<Button to="#" variant="outline">
|
||||||
Documentation <span aria-hidden="true"> →</span>
|
Explore Docs <span aria-hidden="true"> →</span>
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,28 +8,24 @@ import { CP, CT, Eyebrow, H3, P } from '../../components/Texts'
|
|||||||
|
|
||||||
const features = [
|
const features = [
|
||||||
{
|
{
|
||||||
Eyebrow: 'DevOps / Cloud teams',
|
|
||||||
name: 'Kubernetes Clusters',
|
name: 'Kubernetes Clusters',
|
||||||
description: 'Deterministic K3s workloads across sovereign hardware.',
|
description: 'Deploy and scale containerized apps across your own hardware.',
|
||||||
icon: ServerIcon,
|
icon: ServerIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Eyebrow: 'Security & infrastructure',
|
name: 'AI Agents & LLM Runtimes',
|
||||||
name: 'Encrypted Mesh Networking',
|
description: 'Run open-source models locally, securely, and offline.',
|
||||||
description: 'No public ingress, no exposed attack surface, zero-trust routing.',
|
icon: ArrowPathIcon,
|
||||||
icon: ShieldCheckIcon,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Eyebrow: 'Data-driven teams',
|
|
||||||
name: 'S3-Compatible Storage',
|
name: 'S3-Compatible Storage',
|
||||||
description: 'Distributed storage with erasure coding and residency control.',
|
description: 'Your own personal over-the-network drive, encrypted end-to-end.',
|
||||||
icon: CloudArrowUpIcon,
|
icon: CloudArrowUpIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Eyebrow: 'AI / ML workloads',
|
name: 'Mesh VPN & Zero-Trust Networking',
|
||||||
name: 'GPU-Ready',
|
description: 'Securely connect all your devices and remote locations.',
|
||||||
description: 'Scale inference & training on demand.',
|
icon: ShieldCheckIcon,
|
||||||
icon: ArrowPathIcon,
|
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -37,7 +33,7 @@ export function CloudHosting() {
|
|||||||
return (
|
return (
|
||||||
<div className="relative bg-white py-24 lg:py-32">
|
<div className="relative bg-white py-24 lg:py-32">
|
||||||
<div className="mx-auto max-w-md px-6 text-center sm:max-w-3xl lg:max-w-7xl lg:px-8">
|
<div className="mx-auto max-w-md px-6 text-center sm:max-w-3xl lg:max-w-7xl lg:px-8">
|
||||||
<Eyebrow>CAPABILITIES</Eyebrow>
|
<Eyebrow>DEPLOY</Eyebrow>
|
||||||
<H3 className="mt-2">What You Can Run on Mycelium Cloud</H3>
|
<H3 className="mt-2">What You Can Run on Mycelium Cloud</H3>
|
||||||
<P className="mx-auto mt-5 max-w-prose">
|
<P className="mx-auto mt-5 max-w-prose">
|
||||||
Turn your own machines into real, production-grade infrastructure. Mycelium handles the networking,
|
Turn your own machines into real, production-grade infrastructure. Mycelium handles the networking,
|
||||||
@@ -52,7 +48,6 @@ export function CloudHosting() {
|
|||||||
<span className="absolute -top-6 left-1/2 -translate-x-1/2 transform rounded-xl bg-cyan-500 hover:bg-cyan-400 p-3 shadow-lg">
|
<span className="absolute -top-6 left-1/2 -translate-x-1/2 transform rounded-xl bg-cyan-500 hover:bg-cyan-400 p-3 shadow-lg">
|
||||||
<feature.icon aria-hidden="true" className="size-8 text-white" />
|
<feature.icon aria-hidden="true" className="size-8 text-white" />
|
||||||
</span>
|
</span>
|
||||||
<Eyebrow>{feature.Eyebrow}</Eyebrow>
|
|
||||||
<CT as="h3" className="mt-4">
|
<CT as="h3" className="mt-4">
|
||||||
{feature.name}
|
{feature.name}
|
||||||
</CT>
|
</CT>
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import { SecurityPillars } from './SecurityPillars'
|
|||||||
import { CloudCTA } from './CloudCTA'
|
import { CloudCTA } from './CloudCTA'
|
||||||
import { CloudHeroNew } from './CloudHeroNew'
|
import { CloudHeroNew } from './CloudHeroNew'
|
||||||
import { CloudHosting } from './CloudHosting'
|
import { CloudHosting } from './CloudHosting'
|
||||||
import { CloudBluePrint } from './CloudBluePrint'
|
|
||||||
import { CloudDesign } from './CloudDesign'
|
|
||||||
|
|
||||||
export default function CloudPage() {
|
export default function CloudPage() {
|
||||||
return (
|
return (
|
||||||
@@ -22,10 +20,6 @@ export default function CloudPage() {
|
|||||||
<CloudHosting />
|
<CloudHosting />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<CloudDesign />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CloudFeatures />
|
<CloudFeatures />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
@@ -34,14 +28,15 @@ export default function CloudPage() {
|
|||||||
<CloudArchitecture />
|
<CloudArchitecture />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
|
<AnimatedSection>
|
||||||
|
<CloudGettingStarted />
|
||||||
|
</AnimatedSection>
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CloudUseCases />
|
<CloudUseCases />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CloudBluePrint />
|
<SecurityPillars />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CloudCTA />
|
<CloudCTA />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|||||||
@@ -3,33 +3,35 @@ import { Eyebrow, SectionHeader, P, Small } from '../../components/Texts'
|
|||||||
|
|
||||||
const useCases = [
|
const useCases = [
|
||||||
{
|
{
|
||||||
title: 'Enterprise & Private Kubernetes',
|
title: 'AI / ML Training',
|
||||||
description:
|
description:
|
||||||
'Production-grade K3s clusters with full workload ownership and residency control. Deploy apps and internal services without vendor lock-in or exposed surfaces.',
|
'Run GPU-accelerated workloads for deep learning, data science, and inference on demand.',
|
||||||
bullets: [
|
bullets: ['GPU acceleration', 'Scalable compute', 'Cost optimization'],
|
||||||
'High availability + failover',
|
|
||||||
'Encrypted, mesh-native networking',
|
|
||||||
'Compliance-ready governance & policy control',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Edge & Distributed Deployments',
|
title: 'Enterprise Kubernetes',
|
||||||
description:
|
description:
|
||||||
'Place compute close to where data is created. Run clusters globally across home labs, offices, data centers, or edge locations.',
|
'Operate production-grade clusters with complete control and no vendor lock-in.',
|
||||||
bullets: [
|
bullets: ['High availability', 'Security', 'Compliance'],
|
||||||
'Low-latency execution',
|
|
||||||
'Mesh-routed connectivity',
|
|
||||||
'Autonomous healing across region',
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'AI / ML & Agent Workloads',
|
title: 'Edge & IoT',
|
||||||
description:
|
description:
|
||||||
'Run inference, training, and autonomous AI systems on sovereign compute. GPU orchestration, private vector storage, and model execution without handing data to hyperscalers.',
|
'Leverage global nodes for low-latency workloads and connected device deployments.',
|
||||||
|
bullets: ['Low latency', 'Global distribution', 'Real-time processing'],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'DigitalMe Blueprint',
|
||||||
|
description:
|
||||||
|
'Launch a full digital workspace on Mycelium Cloud with pre-integrated services.',
|
||||||
bullets: [
|
bullets: [
|
||||||
'Scales across nodes',
|
'Cryptpad • Encrypted collaboration',
|
||||||
'Supports open-source & fine-tuned models',
|
'Elements • Matrix chat',
|
||||||
'Built for agentic automation + RAG',
|
'Stallwart • Mail, calendar, contacts',
|
||||||
|
'Gitea • Git hosting',
|
||||||
|
'Nextcloud • File storage and sync',
|
||||||
|
'LiveKit / Jitsi • Real-time video',
|
||||||
|
'Single Sign-On backed by Gitea',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -14,16 +14,14 @@ export function CallToAction() {
|
|||||||
<Container className="relative">
|
<Container className="relative">
|
||||||
<div className="mx-auto max-w-2xl text-center">
|
<div className="mx-auto max-w-2xl text-center">
|
||||||
<h2 className="text-3xl lg:text-4xl font-medium tracking-tight text-white sm:text-4xl">
|
<h2 className="text-3xl lg:text-4xl font-medium tracking-tight text-white sm:text-4xl">
|
||||||
Choose How You Want to Start
|
Get Started Today
|
||||||
</h2>
|
</h2>
|
||||||
<p className="mt-6 text-lg text-gray-300">
|
<p className="mt-6 text-lg text-gray-300">
|
||||||
Run workloads using Mycelium Cloud, or host your own compute node.
|
Download the Mycelium app and step into the future of secure, peer-to-peer networking; fast, private, and decentralized.
|
||||||
Both use the same deterministic execution fabric.
|
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<div className="mt-10 flex flex-wrap justify-center gap-x-6 gap-y-4">
|
<div className="mt-10 flex flex-wrap justify-center gap-x-6 gap-y-4">
|
||||||
<Button to="/download" variant="solid" color="white">
|
<Button to="/download" variant="solid" color="white">
|
||||||
Deploy Workloads
|
Get Mycelium Connector
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
to="https://threefold.info/mycelium_network/docs/"
|
to="https://threefold.info/mycelium_network/docs/"
|
||||||
@@ -32,7 +30,7 @@ Both use the same deterministic execution fabric.
|
|||||||
variant="outline"
|
variant="outline"
|
||||||
color="white"
|
color="white"
|
||||||
>
|
>
|
||||||
Host Compute Node
|
Read Docs
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,58 +0,0 @@
|
|||||||
import {
|
|
||||||
CpuChipIcon,
|
|
||||||
CubeIcon,
|
|
||||||
ServerIcon,
|
|
||||||
} from '@heroicons/react/24/solid'
|
|
||||||
import { Eyebrow, H3, P, CT, CP } from '../../components/Texts'
|
|
||||||
import { Container } from '../../components/Container'
|
|
||||||
|
|
||||||
const capabilities = [
|
|
||||||
{
|
|
||||||
name: 'Containers',
|
|
||||||
description: 'Services, web apps, APIs. Fully compatible with Kubernetes.',
|
|
||||||
icon: CubeIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Virtual Machines',
|
|
||||||
description:
|
|
||||||
'Legacy apps and specialized runtime stacks. Secure boot + attestation included.',
|
|
||||||
icon: ServerIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Native Linux Workloads',
|
|
||||||
description:
|
|
||||||
'Agents, batch jobs, tooling. Runs statelessly anywhere.',
|
|
||||||
icon: CpuChipIcon,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function ComputeCapabilities() {
|
|
||||||
return (
|
|
||||||
<section className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
|
||||||
<Eyebrow>CAPABILITIES</Eyebrow>
|
|
||||||
<H3 className="mt-4 text-gray-900">What You Can Run</H3>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
Mycelium Compute supports multiple workload types on a single
|
|
||||||
execution fabric.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="mx-auto mt-16 max-w-5xl">
|
|
||||||
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-3">
|
|
||||||
{capabilities.map((feature) => (
|
|
||||||
<div key={feature.name} className="flex flex-col text-center">
|
|
||||||
<div className="mx-auto flex size-12 items-center justify-center rounded-xl bg-cyan-50">
|
|
||||||
<feature.icon aria-hidden="true" className="size-6 text-cyan-600" />
|
|
||||||
</div>
|
|
||||||
<CT className="mt-6 text-gray-900">{feature.name}</CT>
|
|
||||||
<CP className="mt-2 text-gray-600">{feature.description}</CP>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
import {
|
|
||||||
ShieldCheckIcon,
|
|
||||||
ArrowPathIcon,
|
|
||||||
RocketLaunchIcon,
|
|
||||||
} from '@heroicons/react/24/solid'
|
|
||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, H3, P, CT, CP } from '../../components/Texts'
|
|
||||||
|
|
||||||
const features = [
|
|
||||||
{
|
|
||||||
name: 'Cryptographically verified deployments',
|
|
||||||
description: 'Every cluster state is signed and checksummed to guarantee truth.',
|
|
||||||
icon: ShieldCheckIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Stateless execution that scales anywhere',
|
|
||||||
description: 'Run workloads on any node, region, or edge without manual orchestration.',
|
|
||||||
icon: RocketLaunchIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Automatic healing and recovery',
|
|
||||||
description: 'Self-repairing processes ensure workloads stay available and consistent.',
|
|
||||||
icon: ArrowPathIcon,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export default function ComputeDesign() {
|
|
||||||
return (
|
|
||||||
<section className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
<div className="mx-auto max-w-3xl sm:text-center">
|
|
||||||
<Eyebrow>CORE VALUE</Eyebrow>
|
|
||||||
<H3 className="mt-4 text-gray-900">Deterministic by Design</H3>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
Every workload runs exactly as declared: no drift, no hidden state, no surprises.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="mx-auto mt-16 max-w-5xl">
|
|
||||||
<dl className="grid grid-cols-1 gap-12 text-gray-600 sm:grid-cols-2 lg:grid-cols-3">
|
|
||||||
{features.map((feature) => (
|
|
||||||
<div key={feature.name} className="relative pl-12">
|
|
||||||
<feature.icon
|
|
||||||
aria-hidden="true"
|
|
||||||
className="absolute left-0 top-1 size-6 text-cyan-600"
|
|
||||||
/>
|
|
||||||
<CT className="font-semibold text-gray-900">{feature.name}</CT>
|
|
||||||
<CP className="mt-1 text-gray-600">{feature.description}</CP>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -3,24 +3,52 @@ import { Eyebrow, SectionHeader, P, Small } from '../../components/Texts'
|
|||||||
|
|
||||||
const featureGroups = [
|
const featureGroups = [
|
||||||
{
|
{
|
||||||
title: 'Self-Managing Infrastructure',
|
title: 'Deterministic Deployments',
|
||||||
description:
|
description:
|
||||||
'Scaling, healing, and failover happen automatically, no manual intervention.',
|
'Cryptographic verification ensures every workload deploys exactly as specified—no tampering, no drift.',
|
||||||
|
listTitle: 'Benefits',
|
||||||
|
bullets: [
|
||||||
|
'Cryptographic verification of every workload component',
|
||||||
|
'Zero configuration drift across environments',
|
||||||
|
'Immediate detection of unauthorized changes',
|
||||||
|
'Complete reproducibility for every deployment',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Secure, Stateless Execution',
|
title: 'Self-Managing & Stateless Infrastructure',
|
||||||
description:
|
description:
|
||||||
'Workloads remain isolated, reproducible, and portable, no environment drift or configuration decay.',
|
'Infrastructure that scales and heals autonomously across the ThreeFold Grid with no manual intervention.',
|
||||||
|
listTitle: 'Capabilities',
|
||||||
|
bullets: [
|
||||||
|
'Autonomous operations that self-orchestrate workloads',
|
||||||
|
'Global scaling sewn into the fabric of the platform',
|
||||||
|
'Stateless design removes hardware dependencies',
|
||||||
|
'Self-healing recovery from failures and anomalies',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Zero-Image Delivery',
|
title: 'Smart Contract-Based Deployment',
|
||||||
description:
|
description:
|
||||||
'Deploy workloads using metadata instead of large container images for instant launches.',
|
'Cryptographically signed contracts orchestrate every workload lifecycle with transparent, tamper-proof execution.',
|
||||||
|
listTitle: 'Benefits',
|
||||||
|
bullets: [
|
||||||
|
'Every deployment contract cryptographically signed',
|
||||||
|
'Fully auditable, transparent execution of operations',
|
||||||
|
'Tamper-proof orchestration that cannot be rewritten',
|
||||||
|
'Smart contracts automate the entire workload lifecycle',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Global Placement Control',
|
title: 'Multi-Workload Compatibility with Secure Boot',
|
||||||
description:
|
description:
|
||||||
'Choose where workloads run, on your hardware or across the decentralized grid.',
|
'Run containers, VMs, and native Linux workloads anywhere with stateless secure boot and continuous verification.',
|
||||||
|
listTitle: 'Capabilities',
|
||||||
|
bullets: [
|
||||||
|
'Full compatibility with Kubernetes and Docker workloads',
|
||||||
|
'Securely run virtual machines with attested boot paths',
|
||||||
|
'Native Linux applications verified end-to-end',
|
||||||
|
'Continuous verification maintains trusted execution',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -41,7 +69,6 @@ export function ComputeFeatures() {
|
|||||||
the grid.
|
the grid.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-16 grid gap-8 md:grid-cols-2">
|
<div className="mt-16 grid gap-8 md:grid-cols-2">
|
||||||
{featureGroups.map((feature) => (
|
{featureGroups.map((feature) => (
|
||||||
<div
|
<div
|
||||||
@@ -50,7 +77,7 @@ export function ComputeFeatures() {
|
|||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Small className="text-xs uppercase tracking-[0.3em] text-cyan-500">
|
<Small className="text-xs uppercase tracking-[0.3em] text-cyan-500">
|
||||||
Feature
|
{feature.listTitle}
|
||||||
</Small>
|
</Small>
|
||||||
<h3 className="mt-4 text-2xl font-semibold text-gray-900">
|
<h3 className="mt-4 text-2xl font-semibold text-gray-900">
|
||||||
{feature.title}
|
{feature.title}
|
||||||
@@ -59,6 +86,17 @@ export function ComputeFeatures() {
|
|||||||
{feature.description}
|
{feature.description}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<ul className="mt-6 space-y-3 text-sm text-gray-600">
|
||||||
|
{feature.bullets.map((bullet) => (
|
||||||
|
<li
|
||||||
|
key={bullet}
|
||||||
|
className="flex items-start gap-3 rounded-2xl border border-cyan-100/40 bg-cyan-50/40 p-3 text-left leading-relaxed"
|
||||||
|
>
|
||||||
|
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
|
||||||
|
<span>{bullet}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -17,16 +17,19 @@ export function ComputeHero() {
|
|||||||
<div className="relative mx-auto max-w-7xl py-12 lg:py-24 lg:px-8">
|
<div className="relative mx-auto max-w-7xl py-12 lg:py-24 lg:px-8">
|
||||||
<div className="max-w-2xl pr-6 pl-6 md:mr-auto md:w-2/3 md:pr-16 lg:w-1/2 lg:pl-0 lg:pr-24">
|
<div className="max-w-2xl pr-6 pl-6 md:mr-auto md:w-2/3 md:pr-16 lg:w-1/2 lg:pl-0 lg:pr-24">
|
||||||
<Eyebrow className="text-base/7 font-semibold text-cyan-500">COMPUTE</Eyebrow>
|
<Eyebrow className="text-base/7 font-semibold text-cyan-500">COMPUTE</Eyebrow>
|
||||||
<H3 className="mt-2 text-gray-900">Deterministic Compute You Control</H3>
|
<H3 className="mt-2 text-gray-900">The pulse of Intelligence Runs Here.</H3>
|
||||||
<P className="mt-6 text-gray-600">
|
<P className="mt-6 text-gray-600">
|
||||||
Run workloads on sovereign, self-verifying infrastructure.
|
Mycelium Compute brings predictable, sovereign performance — free from lock-in, free from drift.
|
||||||
Mycelium Compute delivers predictable execution, zero drift, and automatic healing, whether you’re running containers, VMs, agents, or full Kubernetes clusters.
|
Deploy any workload, anywhere, with cryptographic precision and zero compromise.
|
||||||
|
</P>
|
||||||
|
<P className="mt-6 text-gray-600">
|
||||||
|
From micro-VMs to full clusters, every operation is deterministic, self-managing, and stateless by design.
|
||||||
|
Compute that verifies itself. Expands itself. Heals itself.
|
||||||
</P>
|
</P>
|
||||||
<div className="mt-12">
|
<div className="mt-12">
|
||||||
<Button href="#" variant="solid" color="cyan">
|
<Button href="#" variant="solid" color="cyan">
|
||||||
How it works
|
Experience Deterministic Compute
|
||||||
</Button>
|
</Button>
|
||||||
<Button href="#" variant="outline" color="cyan">Explore Docs</Button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,8 +8,6 @@ import { ComputeDeveloperExperience } from './ComputeDeveloperExperience'
|
|||||||
import { ComputeUseCases } from './ComputeUseCases'
|
import { ComputeUseCases } from './ComputeUseCases'
|
||||||
import { ComputeDifferentiators } from './ComputeDifferentiators'
|
import { ComputeDifferentiators } from './ComputeDifferentiators'
|
||||||
import { CallToAction } from './CallToAction'
|
import { CallToAction } from './CallToAction'
|
||||||
import { ComputeCapabilities } from './ComputeCapabilities'
|
|
||||||
import { ComputeDesign } from './ComputeDesign'
|
|
||||||
|
|
||||||
export default function ComputePage() {
|
export default function ComputePage() {
|
||||||
return (
|
return (
|
||||||
@@ -17,24 +15,12 @@ export default function ComputePage() {
|
|||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<ComputeHero />
|
<ComputeHero />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<ComputeCapabilities />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<ComputeDesign />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<ComputeFeatures />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<ComputeOverview />
|
<ComputeOverview />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<ComputeFeatures />
|
||||||
|
</AnimatedSection>
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<ComputeZeroImage />
|
<ComputeZeroImage />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|||||||
@@ -1,21 +1,72 @@
|
|||||||
import { Container } from '../../components/Container'
|
import { Container } from '../../components/Container'
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||||
|
|
||||||
const useCases = [
|
const primaryUseCases = [
|
||||||
{
|
{
|
||||||
title: 'AI / ML Training',
|
title: 'AI / ML Training',
|
||||||
description:
|
bullets: [
|
||||||
'Reproducible pipelines, private model execution, scalable GPU orchestration.',
|
'Deterministic training pipelines for reproducible experiments.',
|
||||||
|
'Cryptographically verified model artifacts end-to-end.',
|
||||||
|
'Autonomous scaling for distributed training runs.',
|
||||||
|
'Zero-drift environments that remain consistent over time.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Application Hosting',
|
title: 'Application Hosting',
|
||||||
description:
|
bullets: [
|
||||||
'Private, reliable, self-healing services – without cloud vendor lock-in.',
|
'Transparent deployments with verifiable execution.',
|
||||||
|
'Auto-scaling that allocates resources on demand.',
|
||||||
|
'Instant global distribution across the ThreeFold Grid.',
|
||||||
|
'Cryptographically secured runtime environments.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Distributed & Edge Compute',
|
title: 'Data Processing',
|
||||||
description:
|
bullets: [
|
||||||
'Run workloads where data lives, in homes, offices, datacenters, or remote regions.',
|
'Deterministic pipelines that document every transformation.',
|
||||||
|
'Secure computation with cryptographic verification.',
|
||||||
|
'Auto-scaling resources for fluctuating workloads.',
|
||||||
|
'Global processing placement to minimize latency.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Scientific Computing',
|
||||||
|
bullets: [
|
||||||
|
'Reproducible research environments for shared experiments.',
|
||||||
|
'Secure workloads with verifiable execution paths.',
|
||||||
|
'Dynamic scaling for compute-intensive tasks.',
|
||||||
|
'Global collaboration with sovereign resource control.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const computeSpecific = [
|
||||||
|
{
|
||||||
|
title: 'Deterministic Training Environments',
|
||||||
|
bullets: [
|
||||||
|
'Reproducible ML experiments with identical conditions every run.',
|
||||||
|
'Verifiable computational research for scientific collaboration.',
|
||||||
|
'Auditable financial modelling workflows with traceable outputs.',
|
||||||
|
'Consistent IoT edge processing with predictable performance.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Multi-Platform Application Hosting',
|
||||||
|
bullets: [
|
||||||
|
'Kubernetes orchestration with deterministic deployment pipelines.',
|
||||||
|
'Virtual machines launched with hardware-attested secure boot.',
|
||||||
|
'Native Linux workloads with cryptographic assurance.',
|
||||||
|
'Hybrid topologies mixing containers, VMs, and bare metal.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Auto-Scaling Workloads',
|
||||||
|
bullets: [
|
||||||
|
'Demand-based scaling that reacts instantly to load.',
|
||||||
|
'Global distribution across the ThreeFold Grid.',
|
||||||
|
'Automated failover that restores services without intervention.',
|
||||||
|
'Cost optimization through intelligent resource allocation.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -36,9 +87,9 @@ export function ComputeUseCases() {
|
|||||||
self-orchestrating so teams can focus on building.
|
self-orchestrating so teams can focus on building.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
||||||
<div className="mx-auto mt-16 max-w-4xl space-y-6">
|
<div className="space-y-6">
|
||||||
{useCases.map((useCase) => (
|
{primaryUseCases.map((useCase) => (
|
||||||
<div
|
<div
|
||||||
key={useCase.title}
|
key={useCase.title}
|
||||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-200/40 hover:bg-white/10"
|
className="rounded-3xl border border-white/10 bg-white/5 p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-200/40 hover:bg-white/10"
|
||||||
@@ -46,12 +97,38 @@ export function ComputeUseCases() {
|
|||||||
<h3 className="text-xl font-semibold text-white">
|
<h3 className="text-xl font-semibold text-white">
|
||||||
{useCase.title}
|
{useCase.title}
|
||||||
</h3>
|
</h3>
|
||||||
<p className="mt-3 text-sm leading-relaxed text-gray-200">
|
<ul className="mt-4 space-y-3 text-sm text-gray-200">
|
||||||
{useCase.description}
|
{useCase.bullets.map((bullet) => (
|
||||||
</p>
|
<li key={bullet} className="flex items-start gap-3 leading-relaxed">
|
||||||
|
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-400" />
|
||||||
|
<span>{bullet}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
<div className="space-y-6">
|
||||||
|
{computeSpecific.map((useCase) => (
|
||||||
|
<div
|
||||||
|
key={useCase.title}
|
||||||
|
className="rounded-3xl border border-cyan-400/20 bg-gradient-to-br from-cyan-500/10 via-cyan-500/5 to-transparent p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-200/40 hover:from-cyan-400/20 hover:via-cyan-400/10"
|
||||||
|
>
|
||||||
|
<h3 className="text-xl font-semibold text-white">
|
||||||
|
{useCase.title}
|
||||||
|
</h3>
|
||||||
|
<ul className="mt-4 space-y-3 text-sm text-cyan-100">
|
||||||
|
{useCase.bullets.map((bullet) => (
|
||||||
|
<li key={bullet} className="flex items-start gap-3 leading-relaxed">
|
||||||
|
<span className="mt-1 inline-block size-2 rounded-full bg-white/80" />
|
||||||
|
<span>{bullet}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
</section>
|
</section>
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,135 +0,0 @@
|
|||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
|
||||||
|
|
||||||
const primaryUseCases = [
|
|
||||||
{
|
|
||||||
title: 'AI / ML Training',
|
|
||||||
bullets: [
|
|
||||||
'Deterministic training pipelines for reproducible experiments.',
|
|
||||||
'Cryptographically verified model artifacts end-to-end.',
|
|
||||||
'Autonomous scaling for distributed training runs.',
|
|
||||||
'Zero-drift environments that remain consistent over time.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Application Hosting',
|
|
||||||
bullets: [
|
|
||||||
'Transparent deployments with verifiable execution.',
|
|
||||||
'Auto-scaling that allocates resources on demand.',
|
|
||||||
'Instant global distribution across the ThreeFold Grid.',
|
|
||||||
'Cryptographically secured runtime environments.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Data Processing',
|
|
||||||
bullets: [
|
|
||||||
'Deterministic pipelines that document every transformation.',
|
|
||||||
'Secure computation with cryptographic verification.',
|
|
||||||
'Auto-scaling resources for fluctuating workloads.',
|
|
||||||
'Global processing placement to minimize latency.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Scientific Computing',
|
|
||||||
bullets: [
|
|
||||||
'Reproducible research environments for shared experiments.',
|
|
||||||
'Secure workloads with verifiable execution paths.',
|
|
||||||
'Dynamic scaling for compute-intensive tasks.',
|
|
||||||
'Global collaboration with sovereign resource control.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
const computeSpecific = [
|
|
||||||
{
|
|
||||||
title: 'Deterministic Training Environments',
|
|
||||||
bullets: [
|
|
||||||
'Reproducible ML experiments with identical conditions every run.',
|
|
||||||
'Verifiable computational research for scientific collaboration.',
|
|
||||||
'Auditable financial modelling workflows with traceable outputs.',
|
|
||||||
'Consistent IoT edge processing with predictable performance.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Multi-Platform Application Hosting',
|
|
||||||
bullets: [
|
|
||||||
'Kubernetes orchestration with deterministic deployment pipelines.',
|
|
||||||
'Virtual machines launched with hardware-attested secure boot.',
|
|
||||||
'Native Linux workloads with cryptographic assurance.',
|
|
||||||
'Hybrid topologies mixing containers, VMs, and bare metal.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Auto-Scaling Workloads',
|
|
||||||
bullets: [
|
|
||||||
'Demand-based scaling that reacts instantly to load.',
|
|
||||||
'Global distribution across the ThreeFold Grid.',
|
|
||||||
'Automated failover that restores services without intervention.',
|
|
||||||
'Cost optimization through intelligent resource allocation.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function ComputeUseCases() {
|
|
||||||
return (
|
|
||||||
<section className="bg-gray-950 py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
|
||||||
<Eyebrow color="accent" className="tracking-[0.32em] uppercase">
|
|
||||||
Use Cases
|
|
||||||
</Eyebrow>
|
|
||||||
<SectionHeader as="h2" color="light" className="mt-6">
|
|
||||||
Purpose-built for reproducibility, security, and scale.
|
|
||||||
</SectionHeader>
|
|
||||||
<P color="lightSecondary" className="mt-6">
|
|
||||||
From sovereign AI training loops to globally distributed
|
|
||||||
applications, Mycelium Compute keeps environments verifiable and
|
|
||||||
self-orchestrating so teams can focus on building.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
|
||||||
<div className="space-y-6">
|
|
||||||
{primaryUseCases.map((useCase) => (
|
|
||||||
<div
|
|
||||||
key={useCase.title}
|
|
||||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-200/40 hover:bg-white/10"
|
|
||||||
>
|
|
||||||
<h3 className="text-xl font-semibold text-white">
|
|
||||||
{useCase.title}
|
|
||||||
</h3>
|
|
||||||
<ul className="mt-4 space-y-3 text-sm text-gray-200">
|
|
||||||
{useCase.bullets.map((bullet) => (
|
|
||||||
<li key={bullet} className="flex items-start gap-3 leading-relaxed">
|
|
||||||
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-400" />
|
|
||||||
<span>{bullet}</span>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
<div className="space-y-6">
|
|
||||||
{computeSpecific.map((useCase) => (
|
|
||||||
<div
|
|
||||||
key={useCase.title}
|
|
||||||
className="rounded-3xl border border-cyan-400/20 bg-gradient-to-br from-cyan-500/10 via-cyan-500/5 to-transparent p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-200/40 hover:from-cyan-400/20 hover:via-cyan-400/10"
|
|
||||||
>
|
|
||||||
<h3 className="text-xl font-semibold text-white">
|
|
||||||
{useCase.title}
|
|
||||||
</h3>
|
|
||||||
<ul className="mt-4 space-y-3 text-sm text-cyan-100">
|
|
||||||
{useCase.bullets.map((bullet) => (
|
|
||||||
<li key={bullet} className="flex items-start gap-3 leading-relaxed">
|
|
||||||
<span className="mt-1 inline-block size-2 rounded-full bg-white/80" />
|
|
||||||
<span>{bullet}</span>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
|
||||||
|
|
||||||
const architectureSections = [
|
|
||||||
{
|
|
||||||
title: 'Distributed GPU Mesh',
|
|
||||||
description:
|
|
||||||
'A peer-to-peer fabric connects GPU nodes across the ThreeFold Grid, exposing them through the Mycelium network.',
|
|
||||||
bullets: [
|
|
||||||
'GPU nodes distributed globally for on-demand acceleration.',
|
|
||||||
'Mycelium network provides encrypted peer-to-peer connectivity.',
|
|
||||||
'Smart contract orchestration allocates and governs resources.',
|
|
||||||
'Real-time monitoring tracks utilization and health.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Performance Characteristics',
|
|
||||||
description:
|
|
||||||
'Consistency and transparency are built into the fabric so workloads behave predictably anywhere on the planet.',
|
|
||||||
bullets: [
|
|
||||||
'Edge-to-core deployment flexibility for every workload profile.',
|
|
||||||
'Adaptive intelligence optimizes allocation automatically.',
|
|
||||||
'Deterministic performance guarantees availability when booked.',
|
|
||||||
'Transparent cost tracking for every GPU cycle consumed.',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function GpuArchitectureArchive() {
|
|
||||||
return (
|
|
||||||
<section id="gpu-architecture" className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
|
||||||
<Eyebrow>
|
|
||||||
Technical Architecture
|
|
||||||
</Eyebrow>
|
|
||||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
|
||||||
A peer-to-peer mesh purpose-built for acceleration.
|
|
||||||
</SectionHeader>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
Mycelium GPU treats every node as part of a sovereign mesh. Encrypted
|
|
||||||
networking, smart contract orchestration, and transparent monitoring
|
|
||||||
ensure your workloads receive precisely the power they request.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
|
||||||
{architectureSections.map((section) => (
|
|
||||||
<div
|
|
||||||
key={section.title}
|
|
||||||
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
|
||||||
>
|
|
||||||
<h3 className="text-xl font-semibold text-gray-900">
|
|
||||||
{section.title}
|
|
||||||
</h3>
|
|
||||||
<p className="mt-4 text-sm leading-relaxed text-gray-600">
|
|
||||||
{section.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>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
|
||||||
|
|
||||||
const architecture = [
|
|
||||||
{
|
|
||||||
title: 'Sovereign Compute Nodes',
|
|
||||||
description: 'GPUs hosted on hardware you trust.',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Encrypted Mesh Networking',
|
|
||||||
description: 'Secure, private connectivity to workloads.',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Reservation & Verification Layer',
|
|
||||||
description: 'Guarantees GPU access and consistency.',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function GpuArchitecture() {
|
|
||||||
return (
|
|
||||||
<section id="gpu-architecture" className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
|
||||||
<Eyebrow>ARCHITECTURE</Eyebrow>
|
|
||||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
|
||||||
HOW IT WORKS
|
|
||||||
</SectionHeader>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
A sovereign GPU fabric built for transparent access, secure routing,
|
|
||||||
and guaranteed performance—no opaque clouds or shared queues.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="mx-auto mt-16 max-w-4xl space-y-6">
|
|
||||||
{architecture.map((item) => (
|
|
||||||
<div
|
|
||||||
key={item.title}
|
|
||||||
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
|
||||||
>
|
|
||||||
<h3 className="text-xl font-semibold text-gray-900">
|
|
||||||
{item.title}
|
|
||||||
</h3>
|
|
||||||
<p className="mt-3 text-sm leading-relaxed text-gray-600">
|
|
||||||
{item.description}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, H3, P, CT } from '../../components/Texts'
|
|
||||||
import {
|
|
||||||
BoltIcon,
|
|
||||||
BanknotesIcon,
|
|
||||||
GlobeAltIcon,
|
|
||||||
ShieldCheckIcon,
|
|
||||||
} from '@heroicons/react/24/solid'
|
|
||||||
|
|
||||||
const benefits = [
|
|
||||||
{
|
|
||||||
name: 'Consistent, reserved GPU performance (no noisy neighbor effects)',
|
|
||||||
icon: BoltIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Transparent cost (no markup, no surprise billing)',
|
|
||||||
icon: BanknotesIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Run anywhere – cloud, on-prem, edge, home lab',
|
|
||||||
icon: GlobeAltIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Your data never leaves your control',
|
|
||||||
icon: ShieldCheckIcon,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function GpuDesign() {
|
|
||||||
return (
|
|
||||||
<section className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
{/* Header */}
|
|
||||||
<div className="mx-auto max-w-3xl sm:text-center">
|
|
||||||
<Eyebrow>CORE VALUE</Eyebrow>
|
|
||||||
<H3 className="mt-4 text-gray-900">GPU Power You Actually Control</H3>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
Mycelium GPU gives you access to real hardware, not gated queues or
|
|
||||||
proprietary runtimes.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Key Benefits */}
|
|
||||||
<div className="mx-auto mt-16 max-w-5xl">
|
|
||||||
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-2">
|
|
||||||
{benefits.map((benefit) => (
|
|
||||||
<div key={benefit.name} className="relative pl-12">
|
|
||||||
<benefit.icon
|
|
||||||
className="absolute left-0 top-1 size-6 text-cyan-600"
|
|
||||||
aria-hidden="true"
|
|
||||||
/>
|
|
||||||
<CT className="font-semibold text-gray-900">
|
|
||||||
{benefit.name}
|
|
||||||
</CT>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -19,20 +19,24 @@ export function GpuHero() {
|
|||||||
Mycelium GPU
|
Mycelium GPU
|
||||||
</Eyebrow>
|
</Eyebrow>
|
||||||
<SectionHeader as="h1" className="mt-4 text-gray-900">
|
<SectionHeader as="h1" className="mt-4 text-gray-900">
|
||||||
Sovereign GPU Acceleration for AI and High-Performance Compute
|
Unify distributed GPU power into a sovereign acceleration fabric.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P className="mt-6 text-gray-600">
|
<P className="mt-6 text-gray-600">
|
||||||
Access GPUs across the Mycelium mesh without waitlists,
|
Mycelium GPU transforms fragmented hardware across the ThreeFold
|
||||||
inflated pricing, or centralized control.
|
Grid into one adaptive intelligence layer. Run AI, ML, rendering,
|
||||||
Run inference, training, and compute workloads where they make sense:
|
and high-performance workloads anywhere—from edge devices to
|
||||||
cloud, edge, or on your own hardware.
|
planetary clusters—with deterministic performance and transparent
|
||||||
|
cost.
|
||||||
|
</P>
|
||||||
|
<P className="mt-4 text-gray-500">
|
||||||
|
The energy behind intelligence, orchestrated entirely through code.
|
||||||
</P>
|
</P>
|
||||||
<div className="mt-10 flex flex-wrap gap-4">
|
<div className="mt-10 flex flex-wrap gap-4">
|
||||||
<Button to="#gpu-getting-started" as="a" variant="solid" color="cyan">
|
<Button to="#gpu-getting-started" as="a" variant="solid" color="cyan">
|
||||||
How it works
|
Start with GPU Access
|
||||||
</Button>
|
</Button>
|
||||||
<Button to="#gpu-architecture" as="a" variant="outline" color="cyan">
|
<Button to="#gpu-architecture" as="a" variant="outline" color="cyan">
|
||||||
Explore Docs
|
Explore the Mesh
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,30 +1,48 @@
|
|||||||
import {
|
import {
|
||||||
AdjustmentsHorizontalIcon,
|
CodeBracketSquareIcon,
|
||||||
GlobeAltIcon,
|
CubeTransparentIcon,
|
||||||
BanknotesIcon,
|
LockClosedIcon,
|
||||||
|
Squares2X2Icon,
|
||||||
} from '@heroicons/react/24/outline'
|
} from '@heroicons/react/24/outline'
|
||||||
|
|
||||||
import { Container } from '../../components/Container'
|
import { Container } from '../../components/Container'
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
import { Eyebrow, SectionHeader, P, Small } from '../../components/Texts'
|
||||||
|
|
||||||
const coreFeatures = [
|
const overviewCards = [
|
||||||
{
|
{
|
||||||
name: 'Deterministic GPU Allocation',
|
label: 'Overview',
|
||||||
|
title: 'Unified GPU acceleration across the ThreeFold Grid',
|
||||||
description:
|
description:
|
||||||
'Reserve the GPU type you need and get exactly that, every time.',
|
'Mycelium GPU aggregates distributed hardware into a single fabric, delivering sovereign acceleration for AI, ML, and rendering workloads.',
|
||||||
icon: AdjustmentsHorizontalIcon,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Multi-Topology Deployment',
|
label: 'Core Concept',
|
||||||
|
title: 'Sovereign intelligence layer',
|
||||||
description:
|
description:
|
||||||
'Run workloads in data centers, at the edge, or on self-hosted nodes.',
|
'No silos, no intermediaries—just raw, verifiable GPU power orchestrated through smart contracts and APIs you control.',
|
||||||
icon: GlobeAltIcon,
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const principles = [
|
||||||
|
{
|
||||||
|
name: 'No Silos',
|
||||||
|
description: 'Every GPU resource is accessible through a single interface.',
|
||||||
|
icon: Squares2X2Icon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Transparent Cost Structure',
|
name: 'No Intermediaries',
|
||||||
description:
|
description: 'Direct access to hardware without centralized brokers.',
|
||||||
'No inflated pricing, no hidden fees, no marketplace brokerage.',
|
icon: CubeTransparentIcon,
|
||||||
icon: BanknotesIcon,
|
},
|
||||||
|
{
|
||||||
|
name: 'Verifiable Power',
|
||||||
|
description: 'Every GPU cycle is attested and cryptographically verified.',
|
||||||
|
icon: LockClosedIcon,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Code-Orchestrated',
|
||||||
|
description: 'Smart contracts and APIs automate allocation and policy.',
|
||||||
|
icon: CodeBracketSquareIcon,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -34,31 +52,52 @@ export function GpuOverview() {
|
|||||||
<Container>
|
<Container>
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
<div className="mx-auto max-w-3xl text-center">
|
||||||
<Eyebrow className="tracking-[0.32em] uppercase text-cyan-300">
|
<Eyebrow className="tracking-[0.32em] uppercase text-cyan-300">
|
||||||
PLATFORM OVERVIEW
|
Platform Overview
|
||||||
</Eyebrow>
|
</Eyebrow>
|
||||||
<SectionHeader as="h2" color="light" className="mt-6 font-medium">
|
<SectionHeader as="h2" color="light" className="mt-6 font-medium">
|
||||||
Core Features
|
The sovereign acceleration layer for intelligent workloads.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P color="lightSecondary" className="mt-6">
|
<P color="lightSecondary" className="mt-6">
|
||||||
The Mycelium GPU layer provides predictable, sovereign acceleration
|
Mycelium GPU makes distributed acceleration feel like one machine.
|
||||||
— without arbitrary limits or hidden economics.
|
Harness global GPUs with deterministic performance, transparent
|
||||||
|
costs, and end-to-end verification.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
||||||
<div className="mx-auto mt-16 max-w-5xl grid gap-8 sm:grid-cols-2 lg:grid-cols-3">
|
{overviewCards.map((card) => (
|
||||||
{coreFeatures.map((feature) => (
|
|
||||||
<div
|
<div
|
||||||
key={feature.name}
|
key={card.title}
|
||||||
className="rounded-3xl border border-white/10 bg-white/[0.04] p-8 text-left backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
|
className="group relative overflow-hidden rounded-3xl border border-white/10 bg-white/[0.04] p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
|
||||||
|
>
|
||||||
|
<div className="absolute inset-0 bg-gradient-to-br from-cyan-500/0 via-white/[0.05] to-cyan-300/20 opacity-0 transition group-hover:opacity-100" />
|
||||||
|
<div className="relative">
|
||||||
|
<Small className="text-xs uppercase tracking-[0.35em] text-cyan-200">
|
||||||
|
{card.label}
|
||||||
|
</Small>
|
||||||
|
<h3 className="mt-4 text-lg font-semibold text-white">
|
||||||
|
{card.title}
|
||||||
|
</h3>
|
||||||
|
<p className="mt-4 text-sm leading-relaxed text-gray-300">
|
||||||
|
{card.description}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
<div className="mt-16 grid gap-8 sm:grid-cols-2 lg:grid-cols-4">
|
||||||
|
{principles.map((principle) => (
|
||||||
|
<div
|
||||||
|
key={principle.name}
|
||||||
|
className="rounded-3xl border border-white/10 bg-white/[0.04] p-6 text-left transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
|
||||||
>
|
>
|
||||||
<div className="mb-6 flex size-12 items-center justify-center rounded-full bg-cyan-500/15">
|
<div className="mb-6 flex size-12 items-center justify-center rounded-full bg-cyan-500/15">
|
||||||
<feature.icon className="size-6 text-cyan-300" aria-hidden="true" />
|
<principle.icon aria-hidden="true" className="size-6 text-cyan-300" />
|
||||||
</div>
|
</div>
|
||||||
<h3 className="text-lg font-semibold text-white">
|
<h3 className="text-base font-semibold text-white">
|
||||||
{feature.name}
|
{principle.name}
|
||||||
</h3>
|
</h3>
|
||||||
<p className="mt-3 text-sm leading-relaxed text-gray-300">
|
<p className="mt-3 text-sm leading-relaxed text-gray-300">
|
||||||
{feature.description}
|
{principle.description}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import { GpuUseCases } from './GpuUseCases'
|
|||||||
import { GpuGettingStarted } from './GpuGettingStarted'
|
import { GpuGettingStarted } from './GpuGettingStarted'
|
||||||
import { GpuDifferentiators } from './GpuDifferentiators'
|
import { GpuDifferentiators } from './GpuDifferentiators'
|
||||||
import { CallToAction } from './CallToAction'
|
import { CallToAction } from './CallToAction'
|
||||||
import { GpuCapabilities } from './GpuCapabilities'
|
|
||||||
import { GpuDesign } from './GpuDesign'
|
|
||||||
|
|
||||||
export default function GpuPage() {
|
export default function GpuPage() {
|
||||||
return (
|
return (
|
||||||
@@ -16,27 +14,24 @@ export default function GpuPage() {
|
|||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<GpuHero />
|
<GpuHero />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<GpuCapabilities />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<GpuDesign />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<GpuArchitecture />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<GpuOverview />
|
<GpuOverview />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<GpuArchitecture />
|
||||||
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<GpuIntegration />
|
||||||
|
</AnimatedSection>
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<GpuUseCases />
|
<GpuUseCases />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<GpuGettingStarted />
|
||||||
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<GpuDifferentiators />
|
||||||
|
</AnimatedSection>
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CallToAction />
|
<CallToAction />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|||||||
@@ -1,18 +1,34 @@
|
|||||||
import { Container } from '../../components/Container'
|
import { Container } from '../../components/Container'
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||||
|
|
||||||
const gpuUseCases = [
|
const useCases = [
|
||||||
{
|
{
|
||||||
title: 'AI / ML Training & Inference',
|
title: 'AI / ML Training',
|
||||||
description: 'Scale model execution across sovereign GPU nodes.',
|
description:
|
||||||
|
'Scale training, fine-tuning, and inference workloads anywhere on the grid.',
|
||||||
|
bullets: ['GPU acceleration', 'Scalable compute', 'Cost optimization'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Rendering & Visualization',
|
title: 'Rendering & Visualization',
|
||||||
description: 'Run 3D, scientific, simulation, or generative rendering pipelines.',
|
description:
|
||||||
|
'Drive high-performance graphics pipelines for media, science, and immersive experiences.',
|
||||||
|
bullets: [
|
||||||
|
'Distributed 3D rendering',
|
||||||
|
'Scientific visualization',
|
||||||
|
'Real-time VR / AR processing',
|
||||||
|
'Digital twin simulations',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Distributed & Edge Compute',
|
title: 'General GPU Computing',
|
||||||
description: 'Place GPU power close to where data is generated.',
|
description:
|
||||||
|
'Harness sovereign acceleration for simulations, finance, blockchain, and research.',
|
||||||
|
bullets: [
|
||||||
|
'Scientific simulations',
|
||||||
|
'Financial modeling',
|
||||||
|
'Blockchain processing',
|
||||||
|
'Protein folding and discovery',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -21,28 +37,41 @@ export function GpuUseCases() {
|
|||||||
<section className="bg-white py-24 sm:py-32">
|
<section className="bg-white py-24 sm:py-32">
|
||||||
<Container>
|
<Container>
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
<div className="mx-auto max-w-3xl text-center">
|
||||||
<Eyebrow>USE CASES</Eyebrow>
|
<Eyebrow>
|
||||||
|
Use Cases
|
||||||
|
</Eyebrow>
|
||||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
||||||
Built for Intelligent Workloads
|
Acceleration for every intelligent workload.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P className="mt-6 text-gray-600">
|
<P className="mt-6 text-gray-600">
|
||||||
From sovereign AI execution to real-time rendering and edge inference,
|
From deep learning to immersive visualization, Mycelium GPU delivers
|
||||||
Mycelium GPU ensures predictable acceleration with full ownership and no centralized control.
|
deterministic access to the power you need without the waitlists or
|
||||||
|
markups of centralized clouds.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mt-16 grid gap-8 lg:grid-cols-3">
|
||||||
<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">
|
{useCases.map((useCase) => (
|
||||||
{gpuUseCases.map((useCase) => (
|
|
||||||
<div
|
<div
|
||||||
key={useCase.title}
|
key={useCase.title}
|
||||||
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||||
>
|
>
|
||||||
<h3 className="text-xl font-semibold text-gray-900">
|
<h3 className="text-xl font-semibold text-gray-900">
|
||||||
{useCase.title}
|
{useCase.title}
|
||||||
</h3>
|
</h3>
|
||||||
<p className="mt-3 text-sm leading-relaxed text-gray-600">
|
<p className="mt-4 text-sm leading-relaxed text-gray-600">
|
||||||
{useCase.description}
|
{useCase.description}
|
||||||
</p>
|
</p>
|
||||||
|
<ul className="mt-6 space-y-3 text-sm text-gray-600">
|
||||||
|
{useCase.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>
|
</div>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export function CallToAction() {
|
|||||||
</p>
|
</p>
|
||||||
<div className="mt-10 flex flex-wrap justify-center gap-x-6 gap-y-4">
|
<div className="mt-10 flex flex-wrap justify-center gap-x-6 gap-y-4">
|
||||||
<Button to="/cloud" variant="solid" color="cyan">
|
<Button to="/cloud" variant="solid" color="cyan">
|
||||||
Get Started
|
Start Deployment
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
to="https://threefold.info/mycelium_network/docs/"
|
to="https://threefold.info/mycelium_network/docs/"
|
||||||
|
|||||||
@@ -7,29 +7,28 @@ import { H2, P, CP, Eyebrow } from '@/components/Texts'
|
|||||||
|
|
||||||
export function HomeBenefits() {
|
export function HomeBenefits() {
|
||||||
const features = [
|
const features = [
|
||||||
{
|
|
||||||
title: "Unbreakable by Design",
|
|
||||||
description:
|
|
||||||
"No central cloud to censor or fail. The network heals itself.",
|
|
||||||
image: "/images/benefits/energy.webp",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Sovereign by Default",
|
title: "Sovereign by Default",
|
||||||
description:
|
description:
|
||||||
"Identity, compute, and data belong to you – cryptographically.",
|
"Own your infrastructure and your data. Mycelium Cloud eliminates dependency on centralized providers, giving you full digital sovereignty.",
|
||||||
image: "/images/benefits/sovereign.webp",
|
image: "/images/benefits/sovereign.webp",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Hackable & Open",
|
title: "Hackable & Open",
|
||||||
description:
|
description:
|
||||||
"Learn, build, and experiment without permission.",
|
"Open source and hackable by design. Learn, build, and experiment without permission.",
|
||||||
image: "/images/benefits/autonomous.webp",
|
image: "/images/benefits/autonomous.webp",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "Unbreakable by Design",
|
||||||
|
description:
|
||||||
|
"Distributed nodes make it resilient to attacks and failures. The network heals itself.",
|
||||||
|
image: "/images/benefits/energy.webp",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Cost & Energy Efficient",
|
title: "Cost & Energy Efficient",
|
||||||
description:
|
description:
|
||||||
"Distributed hardware eliminates hyperscale overhead.",
|
"Distributed hardware eliminates hyperscale overhead. Pure compute power at a fraction of traditional cloud costs.",
|
||||||
image: "/images/benefits/cost.webp",
|
image: "/images/benefits/cost.webp",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@@ -40,7 +39,7 @@ export function HomeBenefits() {
|
|||||||
Benefits
|
Benefits
|
||||||
</Eyebrow>
|
</Eyebrow>
|
||||||
<H2 className="text-3xl lg:text-5xl lg:leading-tight max-w-5xl mx-auto text-center tracking-tight font-medium text-black dark:text-white">
|
<H2 className="text-3xl lg:text-5xl lg:leading-tight max-w-5xl mx-auto text-center tracking-tight font-medium text-black dark:text-white">
|
||||||
Why It Matters
|
Why It Changes Everything
|
||||||
</H2>
|
</H2>
|
||||||
|
|
||||||
<P className=" max-w-3xl my-4 mx-auto text-center text-gray-600">
|
<P className=" max-w-3xl my-4 mx-auto text-center text-gray-600">
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { DarkCard } from '../../components/ui/cards'
|
|||||||
const features = [
|
const features = [
|
||||||
{
|
{
|
||||||
name: 'Kubernetes Clusters',
|
name: 'Kubernetes Clusters',
|
||||||
description: 'Deploy and scale containerized apps across your own hardware. enabling a world of possibilities..',
|
description: 'Deploy and scale containerized apps across your own hardware.',
|
||||||
icon: CubeIcon,
|
icon: CubeIcon,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -37,7 +37,9 @@ export function HomeHostingDark() {
|
|||||||
<Eyebrow>DEPLOY</Eyebrow>
|
<Eyebrow>DEPLOY</Eyebrow>
|
||||||
<H3 className="mt-2 text-gray-200">Run Real Infrastructure on Your Own Hardware</H3>
|
<H3 className="mt-2 text-gray-200">Run Real Infrastructure on Your Own Hardware</H3>
|
||||||
<P className="mx-auto mt-5 max-w-prose text-gray-400">
|
<P className="mx-auto mt-5 max-w-prose text-gray-400">
|
||||||
Build and run production-grade workloads on hardware you control, whether it’s your own node or capacity from the decentralized grid. Mycelium handles the networking, orchestration, and security layers, so you can deploy services the same way you would on a public cloud, without giving your data or control to anyone.
|
Turn your own machines into real, production-grade infrastructure. Mycelium handles the networking,
|
||||||
|
orchestration, and security layers, so you can deploy services the same way you would on public cloud without
|
||||||
|
giving your data or control to anyone.
|
||||||
</P>
|
</P>
|
||||||
<div className="mt-16">
|
<div className="mt-16">
|
||||||
<div className="grid grid-cols-1 gap-12 lg:grid-cols-4">
|
<div className="grid grid-cols-1 gap-12 lg:grid-cols-4">
|
||||||
|
|||||||
@@ -26,26 +26,23 @@ export default function HomePage() {
|
|||||||
<WorldMap />
|
<WorldMap />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<HomeHostingDark />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<StackSectionLight />
|
<StackSectionLight />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection ref={sliderRef}>
|
<AnimatedSection>
|
||||||
<HomeSlider />
|
<HomeHostingDark />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<HomeBenefits />
|
<HomeBenefits />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection ref={sliderRef}>
|
||||||
<HomeComparisonTable />
|
<HomeSlider />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CallToAction />
|
<CallToAction />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|||||||
@@ -15,11 +15,11 @@ export function HomeSlider() {
|
|||||||
Ecosystem
|
Ecosystem
|
||||||
</Eyebrow>
|
</Eyebrow>
|
||||||
<H3 className="text-left text-white">
|
<H3 className="text-left text-white">
|
||||||
Discover Mycelium Components
|
Discover the Mycelium Products
|
||||||
</H3>
|
</H3>
|
||||||
<div className="mt-4 max-w-3xl">
|
<div className="mt-4 max-w-3xl">
|
||||||
<P className="text-left text-neutral-400">
|
<P className="text-left text-neutral-400">
|
||||||
From compute and networking to Agents, these components can be used on its own or combined into a fully sovereign cloud.
|
From compute and networking to intelligent automation, these components can be used on its own or combined into a fully sovereign cloud.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -35,14 +35,6 @@ import cloudImage from "/images/pages/cloud.webp";
|
|||||||
import computeImage from "/images/pages/compute.webp";
|
import computeImage from "/images/pages/compute.webp";
|
||||||
|
|
||||||
const data = [
|
const data = [
|
||||||
{
|
|
||||||
category: "Resources",
|
|
||||||
title: "Compute / Storage / GPU",
|
|
||||||
description: "The resource layers powering the stack.",
|
|
||||||
src: "/images/pages/compute.png",
|
|
||||||
bg: computeImage,
|
|
||||||
link: "/compute",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
category: "Cloud",
|
category: "Cloud",
|
||||||
title: "Mycelium Cloud",
|
title: "Mycelium Cloud",
|
||||||
@@ -67,4 +59,12 @@ const data = [
|
|||||||
bg: agentImage,
|
bg: agentImage,
|
||||||
link: "/agent",
|
link: "/agent",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
category: "Resources",
|
||||||
|
title: "Compute / Storage / GPU",
|
||||||
|
description: "The resource layers powering the stack.",
|
||||||
|
src: "/images/pages/compute.png",
|
||||||
|
bg: computeImage,
|
||||||
|
link: "/compute",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -63,7 +63,9 @@ export function StackSectionLight() {
|
|||||||
|
|
||||||
<FadeIn>
|
<FadeIn>
|
||||||
<P color="dark" className="mt-6 text-gray-600">
|
<P color="dark" className="mt-6 text-gray-600">
|
||||||
Mycelium unifies compute, storage, networking, and AI into a self-governing comprehensive decentralized infrastructure fabric.
|
Project Mycelium unifies compute, storage, networking, and AI into a resilient
|
||||||
|
ecosystem that preserves data sovereignty, powers seamless collaboration,
|
||||||
|
and keeps every layer of your infrastructure secure end to end on decentralized infrastructure.
|
||||||
</P>
|
</P>
|
||||||
</FadeIn>
|
</FadeIn>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ export function CallToAction() {
|
|||||||
<Container className="relative">
|
<Container className="relative">
|
||||||
<div className="mx-auto max-w-2xl text-center">
|
<div className="mx-auto max-w-2xl text-center">
|
||||||
<h2 className="text-3xl lg:text-4xl font-medium tracking-tight text-white sm:text-4xl">
|
<h2 className="text-3xl lg:text-4xl font-medium tracking-tight text-white sm:text-4xl">
|
||||||
Choose How You Want to Start
|
Bring sovereign storage into your stack.
|
||||||
</h2>
|
</h2>
|
||||||
<p className="mt-6 text-lg text-gray-300">
|
<p className="mt-6 text-lg text-gray-300">
|
||||||
Store data in your Mycelium Cloud environment
|
Partner with the Mycelium team to design quantum-safe, compliant
|
||||||
or host your own node for full sovereignty.
|
storage that meets your residency, redundancy, and performance
|
||||||
|
requirements across the globe.
|
||||||
</p>
|
</p>
|
||||||
<div className="mt-10 flex flex-wrap justify-center gap-x-6 gap-y-4">
|
<div className="mt-10 flex flex-wrap justify-center gap-x-6 gap-y-4">
|
||||||
<Button
|
<Button
|
||||||
@@ -30,7 +30,7 @@ or host your own node for full sovereignty.
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
Use Storage in Cloud
|
Talk to our team
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
to="#storage-developer-experience"
|
to="#storage-developer-experience"
|
||||||
@@ -38,7 +38,7 @@ or host your own node for full sovereignty.
|
|||||||
variant="outline"
|
variant="outline"
|
||||||
color="white"
|
color="white"
|
||||||
>
|
>
|
||||||
Host a Node
|
Explore developer workflow
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,17 +3,48 @@ import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
|||||||
|
|
||||||
const architecture = [
|
const architecture = [
|
||||||
{
|
{
|
||||||
title: 'Encrypted Storage Substrate',
|
title: 'Quantum-Safe Data Protection',
|
||||||
description: 'Keeps data private and verifiable.',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Mesh Routing Layer',
|
|
||||||
description: 'Connects clients and workloads securely, anywhere.',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: 'Protocol Gateway Layer',
|
|
||||||
description:
|
description:
|
||||||
'Serve the same dataset over S3, IPFS, WebDAV, or HTTP.',
|
'Post-quantum encryption and cryptographic verification protect every storage operation end-to-end.',
|
||||||
|
bullets: [
|
||||||
|
'Algorithms selected to resist quantum computing attacks.',
|
||||||
|
'Protection applied beneath the application layer.',
|
||||||
|
'All writes and reads verified cryptographically.',
|
||||||
|
'Future-proof design for long-lived data sets.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Autonomous Self-Healing',
|
||||||
|
description:
|
||||||
|
'Storage monitors itself, heals corruption, and restores replicas without human intervention.',
|
||||||
|
bullets: [
|
||||||
|
'Continuous detection of failures or anomalies.',
|
||||||
|
'Instant recovery without service interruption.',
|
||||||
|
'Integrity checks keep replicas in lockstep.',
|
||||||
|
'24/7 autonomy removes the pager from the loop.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Multi-Protocol Fabric',
|
||||||
|
description:
|
||||||
|
'A single data plane serves every protocol so workloads can mix and migrate freely.',
|
||||||
|
bullets: [
|
||||||
|
'Protocol adapters sit in front of the same storage core.',
|
||||||
|
'Applications choose the protocol that fits their workflow.',
|
||||||
|
'No data duplication needed to support multiple interfaces.',
|
||||||
|
'Consistent governance across all access patterns.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Geo-Aware Data Governance',
|
||||||
|
description:
|
||||||
|
'Data placement policies enforce sovereignty, redundancy, and compliance requirements.',
|
||||||
|
bullets: [
|
||||||
|
'Pin workloads to specific jurisdictions or providers.',
|
||||||
|
'Define redundancy at the dataset or workload level.',
|
||||||
|
'Automatic zone-to-zone replication hardens resilience.',
|
||||||
|
'Global distribution optimized across the ThreeFold Grid.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -22,29 +53,41 @@ export function StorageArchitecture() {
|
|||||||
<section className="bg-gray-50 py-24 sm:py-32">
|
<section className="bg-gray-50 py-24 sm:py-32">
|
||||||
<Container>
|
<Container>
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
<div className="mx-auto max-w-3xl text-center">
|
||||||
<Eyebrow>ARCHITECTURE</Eyebrow>
|
<Eyebrow>
|
||||||
|
Technical Architecture
|
||||||
|
</Eyebrow>
|
||||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
||||||
HOW IT WORKS
|
Autonomous governance for planetary-scale storage.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P className="mt-6 text-gray-600">
|
<P className="mt-6 text-gray-600">
|
||||||
A layered design that encrypts, routes, and exposes storage through
|
The Mycelium Storage data plane is designed to protect data at the
|
||||||
multiple protocols — without duplicating data or compromising
|
cryptographic layer, operate without manual intervention, and meet
|
||||||
sovereignty.
|
jurisdictional requirements anywhere in the world.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
||||||
<div className="mx-auto mt-16 max-w-4xl space-y-6">
|
|
||||||
{architecture.map((item) => (
|
{architecture.map((item) => (
|
||||||
<div
|
<div
|
||||||
key={item.title}
|
key={item.title}
|
||||||
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||||
>
|
>
|
||||||
<h3 className="text-xl font-semibold text-gray-900">
|
<h3 className="text-xl font-semibold text-gray-900">
|
||||||
{item.title}
|
{item.title}
|
||||||
</h3>
|
</h3>
|
||||||
<p className="mt-3 text-sm leading-relaxed text-gray-600">
|
<p className="mt-4 text-sm leading-relaxed text-gray-600">
|
||||||
{item.description}
|
{item.description}
|
||||||
</p>
|
</p>
|
||||||
|
<ul className="mt-6 space-y-3 text-sm text-gray-600">
|
||||||
|
{item.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>
|
</div>
|
||||||
|
|||||||
@@ -1,64 +0,0 @@
|
|||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, H3, P, CT, CP } from '../../components/Texts'
|
|
||||||
import {
|
|
||||||
ServerStackIcon,
|
|
||||||
GlobeAltIcon,
|
|
||||||
FolderOpenIcon,
|
|
||||||
LockClosedIcon,
|
|
||||||
} from '@heroicons/react/24/solid'
|
|
||||||
|
|
||||||
const capabilities = [
|
|
||||||
{
|
|
||||||
name: 'S3-Compatible Object Storage',
|
|
||||||
description: 'Works with existing SDKs & tooling.',
|
|
||||||
icon: ServerStackIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'IPFS & Content-Addressed Access',
|
|
||||||
description: 'Ideal for distributed and decentralized workloads.',
|
|
||||||
icon: GlobeAltIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Filesystem Mounts (WebDAV / POSIX)',
|
|
||||||
description: 'Mount storage directly into workflows and apps.',
|
|
||||||
icon: FolderOpenIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Encrypted Replication & Placement Control',
|
|
||||||
description: 'Choose where data physically lives – and who controls it.',
|
|
||||||
icon: LockClosedIcon,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function StorageCapabilities() {
|
|
||||||
return (
|
|
||||||
<section className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
|
||||||
<Eyebrow>CAPABILITIES</Eyebrow>
|
|
||||||
<H3 className="mt-4 text-gray-900">
|
|
||||||
What You Can Use Mycelium Storage For
|
|
||||||
</H3>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
A decentralized storage layer built for sovereign workloads — secure,
|
|
||||||
flexible, and globally addressable.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="mx-auto mt-16 max-w-5xl">
|
|
||||||
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-4">
|
|
||||||
{capabilities.map((item) => (
|
|
||||||
<div key={item.name} className="text-center">
|
|
||||||
<div className="mx-auto flex size-12 items-center justify-center rounded-xl bg-cyan-50">
|
|
||||||
<item.icon className="size-6 text-cyan-600" aria-hidden="true" />
|
|
||||||
</div>
|
|
||||||
<CT className="mt-6 text-gray-900">{item.name}</CT>
|
|
||||||
<CP className="mt-2 text-gray-600">{item.description}</CP>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
import { Container } from '../../components/Container'
|
|
||||||
import { Eyebrow, H3, P, CT, CP } from '../../components/Texts'
|
|
||||||
import {
|
|
||||||
LockClosedIcon,
|
|
||||||
ArrowPathIcon,
|
|
||||||
GlobeAsiaAustraliaIcon,
|
|
||||||
} from '@heroicons/react/24/solid'
|
|
||||||
|
|
||||||
const benefits = [
|
|
||||||
{
|
|
||||||
name: 'Encrypted and verifiable at rest and in motion',
|
|
||||||
icon: LockClosedIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Self-healing replication and integrity checks',
|
|
||||||
icon: ArrowPathIcon,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Residency + governance policies you actually control',
|
|
||||||
icon: GlobeAsiaAustraliaIcon,
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export function StorageDesign() {
|
|
||||||
return (
|
|
||||||
<section className="bg-white py-24 sm:py-32">
|
|
||||||
<Container>
|
|
||||||
{/* Header */}
|
|
||||||
<div className="mx-auto max-w-3xl sm:text-center">
|
|
||||||
<Eyebrow>CORE VALUE</Eyebrow>
|
|
||||||
<H3 className="mt-4 text-gray-900">
|
|
||||||
Sovereign Storage That Heals Itself
|
|
||||||
</H3>
|
|
||||||
<P className="mt-6 text-gray-600">
|
|
||||||
Mycelium Storage continuously verifies integrity and restores
|
|
||||||
replicas automatically, so data stays available without operational
|
|
||||||
overhead.
|
|
||||||
</P>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Benefits */}
|
|
||||||
<div className="mx-auto mt-16 max-w-5xl">
|
|
||||||
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-3">
|
|
||||||
{benefits.map((benefit) => (
|
|
||||||
<div key={benefit.name} className="relative pl-12">
|
|
||||||
<benefit.icon
|
|
||||||
aria-hidden="true"
|
|
||||||
className="absolute left-0 top-1 size-6 text-cyan-600"
|
|
||||||
/>
|
|
||||||
<CT className="font-semibold text-gray-900">
|
|
||||||
{benefit.name}
|
|
||||||
</CT>
|
|
||||||
</div>
|
|
||||||
))}
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
@@ -19,15 +19,20 @@ export function StorageHero() {
|
|||||||
Mycelium Storage
|
Mycelium Storage
|
||||||
</Eyebrow>
|
</Eyebrow>
|
||||||
<SectionHeader as="h1" className="mt-4 text-gray-900">
|
<SectionHeader as="h1" className="mt-4 text-gray-900">
|
||||||
Sovereign Storage With Self-Healing and Multi-Protocol Access
|
Quantum-safe, sovereign data plane for every workload.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P className="mt-6 text-gray-600">
|
<P className="mt-6 text-gray-600">
|
||||||
Store, replicate, and serve data across the global mesh
|
Mycelium Storage delivers quantum-resistant protection, autonomous
|
||||||
with encrypted, quantum safe, verifiable storage you control at the infrastructure layer.
|
recovery, and multi-protocol access across the ThreeFold Grid. Place
|
||||||
|
data exactly where you need it while keeping ownership entirely in
|
||||||
|
your hands.
|
||||||
|
</P>
|
||||||
|
<P className="mt-4 text-gray-500">
|
||||||
|
Quantum-safe. Self-healing. Universally accessible.
|
||||||
</P>
|
</P>
|
||||||
<div className="mt-10 flex flex-wrap gap-4">
|
<div className="mt-10 flex flex-wrap gap-4">
|
||||||
<Button to="#storage-features" as="a" variant="solid" color="cyan">
|
<Button to="#storage-features" as="a" variant="solid" color="cyan">
|
||||||
How It Works
|
Explore Features
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
to="#storage-developer-experience"
|
to="#storage-developer-experience"
|
||||||
@@ -35,7 +40,7 @@ with encrypted, quantum safe, verifiable storage you control at the infrastructu
|
|||||||
variant="outline"
|
variant="outline"
|
||||||
color="cyan"
|
color="cyan"
|
||||||
>
|
>
|
||||||
Explore Docs
|
View Developer Flow
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,21 +4,21 @@ import { Eyebrow, SectionHeader, P, Small } from '../../components/Texts'
|
|||||||
const highlights = [
|
const highlights = [
|
||||||
{
|
{
|
||||||
label: 'Overview',
|
label: 'Overview',
|
||||||
title: 'Encrypted & Verifiable Storage',
|
title: 'Quantum-safe, sovereign data management',
|
||||||
description:
|
description:
|
||||||
'Data is secured with cryptographic identity, not cloud trust.',
|
'Mycelium Storage protects data beyond the application layer with autonomous recovery and geo-aware placement across the ThreeFold Grid.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Core Concept',
|
label: 'Core Concept',
|
||||||
title: 'Self-Healing Replication',
|
title: 'Unified data plane across every protocol',
|
||||||
description:
|
description:
|
||||||
'The system repairs corruption and restores replicas automatically.',
|
'Serve the same dataset via IPFS, S3, WebDAV, HTTP, or native file systems while maintaining complete control over residency and redundancy.',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Outcome',
|
label: 'Outcome',
|
||||||
title: 'Multi-Protocol Access',
|
title: 'Ownership without compromise',
|
||||||
description:
|
description:
|
||||||
'Serve the same dataset over S3, IPFS, or filesystem mounts, without duplicating data.',
|
'Quantum-resistant encryption, self-healing recovery, and programmable governance ensure data remains verifiable, available, and compliant.',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ export function StorageOverview() {
|
|||||||
Platform Overview
|
Platform Overview
|
||||||
</Eyebrow>
|
</Eyebrow>
|
||||||
<SectionHeader as="h2" color="light" className="mt-6 font-medium">
|
<SectionHeader as="h2" color="light" className="mt-6 font-medium">
|
||||||
Core Features
|
A quantum-safe data plane that heals itself.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P color="lightSecondary" className="mt-6">
|
<P color="lightSecondary" className="mt-6">
|
||||||
Built on sovereign infrastructure, Mycelium Storage keeps data
|
Built on sovereign infrastructure, Mycelium Storage keeps data
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import { StorageDeveloperExperience } from './StorageDeveloperExperience'
|
|||||||
import { StorageUseCases } from './StorageUseCases'
|
import { StorageUseCases } from './StorageUseCases'
|
||||||
import { StorageDifferentiators } from './StorageDifferentiators'
|
import { StorageDifferentiators } from './StorageDifferentiators'
|
||||||
import { CallToAction } from './CallToAction'
|
import { CallToAction } from './CallToAction'
|
||||||
import { StorageCapabilities } from './StorageCapabilities'
|
|
||||||
import { StorageDesign } from './StorageDesign'
|
|
||||||
|
|
||||||
export default function StoragePage() {
|
export default function StoragePage() {
|
||||||
return (
|
return (
|
||||||
@@ -16,27 +14,24 @@ export default function StoragePage() {
|
|||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<StorageHero />
|
<StorageHero />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<StorageCapabilities />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<StorageDesign />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
|
||||||
<StorageArchitecture />
|
|
||||||
</AnimatedSection>
|
|
||||||
|
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<StorageOverview />
|
<StorageOverview />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<StorageFeatures />
|
||||||
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<StorageArchitecture />
|
||||||
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<StorageDeveloperExperience />
|
||||||
|
</AnimatedSection>
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<StorageUseCases />
|
<StorageUseCases />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
<AnimatedSection>
|
||||||
|
<StorageDifferentiators />
|
||||||
|
</AnimatedSection>
|
||||||
<AnimatedSection>
|
<AnimatedSection>
|
||||||
<CallToAction />
|
<CallToAction />
|
||||||
</AnimatedSection>
|
</AnimatedSection>
|
||||||
|
|||||||
@@ -1,19 +1,81 @@
|
|||||||
import { Container } from '../../components/Container'
|
import { Container } from '../../components/Container'
|
||||||
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
|
||||||
|
|
||||||
const storageUseCases = [
|
const primaryUseCases = [
|
||||||
{
|
{
|
||||||
title: 'Data Sovereignty & Compliance',
|
title: 'Data Sovereignty Applications',
|
||||||
description: 'Keep data under your control, choose residency per dataset.',
|
bullets: [
|
||||||
|
'Privacy-first products with full control over data location.',
|
||||||
|
'Regulatory compliance for regional or industry mandates.',
|
||||||
|
'Enterprise workloads that demand audit-ready governance.',
|
||||||
|
'DigitalMe applications hosted with complete data ownership.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Distributed Application Storage',
|
title: 'Multi-Protocol Applications',
|
||||||
description: 'Serve data to services, agents, clusters, or edge workloads.',
|
bullets: [
|
||||||
|
'Support legacy S3, WebDAV, and HTTP workloads simultaneously.',
|
||||||
|
'Enable hybrid architectures that mix centralized and decentralized access.',
|
||||||
|
'Give developers freedom to choose best-fit protocols per service.',
|
||||||
|
'Simplify migrations by keeping data accessible through multiple APIs.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Backup and Recovery',
|
||||||
|
bullets: [
|
||||||
|
'Autonomous backups with continuous verification.',
|
||||||
|
'Cross-zone replication that survives regional outages.',
|
||||||
|
'Integrity monitoring that spots corruption immediately.',
|
||||||
|
'Instant recovery from failures without manual restore steps.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Content Distribution',
|
title: 'Content Distribution',
|
||||||
description:
|
bullets: [
|
||||||
'Serve public or private assets globally, without centralized hosting.',
|
'Global CDN leveraging the breadth of the ThreeFold Grid.',
|
||||||
|
'IPFS integration for decentralized content addressing.',
|
||||||
|
'Serve the same assets over HTTP, S3, or WebDAV.',
|
||||||
|
'Geo-optimized placement keeps content close to users.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const storageSpecificUseCases = [
|
||||||
|
{
|
||||||
|
title: 'Data Sovereignty & Compliance',
|
||||||
|
bullets: [
|
||||||
|
'Guarantee residency in specific jurisdictions.',
|
||||||
|
'Protect personal or regulated data with audit trails.',
|
||||||
|
'Empower enterprises with region-specific governance.',
|
||||||
|
'Handle cross-border rules without duplicating datasets.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Multi-Protocol Data Solutions',
|
||||||
|
bullets: [
|
||||||
|
'Bridge legacy S3 tooling with decentralized IPFS access.',
|
||||||
|
'Offer WebDAV and HTTP endpoints for collaboration suites.',
|
||||||
|
'Blend centralized and decentralized patterns as needed.',
|
||||||
|
'Let developers change protocols without rewriting storage.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Autonomous Backup & Recovery',
|
||||||
|
bullets: [
|
||||||
|
'Self-healing backups that maintain integrity automatically.',
|
||||||
|
'Zone-aware replication delivers geographic redundancy.',
|
||||||
|
'Instant recovery with continuous verification.',
|
||||||
|
'Keeps backups up-to-date without operator intervention.',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Content Distribution & CDN',
|
||||||
|
bullets: [
|
||||||
|
'Distribute media and assets across a planetary mesh.',
|
||||||
|
'Use IPFS for decentralized caching and retrieval.',
|
||||||
|
'Serve identical content across multiple access protocols.',
|
||||||
|
'Geo-optimize placement for latency-sensitive workloads.',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -22,32 +84,71 @@ export function StorageUseCases() {
|
|||||||
<section className="bg-white py-24 sm:py-32">
|
<section className="bg-white py-24 sm:py-32">
|
||||||
<Container>
|
<Container>
|
||||||
<div className="mx-auto max-w-3xl text-center">
|
<div className="mx-auto max-w-3xl text-center">
|
||||||
<Eyebrow>USE CASES</Eyebrow>
|
<Eyebrow>
|
||||||
|
Use Cases
|
||||||
|
</Eyebrow>
|
||||||
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
<SectionHeader as="h2" className="mt-6 text-gray-900">
|
||||||
Built for Real Data Workloads
|
Sovereign storage for every data-intensive workload.
|
||||||
</SectionHeader>
|
</SectionHeader>
|
||||||
<P className="mt-6 text-gray-600">
|
<P className="mt-6 text-gray-600">
|
||||||
Mycelium Storage adapts to compliance-driven enterprise data,
|
Mycelium Storage adapts to compliance-driven enterprise data,
|
||||||
distributed application workloads, and global asset delivery
|
decentralized content distribution, and everything in between.
|
||||||
— without giving up sovereignty.
|
Choose the pattern that fits your strategy without sacrificing
|
||||||
|
ownership.
|
||||||
</P>
|
</P>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="mt-16 grid gap-8 lg:grid-cols-2">
|
||||||
<div className="mx-auto mt-16 max-w-4xl space-y-6">
|
{primaryUseCases.map((useCase) => (
|
||||||
{storageUseCases.map((useCase) => (
|
|
||||||
<div
|
<div
|
||||||
key={useCase.title}
|
key={useCase.title}
|
||||||
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
|
||||||
>
|
>
|
||||||
<h3 className="text-xl font-semibold text-gray-900">
|
<h3 className="text-xl font-semibold text-gray-900">
|
||||||
{useCase.title}
|
{useCase.title}
|
||||||
</h3>
|
</h3>
|
||||||
<p className="mt-3 text-sm leading-relaxed text-gray-600">
|
<ul className="mt-6 space-y-3 text-sm text-gray-600">
|
||||||
{useCase.description}
|
{useCase.bullets.map((bullet) => (
|
||||||
</p>
|
<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>
|
</div>
|
||||||
|
<div className="mt-16 rounded-3xl border border-slate-200 bg-slate-50 p-10 shadow-sm">
|
||||||
|
<h3 className="text-2xl font-semibold text-gray-900">
|
||||||
|
Storage-Specific Scenarios
|
||||||
|
</h3>
|
||||||
|
<p className="mt-4 text-sm leading-relaxed text-gray-600">
|
||||||
|
These patterns highlight how Mycelium Storage keeps sovereignty,
|
||||||
|
protocol flexibility, and resilience at the center of data strategy.
|
||||||
|
</p>
|
||||||
|
<div className="mt-10 grid gap-8 lg:grid-cols-2">
|
||||||
|
{storageSpecificUseCases.map((useCase) => (
|
||||||
|
<div
|
||||||
|
key={useCase.title}
|
||||||
|
className="rounded-3xl border border-cyan-100 bg-white p-6 leading-relaxed text-gray-600"
|
||||||
|
>
|
||||||
|
<h4 className="text-lg font-semibold text-gray-900">
|
||||||
|
{useCase.title}
|
||||||
|
</h4>
|
||||||
|
<ul className="mt-4 space-y-3 text-sm">
|
||||||
|
{useCase.bullets.map((bullet) => (
|
||||||
|
<li key={bullet} className="flex gap-3">
|
||||||
|
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
|
||||||
|
<span>{bullet}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</Container>
|
</Container>
|
||||||
</section>
|
</section>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user