Commit d5798c2
authored
feat(cli): add nemo-flow plugins edit (NVIDIA#98)
#### Overview
Adds a plugin-driven observability configuration flow centered on `plugins.toml`, including an interactive editor for the built-in Observability component and a clean removal of legacy exporter configuration surfaces.
- [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license.
- [x] I searched existing issues and open pull requests, and this does not duplicate existing work.
#### Details
- Adds `nemo-flow plugins edit` with user/project/global scope handling, keyboard-driven menus, preview, save, reset, clear, and schema/type-backed editor metadata from core config types.
- Moves gateway observability setup to plugin activation from `plugins.toml`, removes legacy exporter flags/config parsing, and updates doctor/setup/session handling accordingly.
- Canonicalizes plugin config discovery around `plugins.toml`, including layered system/project/user merge behavior, duplicate component-kind checks, and clearer legacy config errors.
- Adds comprehensive docs for plugin configuration file behavior and updates coding-agent observability docs and examples.
- Adds Rust and CLI coverage for Observability schema/editor behavior, plugin config path resolution and merge semantics, doctor reporting, and legacy config removal.
Validation run locally:
- `cargo fmt --check`
- `cargo clippy -p nemo-flow-cli -- -D warnings`
- `cargo test -p nemo-flow-cli`
- `cargo test -p nemo-flow --features schema`
- `just docs`
- `just test-rust`
#### Where should the reviewer start?
Start with `crates/cli/src/plugins.rs` for the interactive `plugins.toml` editor, then review `crates/cli/src/config.rs` for plugin file discovery and merge behavior, and `docs/build-plugins/plugin-configuration-files.md` for the documented operator contract.
#### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
- Relates to: none
## Summary by CodeRabbit
* **New Features**
* Interactive "plugins edit" terminal editor to manage scoped plugin configs (user/project/global) and observability components; preview and save TOML.
* CLI now exposes a top-level plugins subcommand and shows exporter status in run/dry‑run output.
* **Documentation**
* Docs and guides updated to use plugins.toml, with discovery/merge/validation rules and editor workflow.
* **Breaking Changes**
* Observability/exporter settings moved to plugins.toml; legacy CLI flags, env vars, headers, and config sections removed/renamed.
* **Other**
* Optional JSON Schema/editor metadata support for plugin/observability configs (feature-gated).
[](https://app.coderabbit.ai/change-stack/NVIDIA/NeMo-Flow/pull/98)
Authors:
- Will Killian (https://github.com/willkill07)
- Ajay Thorve (https://github.com/AjayThorve)
Approvers:
- Ajay Thorve (https://github.com/AjayThorve)
- https://github.com/Salonijain27
URL: NVIDIA#981 parent 3c80bcc commit d5798c2
50 files changed
Lines changed: 3604 additions & 1988 deletions
File tree
- crates
- cli
- src
- tests
- coverage
- core
- src
- observability
- tests
- integration
- unit/observability
- docs
- about/concepts
- build-plugins
- export-observability-data
- getting-started
- integrate-frameworks
- integrations/coding-agents
- claude-code
- codex
- cursor
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
| |||
161 | 162 | | |
162 | 163 | | |
163 | 164 | | |
| 165 | + | |
164 | 166 | | |
165 | 167 | | |
166 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | | - | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | | - | |
| 57 | + | |
57 | 58 | | |
58 | 59 | | |
59 | 60 | | |
| |||
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
106 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
107 | 120 | | |
108 | 121 | | |
109 | | - | |
110 | | - | |
| 122 | + | |
111 | 123 | | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
116 | 127 | | |
117 | | - | |
118 | | - | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
119 | 131 | | |
120 | 132 | | |
121 | 133 | | |
| |||
0 commit comments