53 lines
2.3 KiB
Markdown
53 lines
2.3 KiB
Markdown
# Blog production Worker runbook
|
||
|
||
## Scope and safety boundary
|
||
|
||
This runbook moves only `blog.3031023.xyz` from the independent preview Worker
|
||
to the independent static production Worker `3031023-xyz-blog`. It does not
|
||
change the primary site, the Pages rollback project, DNS records, redirects,
|
||
forms, n8n, onboarding, CMS, or client-editing boundaries.
|
||
|
||
The routine workflows deploy static assets only:
|
||
|
||
- relevant `main` changes deploy `3031023-xyz-blog` in production mode;
|
||
- relevant non-`main` changes deploy `3031023-xyz-blog-preview` in preview
|
||
mode; and
|
||
- neither workflow can create, remove, or alter custom domains, DNS, routes,
|
||
or redirects.
|
||
|
||
## Pre-cutover verification
|
||
|
||
1. Record the production Worker version and verify its `workers.dev` URL.
|
||
2. Confirm the journal home page and all published post pages return 200.
|
||
3. Confirm a nonexistent post returns the static 404.
|
||
4. Confirm production metadata is indexable, `robots.txt` allows crawling, and
|
||
the sitemap lists the journal and published posts.
|
||
5. Confirm the preview Worker remains untouched and its current deployment is
|
||
available as the immediate blog rollback target.
|
||
|
||
## Domain move (requires separate approval)
|
||
|
||
1. Remove `blog.3031023.xyz` from `3031023-xyz-blog-preview`; do not delete
|
||
that Worker or its deployment history.
|
||
2. Attach `blog.3031023.xyz` to `3031023-xyz-blog` as its only custom domain.
|
||
3. Re-run the public verification checks against the hostname.
|
||
|
||
## Rollback
|
||
|
||
1. Remove `blog.3031023.xyz` from `3031023-xyz-blog`.
|
||
2. Reattach it to the unchanged `3031023-xyz-blog-preview` Worker.
|
||
3. Verify the preview Worker’s known-good deployment at the hostname. The
|
||
preview build will intentionally return to its no-index behavior.
|
||
|
||
## Production cutover record — 2026-09-02
|
||
|
||
- Source commit: `5c59430` (`main`). The automatic `Deploy blog production
|
||
Worker` workflow (run 140) completed successfully in 21 seconds.
|
||
- Domain move: `blog.3031023.xyz` was detached from
|
||
`3031023-xyz-blog-preview` and attached to `3031023-xyz-blog`.
|
||
- External verification: the hostname returns 200, lists the published
|
||
Markdown journal posts, is indexable, serves its sitemap through
|
||
`robots.txt`, and returns a static 404 for an unknown post.
|
||
- Rollback readiness: `3031023-xyz-blog-preview` remains deployed and has no
|
||
custom domain, ready for a deliberate reattachment if needed.
|