Skip to content

[CUTOVER] Phase 5: Worker + runbook + claim conduction.nl#6

Closed
rubenvdlinde wants to merge 1 commit into
mainfrom
phase-5-cutover
Closed

[CUTOVER] Phase 5: Worker + runbook + claim conduction.nl#6
rubenvdlinde wants to merge 1 commit into
mainfrom
phase-5-cutover

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

⚠️ Hold the merge until cutover day

Merging this PR triggers the actual cutover by claiming conduction.nl for this repo's GitHub Pages site. Do not merge until:

Summary

Three artifacts the cutover needs:

  • sites/www/cloudflare/worker.js — Cloudflare Worker that 301-redirects the two vanity hosts (connext.conduction.nl and commonground.conduction.nl) to the canonical site at conduction.nl. Picks the locale prefix from the visitor's Accept-Language header (NL → /nl/<section>, otherwise → /<section>). ~100 lines.
  • sites/www/cloudflare/wrangler.toml — route bindings + deploy config for the Worker.
  • briefs/cutover-runbook.md — step-by-step ordering of merge, smoke-test, Worker deploy, and rollback path.

Cutover-triggering changes

  • sites/www/static/CNAME: connext.conduction.nlconduction.nl. This is the change that flips GitHub Pages. Merging this PR causes the design-system site to claim conduction.nl within ~1 minute.
  • sites/www/docusaurus.config.js: url: https://connext.conduction.nlhttps://conduction.nl, so canonical / OpenGraph URLs match production.

What changed vs Phase 4

Branched from main (not stacked on Phase 4), since the cutover artifacts are independent of the brand-strip and translations. After Phase 3 + Phase 4 merge into main, this branch will need a quick rebase on top before the final merge — straightforward, no conflicts expected since this branch only touches cloudflare/, briefs/, the CNAME, and one line in docusaurus.config.js.

Outage during cutover

Outage during DNS propagation is acceptable per agreement (we are migrating anyway). Practical window is ~5 minutes of clock time, with a tail of an hour or two of tail-end DNS propagation that's invisible to most visitors. Rollback path documented in the runbook.

Test plan

  • Phases 3 and 4 merged into main first
  • conduction-website PR docusaurus-preset: make /privacy, /terms, /iso footer links opt-in for consumer sites #14 merged
  • This PR rebased on main, CI green
  • Merge during a window where someone can smoke-test
  • After GitHub Pages flips: https://conduction.nl/ shows the Public Tech landing, /connext and /commonground work, /nl/ shows Dutch home
  • wrangler deploy from sites/www/cloudflare/ to push the Worker
  • Vanity smoke-test: https://connext.conduction.nl/foohttps://conduction.nl/connext/foo, locale-aware

🤖 Generated with Claude Code

Adds the three artifacts the cutover from connext.conduction.nl to
conduction.nl needs:

- sites/www/cloudflare/worker.js: Cloudflare Worker that 301-redirects
  the two vanity hosts (connext.conduction.nl + commonground.conduction.nl)
  to the canonical site, picking the right locale prefix from the
  visitor's Accept-Language header. Two-locale aware (en default, /nl
  prefix for NL).
- sites/www/cloudflare/wrangler.toml: route bindings + deploy config.
- briefs/cutover-runbook.md: step-by-step ordering of the merge,
  smoke-test, Worker-deploy, and rollback path. Outage during DNS
  propagation is acceptable per agreement.

Cutover-triggering changes
- sites/www/static/CNAME: connext.conduction.nl → conduction.nl. This
  is the one change in the repo that actually flips the GitHub Pages
  domain. Merging this PR claims conduction.nl for the design-system
  GitHub Pages site.
- sites/www/docusaurus.config.js: url: https://connext.conduction.nlhttps://conduction.nl, so canonical / OpenGraph URLs match
  production.

Hold this PR until Phase 3 (#4) and Phase 4 (#5) are merged, and
until the conduction-website CNAME-removal PR is reviewed. The
runbook describes the exact merge sequence on cutover day.
@rubenvdlinde
Copy link
Copy Markdown
Contributor Author

Closing in favour of #8 so we can wrap the conversation that produced this. The phase-5-cutover branch is preserved; pick it up directly when you're ready to cut over.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant