Skip to main content

NetBox plugin for managing SCION Links Assignment

Project description

NetBox SCION Plugin

A comprehensive NetBox plugin for managing SCION (Scalability, Control, and Isolation On Next-generation networks) infrastructure.

🚀 Quick Start

Prerequisites

  • NetBox deployment using netbox-docker
  • Docker and Docker Compose

Installation

  1. Copy the deployment files to your netbox-docker directory:
cp -r deployment/* /path/to/your/netbox-docker/
  1. Update your docker-compose.yml to use the custom Dockerfile:
services:
  netbox:
    build:
      context: .
      dockerfile: Dockerfile.netbox-fixed
  1. Add to your NetBox plugins.py file:
PLUGINS = [
    'netbox_scion',
    # Your existing plugins...
]
  1. Add to your env/netbox.env:
PLUGINS_REQUIREMENTS=netbox_scion
  1. Deploy:
cd /path/to/your/netbox-docker
docker-compose down
docker-compose build --no-cache netbox
docker-compose up -d

See deployment/README.md for detailed instructions.

🏗️ Features

Organizations

  • Manage SCION organizations with short and full names
  • Description and metadata fields
  • REST API and export capabilities

ISD-ASes (Isolation Domain - Autonomous System)

  • ISD-AS identifier management with regex validation (^\d+-[0-9a-f]{1,4}:[0-9a-f]{1,4}:[0-9a-f]{1,4}$)
  • Organization association
  • Core nodes list support
  • Detailed descriptions

SCION Link Assignments

  • Interface assignment management (interface_id per ISD-AS must be unique)
  • Customer information (ID and name)
  • Zendesk ticket integration
  • Advanced filtering and search capabilities

🎯 Navigation

Plugin appears under the "Plugins" section in NetBox sidebar with:

  • Organizations
  • ISD-ASes
  • SCION Link Assignments

🔧 API Endpoints

  • Organizations: /api/plugins/scion/organizations/
  • ISD-ASes: /api/plugins/scion/isd-ases/
  • Link Assignments: /api/plugins/scion/link-assignments/

All endpoints support full CRUD operations with filtering, pagination, and export.

📁 Development

Project Structure

netbox_scion/
├── __init__.py              # Plugin configuration
├── models.py                # Data models
├── forms.py                 # Web forms
├── views.py                 # Web views
├── urls.py                  # URL routing
├── api/                     # REST API
├── templates/               # HTML templates
├── migrations/              # Database migrations
└── static/                  # CSS/JS assets

Local Development

# Install in development mode
pip install -e .

# Run migrations
python manage.py migrate

# Create wheel package
python setup.py bdist_wheel

🐛 Support

For issues, please check:

  1. Plugin installation: docker exec netbox /opt/netbox/venv/bin/pip list | grep netbox-scion
  2. Configuration: Plugin in PLUGINS list and PLUGINS_REQUIREMENTS
  3. Migrations: Auto-handled by custom entrypoint script
  4. Restart NetBox container if needed

📝 License

Apache License 2.0

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_scion-1.0.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

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

netbox_scion-1.0.0-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file netbox_scion-1.0.0.tar.gz.

File metadata

  • Download URL: netbox_scion-1.0.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for netbox_scion-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b7d56fb822185fa9c62ff0fb41ec6ef3fb02534581ab15709bcb57b8683f6fb1
MD5 73931cb4fe6620f4e350cdb9a92f7e97
BLAKE2b-256 cfa087334110a8ec39840850ab2854289c57d8b407c34d219d5e9b7435d120cd

See more details on using hashes here.

File details

Details for the file netbox_scion-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: netbox_scion-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for netbox_scion-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e9c8eb21f1ccf52654cba2065591ab07f05f230bae8ce131ddb4c80c56f4a822
MD5 df5c296640cb7fff009105deb1034cb4
BLAKE2b-256 c9f3ff53d034e9b5db0e546e70576415ad9793850d02b79ffc47d37de18969e6

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