Skip to content

Version-tab namespace key management how-to - #1511

Draft
8bitpal wants to merge 1 commit into
mainfrom
content/fix-namespace-key-dead-example-ref
Draft

Version-tab namespace key management how-to#1511
8bitpal wants to merge 1 commit into
mainfrom
content/fix-namespace-key-dead-example-ref

Conversation

@8bitpal

@8bitpal 8bitpal commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1357.

Problem

global-synchronizer/production-operations/key-management.mdx referenced examples/10-offline-root-namespace-init, an example folder removed in Canton 3.5.1 once its contents were folded into the how-to. The surrounding "Offline Root Namespace Key" procedure was also stale relative to current Canton: the old prepare-certs.sh script name (now prepare-cert.sh + assemble-cert.sh), NIST P-256 key generation instead of Ed25519, and a malformed embedded Scala block carried over verbatim from the upstream 3.4 source.

Change

Reconverted the how-to from the current upstream sources with tools/rst-to-mdx and split it by Canton version:

  • "Online Root Namespace Key" is unchanged across 3.4/3.5 and stays shared (sourced from 3.5).
  • "Offline Root Namespace Key" is tabbed:
    • Canton 3.5 (default) — current MainNet, TestNet, and DevNet. Uses prepare-cert.sh / assemble-cert.sh, Ed25519, and the restructured flow. No examples/10-... reference.
    • Canton 3.4 — retained verbatim for nodes still on a pre-3.5 release. Keeps the examples/10-offline-root-namespace-init reference, which was valid for that release.

Each tab carries its own COPIED_START/END markers pointing at the matching upstream version. Follows the repo's existing full-duplication tab pattern (synchronizer-traffic.mdx, validator-docker-compose.mdx).

Editorial fixes on the converted content

  • Using OpenSSL / Using GCP KMS demoted to ##### (sub-steps of step 4)
  • Auto-resolved cross-references corrected: crypto schemes reference, KMS operations guide (the converter had emitted 404 paths under /appdev/howtos/)
  • Language tags added to bare code fences; WIP admonition normalized to <Note>
  • Dropped three now-orphaned namespace_key-{8,10,11} snippet imports
  • 3.4 tab only: trimmed the malformed code-block:: scala in "Pre-Generated Certificates" (a partial test-code paste with unbalanced braces in the upstream source) to its one coherent statement, with a divergence note; replaced two self-referential 404 links with plain text

Verification

  • mintlify dev: page compiles, tabs render as interactive tabs, no MDX errors
  • mintlify broken-links: clean for this page and its link targets
  • COPIED markers balanced; lessons-learned MDX spot-checks pass

Notes for reviewers

  • No network currently runs Canton 3.4 (MainNet/TestNet are on 3.5.x). The 3.4 tab is retained for pre-3.5 holdouts and can be dropped later.
  • Upstream step numbering skips 6 (5 → 7 → 8) in both versions; reproduced verbatim rather than diverging silently.
  • The right-rail TOC lists the Offline Root subsection headings once per tab (same as other tabbed pages in this repo).

The offline root namespace key procedure referenced
examples/10-offline-root-namespace-init, an example folder removed in
Canton 3.5.1 once its contents were folded into the how-to. The wider
procedure was also stale: the old prepare-certs.sh script name, NIST
P-256 instead of Ed25519, and a malformed embedded Scala block carried
over verbatim from upstream.

Reconvert the how-to from the current upstream sources with
tools/rst-to-mdx and split it by Canton version:

- "Online Root Namespace Key" is unchanged across versions and stays
  shared (sourced from 3.5).
- "Offline Root Namespace Key" is tabbed: "Canton 3.5" (current MainNet,
  TestNet, and DevNet) is the default; "Canton 3.4" is retained verbatim
  for nodes still on a pre-3.5 release, where the
  examples/10-offline-root-namespace-init reference was valid.

Also fix auto-resolved cross-references (crypto schemes reference, KMS
operations), add code-fence languages, and drop three now-orphaned
namespace_key snippet imports. Trim the malformed Scala block in the 3.4
tab to its one coherent statement with a divergence note.

Fixes #1357

Signed-off-by: 8bitpal <elias@zerolimit.es>
@mintlify

mintlify Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

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

Project Status Preview Updated (UTC)
cantonfoundation 🟢 Ready View Preview Sep 1, 2026, 11:00 AM

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

@8bitpal 8bitpal changed the title Version-tab namespace key management how-to (3.5 default, 3.4 tab) Version-tab namespace key management how-to Sep 1, 2026
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.

Remove dead reference to 10-offline-root-namespace-init

1 participant