mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-30 14:58:08 +00:00
Both pages are a heading and one paragraph, and the paragraphs had grown to 230 and 140 words set centred under the hero: PKCE, argon2id, refresh families, SCIM and ML-DSA-65 in one block on /iam, shards and roles on /s3. The products Lede takes `facts` now, one per line under a hairline, left-aligned on the paragraph's measure, and the paragraph says only what the product is. Every fact is the old paragraph's, reworded where a sentence had to stand alone.
35 lines
1.5 KiB
TypeScript
35 lines
1.5 KiB
TypeScript
'use client'
|
|
|
|
import { ProductFooter } from "@/components/products/ProductFooter"
|
|
import { Lede } from "@/components/products/Lede"
|
|
import { AgentPrompt } from "@/components/product/AgentPrompt"
|
|
import { product } from '@/lib/product'
|
|
import { Box } from '@hanzo/ui'
|
|
|
|
/** The prompt's product, off the one table that holds a product's name, route,
|
|
* audited command and docs page. `ProductFooter` closes the page. */
|
|
const PRODUCT = product('s3')
|
|
|
|
export default function S3Page() {
|
|
return (
|
|
<Box minH="100vh" $platform-web={{ color: 'var(--foreground)' }}>
|
|
<main>
|
|
<Lede
|
|
title="Hanzo Object Storage"
|
|
facts={[
|
|
'One binary in four roles: a master that tracks where everything is, volume servers that hold the bytes, a filer for the namespace and the HTTP gateway your code talks to.',
|
|
'Server-side encryption whose keys are minted by Hanzo KMS rather than read out of a config file.',
|
|
'Objects are erasure-coded across ten data shards and four parity shards, so four can be lost and the object still reads.',
|
|
'Every call between the pieces speaks one binary protocol, with no gRPC anywhere: one transport to secure and one to debug.',
|
|
]}
|
|
>
|
|
Buckets and objects, presigned links, multipart uploads, versioning and object lock. And you never pay to read your own
|
|
data back.
|
|
</Lede>
|
|
{PRODUCT && <AgentPrompt product={PRODUCT} />}
|
|
<ProductFooter slug="s3" name="Object Storage" />
|
|
</main>
|
|
</Box>
|
|
)
|
|
}
|