# netbox-rpc

NetBox plugin that catalogs audited remote procedures, dispatches them through netbox-rpc-backend, and records every execution in NetBox.

| Field |Value |
| --- | --- |
| Canonical URL | https://emersonfelipesp.com/netbox-rpc |
| GitHub | https://github.com/N-MultiCloud/netbox-rpc |
| Developer guide | https://emersonfelipesp.com/netbox-rpc/developer |
| Roadmap | https://emersonfelipesp.com/netbox-rpc/roadmap |
| Releases | https://emersonfelipesp.com/netbox-rpc/releases |
| Stars | 0 |
| Forks | 0 |
| Latest release | n/a |

## Overview

netbox-rpc is the Remote Command Policy bounded context inside NetBox. It owns the procedure catalog, approval and destructive gates, execution audit ledger, and backend dispatch — not SSH drivers or device protocol implementations. Those live in netbox-rpc-backend and other executor services.

Every host operation that would otherwise become an ad-hoc shell script becomes a seeded RPCProcedure with a params schema, Linux-service allowlist entry when applicable, and a visible execution history. Operators and automation share one NetBox RBAC model for execute, approve, and cancel.

## Features

- RPCProcedure catalog with versioned commands, effect classes, and optional approval/destructive gating
- Append-only RPCExecutionEvent ledger with projection fold — terminal states never transition backward
- RPCBackend registry selects netbox-rpc-backend (or other executors) without embedding drivers in the plugin
- Credential material resolved through netbox-openbao reveal when a procedure needs SSH keys or passwords
- Companion integrations: netbox-proxbox service monitoring, netbox-packer template verify, netbox-fileserver Samba, netbox-proxy NGINX deploy
- OpenBao host operations (health, seal status, policy reload) as audited procedures — never raw shell from other plugins
- nms rpc / nbx automation dispatch through the same REST API and permission checks as the UI

## Stack

- NetBox plugin (Django / Python 3.12+)
- PostgreSQL 15+ for procedure catalog and execution ledger
- Redis 6+ and NetBox RQ for async dispatch
- netbox-rpc-backend executor (FastAPI, multi-driver SSH layer)

## Install

Primary command:

```shell
pip install netbox-rpc
```

Requires netbox-rpc-backend reachable from NetBox and RPCBackend rows seeded for your estate. Companion plugins add optional procedure families.

## Links

| Label |URL |
| --- | --- |
| repo | https://github.com/N-MultiCloud/netbox-rpc |
| integrations | https://emersonfelipesp.com/netbox-rpc/integrations |
| backend | https://github.com/N-MultiCloud/netbox-rpc-backend |
| openbao | https://emersonfelipesp.com/netbox-openbao |
| proxbox | https://emersonfelipesp.com/netbox-proxbox |
