docs: add design spec and implementation plan for dual-publish - #193
Open
armcconnell wants to merge 2 commits into
Open
docs: add design spec and implementation plan for dual-publish#193armcconnell wants to merge 2 commits into
armcconnell wants to merge 2 commits into
Conversation
GitHub Pages matches one custom domain against the incoming Host header, so a second hostname needs a second origin rather than another DNS record. Adding Vercel as that origin keeps docs.malbeclabs.com on Pages untouched, so the existing hostname has no cutover and no downtime. Spec lives in .specs/ rather than docs/ so it is never published to the public site, and is meant to be deleted once the change ships.
Six tasks plus two human-only prerequisites (Vercel token, Cloudflare DNS). Task 4 proves the three open assumptions from the spec against a throwaway preview URL before any CI is wired, so the .well-known dot-directory, 404 status, and locale routing are settled empirically rather than assumed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spec-only PR. No behavior change, no workflow change, nothing published to the live site.
Design doc:
.specs/2026-08-10-docs-dual-publish-design.mdSummary
docs.doublezero.xyz(new canonical home, Vercel) whiledocs.malbeclabs.comkeeps working on GitHub Pages exactly as it does today.Hostheader, so a second hostname needs a second origin, not another DNS record. Pointing a new CNAME atmalbeclabs.github.ioreturns 404.site/artifact from onemkdocs build, which removes the drift risk that normally argues against two origins.site_urlmoves todocs.doublezero.xyzso canonical tags,sitemap.xml,llms.txt, and the.well-knowndiscovery files all consolidate on the future hostname, even on pages served from the legacy one.pull_request_targetis rejected with the reasoning written down so it isn't reintroduced later.docs.malbeclabs.comlater becomes a DNS change plus deleting one workflow job, with no content churn.Lifetime
Temporary, to be deleted once the change ships. Placed in
.specs/rather thandocs/specifically so it is never published to the public docs site.Testing Verification
mkdocs.ymlsets no explicitdocs_dir, so it defaults todocs/and.specs/sits outside the published tree. The spec cannot reach the live site..specs/was deliberately not included.dig:malbeclabs.comanddoublezero.xyzare both on Cloudflare nameservers,docs.malbeclabs.comis a DNS-only CNAME tomalbeclabs.github.ioresolving to GitHub's185.199.xaddresses, anddocs.doublezero.xyzdoes not yet exist.PUBLIC, and PRs Docs update data doublezero urls + small typo fixes #192 and docs: fix withdrawal instructions for clarity #189 came from theJotatavofork.site/build output.