Skip to content

docs(migration): share the repeated migration-guide procedures as partials - #2619

Open
bruno-andrade-azion wants to merge 1 commit into
mainfrom
docs/mm-16251-migration-guide-partials
Open

bruno-andrade-azion wants to merge 1 commit into
mainfrom
docs/mm-16251-migration-guide-partials

Conversation

@bruno-andrade-azion

@bruno-andrade-azion bruno-andrade-azion commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Related issue: MM-16251
Pages affected: the five provider migration guides, in apps/docs/src/content/docs/en/pages/guides/*-to-azion/ and apps/docs/src/content/docs/pt-br/pages/guias/*-to-azion/, plus /en/documentation/fundamentals/migrate-to-azion/ and /pt-br/documentacao/fundamentos/migrar-para-a-azion/

Shared procedures move into partials. The five migration guides repeated the same Azion procedures, about 2,600 lines in each language. The repeated panels had already drifted apart: 3 to 5 versions of each panel, with facts that only some guides carried. The Console, CLI, and API panels of ten sections now come from 32 heading-free partials per language, in apps/docs/src/includes/migration-guides/{en,pt-br}/. The sections are environment variables, redirects, cache, Load Balancer, Image Processor, WAF, rate limits, Data Stream, the certificate, and Edge DNS. The Bot Manager Lite procedure and the rate limit with penalty are partials too.

  • Headings stay in the guides. rehype-slug restarts its count in every MDX file, and rehype-tab-panel-headings builds the ?interface=…#section anchor from headings in the same file. So each partial holds a panel body only, and the ##/###/#### headings, the <Tabs>, the introductions, and the comparison tables of each provider stay where they were. The table of contents, the heading ids, and the panel anchors are unchanged.
  • One text per panel. Each partial starts from the version most guides shared, plus the facts that only one guide carried. Examples: "active" per Load Balancer address, engine_settings in the WAF body, the second curl of the bot check, the weighted DNS record, Create Custom Template in Data Stream, and the Bot Manager Lite template link. Where two versions disagreed, the reference page decided. The API refuses learning as a mode stays, because the Firewall Rules Engine reference lists learning under error 10039. The Image Processor CLI panel now shows the azion update application --image-processor true command from the Image Processor quickstart, instead of only pointing to it. Example values are neutral (My WAF, /old/ → /new/, static-assets). One guide's redirect check now requests /old/post, to match the shared rule.
  • One provider hint left a shared panel. One guide's cache Console panel told the reader to use Tiered Cache where the old service used shielding. The shared panel drops that sentence. The guide's mapping table already says that shielding maps to Tiered Cache, so the fact is still on the page.
  • What stays inline, and why. A panel stays in its guide when it carries facts specific to one provider or a different structure. That covers one guide's redirects, cache, and images sections, one guide's certificate Console panel and Data Stream API example, and the sections no other guide shares. Prerequisites, DDoS Protection, the domain cutover, and Next steps stay in each guide because their text is provider-specific.

Smaller fixes, in both languages.

  • The mapping tables and the Load Balancer introductions no longer use the retired module classification. Load Balancer and Origin Shield are "turned on in a connector". Live Ingest works "through a connector of type live_ingest". WAF is "applied to a firewall". The shared panels also drop "the Functions module" and "the WAF module". The **Modules** click paths and the Network Shield sentences are not touched.
  • The LoRA Fine-Tune row of one guide's mapping table links to the docs page instead of a Learning Center article. The pt-br row now links to the pt-br page.
  • Migrate to Azion: the Workload creation steps match the Workloads quickstart and the guides. The steps are Create Workload, Production Infrastructure (All Edge Locations), Domains with Workload Domain Allow Access kept on, Protocol Settings › HTTPS support, Digital Certificate, then Deployment Settings › Application and Firewall, and Create. The old steps named fields the form no longer has: Subdomain/Domain, Applications, + Workload, and Save.
  • The "Saving Plan" typo the review reported was already fixed in docs(plans): stop tying features and quotas to support tiers and legacy plans #2541. Nothing changed for it here.
  • module is not swept from the whole page. It survives in text this change does not own: one guide's inline Image Processor panels, and the Network Shield sentence ("a different module of the firewall") in each guide. Per the terminology rule, these existing occurrences stay as open work for a separate change.

How I checked it

  • I rendered the Markdown twin of all 12 pages with mdxToMarkdown from origin/main and from this branch, and compared the two. The only differences are the reconciliations and fixes above. The partials are inlined, and no component, import, or JSX comment reaches the .md.
  • pnpm exec tsx scripts/check-markdown-twin.ts on the 12 pages: no MDX left in any Markdown twin.
  • The skill link check (linkcheck.py) over the 12 pages and the 64 partials found 0 broken links, 0 broken taught URLs, 0 cross-language links, and every namespace paired.
  • The style gate (docs_gate.py --check) gives the same counts before and after on every guide. Its only finding on the partials is "no frontmatter", which does not apply to an include.
  • pnpm lint:links, which is warn-only, still reports that each guide has no closing link into "applications" beyond its overview. That warning is the same on origin/main and is not part of this change.
  • pnpm build:local built 2,092 pages, and the frontmatter check passed. In the built HTML of one guide, in both languages, the 65 headings of the source render as 65 unique ids, so no id repeats and the table of contents is unchanged. The panel anchors still carry the section (?interface=api#data-stream), and the text from the partials renders on all 10 guide pages.
  • Not verified: no code sample was run against an account. The Image Processor CLI command and its output come from the Image Processor quickstart.

Type of change

  • 🆕 New content (feat)
  • 🩹 Fix (fix) — typo, broken link, wrong information — the Workload form steps, the LoRA link, and the retired module wording
  • ♻️ Content update (docs) — rewrite, expansion, upkeep
  • 🌐 Translation sync (i18n)
  • 🏗️ Platform / structure (refactor / chore) — reviewed by UXE, no content mixed in

Author checklist

  • PR title follows type(scope): summary (see GOVERNANCE.md §4)
  • Frontmatter complete: title, description, meta_tags, namespace, permalink, last_reviewed — frontmatter is unchanged; none of the 12 pages carries last_reviewed, and adding it is outside this change
  • No legacy "edge-" product names in the copy — no legacy name is added; Edge Libraries is the existing Console path to WAF Rules
  • How-to/tutorial content includes at least one runnable, copy-paste-tested code block — the code blocks keep their samples, but none was run against an account in this PR
  • Screenshots (if any) have alt text and follow image standards — no screenshot is added or changed
  • Internal links are relative and resolve locally
  • If any permalink changed or page moved: redirect added in this PR — no permalink changed and no page moved
  • i18n: pt-br updated in this PR or follow-up i18n issue created: pt-br partials and pages are in this PR
  • I ran pnpm build:local (build + frontmatter check) without errors

…tials

Move the Console, CLI, and API panels that the five provider migration
guides repeated into heading-free partials under
src/includes/migration-guides/{en,pt-br}, reconciling the versions that
had drifted. Replace the retired module classification in the mapping
tables, link LoRA Fine-Tune to its docs page, and align the Workload
steps of Migrate to Azion with the Workloads quickstart.

This branch has not been deployed

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants