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.

PyPI Python Version License

✨ Features

  • Organizations: Manage SCION operators with metadata and descriptions
  • ISD-ASes: Track Isolation Domain and Autonomous System identifiers with appliances (CORE/EDGE)
  • Link Assignments: Interface management with customer information and Zendesk integration
  • REST API: Full CRUD operations with filtering and pagination
  • Export: CSV and Excel export capabilities
  • Advanced Filtering: Search, dropdown filters, and tag-based filtering on all list pages

📦 Installation

pip install netbox-scion==1.3.2

🚀 Quick Start

Prerequisites

  • NetBox v4.0+ (either Docker or system installation)
  • Python 3.8+ with pip

Installation

Choose the method that matches your NetBox deployment:

Option 1: NetBox Docker Deployment

If you're using netbox-docker:

1. Create plugin requirements file:

# Create/edit plugin_requirements.txt
echo "netbox-scion==1.3.2" >> plugin_requirements.txt

2. Create custom Dockerfile:

# Create Dockerfile-Plugins
FROM netboxcommunity/netbox:latest

COPY ./plugin_requirements.txt /opt/netbox/
RUN /usr/local/bin/uv pip install -r /opt/netbox/plugin_requirements.txt

3. Configure the plugin:

# Edit configuration/plugins.py
PLUGINS = [
    'netbox_scion',
    # Your other plugins...
]

4. Update docker-compose.override.yml:

services:
  netbox:
    build:
      context: .
      dockerfile: Dockerfile-Plugins
  netbox-worker:
    build:
      context: .
      dockerfile: Dockerfile-Plugins

5. Build and start:

docker-compose build
docker-compose up -d

Option 2: System NetBox Installation

If NetBox is installed directly on your system:

1. Install the plugin:

# Install in your NetBox virtual environment
source /opt/netbox/venv/bin/activate
pip install netbox-scion==1.3.2

2. Configure the plugin:

# Edit /opt/netbox/netbox/netbox/configuration.py
PLUGINS = [
    'netbox_scion',
    # Your other plugins...
]

3. Run migrations and restart:

# Run database migrations
cd /opt/netbox/netbox
python manage.py migrate

# Restart NetBox services (systemd example)
sudo systemctl restart netbox netbox-rq

Verification

After installation, verify the plugin is working:

  1. Check installation:

    # For Docker:
    docker exec netbox pip show netbox-scion
    
    # For system install:
    /opt/netbox/venv/bin/pip show netbox-scion
    
  2. Access the interface:

    • Log into NetBox web interface
    • Look for "SCION" section in the sidebar
    • You should see: Organizations, ISD-ASes, SCION Link Assignments

Advanced Installation

For custom Docker images, local wheel files, or complex deployments, see our Advanced Deployment Guide which covers:

  • Custom Docker images with local wheel files
  • Manual container installation
  • Troubleshooting and development setup

🔧 API Endpoints

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

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

🎯 Navigation

The plugin adds a "SCION" section to the NetBox sidebar with:

  • Organizations
  • ISD-ASes
  • SCION Link Assignments

📁 Development

For Plugin Users

You don't need to clone this repository! Simply install via pip using the instructions above.

For Contributors & Developers

Only clone this repository if you want to:

  • Contribute code changes
  • Customize the plugin
  • Use local development builds
  • Test unreleased features
# Clone and setup for development
git clone https://github.com/aciupac/netbox-scion.git
cd netbox-scion

# Install in development mode
pip install -e .

# For advanced deployment scenarios
cp -r deployment/* /path/to/your/netbox-docker/

See deployment/README.md for advanced installation methods including custom Docker images and local wheel files.

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

🐛 Troubleshooting

Quick Fixes

Plugin not appearing?

  • Check installation: pip show netbox-scion (or docker exec netbox pip show netbox-scion)
  • Ensure 'netbox_scion' is in your PLUGINS list
  • Restart NetBox services

For detailed troubleshooting, deployment issues, and advanced configuration, see our Advanced Deployment Guide.

Getting Help

📝 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.3.2.tar.gz (28.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.3.2-py3-none-any.whl (42.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for netbox_scion-1.3.2.tar.gz
Algorithm Hash digest
SHA256 d4130dda889220e8fdb7d8fd315416e797d58a5af0c9d6e9052bc4cd00cc4d01
MD5 60cf27a9866c5834ab4354bc761865f7
BLAKE2b-256 b1fcae2aa25792d5b894a96bb925bba7245683f1dde6c3dd9672b9737f2a8f33

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for netbox_scion-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99e4a883a3384601877668082cacee30f0d1881d6e8de92460d2b7c21b8c8a19
MD5 0004a87c8004979b054a2dde5e8cf5e1
BLAKE2b-256 61f39ccde1d2a867298f2d9ce53fd63a930e70e1fca3886526476b9b94d58f82

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