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
  • Dashboard Widget - Backup status summary showing node freshness counts

Screenshots

Dashboard Widget

Backup status widget showing fresh, stale, critical, and never-backed-up node counts.

Dashboard Widget

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

Using NetBox as Oxidized's Device Source

Want Oxidized to pull its device inventory from NetBox automatically? See the examples/netbox-source directory for a ready-to-use Docker sidecar that queries the NetBox API and serves devices to Oxidized via HTTP source.

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.3.3.tar.gz (21.5 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.3.3-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netbox_oxidized-0.3.3.tar.gz
  • Upload date:
  • Size: 21.5 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.3.3.tar.gz
Algorithm Hash digest
SHA256 f810d1de273ffe932f7351befbe8f4670ddd46365b23c1cafcbe31b3eac643f8
MD5 c5d91b93eeb6f0b36e6b7586138d6905
BLAKE2b-256 d180984eca62844d5e47cf469f1216c3aed6673a571b09f0c49c2248a756e416

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for netbox_oxidized-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 256887bc3accc5e42f5ebaa562e45c00d418946678537d9faf9ad2926c153b16
MD5 8dea21339cdb0c663c747f2763cff070
BLAKE2b-256 4d08bc1b98e83eab3c4a3ecbaca828f514665a76d325b4d57020d2655b5df9d0

See more details on using hashes here.

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