You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/CLAUDE.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,8 +55,8 @@ These structures propagate across every provider and engine. Changing them in a
55
55
| Surface | Why it's load-bearing |
56
56
|---|---|
57
57
|`pkg/topology/` — `Graph`, the `Vertex` tree, and topology constants | Every provider returns it; every engine consumes it. A shape change ripples to all of them. |
| The variable label families `network.topology.nvidia.com/level-N` and `accelerated.topology.nvidia.com/level-N`| Consumed by downstream projects (KAI Scheduler, NVSentinel, Kueue); level 0 is closest to the node. |
| The variable label families `network.topology.nvidia.com/tier-N` and `accelerated.topology.nvidia.com/domain-N`| Consumed by downstream projects (KAI Scheduler, NVSentinel, Kueue); fabric tier 0 is closest to the node and accelerated domain 0 is narrowest. |
60
60
61
61
## 2. Setup and Installation
62
62
@@ -169,7 +169,7 @@ Engines are much rarer (four exist: slurm, k8s, nfd, slinky). Follow the same re
169
169
170
170
### Label and annotation reference
171
171
172
-
Label keys written by the Kubernetes and Slinky engines are documented in `docs/reference/node-labels.md`. Do not invent new keys in provider or engine code — values flow through the canonical graph; keys are configured via Helm `topologyNodeLabels`.
172
+
Label keys written by the Kubernetes engine are documented in `docs/reference/node-labels.md`. Do not invent new keys in provider code — values flow through the canonical graph. Optional custom keys are configured independently through the k8s engine's closest-first `fabricLabels` and narrowest-first `acceleratedLabels` arrays; when an array is provided, only explicitly listed entries in that family are labeled.
Copy file name to clipboardExpand all lines: AGENTS.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,8 +55,8 @@ These structures propagate across every provider and engine. Changing them in a
55
55
| Surface | Why it's load-bearing |
56
56
|---|---|
57
57
|`pkg/topology/` — `Graph`, the `Vertex` tree, and topology constants | Every provider returns it; every engine consumes it. A shape change ripples to all of them. |
| The variable label families `network.topology.nvidia.com/level-N` and `accelerated.topology.nvidia.com/level-N`| Consumed by downstream projects (KAI Scheduler, NVSentinel, Kueue); level 0 is closest to the node. |
| The variable label families `network.topology.nvidia.com/tier-N` and `accelerated.topology.nvidia.com/domain-N`| Consumed by downstream projects (KAI Scheduler, NVSentinel, Kueue); fabric tier 0 is closest to the node and accelerated domain 0 is narrowest. |
60
60
61
61
## 2. Setup and Installation
62
62
@@ -169,7 +169,7 @@ Engines are much rarer (four exist: slurm, k8s, nfd, slinky). Follow the same re
169
169
170
170
### Label and annotation reference
171
171
172
-
Label keys written by the Kubernetes and Slinky engines are documented in `docs/reference/node-labels.md`. Do not invent new keys in provider or engine code — values flow through the canonical graph; keys are configured via Helm `topologyNodeLabels`.
172
+
Label keys written by the Kubernetes engine are documented in `docs/reference/node-labels.md`. Do not invent new keys in provider code — values flow through the canonical graph. Optional custom keys are configured independently through the k8s engine's closest-first `fabricLabels` and narrowest-first `acceleratedLabels` arrays; when an array is provided, only explicitly listed entries in that family are labeled.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
19
19
20
20
### Changed
21
21
22
-
-**BREAKING:** Topology now uses variable, closest-first level families: `network.topology.nvidia.com/level-N`for fabric tiers and `accelerated.topology.nvidia.com/level-N` for accelerated tiers. The canonical `InstanceTopology` and graph conversion support arbitrary depths; the fixed `accelerator`, `leaf`, `spine`, and `core`label keys and their Helm overrides are replaced by `topologyNodeLabels.fabricPrefix` and `topologyNodeLabels.acceleratedPrefix`.
22
+
-**BREAKING:** Topology now uses variable, closest-first fabric tiers and narrowest-first accelerated domains: `network.topology.nvidia.com/tier-N` and `accelerated.topology.nvidia.com/domain-N`. The canonical `InstanceTopology` and graph conversion support arbitrary depths. The fixed `accelerator`, `leaf`, `spine`, and `core` keys and process-wide Helm/CLI overrides are replaced by optional `fabricLabels` and `acceleratedLabels` arrays on the `k8s` engine. Each omitted array defaults every discovered entry in its family; when provided, only explicitly configured entries in that family are labeled.
23
23
- Simulation model node names are now treated as hostnames; the model-backed test provider generates their instance IDs with an `i-` prefix.
24
24
- The node-observer and node-data-broker are now rendered directly by the main Topograph Helm chart instead of local subcharts. Their existing `node-observer.*` and `node-data-broker.*` values paths are unchanged.
25
25
-**BREAKING (Helm chart `0.5.0` → `0.6.0`):** the chart now ships a hardened default security context across the API server, node-observer, and node-data-broker: non-root (`runAsNonRoot`, UID/GID `65532`), `seccompProfile: RuntimeDefault`, `allowPrivilegeEscalation: false`, `readOnlyRootFilesystem: true`, and all capabilities dropped — satisfying the Kubernetes `restricted` Pod Security Standard out of the box. This changes the default runtime posture of every workload; operators who relied on root, a writable rootfs, or added capabilities must override the relevant keys (see the migration note below). `appVersion` is unchanged (`v0.5.0`; no binary change).
Copy file name to clipboardExpand all lines: charts/topograph/values.schema.json
+1-2Lines changed: 1 addition & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@
50
50
},
51
51
"params": {
52
52
"type": "object",
53
-
"description": "Engine-specific parameters. For slinky, useGpuCliqueLabel=true reads nvidia.com/gpu.clique as the topology/block domain source."
53
+
"description": "Engine-specific parameters. The k8s engine accepts closest-first fabricLabels and narrowest-first acceleratedLabels arrays. Each omitted array defaults every discovered entry in its family; when provided, additional entries in that family are omitted. For slinky, useGpuCliqueLabel=true reads nvidia.com/gpu.clique as the topology/block domain source."
0 commit comments