How mathias-granlund/netloom works
Netloom is a plugin-backed CLI for operating network APIs. The main workflow parses an operator command, resolves the active profile and plugin, uses the plugin’s API catalog to interpret the requested module/service/action, sends requests to the network API, and formats results safely. Separate workflows compare or copy objects across profiles and export/import running configuration. The README documents ClearPass discovery, contextual help/completion, and optional Delinea secret lookup. Some implementation wiring is unsampled, so the graph omits uncertain call relationships.
Main entry points: runtime.py CLI runtime · plugin.py ClearPass plugin · main.py CLI entry · running_config.py Running config
Components 22
CLI experience
- CLI entry
src/netloom/cli/main.py - Command parser
src/netloom/cli/parser.py - CLI runtime
src/netloom/cli/runtime.py - Help and completion
src/netloom/core/interactive_help.py - Profile commands
src/netloom/cli/server.py
Operator workflows
- API actions
src/netloom/core/actions.py - Compare profiles
src/netloom/core/diff.py - Copy objects
src/netloom/core/copy.py - Running config
src/netloom/core/running_config.py - Configuration import
src/netloom/core/import_config.py
ClearPass integration
- Plugin registry
src/netloom/core/plugin_registry.py - ClearPass plugin
src/netloom/plugins/clearpass/plugin.py - API catalog
src/netloom/plugins/clearpass/catalog.py - Privilege discovery
src/netloom/plugins/clearpass/privilege_discovery.py - ClearPass API client
src/netloom/plugins/clearpass/api.py - HTTP transport
src/netloom/http/client.py
Configuration and data
- Profile settings
src/netloom/core/config.py - Output and secrets
src/netloom/io/output.py - Secret providers
src/netloom/keystores
Other components
- Operator
- Network API
- Delinea Secret Server
Connections 29
- Operator → CLI entry: runs command
- CLI entry → Command parser: parses arguments
- CLI entry → CLI runtime: dispatches command
- CLI runtime → Plugin registry: resolves plugin
- CLI runtime → Profile settings: loads profile
- CLI runtime → Profile commands: routes profile commands
- CLI runtime → API actions: runs API action
- CLI runtime → Compare profiles: runs comparison
- CLI runtime → Copy objects: runs copy
- CLI runtime → Running config: exports config
- CLI runtime → Configuration import: imports config
- CLI runtime → Help and completion: serves help
- Plugin registry → ClearPass plugin: loads plugin
- ClearPass plugin → API catalog: loads catalog
- ClearPass plugin → ClearPass API client: uses API client
- API catalog → Network API: discovers API
- ClearPass API client → HTTP transport: sends requests
- HTTP transport → Network API: transmits HTTP
- Privilege discovery → ClearPass API client: probes privileges
- Compare profiles → ClearPass plugin: fetches objects
- Copy objects → ClearPass plugin: reads and writes
- Running config → ClearPass plugin: fetches configuration
- Configuration import → ClearPass plugin: restores objects
- API actions → Output and secrets: formats results
- Running config → Output and secrets: writes export
- Configuration import → Output and secrets: writes report
- Operator → Delinea Secret Server: configures secrets
- Secret providers → Delinea Secret Server: resolves references
- Profile settings → Secret providers: configures providers