# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Navigation structure matching https://docs.nvidia.com/dynamo/dev/
# Rebuilt to exactly replicate the rendered Sphinx sidebar

navigation:
  # ==================== Getting Started ====================
  - section: Getting Started
    contents:
      - page: Quickstart
        path: getting-started/quickstart.md
      - page: Introduction
        path: getting-started/introduction.md
      - page: Local Installation
        path: getting-started/local-installation.md
      - page: Building from Source
        path: getting-started/building-from-source.md
      - page: Contribution Guide
        path: contribution-guide.md

  # ==================== Resources ====================
  - section: Resources
    contents:
      - page: Support Matrix
        path: reference/support-matrix.md
      - page: Feature Matrix
        path: reference/feature-matrix.md
      - page: Release Artifacts
        path: reference/release-artifacts.md
      - page: Examples
        path: getting-started/examples.md
      - page: Glossary
        path: reference/glossary.md

  # ==================== Kubernetes Deployment ====================
  - section: Kubernetes Deployment
    contents:
      - section: Deployment Guide
        path: kubernetes/README.md
        contents:
          - page: Detailed Installation Guide
            path: kubernetes/installation-guide.md
          - page: Deploying Your First Model
            path: kubernetes/dgdr.md
          - page: Dynamo Operator
            path: kubernetes/dynamo-operator.md
          - page: Service Discovery
            path: kubernetes/service-discovery.md
          - page: Webhooks
            path: kubernetes/webhooks.md
          - page: Minikube Setup
            path: kubernetes/deployment/minikube.md
          - page: Managing Models with DynamoModel
            path: kubernetes/deployment/dynamomodel-guide.md
          - page: Autoscaling
            path: kubernetes/autoscaling.md
          - page: Rolling Update
            path: kubernetes/rolling-update.md
          - page: Developing with Tilt
            path: kubernetes/tilt-dev-setup.md
          - page: Inference Gateway (GAIE)
            path: kubernetes/inference-gateway.md
          - page: Snapshot
            path: kubernetes/snapshot.md
          - page: Disagg Communication
            path: kubernetes/disagg-communication-guide.md
      - section: Observability (K8s)
        contents:
          - page: Metrics
            path: kubernetes/observability/metrics.md
          - page: Logging
            path: kubernetes/observability/logging.md
          - page: Operator Metrics
            path: kubernetes/observability/operator-metrics.md
      - section: Multinode
        contents:
          - page: Multinode Deployments
            path: kubernetes/deployment/multinode-deployment.md
          - page: Grove
            path: kubernetes/grove.md
          - page: Topology Aware Scheduling
            path: kubernetes/topology-aware-scheduling.md

  # ==================== User Guides ====================
  - section: User Guides
    contents:
      - page: KV Cache Aware Routing
        path: components/router/router-guide.md
      - page: Disaggregated Serving
        path: features/disaggregated-serving/README.md
      - page: KV Cache Offloading
        path: components/kvbm/kvbm-guide.md
      - page: Dynamo Benchmarking
        path: benchmarks/benchmarking.md
      - page: Mocker Offline Trace Replay
        path: benchmarks/mocker-trace-replay.md
      - section: Testing
        contents:
          - page: Mocker
            path: mocker/mocker.md
      - section: Multimodal
        path: features/multimodal/README.md
        contents:
          - page: Embedding Cache
            path: features/multimodal/embedding-cache.md
          - page: Encoder Disaggregation
            path: features/multimodal/encoder-disaggregation.md
          - page: Multimodal KV Routing
            path: features/multimodal/multimodal-kv-routing.md
      - section: Diffusion (Preview)
        slug: diffusion
        path: features/diffusion/README.md
        contents:
          - page: FastVideo
            slug: fastvideo
            path: features/diffusion/fastvideo.md
          - page: vLLM-Omni
            path: backends/vllm/vllm-omni.md
          - page: SGLang Diffusion
            path: backends/sglang/sglang-diffusion.md
          - page: TRT-LLM Diffusion
            path: backends/trtllm/trtllm-video-diffusion.md
      - page: Tool Calling
        path: agents/tool-calling.md
      - page: Reasoning
        path: agents/reasoning.md
      - page: LoRA Adapters
        path: features/lora/README.md
      - section: Agents
        slug: agents
        path: features/agentic_workloads.md
        contents:
          - page: SGLang for Agentic Workloads
            path: backends/sglang/agents.md
      - section: Observability (Local)
        path: observability/README.md
        contents:
          - page: Prometheus + Grafana Setup
            path: observability/prometheus-grafana.md
          - page: Metrics
            path: observability/metrics.md
          - page: Metrics Developer Guide
            path: observability/metrics-developer-guide.md
          - page: Health Checks
            path: observability/health-checks.md
          - page: Tracing
            path: observability/tracing.md
          - page: Logging
            path: observability/logging.md
      - section: Fault Tolerance
        path: fault-tolerance/README.md
        contents:
          - page: Request Migration
            path: fault-tolerance/request-migration.md
          - page: Request Cancellation
            path: fault-tolerance/request-cancellation.md
          - page: Request Rejection
            path: fault-tolerance/request-rejection.md
          - page: Graceful Shutdown
            path: fault-tolerance/graceful-shutdown.md
          - page: Testing
            path: fault-tolerance/testing.md
      - page: Writing Python Workers
        path: development/backend-guide.md

  # ==================== Backends ====================
  - section: Backends
    contents:
      - section: SGLang
        path: backends/sglang/README.md
        contents:
          - page: Reference Guide
            path: backends/sglang/sglang-reference-guide.md
          - page: Chat Processor
            path: backends/sglang/sglang-chat-processor.md
          - page: Examples
            path: backends/sglang/sglang-examples.md
          - page: Disaggregation
            path: backends/sglang/sglang-disaggregation.md
          - page: Diffusion
            path: backends/sglang/sglang-diffusion.md
          - page: Observability
            path: backends/sglang/sglang-observability.md
          - page: Agentic Workloads
            path: backends/sglang/agents.md
      - section: TensorRT-LLM
        path: backends/trtllm/README.md
        contents:
          - page: Reference Guide
            path: backends/trtllm/trtllm-reference-guide.md
          - page: Examples
            path: backends/trtllm/trtllm-examples.md
          - page: Prometheus Metrics
            path: backends/trtllm/trtllm-prometheus.md
          - page: Video Diffusion (Experimental)
            path: backends/trtllm/trtllm-video-diffusion.md
          - page: Known Issues and Mitigations
            path: backends/trtllm/trtllm-known-issues.md
      - page: vLLM
        path: backends/vllm/README.md

  # ==================== Components ====================
  - section: Components
    contents:
      - section: Frontend
        path: components/frontend/README.md
        contents:
          - page: Frontend Guide
            path: components/frontend/frontend-guide.md
      - section: Router
        path: components/router/README.md
        contents:
          - page: Router Guide
            path: components/router/router-guide.md
          - page: Router Examples
            path: components/router/router-examples.md
          - page: KV Event Replay — Dynamo vs vLLM
            path: components/router/kv-event-replay-comparison.md
      - section: Planner
        path: components/planner/README.md
        contents:
          - page: Planner Guide
            path: components/planner/planner-guide.md
          - page: Planner Examples
            path: components/planner/planner-examples.md
      - section: Profiler
        path: components/profiler/README.md
        contents:
          - page: Profiler Guide
            path: components/profiler/profiler-guide.md
          - page: Profiler Examples
            path: components/profiler/profiler-examples.md
      - section: KVBM
        path: components/kvbm/README.md
        contents:
          - page: KVBM Guide
            path: components/kvbm/kvbm-guide.md

  # ==================== Integrations ====================
  - section: Integrations
    contents:
      - page: LMCache
        path: integrations/lmcache-integration.md
      - page: SGLang HiCache
        path: integrations/sglang-hicache.md
      - page: FlexKV
        path: integrations/flexkv-integration.md
      - page: KV Events for Custom Engines
        path: integrations/kv-events-custom-engines.md

  # ==================== Design Docs ====================
  - section: Design Docs
    contents:
      - page: Overall Architecture
        path: design-docs/architecture.md
      - page: Architecture Flow
        path: design-docs/dynamo-flow.md
      - page: Disaggregated Serving
        path: design-docs/disagg-serving.md
      - page: Distributed Runtime
        path: design-docs/distributed-runtime.md
      - section: Communication Planes
        contents:
          - page: Discovery Plane
            path: design-docs/discovery-plane.md
          - page: Request Plane
            path: design-docs/request-plane.md
          - page: Event Plane
            path: design-docs/event-plane.md
      - section: Component Design
        contents:
          - page: Router Design
            path: design-docs/router-design.md
          - page: KVBM Design
            path: design-docs/kvbm-design.md
          - page: Planner Design
            path: design-docs/planner-design.md

  # ==================== Blog ====================
  - section: Blog
    collapsed: true
    path: blogs/index.mdx
    slug: blog
    contents:
      - page: "Full-Stack Optimizations for Agentic Inference"
        path: blogs/agentic-inference/agentic-inference.md
        slug: agentic-inference
      - page: "Flash Indexer: Inter-Galactic KV Routing"
        path: blogs/flash-indexer/flash-indexer.md
        slug: flash-indexer

  # ==================== Documentation ====================
  - section: Documentation
    contents:
      - page: Dynamo Docs Guide
        path: README.md

  # ==================== Hidden Pages ====================
  # Pages accessible via direct URL but not shown in main navigation.
  # Matches Sphinx hidden_toctree.rst -- pages linked from within content
  # but not in the sidebar.
  - section: Additional Resources
    hidden: true
    contents:
      # -- Development --
      - page: Runtime Guide
        path: development/runtime-guide.md
      - page: Jail Stream
        path: development/jail-stream.md
      # -- API Reference --
      - section: NIXL Connect API
        path: api/nixl-connect/README.md
        contents:
          - page: Connector
            path: api/nixl-connect/connector.md
          - page: Device
            path: api/nixl-connect/device.md
          - page: Device Kind
            path: api/nixl-connect/device-kind.md
          - page: Descriptor
            path: api/nixl-connect/descriptor.md
          - page: Read Operation
            path: api/nixl-connect/read-operation.md
          - page: Write Operation
            path: api/nixl-connect/write-operation.md
          - page: Readable Operation
            path: api/nixl-connect/readable-operation.md
          - page: Writable Operation
            path: api/nixl-connect/writable-operation.md
          - page: Operation Status
            path: api/nixl-connect/operation-status.md
          - page: RDMA Metadata
            path: api/nixl-connect/rdma-metadata.md
      # -- Kubernetes (hidden sub-pages) --
      - page: API Reference (K8s)
        path: kubernetes/api-reference.md
      - page: Creating Deployments
        path: kubernetes/deployment/create-deployment.md
      - page: FluxCD
        path: kubernetes/fluxcd.md
      - page: Model Caching with Fluid
        path: kubernetes/model-caching-with-fluid.md
      # -- Reference --
      - page: Tuning Disaggregated Performance
        path: performance/tuning.md
      # -- Frontend (hidden sub-pages) --
      - page: NVIDIA Request Extensions (nvext)
        path: components/frontend/nvext.md
      # -- Backend detail pages --
      - section: vLLM Details
        contents:
          - page: Reference Guide
            path: backends/vllm/vllm-reference-guide.md
          - page: Examples
            path: backends/vllm/vllm-examples.md
          - page: KV Cache Offloading
            path: backends/vllm/vllm-kv-offloading.md
          - page: Observability
            path: backends/vllm/vllm-observability.md
          - page: vLLM-Omni
            path: backends/vllm/vllm-omni.md
      - section: TensorRT-LLM Details
        contents:
          - page: Building a Custom Container
            path: backends/trtllm/trtllm-building-custom-container.md
          - page: KV Cache Transfer
            path: backends/trtllm/trtllm-kv-cache-transfer.md
          - page: Logits Processing
            path: backends/trtllm/trtllm-logits-processing.md
          - page: DP Rank Routing
            path: backends/trtllm/trtllm-dp-rank-routing.md
          - page: Multinode Examples
            path: backends/trtllm/multinode/trtllm-multinode-examples.md
          - page: Llama4 + Eagle
            path: backends/trtllm/trtllm-llama4-plus-eagle.md
          - page: Gemma3 Sliding Window
            path: backends/trtllm/trtllm-gemma3-sliding-window-attention.md
          - page: GPT-OSS
            path: backends/trtllm/trtllm-gpt-oss.md
      # -- Features (hidden sub-pages) --
      - section: Speculative Decoding
        path: features/speculative-decoding/README.md
        contents:
          - page: Speculative Decoding with vLLM
            path: features/speculative-decoding/speculative-decoding-vllm.md
      # -- Benchmarks --
      - page: KV Router A/B Testing
        path: benchmarks/kv-router-ab-testing.md
      # -- Mocker --
      - page: Mocker
        path: mocker/mocker.md
      # -- Templates --
      - section: Templates
        path: templates/README.md
        contents:
          - page: Backend Guide
            path: templates/backend-guide.md
          - page: Backend README
            path: templates/backend-readme.md
          - page: Component Design
            path: templates/component-design.md
          - page: Component Examples
            path: templates/component-examples.md
          - page: Component Guide
            path: templates/component-guide.md
          - page: Component README
            path: templates/component-readme.md
          - page: Feature Backend
            path: templates/feature-backend.md
          - page: Feature README
            path: templates/feature-readme.md
          - page: In-Code README
            path: templates/incode-readme.md
          - page: Infrastructure README
            path: templates/infrastructure-readme.md
          - page: Integration README
            path: templates/integration-readme.md
