Skip to content

Marketing web — Cloudflare Pages hosting decision

Status: Accepted — aligns with Prego Web App Standard §3.3 (marketing surface, static-first, Cloudflare Pages).

Decision

  1. Production marketing web (apps/marketing-web, public landing, pricing, /trial browser calls to Zuplo) is hosted on Cloudflare Pages, not on a generic Worker-only static host without Pages Functions support.
  2. Internal engineering docs (Starlight under monorepo docs/, e.g. Cloudflare project prego-devdoc) are a separate Pages (or static) product. They do not replace marketing-web; trial flows, SEO, and NEXT_PUBLIC_ZUPLO_API_URL remain owned by marketing-web per API gateway & BFF governance.
  3. Alternatives (e.g. marketing only on another CDN) remain valid for forks, but the default platform posture documented in CI and runbooks is Pages with build output apps/marketing-web/out and repo-synchronized functions/ (see apps/marketing-web/wrangler.toml and next.config.mjs).

Implementation pointers

  • Build and verify: monorepo .github/workflows/deploy-pages.yml (job build).
  • Optional upload to Cloudflare: same workflow, job upload-marketing-pages (requires CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and optional CLOUDFLARE_PAGES_PROJECT_MARKETING_WEB repository variable).
  • Zuplo ALLOWED_ORIGINS: include every marketing origin (production custom domain, *.pages.dev previews as needed) — prego-zuplo runbook — allowed origins.

한국어 요약

  • 공개 마케팅 웹은 플랫폼 기본으로 Cloudflare Pages에 둔다.
  • prego-devdoc 같은 내부 문서 Pages와 역할이 다르며, 서로 대체하지 않는다.
  • 포크·별도 호스트를 쓸 수는 있으나, 문서·CI의 기준 경로는 marketing-web + Pages이다.
Help