Skip to main content

NetBox plugin for oxidized integration

Project description

NetBox Oxidized Plugin

A NetBox plugin that displays Oxidized device configuration backups directly in Device detail pages.

NetBox Version Python Version License PyPI

Features

  • Oxidized Tab - Adds an "Oxidized" tab to Device detail pages
  • Config Display - Shows the latest device configuration as code with copy button
  • Node Status - Displays backup status, model, and last backup time
  • Link to Oxidized - Direct link to the device's version history in Oxidized
  • Device Filtering - Configurable by device role and manufacturer slugs
  • HTMX Loading - Async content loading without blocking the page
  • Caching - API responses cached to reduce load on Oxidized

Requirements

  • NetBox 4.0 or higher
  • Python 3.10+
  • Oxidized with REST API enabled

Installation

From PyPI (recommended)

pip install netbox-oxidized

Docker Installation

Add to your NetBox Docker requirements file:

# requirements-extra.txt
netbox-oxidized

Configuration

Add the plugin to your NetBox configuration:

# configuration.py or plugins.py

PLUGINS = [
    'netbox_oxidized',
]

PLUGINS_CONFIG = {
    'netbox_oxidized': {
        # Required: Oxidized REST API URL
        'oxidized_url': 'http://oxidized:8888',
        # Optional: External URL for browser links (if behind reverse proxy)
        'oxidized_external_url': 'https://oxidized.example.com',
        # API timeout in seconds
        'timeout': 30,
        # Cache duration in seconds
        'cache_timeout': 300,
        # SSL certificate verification
        'verify_ssl': False,
        # Device role slugs to show tab for (empty = all)
        'device_roles': ['voice-gateway'],
        # Manufacturer slugs to show tab for (empty = all)
        'manufacturers': ['cisco'],
    }
}

See the Configuration wiki for full details.

Usage

Once installed and configured:

  1. Navigate to any Device in NetBox that matches your filter criteria
  2. Click the Oxidized tab
  3. View the node status and latest configuration
  4. Use the Copy button to copy the config
  5. Click Open in Oxidized to view version history

Documentation

Full documentation is available on the Wiki:

Development

Setup

git clone https://github.com/sieteunoseis/netbox-oxidized.git
cd netbox-oxidized
pip install -e ".[dev]"

Code Style

black netbox_oxidized/
isort netbox_oxidized/
flake8 netbox_oxidized/

Changelog

See CHANGELOG.md for release history.

Support

If you find this plugin helpful, consider supporting development:

Buy Me A Coffee

License

Apache License 2.0 - See LICENSE for details.

Author

sieteunoseis

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_oxidized-0.1.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_oxidized-0.1.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file netbox_oxidized-0.1.0.tar.gz.

File metadata

  • Download URL: netbox_oxidized-0.1.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netbox_oxidized-0.1.0.tar.gz
Algorithm Hash digest
SHA256 56c56d94a82de38bcf833b803ac2a4a8197431203c2c59ff485eb587f44cab56
MD5 dd8e2e04228548d83e2d8d98bad6bde9
BLAKE2b-256 695706ef37b745742b1a3aaddc524bf5ce8d4cf784a6d7e9d98cf44f6e1ca95e

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_oxidized-0.1.0.tar.gz:

Publisher: release.yml on sieteunoseis/netbox-oxidized

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_oxidized-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_oxidized-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a19fb0e310bd0bdbdbfd4488e24ad6a71625c675212b3e3975cb8e06624f3af
MD5 d281e9ac8501cc501a2fd215a34f1bc6
BLAKE2b-256 1d5e79e7d69d73cc08adf78a1af372a9d5b9a53ffc91155575d8a768bf701aea

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_oxidized-0.1.0-py3-none-any.whl:

Publisher: release.yml on sieteunoseis/netbox-oxidized

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page