website
| Subsystem | Description |
|---|---|
| UI Clients | The end-user browsers requesting the site 1. |
| Static Assets | The generated images, CSS, and fonts served by the worker. |
| API Endpoint | The contact form handler that processes submissions. |
| Cloudflare Email Workers | The service used to send contact form emails. |
| Cloudflare Turnstile | The CAPTCHA service used to verify form submissions. |
README.md L1-52 (showing 40 of 52)
# sddc.info
> **Disclaimer: unofficial and unsupported.** Provided for testing and
> evaluation only, on an "AS IS" basis, with no warranty and no support. Not
> affiliated with or endorsed by Dell. See [DISCLAIMER.md](DISCLAIMER.md).
Wiki: https://sddcinfo.github.io/website/
Documentation website for a fully automated bare-metal Kubernetes home lab platform. Built with Astro 6, Tailwind CSS v4, and deployed on Cloudflare Workers.
## Tech Stack
- **Framework**: [Astro 6](https://astro.build) (SSR mode)
- **Styling**: [Tailwind CSS v4](https://tailwindcss.com) (CSS-first config)
- **Font**: Inter via Astro Fonts API (self-hosted at build time)
- **Deployment**: [Cloudflare Workers](https://workers.cloudflare.com) with static asset serving
- **Email**: Cloudflare Email Workers (contact form)
- **CAPTCHA**: Cloudflare Turnstile
## Commands
| Command | Action |
|:--------|:-------|
| `npm install` | Install dependencies |
| `npm run dev` | Start dev server (`localhost:4321`) |
| `npm run build` | Build for production (`dist/`) |
| `npm run preview` | Preview build with workerd runtime |
| `npm run deploy` | Deploy to Cloudflare Workers |
## Architecture
```
src/
layouts/Layout.astro # Shell: head, nav sidebar, dark mode, JSON-LD
pages/ # 11 content pages + 404 + API endpoint
api/contact.ts # POST handler (Turnstile + Email Workers)
styles/global.css # Tailwind theme, components, dark mode
middleware.ts # Cache-Control, CSP, security headers
public/ # Static assets (images, robots.txt, manifest)