Skip to content

docs(dir): add guide for choosing a Directory setup - #1970

Open
paralta wants to merge 4 commits into
mainfrom
docs/choosing-setup
Open

docs(dir): add guide for choosing a Directory setup#1970
paralta wants to merge 4 commits into
mainfrom
docs/choosing-setup

Conversation

@paralta

@paralta paralta commented Aug 4, 2026

Copy link
Copy Markdown
Member

New users have no clear way to decide which Directory deployment shape fits them, and the distinction between discovery (who can find your records) and retrieval (who can get the bytes) is easy to get wrong. This adds a "Choosing a Setup" page under Get Started that reduces the decision to two questions and documents the four resulting configurations — private node, public-store node, networked node, and federated — each with a topology diagram that uses dashed edges for discovery and solid for retrieval, plus links onward to the relevant deployment, routing, store, and trust-model pages. An interactive chooser walks readers to the matching section, while the questions also stay in the Markdown so the page works without JavaScript.

Screenshot 2026-08-04 at 17 35 23 Screenshot 2026-08-04 at 17 35 30 Screenshot 2026-08-04 at 17 35 36

Summary by CodeRabbit

  • New Features

    • Added a “Choosing a Setup” guide covering private, public-store, networked, and federated Directory configurations.
    • Added an interactive setup wizard that recommends a configuration based on discovery and storage preferences.
    • Added navigation controls, restart support, visual option states, and accessibility-focused styling.
  • Documentation

    • Added the setup guide to the Get Started documentation navigation.
    • Updated repository analytics displayed in the documentation.

Signed-off-by: Catarina Paralta <clouropa@cisco.com>
@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Added a “Choosing a Setup” page with an interactive Directory configuration wizard, topology guidance, styling, MkDocs integration, navigation, and refreshed repository analytics.

Changes

Directory setup chooser

Layer / File(s) Summary
Topology guidance and selection logic
docs/content/dir/dir-choosing-a-setup.md, docs/content/javascripts/dir-setup-chooser.js
Documents private, public-store, networked, and federated configurations. The wizard maps discovery and storage answers to recommendations with navigation, reset behavior, deep links, and escaped HTML rendering.
Documentation site integration
docs/content/stylesheets/dir-setup-chooser.css, docs/mkdocs/mkdocs.yml, docs/content/dir/.index, docs/content/javascripts/dir-repobeats-data.js
Adds chooser styling and MkDocs assets, exposes the page in Get Started navigation, and refreshes repository analytics data.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Visitor
  participant SetupChooser
  participant SetupGuide
  Visitor->>SetupChooser: Select discovery and storage options
  SetupChooser->>SetupChooser: Determine the matching configuration
  SetupChooser->>SetupGuide: Display recommendation and deep links
Loading

Suggested reviewers: adamtagscherer

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: adding documentation to help users choose a Directory setup.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/choosing-setup

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the size/M Denotes a PR that changes 200-999 lines label Aug 4, 2026
@paralta
paralta marked this pull request as ready for review August 4, 2026 16:48
@paralta
paralta requested a review from a team as a code owner August 4, 2026 16:48

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/content/dir/dir-choosing-a-setup.md`:
- Around line 57-58: Correct the bootstrap connection description in the setup
guide to remove the claim that it announces records. State that bootstrapping
joins the node to the DHT and enables searching, while record discovery requires
an explicit store operation followed by routing publish.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f1664a4a-b743-46e5-a2fc-e8108e62f356

📥 Commits

Reviewing files that changed from the base of the PR and between c09bf26 and 7ed6afd.

📒 Files selected for processing (6)
  • docs/content/dir/.index
  • docs/content/dir/dir-choosing-a-setup.md
  • docs/content/javascripts/dir-repobeats-data.js
  • docs/content/javascripts/dir-setup-chooser.js
  • docs/content/stylesheets/dir-setup-chooser.css
  • docs/mkdocs/mkdocs.yml

Comment on lines +57 to +58
A **bootstrap** connection puts the node on the DHT: it announces its records and can search
for records held by other nodes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Require an explicit record announcement.

A bootstrap connection does not announce records. The Routing guide requires a store operation followed by routing publish. Without that step, peers cannot discover the records.

Proposed fix
-A **bootstrap** connection puts the node on the DHT: it announces its records and can search
-for records held by other nodes.
+A **bootstrap** connection connects the node to the DHT. After storing a record, call
+`routing publish` to announce it. The node can then search for records held by other nodes.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
A **bootstrap** connection puts the node on the DHT: it announces its records and can search
for records held by other nodes.
A **bootstrap** connection connects the node to the DHT. After storing a record, call
`routing publish` to announce it. The node can then search for records held by other nodes.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/content/dir/dir-choosing-a-setup.md` around lines 57 - 58, Correct the
bootstrap connection description in the setup guide to remove the claim that it
announces records. State that bootstrapping joins the node to the DHT and
enables searching, while record discovery requires an explicit store operation
followed by routing publish.

@keraron
keraron self-requested a review August 4, 2026 20:17
keraron added 3 commits August 5, 2026 16:38
Signed-off-by: Aron Kerekes <arkereke@cisco.com>
Signed-off-by: Aron Kerekes <arkereke@cisco.com>
Signed-off-by: Aron Kerekes <arkereke@cisco.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M Denotes a PR that changes 200-999 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants