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

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.0.tar.gz (21.3 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.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netbox_oxidized-0.3.0.tar.gz
  • Upload date:
  • Size: 21.3 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.0.tar.gz
Algorithm Hash digest
SHA256 f9826f946dffee3692422cc6d4d75516db9b01a317703df51f52f6054ea96edb
MD5 aae6e35ff2a0e8bd9038e1f9d7f36384
BLAKE2b-256 e2e811154352825348c59380a882ac2e8b76215ee64344f108c9415a9ba0bb0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_oxidized-0.3.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.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_oxidized-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8309650a68c485c61396878a06c864f4dfcf53c2e506277ed54fb20a1a6b77c9
MD5 567fd16d6b099dc9741441ef341b531f
BLAKE2b-256 26a6ed91e56f449b67446cd35bec961018b6fe7b60800ba8ab9d36e9f3b73030

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_oxidized-0.3.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