Skip to content

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 devhttp://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