Metadata-Version: 2.4
Name: netbox-pbs
Version: 0.0.1
Summary: NetBox plugin for Proxmox Backup Server (PBS) inventory through proxbox-api
Author-email: Emerson Felipe <emersonfelipe.2003@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/emersonfelipesp/netbox-pbs
Project-URL: Documentation, https://emersonfelipesp.github.io/netbox-pbs/
Project-URL: Source, https://github.com/emersonfelipesp/netbox-pbs
Project-URL: Issues, https://github.com/emersonfelipesp/netbox-pbs/issues
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: netbox-proxbox>=0.0.16
Requires-Dist: requests>=2.33.0
Provides-Extra: test
Requires-Dist: pytest>=9.0.3; extra == "test"
Requires-Dist: pytest-cov>=7.1.0; extra == "test"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.27; extra == "docs"
Requires-Dist: ghp-import>=2.1; extra == "docs"
Provides-Extra: e2e
Requires-Dist: playwright>=1.58.0; extra == "e2e"
Requires-Dist: requests>=2.33.0; extra == "e2e"

# netbox-pbs

NetBox plugin that reflects **Proxmox Backup Server (PBS)** inventory into
NetBox through the [`proxbox-api`](https://github.com/emersonfelipesp/proxbox-api)
`/pbs/*` endpoints.

`netbox-pbs` is a sibling plugin of
[`netbox-proxbox`](https://github.com/emersonfelipesp/netbox-proxbox) and reuses
its FastAPI endpoint resolution, branch lifecycle, and job conventions. When
`netbox-proxbox` is installed it is used as the source of backend context;
otherwise the plugin falls back to its own `proxbox_api_url` /
`proxbox_api_key` plugin settings.

## Status

`netbox-pbs` v0.0.1 is a read-only NetBox inventory layer for PBS. All
mutations remain in Proxmox Backup Server; this plugin only reflects.

## Included Models

- PBS servers
- PBS datastores
- PBS snapshots
- PBS jobs
- PBS plugin settings

## Sync Job

`PBSSyncJob` calls `proxbox-api` sync resources:

- `full`
- `datastores`
- `snapshots`
- `jobs`
- `node`

When NetBox branching support is available through `netbox-proxbox`, PBS sync
jobs can create a branch, run the backend sync against the branch schema, and
merge it back according to the plugin settings conflict policy.

## Requirements

- NetBox 4.5.x – 4.6.x
- Python 3.12+
- [`netbox-proxbox`](https://github.com/emersonfelipesp/netbox-proxbox) >= 0.0.16
- A reachable [`proxbox-api`](https://github.com/emersonfelipesp/proxbox-api)
  instance with the `/pbs/*` route group enabled

## Installation

```bash
pip install netbox-pbs
```

Then add to `configuration.py`:

```python
PLUGINS = [
    "netbox_proxbox",   # required peer plugin
    "netbox_pbs",
]
```

Run NetBox migrations as usual:

```bash
python manage.py migrate
```

## Documentation

Full documentation is published at
<https://emersonfelipesp.github.io/netbox-pbs/>.

## License

Apache-2.0
