Build static Astro pilot for Happy Tails

This commit is contained in:
Kevin
2026-09-02 00:54:33 -04:00
parent cfe0a7d98d
commit 56a80951b7
42 changed files with 7171 additions and 134 deletions
+58
View File
@@ -0,0 +1,58 @@
# Astro pilot baseline and rollback record
Captured: 2026-09-02 00:42 EDT
## Protected rollback target
The existing Cloudflare Pages site remains the production rollback target until
the Worker cutover is accepted. No Pages project, Pages deployment, DNS record,
or custom-domain attachment has been changed by this pilot.
| Item | Recorded value |
| --- | --- |
| Repository baseline | `cfe0a7d98d087b702ba8878c972bbba893c387c6` on `main` |
| Pilot branch | `astro-platform-pilot` |
| Existing deployment model | Cloudflare Pages direct upload from Gitea Actions |
| Existing Pages project | `3031023-xyz` (from committed workflow) |
| Production hostname | `3031023.xyz` |
| Canonical policy | `3031023.xyz`; `www.3031023.xyz` will redirect to the apex after approved cutover |
| Existing alternate hostname | `www.3031023.xyz` did not resolve at baseline capture |
| Current public response | `https://3031023.xyz/` returned HTTP 200 through Cloudflare |
| Analytics measurement ID | `G-Z15EG3SFPD` |
## Rendered-page reference
The current production site returned HTTP 200 for `/`, `/about`, `/services`,
and `/contact`. The legacy `.html` routes also remain reachable. An unknown
route returned the home page with HTTP 200; the Astro Worker will instead use a
real HTTP 404 page.
| Page | Baseline title |
| --- | --- |
| `/` | Happy Tails Pet Care |
| `/about` | About \| Happy Tails Pet Care |
| `/services` | Services \| Happy Tails Pet Care |
| `/contact` | Contact \| Happy Tails Pet Care |
The source pages, ten local images, legacy CSS, and browser scripts are
retained on the baseline commit. The Astro implementation keeps the same page
coverage and existing imagery while intentionally modernizing the presentation.
## Contact-form baseline
The legacy client script prevents the form from delivering a message and shows
a local success state. That behavior must not be carried forward. The Astro
contact UI is presentational until the separately approved n8n
`client-contact` route is ready; it must clearly state that submission is not
active rather than pretending delivery succeeded.
## Cutover and reversal procedure
Before a domain change, the operator must record the live Pages deployment ID,
custom-domain attachment, and DNS values from Cloudflare. The approved Worker
version and its `workers.dev` preview must be recorded as well.
If the Worker cutover fails, restore the recorded Pages custom-domain/DNS
configuration, verify `https://3031023.xyz` externally, and retain the failed
Worker deployment and logs as evidence. Routine CI deployments must never add,
remove, or mutate production domains or DNS.
+20
View File
@@ -0,0 +1,20 @@
# Preview deployment and later cutover controls
The preview workflow deploys static output only. It has two deliberately
separate Worker names:
| Site key | Preview Worker | Future hostname |
| --- | --- | --- |
| `www` | `3031023-xyz-www-preview` | `3031023.xyz` |
| `blog` | `3031023-xyz-blog-preview` | `blog.3031023.xyz` |
`workers.dev` is the only preview destination. Neither Wrangler configuration
contains a route, custom domain, zone ID, account ID, or token. Cloudflare
credentials remain Gitea repository secrets.
The primary Worker must pass its public preview test matrix before an operator
records the exact Pages deployment/DNS state and requests production-cutover
approval. A production deployment should use a separately named approved
Worker or an explicitly promoted Worker version; it must not be an ordinary
push job. Attaching `3031023.xyz`, configuring the `www.3031023.xyz` redirect,
and attaching `blog.3031023.xyz` each remain manual approval-boundary actions.