Wire most of nav v1 content into nav v2#3268
Merged
theletterf merged 7 commits intodemo/findabilityfrom May 8, 2026
Merged
Conversation
Closes 93% of the gap between nav v1 (config/navigation.yml + .artifacts toc.yml graph) and nav v2 (config/navigation-v2.yml): 2,733 → 181 missing pages. - Re-enabled the commented Reference block (~1,222 pages: elasticsearch, kibana, cloud, ECS, search-ui, ECCTL, plus aggregations, query-languages, scripting, enrich-processor, text-analysis). - Ported the per-product release notes tree from v1 (~126 pages: cloud hosted/enterprise, cloud-on-k8s, all APM agents, all EDOT SDKs, beats, logstash, elastic-agent, fleet-server, ECS, ECCTL, security, observability, serverless). - Added per-product reference tocs grouped by family (~777 pages: ES clients, APM, OpenTelemetry/EDOT, ECS Logging) plus elasticsearch-plugins and community-contributed. - Wired children of 12 deploy-manage landings (security, users-roles, monitor, tools, remote-clusters, upgrade, cloud-organization, maintenance, api-keys, autoscaling, license, uninstall) using hand-listed children to preserve the curated v2 group titles (~369 pages). - Removed the dead Troubleshoot comment block (already covered by - toc: docs-content://troubleshoot). - Brought in Liam's Search and query rewrite from PR #3094. Co-Authored-By: Liam Thompson <leemthompo@gmail.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the 10 observability pages that v1 surfaces but v2 was missing, slotted next to their existing siblings to preserve v2's curated order: - APM > View and analyze data: discover-traces.md (between Drill down into data and Filter and search data, mirroring v1). - OpenTelemetry use cases: llms/index.md as a sibling of Kubernetes observability under Get started. - Streams > Process documents: concat, join, lowercase, uppercase, trim, redact, network-direction processors (appended after existing string-op processors, before manual-pipeline-configuration). - Streams: streamlang.md as a sibling of Process documents. Also fixes a counting bug in the offline diff script — it now honors the `folder:` keyword in toc.yml, which removed ~75 false-positive "missing" pages caused by treating apm-server filenames as living at solutions/ root. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per Shaina, the remaining Deploy and manage misses sit under the two
existing production-guidance landings. Converts those flat entries into
groups and lists their canonical children from v1's deploy-manage toc:
- Run Elasticsearch in production
- Design for resilience (3 children: small clusters, larger clusters,
ECH and ECE)
- Scaling considerations
- Performance optimizations (6 children: general recommendations,
indexing speed, search speed, approximate kNN, disk usage, size shards)
- Run Kibana in production
- High availability and load balancing, configure memory, manage
background tasks, traffic scaling, alerting, reporting (6 children)
18 pages recovered. Gap: 151 → 133.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Closes the rest of the actionable gap (133 → 68; the 50 remaining are explore-analyze pages intentionally left for separate IA work): - Distributed architecture: converts three flat entries into groups with canonical children — clusters-nodes-shards (node-roles), shard-allocation-relocation-recovery (shard-allocation-awareness + index-level-shard-allocation with delaying-allocation-when-node-leaves), and discovery-cluster-formation (6 children: hosts-providers, quorums, voting, bootstrap-cluster, cluster-state, cluster-fault-detection). - Deploy orchestrators: adds deploy-an-orchestrator.md as a peer page under Elastic Cloud Enterprise, and as the landing of the existing "Deploy an orchestrator" group under Elastic Cloud on Kubernetes (with install.md demoted to first child to match v1 hierarchy). - Ingest architectures: converts the leaf entry into a group with the canonical 16 children grouped by architecture (Agent to Elasticsearch, Agent with Logstash, Agent with Kafka, Air-gapped, Logstash as input, Agent through a proxy). Sets ingesting-data-for-elastic-solutions.md as the "Ingest by solution" group landing. Surfaces tools.md alongside the existing API/upload entries. - Contribute: new isolated section pulling docs-content://contribute-docs via toc, mirroring the Extension points pattern. Surfaces all 35 contribute-docs pages (api-docs, content-types, how-to, style-guide, plus the standalone guides) without disturbing the main top-bar layout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comments out the new isolated Contribute section we added in the previous commit. Whether to surface contribute-docs in the public site is still open, so keep the entry as a ready-to-uncomment block rather than a shipped section. The toc graph is unchanged; only the v2 surface is. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
shainaraskas
previously requested changes
May 7, 2026
Member
shainaraskas
left a comment
There was a problem hiding this comment.
I have to step out for a while but at least the security section is broken so it needs to be edited before it is merged in.
fixed missing titles and unexpanded variables
Eight `- group:` labels still contained `{{...}}` substitutions after
Shaina's fix pass — `{{apm-server}}` (2), `{{aws}}` (2), and
`{{elastic-defend}}` (4). The nav-v2 renderer does not expand these,
so they showed up literally in the sidebar. Replaced with their
canonical expansions per docs-content/docset.yml::features:
- {{apm-server}} -> APM Server
- {{aws}} -> AWS
- {{elastic-defend}} -> Elastic Defend
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4 tasks
theletterf
added a commit
that referenced
this pull request
May 8, 2026
Backports the YAML fill from demo/findability (PR #3268). Pure additions to config/navigation-v2.yml within the existing structure — no schema changes, no new directives. Closes most of the gap between v1 nav and the nav-v2 prototype. - Re-enable the commented Reference label and expand it: docs-content reference (top-level fanout), elasticsearch core/plugins/community- contributed, kibana, Cloud (cloud + cloud-on-k8s), Elasticsearch clients (java/js/dsl-js/.net/php/py/ruby/rs, eland, go-elasticsearch, curator), APM (k8s-attacher, aws-lambda, all agent libs), OpenTelemetry (opentelemetry root + motlp + edot-cloud-forwarder for AWS/Azure/GCP, edot-collector, all EDOT SDKs), ECS Logging (root + all per-language libs), beats, logstash, integration-docs, elasticsearch-hadoop, elastic-serverless-forwarder, ecs, search-ui, ecctl, plus aggregations/enrich-processor/query-languages/scripting-languages/ text-analysis. ~1,200 pages. - Wire children of 12 deploy-manage landings (security, users-roles, monitor, tools, remote-clusters, upgrade, cloud-organization, maintenance, api-keys, autoscaling, license, uninstall) under each existing `- group:` to preserve curated titles. ~370 pages. - Convert distributed-architecture leaf entries into groups with canonical children: clusters-nodes-shards (node-roles), shard-allocation-relocation-recovery (shard-allocation-awareness + index-level-shard-allocation w/ delaying-allocation-when-node-leaves), discovery-cluster-formation (6 children). - Convert production-guidance leaf entries into groups with their full canonical structure: Run Elasticsearch in production (Design for resilience [3 children], Scaling considerations, Performance optimizations [6 children]); Run Kibana in production (6 children). - Convert ingest-reference-architectures leaf into a group with the 16 canonical children grouped by architecture (Agent to Elasticsearch, Agent with Logstash, Agent with Kafka, Air-gapped, Logstash as input, Agent through a proxy). Set ingesting-data-for-elastic-solutions.md as the "Ingest by solution" group landing. Surface manage-data/ingest/tools.md alongside the existing API/upload entries. - Add Release notes top-level label with the per-product release-notes tree (Elasticsearch + clients + Hadoop, Kibana, Elastic Agent, Fleet Server, Logstash, Beats, Serverless, Cloud Hosted, Cloud Enterprise, Cloud on K8s, Observability with EDOT SDKs and APM agents, Security, ECS, ECCTL). - Add Troubleshoot top-level label as `- toc: docs-content://troubleshoot` (covers ~190 pages). Delete the dead Troubleshooting comment block whose entries are all already reachable via that toc. - Replace 57 `{{templated}}` substitution tokens (in titles AND group labels) with their literal expansions per docs-content/docset.yml:: features. The nav renderer does not expand `{{...}}` so leaving them caused literal `{{ece}}` etc. to render in the sidebar. Skipped (depends on features added in later layers of the stack): - Liam's Search and query rewrite (PR #3094, against this branch). - Products section (introduced in hub-pages). - island: entries (Logstash plugins/versioned plugins; needs nav-v2-sections). - Observability page additions on demo (slot under groups added in hub-pages stack). YAML valid. 173/173 navigation tests pass. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
demo/findabilitycurrently surfaces a much smaller portion of the docs in nav v2 than nav v1 surfaces today. A diff ofconfig/navigation.yml+ the.artifacts/checkouts/current/**/toc.ymlgraph againstconfig/navigation-v2.ymlshowed 2,733 pages reachable in v1 nav but not in v2 — most of them in Reference, Release notes, and the Deploy and manage children that v2 had stubbed out as landing pages.This PR closes ~96% of that gap (2,733 → 103) without changing v2's curated titles, ordering, or section structure. The remaining 103 pages are mostly two intentionally-skipped sections (explore-analyze and the disabled Contribute) plus a handful of stragglers — see "What's still missing" at the bottom.
Demo: https://docs-v3-preview.elastic.dev/elastic/docs-builder/docs/3268
What
Bulk rewiring (commit 1)
- section: Reference(uncomment + slot in). Recovers ~1,222 pages:elasticsearch://reference/elasticsearch,kibana://reference,cloud://reference,cloud-on-k8s://reference,ecs://reference,search-ui://reference,ecctl://reference, plusaggregations,query-languages,scripting-languages,enrich-processor,text-analysis.config/navigation.yml:33-209into v2's stub Release notes section (droppedpath_prefix:lines — v2 doesn't use them). Recovers ~126 pages: cloud hosted/enterprise, cloud-on-k8s, all APM agents, all EDOT SDKs, beats, logstash, elastic-agent, fleet-server, ECS, ECCTL, pluselastic-security,elastic-observability,elastic-cloud-serverless.elasticsearch-plugins,community-contributed.- group:to preserve v2's curated titles. The cleanest alternative (creating per-subtreetoc.ymlfiles indocs-contentand switching v2 totoc:) was rejected because it would override v2's hand-curated group titles. ~369 pages.- toc: docs-content://troubleshoot(which surfaces 190 pages).- group: Search and querywith the full narrative arc (get-started → approaches → ingest → querying withelasticsearch://reference/query-languagestoc inline → cross-cluster/cross-project → integrate). Liam credited as co-author. ~58 pages.Observability (commit 2)
discover-traces.md(between Drill down into data and Filter and search data, mirroring v1).llms/index.md("LLM observability") as a sibling of Kubernetes observability.manual-pipeline-configuration.streamlang.mdas a sibling of Process documents.10 pages recovered.
Production guidance (commit 3)
Per Shaina's note that the remaining D&M misses sit under the production-guidance subtree, converted the two flat entries into groups and listed their canonical children from v1's deploy-manage toc:
18 pages recovered.
Distributed architecture, deploy orchestrators, ingest architectures (commit 4)
clusters-nodes-shards(node-roles),shard-allocation-relocation-recovery(shard-allocation-awareness + index-level-shard-allocation with delaying-allocation-when-node-leaves), anddiscovery-cluster-formation(6 children: hosts-providers, quorums, voting, bootstrap-cluster, cluster-state, cluster-fault-detection).deploy-an-orchestrator.mdas a peer page under Elastic Cloud Enterprise, and as the landing of the existing "Deploy an orchestrator" group under Elastic Cloud on Kubernetes (withinstall.mddemoted to first child to match v1 hierarchy).ingesting-data-for-elastic-solutions.mdas the "Ingest by solution" group landing. Surfacestools.mdalongside the existing API/upload entries.30 pages recovered.
Contribute section (added, then disabled — commits 4 and 5)
Initially added an isolated
- section: Contributepullingdocs-content://contribute-docsviatoc:, mirroring the Extension points pattern (~35 pages). Whether to surface contribute-docs in the public site is still open, so the section is now commented out as a ready-to-uncomment block rather than shipped.Validation
dotnet test tests/Navigation.Tests).config/navigation-v2.yml.What's still missing (~103 pages)
Sections skipped entirely (~50 pages — intentional)
These three explore-analyze subtrees were left out because they need design judgement on which children to surface and where in v2's curated tree:
docs-content://explore-analyze/scripting(landing + 31 children — Painless tutorials, debugging, security, etc.)docs-content://explore-analyze/transforms(landing + 11 children — checkpoints, examples, alerts, scaling, setup, etc.)docs-content://explore-analyze/query-filter(landing + 4 children — filtering, esql-kibana, grok-debugger, playground)Sections disabled pending decision (~35 pages)
- section: Contribute(commented out in this PR — toc fans intocontribute-docs/index,api-docs/*,content-types/*,how-to/*,style-guide/*, plusasciidoc-guide,locally,on-the-web,syntax-quick-reference,tools,vale-linter,vscode-extension)Single-page misses (18 pages)
Truly scattered — same mechanical pattern as the deploy-manage batch can be applied later if someone wants to mop them up:
cloud-account/(8)docs-content://cloud-account/index.mddocs-content://cloud-account/add-a-login-method.mddocs-content://cloud-account/change-your-password.mddocs-content://cloud-account/dark-mode.mddocs-content://cloud-account/high-contrast.mddocs-content://cloud-account/join-or-leave-an-organization.mddocs-content://cloud-account/multifactor-authentication.mddocs-content://cloud-account/update-your-email-address.mdget-started/(4)docs-content://get-started/introduction.mddocs-content://get-started/deployment-options.mddocs-content://get-started/the-stack.mddocs-content://get-started/howto-use-the-docs.mdOther one-offs (3)
docs-content://manage-data/index.mddocs-content://deploy-manage/manage-spaces-fleet.mddocs-content://solutions/search/vector.mdPhantom-only (3, reachable in v1 only via
phantoms:registration, not in either nav)docs-content://release-notes/index.mdcloud://release-notes/index.mdelasticsearch://reference/index.md🤖 Generated with Claude Code