-
Notifications
You must be signed in to change notification settings - Fork 0
docs: add llms.txt and llms-full.txt #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
polarweasel
wants to merge
2
commits into
main
Choose a base branch
from
ab/llms-txt
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+208
−0
Open
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,165 @@ | ||
| # NVIDIA Config Manager | ||
|
|
||
| > NVIDIA Config Manager - open-source platform for datacenter network automation and configuration lifecycle management | ||
|
|
||
| NVIDIA Config Manager is a Kubernetes-deployed platform that combines inventory, event processing, workflow orchestration, provisioning, and configuration persistence for large-scale network operations. | ||
|
|
||
| ## Repository Structure | ||
|
|
||
| - `src/nv_config_manager/`: Core Python packages | ||
| - `common/` - shared config, auth, and client utilities | ||
| - `render/` - event-driven rendering pipeline and API | ||
| - `config_store/` - configuration storage APIs and data access | ||
| - `dhcp/` - Kea DHCP configuration generation | ||
| - `ztp/` - ZTP and provisioning services | ||
| - `temporal/` - workflow APIs, workers, activities, and clients | ||
| - `src/tests/`: Unit, integration, and workflow tests | ||
| - `installer/`: `nv-config-manager-installer` package (TUI + CLI) | ||
| - `README.md` - installer usage and operational flow | ||
| - `deploy/helm/`: Main chart and values overlays | ||
| - `values-ci.yaml` - CI-safe values for chart validation | ||
| - `deploy/configs/`: Example installer configuration profiles | ||
| - `deploy/airgapped/`: Air-gapped bundle creation and upload scripts | ||
| - `ui/`: Next.js user interface | ||
| - `docs/`: Fern docs source, snippets, and API spec material | ||
| - `build/`: Dockerfiles and image build assets | ||
| - `db/`: Database migration assets | ||
| - `Makefile`: Local development, build, test, and deployment commands | ||
|
|
||
| ## Platform Architecture | ||
|
|
||
| NVIDIA Config Manager exposes multiple services behind Envoy/Gateway ingress: | ||
|
|
||
| - UI | ||
| - Nautobot | ||
| - Workflow API and Temporal UI | ||
| - Render API | ||
| - Config Store API | ||
| - ZTP and DHCP services | ||
|
|
||
| Key data and control paths: | ||
|
|
||
| - Nautobot events are published to NATS JetStream | ||
| - Render and workflow consumers process events and update downstream state | ||
| - Render writes output artifacts into Config Store | ||
| - ZTP and DHCP services consume Nautobot/Config Store context for provisioning | ||
| - Temporal workers orchestrate long-running actions across Nautobot, render, config-store, and external devices | ||
|
|
||
| ## Installer and Deployment Model | ||
|
|
||
| The supported entry point is the installer package: | ||
|
|
||
| - Interactive TUI and headless CLI share the same schema-driven config file (`nv-config-manager-install.yaml`) | ||
| - Installer handles value generation, secrets, image actions, optional operator installation, Kind support, and post-deploy jobs | ||
|
|
||
| Common installer workflow: | ||
|
|
||
| 1. `uv run nv-config-manager-installer init` | ||
| 2. `uv run nv-config-manager-installer validate <config>` | ||
| 3. `uv run nv-config-manager-installer generate-values <config>` | ||
| 4. `uv run nv-config-manager-installer deploy <config> [options]` | ||
|
|
||
| Deployment targets: | ||
|
|
||
| - Local Kind clusters (`make kind-up`) | ||
| - Existing Kubernetes clusters (`make local-up`) | ||
| - Air-gapped environments (`deploy/airgapped/create-airgapped.sh`) | ||
|
|
||
| ## Core Domains | ||
|
|
||
| ### Inventory and Source of Truth | ||
|
|
||
| - Nautobot models network and infrastructure state | ||
| - Custom jobs and integrations publish data into processing pipelines | ||
|
|
||
| ### Rendering | ||
|
|
||
| - Template and event processing pipelines generate intended configurations | ||
| - Supports API-triggered and event-driven rendering flows | ||
|
|
||
| ### Workflow Orchestration | ||
|
|
||
| - Temporal coordinates asynchronous and multi-step operational workflows | ||
| - Includes deployment, validation, upgrade, backup, password rotation, and cable/workflow lifecycle operations | ||
|
|
||
| ### DHCP and ZTP | ||
|
|
||
| - DHCP service generates Kea configuration from modeled data | ||
| - ZTP service supports bootstrap and image/provisioning flows for managed devices | ||
|
|
||
| ### Configuration Storage | ||
|
|
||
| - Config Store persists rendered, intended, and backup configuration artifacts | ||
| - Exposes APIs for retrieval and lifecycle operations | ||
|
|
||
| ## Documentation Map | ||
|
|
||
| - `docs/index.mdx` - primary docs entry | ||
| - `docs/overview/index.mdx` - conceptual overview | ||
| - `docs/overview/architecture.mdx` - service-level architecture | ||
| - `docs/overview/configuration.mdx` - configuration model and behavior | ||
| - `docs/overview/observability.mdx` - monitoring and telemetry guidance | ||
| - `docs/overview/workflows.mdx` - workflow landscape | ||
| - `docs/install/index.mdx` - install guide | ||
| - `docs/install/tui-wizard-reference.mdx` - installer TUI reference | ||
| - `docs/install/install-airgapped.mdx` - offline deployment | ||
| - `docs/getting-started/interfaces.mdx` - service endpoints and interface overview | ||
| - `docs/getting-started/local-development-quick-start.mdx` - local dev workflow | ||
| - `docs/network-ztp/index.mdx` - ZTP docs | ||
| - `docs/dhcp/index.mdx` - DHCP docs | ||
| - `docs/render/index.mdx` - rendering docs | ||
| - `docs/config-store/index.mdx` - config store docs | ||
| - `docs/temporal/index.mdx` - Temporal docs | ||
| - `docs/nautobot/index.mdx` - Nautobot docs | ||
| - `docs/user-guides/` - operator and task-driven procedures | ||
|
|
||
| ## Development and Validation | ||
|
|
||
| Primary development commands: | ||
|
|
||
| - `uv sync --dev` | ||
| - `make test` | ||
| - `make lint` | ||
| - `make format` | ||
| - `make openapi-check` | ||
| - `make docs-lint` | ||
| - `make docs-lint-fern` | ||
|
|
||
| Python tooling in this repository is run through `uv run` (pytest, ruff, mypy, and related commands). | ||
|
|
||
| Test coverage includes: | ||
|
|
||
| - Domain-specific unit tests (`src/tests/*`) | ||
| - Integration tests for deployed environments (`src/tests/integration/`) | ||
| - Workflow and activity tests for Temporal components | ||
| - Service-specific test suites (render, ztp, dhcp, config_store, common) | ||
|
|
||
| ## Technology Stack | ||
|
|
||
| - Python 3.11+ with `uv` | ||
| - FastAPI-based APIs and Python workers | ||
| - Temporal orchestration and worker runtime | ||
| - Nautobot inventory/source-of-truth platform | ||
| - NATS JetStream event transport | ||
| - PostgreSQL persistence layers | ||
| - Kubernetes + Helm deployment model | ||
| - Envoy Gateway / ingress routing | ||
| - React/Next.js user interface | ||
| - Fern documentation tooling | ||
|
|
||
| ## External Related Projects | ||
|
|
||
| The platform integrates with companion repositories and packages: | ||
|
|
||
| - `nv-config-manager-templates` - Jinja2 templates used by render workflows | ||
| - `nautobot-plugin-nv-config-manager` - Nautobot integration plugin | ||
| - `nautobot-broker-nats` - NATS broker integration for Nautobot events | ||
|
|
||
| ## Governance and Project Metadata | ||
|
|
||
| - Release notes: `CHANGELOG.md` | ||
| - Contribution process: `CONTRIBUTING.md` | ||
| - Governance: `GOVERNANCE.md` | ||
| - Maintainers: `MAINTAINERS.md` | ||
| - Security reporting: `SECURITY.md` | ||
| - License: `LICENSE` and `NOTICE` | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| # NVIDIA Config Manager | ||
|
|
||
| > NVIDIA Config Manager - open-source platform for datacenter network automation and configuration lifecycle management | ||
|
|
||
| NVIDIA Config Manager combines Nautobot inventory, event-driven rendering, ZTP, DHCP, Temporal workflows, and configuration storage behind a single deployable platform. | ||
|
|
||
| ## Components | ||
|
|
||
| - `src/nv_config_manager/`: Python services and shared libraries for core platform behavior | ||
| - `src/tests/`: Python unit and integration tests | ||
| - `installer/`: Interactive TUI and headless CLI installer (`nv-config-manager-installer`) | ||
| - `deploy/helm/`: Helm chart and environment overlays for Kubernetes deployment | ||
| - `deploy/airgapped/`: Air-gapped packaging and registry upload tooling | ||
| - `ui/`: React/Next.js user interface | ||
| - `docs/`: Fern documentation source and generated API specs | ||
| - `components/`: Supporting container assets (including Nautobot and service components) | ||
|
|
||
| ## Key Concepts | ||
|
|
||
| - Nautobot is the source of truth for topology and inventory data | ||
| - Render and workflow consumers process events and produce device configuration artifacts | ||
| - Temporal orchestrates long-running network operations and approval-driven workflows | ||
| - ZTP and DHCP services support device onboarding and provisioning paths | ||
| - Config Store persists rendered, intended, and backup configurations | ||
| - Installer-first deployment model: TUI and CLI share one config schema (`nv-config-manager-install.yaml`) | ||
| - Kubernetes deployment supports local Kind, standard clusters, and air-gapped environments | ||
|
|
||
| ## Documentation | ||
|
|
||
| - `docs/overview/architecture.mdx` - platform architecture and service relationships | ||
| - `docs/install/index.mdx` - installation paths and installer workflow | ||
| - `docs/getting-started/local-development-quick-start.mdx` - local setup and development bootstrap | ||
| - `docs/network-ztp/index.mdx` - ZTP architecture and API overview | ||
| - `docs/dhcp/index.mdx` - DHCP service behavior and Nautobot modeling | ||
| - `docs/temporal/index.mdx` - workflow platform, APIs, and workflow catalog | ||
| - `docs/render/index.mdx` - rendering service and template expansion | ||
| - `docs/config-store/index.mdx` - configuration persistence architecture | ||
| - `docs/nautobot/index.mdx` - Nautobot integration and data model references | ||
| - `docs/install/install-airgapped.mdx` - offline deployment flow | ||
|
|
||
| ## Tech Stack | ||
|
|
||
| - Python 3.11+ with `uv` for dependency and tooling execution | ||
| - FastAPI-based service APIs and Python workers | ||
| - Temporal for workflow orchestration | ||
| - Nautobot as network source of truth | ||
| - NATS/JetStream for event transport | ||
| - PostgreSQL-backed configuration and workflow persistence | ||
| - Helm 3 and Kubernetes for deployment | ||
| - React/Next.js for UI | ||
| - Fern for documentation publishing |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.