Files
3031023-xyz-public/docs/blog-production-runbook.md
2026-09-02 10:56:40 -04:00

53 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.