Skip to content

Split validator deployment back into Docker Compose and Kubernetes pages#289

Merged
hrischuk-da merged 5 commits intomainfrom
content/feedback-2026-04-30/cluster-c
May 5, 2026
Merged

Split validator deployment back into Docker Compose and Kubernetes pages#289
hrischuk-da merged 5 commits intomainfrom
content/feedback-2026-04-30/cluster-c

Conversation

@8bitpal
Copy link
Copy Markdown
Collaborator

@8bitpal 8bitpal commented Apr 30, 2026

Summary

Continuing through the 2026-04-27 review. reviewer flagged that the merged installation.mdx page (1019 lines, with a <Tabs> control switching between Docker Compose and Kubernetes deployment instructions) is inappropriate because these are mutually-exclusive deployment methods, and asked to revert to the upstream pattern of two separate pages under a "Deployment Options" parent TOC entry.

7 files changed, +346 / -393 lines — net reduction is from removing the duplicated intro/onboarding content the merged page carried.

Page split (F-045 / item 46)

The 1019-line installation.mdx is split into two new pages, with the existing deployment-options.mdx becoming the parent landing of a Deployment Options sub-group.

File Change
validator-docker-compose.mdx new — 287 lines. Shared intro (Before you begin, Download the Splice node bundle) + Docker Compose installation steps + the full validator_compose.rst upstream COPIED block + verification checklist + Next Steps. Embedded body h1 stripped per the lessons-learned rule (frontmatter title is the canonical h1).
validator-kubernetes.mdx new (renamed from installation.mdx for git history). Shared intro + Kubernetes installation steps + the full validator_helm.rst upstream COPIED block + verification + Next Steps. Embedded body h1 stripped.
installation.mdx deleted (was 1019 lines). Redirect added → deployment-options.

Verbatim verification

Both upstream COPIED blocks preserved byte-for-byte:

  • validator_compose.rst block: md5=6ed08122164a3ce90f7bbc1d817389b5, 14587 bytes — verified present in validator-docker-compose.mdx.
  • validator_helm.rst block: md5=0578230b0ee1b13985cf6d6c96e9cd99, 38376 bytes — verified present in validator-kubernetes.mdx.

Extraction approach: line-range slicing for the two large COPIED blocks (since the COPIED markers wrap the heading rather than starting at it); .internal/scripts/copy_section.py for the shared sub-sections (Before you begin, Download bundle, tab bodies, First startup verification, Next steps); trailing </Tab> JSX trimmed from the tab-body extractions.

docs.json

  • Replaced the flat deployment-options + installation entries with a Deployment Options sub-group containing the existing landing + the two new validator pages, in each version block (MainNet × TestNet × DevNet). Matches the reviewer's "Deployment Options should have docker and k8s as children TOC entries."
  • Redirect added: /installation/deployment-options (the parent of the two split pages).

Cross-reference cleanup

6 internal links updated to point at /deployment-options (the parent landing) instead of the deleted /installation slug:

  • deployment-options.mdx (1) — Next Steps card
  • onboarding-process.mdx (2)
  • prerequisites.mdx (1)
  • super-validator-setup.mdx (2)

deployment-options.mdx Next Steps now has two specific cards: Docker Compose validator deployment, Kubernetes validator deployment.

The merged 1019-line installation.mdx page covered both Docker Compose
and Kubernetes validator deployment with a Tabs control. The reviewer
flagged this as inappropriate (these are mutually-exclusive deployment
methods) and asked to revert to the upstream pattern of two separate
pages with "Deployment Options" as the parent TOC entry.

Page split:

- F-045 (item 46): Created two new pages by extracting from
  installation.mdx via copy_section.py for the shared sub-sections
  (Before you begin, Download bundle, First startup verification, Next
  steps) and line-range slicing for the two upstream COPIED blocks
  (validator_helm.rst lines 176-723, validator_compose.rst lines
  726-900):
  - validator-docker-compose.mdx (287 lines): shared intro + Docker
    Compose installation steps + full validator_compose.rst block
  - validator-kubernetes.mdx (renamed from installation.mdx for git
    history): shared intro + Kubernetes installation steps + full
    validator_helm.rst block
- Embedded body h1s stripped from both new pages per lessons-learned
  (frontmatter title is the canonical h1).
- Verbatim verification: md5 of each COPIED block confirmed present in
  the corresponding new page.

docs.json:

- Replaced the flat deployment-options + installation entries with a
  Deployment Options sub-group containing the existing landing page +
  the two new validator pages (3x version blocks). Reviewer's request
  was "Make the Deployment Options have docker and k8s as children
  TOC entries."
- Redirect added: installation -> deployment-options.

Cross-reference cleanup:

- Updated 6 internal links across deployment-options, onboarding-process,
  prerequisites, super-validator-setup that pointed to the old
  /installation slug. They now point to /deployment-options (the parent
  of the two split pages).
- Updated deployment-options.mdx Next Steps cards to point to the two
  new specific pages instead of the old /installation.

installation.mdx (1019 lines) deleted; the content is preserved across
the two new pages with verbatim COPIED blocks.
@mintlify
Copy link
Copy Markdown
Contributor

mintlify Bot commented Apr 30, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
cantonfoundation 🟢 Ready View Preview Apr 30, 2026, 5:59 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

title: "Installation"
description: "Step-by-step installation of a Canton Network validator using Docker Compose or Kubernetes"
title: "Kubernetes Validator Deployment"
description: "Deploy a Canton Network validator on Kubernetes using Helm charts"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@8bitpal where is the content for deploying via k8s? I would have expected some content like https://docs.sync.global/validator_operator/validator_helm.html.

Copy link
Copy Markdown
Collaborator Author

@8bitpal 8bitpal May 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

page now renders the full upstream validator_helm.rst content (Requirements, Network Diagram, Preparing a Cluster, HTTP Proxy config, PostgreSQL auth, Validator Onboarding, OIDC, Helm install, Ingress, Wallet UI, Auto traffic top-up, Sweeps/auto-accept) plus the page-level installation steps at the top.

…etes,docker-compose}.mdx

- Resolve docs.json redirects array: keep installation→deployment-options redirect
  (this PR) plus sv-scratchnet/network-connectivity/infrastructure-requirements
  redirects (from PR #286 merged to main).
- Strip leftover `<Tabs>` and `<Tab title="Docker Compose">` openers (no closers)
  from validator-kubernetes.mdx and validator-docker-compose.mdx. These were
  residue from when Docker Compose and Kubernetes shared a tabbed installation.mdx.
  After the page split, the wrapper made every page render as a single
  mis-labelled "Docker Compose" tab and produced unmatched JSX. Reviewer
  Curtis flagged this on validator-kubernetes.mdx as "where is the content
  for deploying via k8s?" — the content was below the broken tab wrapper.
@hrischuk-da hrischuk-da merged commit 564c49e into main May 5, 2026
1 check passed
@hrischuk-da hrischuk-da deleted the content/feedback-2026-04-30/cluster-c branch May 5, 2026 16:37
8bitpal added a commit that referenced this pull request May 6, 2026
…ation

Conflicts and resolutions:

  open-tracing.mdx (add/add): Both sides created identical pages from
  the same upstream source; only difference was image-path style. Took
  main's version with the ./images/jaegerPingSpans.png convention used
  consistently across the repo.

  da-fail.mdx: HEAD had this branch's internal-link migration to
  /appdev/reference/error-codes; main had the original external link
  but with <span> instead of <a> (a Mintlify CLI validation fix).
  Combined: kept the internal link and main's <span> id markup.

  getting-started-tutorial.mdx: Both sides edited a TODO comment about
  smart-contract walkthroughs. HEAD pointed at the internal Java
  bindings page; main retained the external docs.daml.com URL. Kept
  HEAD — link migration is this branch's purpose.

  validator-kubernetes.mdx (rename of installation.mdx): Main split
  installation.mdx into validator-docker-compose.mdx and
  validator-kubernetes.mdx in #289. Took main's version of
  validator-kubernetes.mdx, then re-applied this branch's pruning
  link migration (docs.daml.com/ops/pruning.html and
  docs.daml.com/canton/usermanual/pruning.html ->
  /global-synchronizer/production-operations/pruning).

  validator-docker-compose.mdx (auto-merged as new): Applied this
  branch's JSON Ledger API and gRPC Ledger API link migrations there
  too — git's rename detection routed them only to the kubernetes
  side, leaving docker-compose with the old docs.digitalasset.com URLs.
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.

2 participants