Skip to content

DBlinc008/netpulse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

158 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetPulse

Docker Python License Agent-Ready

NetPulse is a high-performance Infrastructure Connectivity API designed to bridge the gap between legacy SSH-based CLI and modern programmable environments. It transforms traditional network switches and Linux servers into AI-programmable assets, providing a reliable connectivity layer for modern high-performance clusters.

🎯 Positioning: The SSH-to-API Bridge

NetPulse abstracts the complexity of human-oriented CLI interactions into a standardized, machine-oriented RESTful API. It acts as the "actuator" that allows AI Agents and automation frameworks to interact with physical hardware via structured data models.

graph LR
    subgraph Consumers[Modern Consumers]
        direction TB
        A1[AI Agents]
        A2[Automation SDKs]
        A1 ~~~ A2
    end

    subgraph NetPulse[NetPulse Connectivity API]
        C[API Controller] --> |Task Distribution| Q{Redis Queue}
        Q --> W1[Worker Node 1]
        Q --> W2[Worker Node 2]
        Q --> Wn[Worker Node N]
    end

    subgraph Infrastructure[Hardware Infrastructure]
        direction TB
        D1[Network Switches]
        D2[Linux Servers]
        Dn[AI / GPU Clusters]
        D1 ~~~ D2 ~~~ Dn
    end

    Consumers -->|REST / JSON| C
    W1 -.->|Distributed SSH| D1
    W2 -.->|Distributed SSH| D2
    Wn -.->|Distributed SSH| Dn

    style NetPulse fill:#f9f9f9,stroke:#333,stroke-width:2px
Loading

πŸ›  Core Capabilities

  • SSH-to-API Abstraction: Seamlessly converts multi-vendor CLI interactions (Cisco, Arista,HP_comware etc.) and Linux shell commands into structured JSON responses.
  • Self-Healing Connectivity: Proactively maintains session integrity via background deep probes to detect and automatically restore stalled SSH connections.
  • High-Concurrency Session Pooling: Implements "Pinned Workers" to reuse persistent sessions, eliminating the overhead of frequent SSH handshakes.
  • Linux Mastery: Advanced server management supporting sudo elevation, SFTP file synchronization, and persistent detached background tasks.
  • Agent-Ready Context: Engineered for LLM integration via specialized documentation (llms.txt) and unified result modeling for consistent AI parsing.

πŸ— Distributed Architecture

NetPulse utilizes a Controller-Worker model to offload execution tasks to a scalable fleet of workers. This ensures high availability and responsiveness even when managing thousands of nodes.

  • Redis-Backed Dispatch: Global task coordination and status management.
  • Dynamic Resource Handling: Workers manage their own session lifecycle and self-cleaning staging environments.

πŸ“₯ Quick Start

One-Click Deployment

# Clone and deploy using the automated script
git clone https://github.com/scitix/netpulse.git
cd netpulse
bash ./scripts/docker_auto_deploy.sh

API Examples

A. Network Switch Interface

curl -X POST http://localhost:9000/device/exec \
  -H "X-API-KEY: your_api_key" \
  -d '{
    "driver": "netmiko",
    "connection_args": {"device_type": "cisco_ios", "host": "10.0.1.1", "username": "admin", "password": "pass"},
    "command": ["show ip interface brief"],
    "parsing": {"name": "textfsm"}
  }'

B. Linux Detached Task

curl -X POST http://localhost:9000/device/exec \
  -d '{"driver": "paramiko", "host": "10.0.10.1", "detach": true, "command": ["yum update -y"]}'

πŸ“– Resources

  • πŸ€– Agent Guide (llms.txt) - Essential prompt context for AI integration.
  • πŸ”Œ API Manual - Technical reference optimized for machine parsing.
  • πŸ‘· Issues - Bug reporting and feature requests.

NetPulse - Bridging the gap between legacy infrastructure and the AI era.

About

API Server for Network and Linux Automation

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 92.8%
  • Shell 5.2%
  • Makefile 1.6%
  • Other 0.4%