netapi
1. Project Summary
| Field | Value |
|---|---|
Project |
netapi — Network Automation CLI |
Priority |
P0 (Critical) — daily driver |
Status |
Active |
Owner |
Evan Rosado |
Language |
Python 3.11+ |
License |
Apache-2.0 |
Repository |
|
Commercial Derivative |
Kora CLI (Go rewrite, public) |
2. Problem Statement
Network engineers managing multi-vendor environments face three compounding problems:
-
Every vendor has a different API. Cisco ISE exposes five separate APIs (ERS, MnT, DataConnect, pxGrid, OpenAPI). WLCs speak RESTCONF. Firewalls speak REST. Switches speak SSH. There is no unified abstraction — every integration is a one-off script.
-
Authentication is fragmented. Each vendor uses a different auth mechanism, different credential formats, different session models. Engineers end up with hardcoded passwords in scripts, stale tokens, and inconsistent secrets management.
-
Automation scripts rot. Without architectural discipline, network automation code becomes a graveyard of copy-pasted scripts that break silently when APIs change. No composability, no reuse, no error hierarchy.
netapi solves these by providing a composable Python library that follows Atomic Design principles — primitives compose into protocols, protocols compose into capabilities, capabilities compose into vendor-specific operations, and vendors compose into workflows.
3. Related
-
netapi-tui— Terminal UI that consumes netapi -
domus-netapi-docs— Antora documentation -
Live Site: docs.domusdigitalis.dev/netapi/
4. Improvement Proposals
|
Proposals from ecosystem audit — 2026-04-04. For team review and prioritization. |
| Priority | Proposal | Rationale | Effort |
|---|---|---|---|
P1 |
Add hands-on quickstart with real command examples |
12 partials document architecture and vendor support but no runnable examples. Users need |
M |
P1 |
Add field-notes partial (vendor integration decisions) |
15+ vendor integrations involve API version choices, auth method tradeoffs, and rate limit strategies. These decisions must be documented. |
M |
P2 |
Command reference matrix (vendors x operations) |
A single table showing which operations (backup, query, configure, monitor) are supported per vendor enables quick capability discovery. |
M |
P2 |
Error handling and troubleshooting guide |
Network automation errors are vendor-specific (ISE returns XML, WLC returns JSON, IOS returns CLI output). Document error patterns per vendor. |
L |
P3 |
Performance benchmarks for bulk operations |
Bulk ISE endpoint queries, mass WLC client lookups, etc. Document expected throughput and optimization strategies. |
M |
4.1. Command Reference Matrix
Proposed structure for a partials/command-matrix.adoc partial:
| Vendor | Backup | Query | Configure | Monitor | DataConnect | Auth Type |
|---|---|---|---|---|---|---|
ISE |
ERS + pxGrid |
|||||
WLC |
— |
— |
RESTCONF |
|||
… |
5. Metadata
| Field | Value |
|---|---|
Author |
Evan Rosado |
Date Created |
2025 |
Last Updated |
2026-03-30 |
Status |
Active |
Next Review |
2026-04-15 |