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.
✨ 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.3
🚀 Quick Start
Prerequisites
- NetBox v4.0+ (Docker or system installation)
- Python 3.8+
Basic Installation
Choose the method that matches your NetBox deployment:
Docker Installation (Recommended)
For netbox-docker deployments:
# 1. Add plugin to plugin_requirements.txt
echo "netbox-scion==1.3.3" >> plugin_requirements.txt
# 2. Add to configuration/plugins.py
PLUGINS = ['netbox_scion']
# 3. Rebuild containers
docker-compose build
docker-compose up -d
System Installation
For native NetBox installations:
# 1. Install in NetBox virtual environment
source /opt/netbox/venv/bin/activate
pip install netbox-scion==1.3.3
# 2. Add to configuration.py
PLUGINS = ['netbox_scion']
# 3. Run migrations and restart
cd /opt/netbox/netbox
python manage.py migrate
sudo systemctl restart netbox netbox-rq
Verification
Check the plugin is installed:
pip show netbox-scion # or: docker exec netbox pip show netbox-scion
Then access NetBox and look for the "SCION" section in the sidebar.
Advanced Installation
For detailed setup, custom Docker builds, local development, or troubleshooting, see the Advanced Deployment Guide
🔧 API Access
The plugin provides a full REST API with CRUD operations, filtering, and pagination:
- Organizations:
/api/plugins/scion/organizations/ - ISD-ASes:
/api/plugins/scion/isd-ases/ - Link Assignments:
/api/plugins/scion/link-assignments/
📖 Complete API Documentation: See API.md for comprehensive documentation including:
- Authentication methods
- Request/response examples
- Filtering and search
- Error handling
- Python code examples
🎯 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/anapaya/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(ordocker exec netbox pip show netbox-scion) - Ensure
'netbox_scion'is in yourPLUGINSlist - Restart NetBox services
For detailed troubleshooting, deployment issues, and advanced configuration, see our Advanced Deployment Guide.
Getting Help
- 🐛 Bug reports: GitHub Issues
- 💬 Questions: GitHub Discussions
- 📚 Detailed docs: deployment/README.md
📝 License
Apache License 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_scion-1.3.3.tar.gz.
File metadata
- Download URL: netbox_scion-1.3.3.tar.gz
- Upload date:
- Size: 27.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac4b85d129355c625a4a3618d7538292519c89c3b5219f6a8839e0cd34c01d4a
|
|
| MD5 |
0d578c7456a479ef569960fe87211a4d
|
|
| BLAKE2b-256 |
613b7f309a722a80daaf09a64b19676512bce19f328356053eb25bddd0034893
|
File details
Details for the file netbox_scion-1.3.3-py3-none-any.whl.
File metadata
- Download URL: netbox_scion-1.3.3-py3-none-any.whl
- Upload date:
- Size: 41.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32ee3905394b374815907f09965ed5a9f61e54e22833ae315f918844268b5371
|
|
| MD5 |
734c3b9af95208d753c8316fe1a2a964
|
|
| BLAKE2b-256 |
f7f6655dd844b120fbc3bd5f4623936e1dbc6f8d53a85affe0e450574fe36b07
|