7 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 3746fd9843 The image carries compressed variants, from a base that is pinned
The spa server sends `<file>.br`/`<file>.gz` when they exist and never
compresses on the fly; the export shipped only identity bytes, so the 30MB
search index went over the wire at 30MB. Every text asset now has both
variants beside it. The base image is the version it was built against,
not whatever `latest` means on the day of a rebuild.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-16 16:45:04 -07:00
zeekay d0d4b19a8e build: use ghcr.io/hanzoai/spa instead of custom Go server 2026-04-18 22:29:25 -07:00
zeekay fc0faf5f80 fix: accuracy corrections, hanzoai/static server, DAO stubs, enriched pages
Content accuracy fixes (from source code audit):
- DEX: correct CPU ops/s (1M not 13M), latency (2ns GPU/487ns CPU),
  finality (1ms not 2ms) — all verified against dex/LLM.md
- HSM: remove Azure as Signer (only PasswordProvider), fix to 5 providers
- MPC: rewrite config flags to match actual cmd/mpcd/main.go source
- CEX: clarify dual WebSocket ports (8091 /ws + 8092 dedicated)
- Standard: update precompile count (42 not 39)
- Chains: add 4 missing VMs (servicenodevm, falconfx, da, experimental)
- HSM: Zymbit SCM not PKCS#11

Infrastructure:
- Replace nginx/serve with hanzoai/static Go server (serve.go)
- Dockerfile: multi-stage build with Go static server
- Traefik Middleware for security headers (not nginx)

Content:
- Create 9 missing DAO stub pages (roles, treasury, distributions, etc.)
- Fix broken regulated/ links (/docs/ prefix)
- Fix vote/index.mdx relative link
- Enrich thin pages with real source content
- 452 pages total
2026-03-22 19:02:37 -07:00
zeekay 51c1d45cf8 refactor: replace nginx with serve, security headers via Traefik middleware
- Remove nginx.conf — security headers handled by hanzo ingress
- Dockerfile: switch from nginx:alpine to node:22-alpine + serve
- Add Traefik Middleware CRD for HSTS, X-Frame-Options, CSP, etc.
- IngressRoute references security-headers middleware
- Healthcheck via wget instead of nginx /health
2026-03-21 09:38:00 -07:00
zeekay d1dc7e26e9 fix(ci): Dockerfile uses correct filter name lux-docs
Previous builds failed: pnpm --filter docs matched nothing.
Package name is lux-docs. Docker build tested locally — 353 pages,
/dex /cex /hsm all serve 200 from nginx container.
2026-03-17 15:20:29 -07:00
zeekay 8446558013 Restructure to Turbo monorepo with 13 documentation apps
Single-app → multi-app monorepo architecture:
- apps/docs/ — Main Lux docs (replaces root-level app)
- apps/bootnode-docs/ — Bootnode service
- apps/bridge-docs/ — Bridge service
- apps/cli-docs/ — CLI tool
- apps/explorer-docs/ — Block explorer
- apps/hsm-docs/ — Hardware security module
- apps/indexer-docs/ — Blockchain indexer
- apps/kms-docs/ — Key management service
- apps/mpc-docs/ — Multi-party computation
- apps/netrunner-docs/ — Network testing
- apps/sdk-docs/ — SDK documentation
- apps/wallet-docs/ — Wallet service

New: pnpm-workspace.yaml, turbo.json, per-app configs
Updated: Dockerfile (filter build), .gitignore (.turbo/, .docs/)
Root package.json stripped to workspace orchestrator
2026-03-14 16:26:20 -07:00
zeekay bfff44b7cd feat: switch docs deploy from GH Pages to GHCR container 2026-03-11 12:09:45 -07:00