Public website¶
| ID | MOD-169 |
| System | SD09 |
| Repo | bank-brand |
| Build status | Deployed |
| Deployed | Yes |
| Last commit | 6547a712b1ccd00a676fceb01ee808110ced5ec9c |
Purpose¶
Static public marketing website for Totara Bank, served from
totara.global. Entry point for prospective customers, partners,
and regulators (when regulatory content is added later).
What it does¶
- Product overview pages (savings, transactional, credit) — copy only, no live rates
- About / team / company information
- Contact-us form delivering to a marketing ops inbox
- Brand surface (logo, palette, typography) shared with future public properties
What it does not do¶
- No authentication
- No reads of live banking data
- No API calls to internal bank services
- No cookies or analytics initially
- No CMS — content is in MDX files in version control
Technical approach¶
- Astro static site generator, with React islands for the contact form and mobile navigation
- Tailwind for styling
- MDX content collections for product pages
- Cloudflare Pages for hosting; Cloudflare Pages Functions for the contact-form mail relay
- MailChannels (free outbound email from Cloudflare) for the contact-form sink, routing to a fixed marketing inbox
- Cloudflare Turnstile for contact-form spam protection
Local development¶
pnpm install && pnpm dev → http://localhost:4321 with hot
reload. Same source tree the CI build uses; no Docker, no env
setup beyond a .env.example template.
CI/CD¶
Stages: install → validate → test → build → deploy → smoke.
Custom marketing.gitlab-ci.yml template — not extending
frontend.gitlab-ci.yml (which carries app-specific complexity
unneeded here).
Secrets¶
Cloudflare CI variables only (masked in project settings):
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID,
TURNSTILE_SECRET_KEY, CONTACT_FORM_TARGET_EMAIL.
No AWS Secrets Manager, no bank SSM parameters.
Module dependencies¶
Depends on¶
| Module | Title | Required? | Contract | Reason |
|---|---|---|---|---|
| MOD-156 | CI/CD pipeline platform | Required | — | CI/CD pipeline platform provides the GitLab CI infrastructure templates and runner pool used by the deploy pipeline. |
Required by¶
(No modules in this wiki currently declare a dependency on this module.)
Policies satisfied¶
(No policies assigned)
Capabilities satisfied¶
(No capabilities mapped)
Part of SD09 — Brand & Public Surfaces
Compiled 2026-05-22 from source/entities/modules/MOD-169.yaml