# NetBox SCION Plugin
A comprehensive NetBox plugin for managing SCION (Scalability, Control, and Isolation On Next-generation networks) infrastructure.
[](https://pypi.org/project/netbox-scion/)
[](https://pypi.org/project/netbox-scion/)
[](https://github.com/aciupac/netbox-scion/blob/main/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
```bash
pip install netbox-scion==1.1.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](https://github.com/netbox-community/netbox-docker):
**1. Create plugin requirements file:**
```bash
# Create/edit plugin_requirements.txt
echo "netbox-scion==1.1.2" >> plugin_requirements.txt
```
**2. Create custom Dockerfile:**
```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:**
```python
# Edit configuration/plugins.py
PLUGINS = [
'netbox_scion',
# Your other plugins...
]
```
**4. Update docker-compose.override.yml:**
```yaml
services:
netbox:
build:
context: .
dockerfile: Dockerfile-Plugins
netbox-worker:
build:
context: .
dockerfile: Dockerfile-Plugins
```
**5. Build and start:**
```bash
docker-compose build
docker-compose up -d
```
#### Option 2: System NetBox Installation
If NetBox is installed directly on your system:
**1. Install the plugin:**
```bash
# Install in your NetBox virtual environment
source /opt/netbox/venv/bin/activate
pip install netbox-scion==1.1.2
```
**2. Configure the plugin:**
```python
# Edit /opt/netbox/netbox/netbox/configuration.py
PLUGINS = [
'netbox_scion',
# Your other plugins...
]
```
**3. Run migrations and restart:**
```bash
# 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:**
```bash
# 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**](deployment/README.md) 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
```bash
# 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**](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
```bash
# 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**](deployment/README.md).**
### Getting Help
- 🐛 **Bug reports:** [GitHub Issues](https://github.com/aciupac/netbox-scion/issues)
- 💬 **Questions:** [GitHub Discussions](https://github.com/aciupac/netbox-scion/discussions)
- 📚 **Detailed docs:** [deployment/README.md](deployment/README.md)
## 📝 License
Apache License 2.0
Raw data
{
"_id": null,
"home_page": "https://github.com/aciupac/netbox-scion",
"name": "netbox-scion",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "netbox netbox-plugin scion",
"author": "Andrei Ciupac",
"author_email": "andrei.ciupac@anapaya.net",
"download_url": "https://files.pythonhosted.org/packages/29/ad/b37bb983016c975a04260d0aebe7f42bc36ab5f1ff95c750363db5e00cf5/netbox_scion-1.1.2.tar.gz",
"platform": null,
"description": "# NetBox SCION Plugin\n\nA comprehensive NetBox plugin for managing SCION (Scalability, Control, and Isolation On Next-generation networks) infrastructure.\n\n[](https://pypi.org/project/netbox-scion/)\n[](https://pypi.org/project/netbox-scion/)\n[](https://github.com/aciupac/netbox-scion/blob/main/LICENSE)\n\n## \u2728 Features\n\n- **Organizations:** Manage SCION operators with metadata and descriptions\n- **ISD-ASes:** Track Isolation Domain and Autonomous System identifiers with appliances (CORE/EDGE)\n- **Link Assignments:** Interface management with customer information and Zendesk integration\n- **REST API:** Full CRUD operations with filtering and pagination\n- **Export:** CSV and Excel export capabilities\n- **Advanced Filtering:** Search, dropdown filters, and tag-based filtering on all list pages\n\n## \ud83d\udce6 Installation\n\n```bash\npip install netbox-scion==1.1.2\n```\n\n## \ud83d\ude80 Quick Start\n\n### Prerequisites\n- NetBox v4.0+ (either Docker or system installation)\n- Python 3.8+ with pip\n\n### Installation\n\nChoose the method that matches your NetBox deployment:\n\n#### Option 1: NetBox Docker Deployment\n\nIf you're using [netbox-docker](https://github.com/netbox-community/netbox-docker):\n\n**1. Create plugin requirements file:**\n```bash\n# Create/edit plugin_requirements.txt\necho \"netbox-scion==1.1.2\" >> plugin_requirements.txt\n```\n\n**2. Create custom Dockerfile:**\n```dockerfile\n# Create Dockerfile-Plugins\nFROM netboxcommunity/netbox:latest\n\nCOPY ./plugin_requirements.txt /opt/netbox/\nRUN /usr/local/bin/uv pip install -r /opt/netbox/plugin_requirements.txt\n```\n\n**3. Configure the plugin:**\n```python\n# Edit configuration/plugins.py\nPLUGINS = [\n 'netbox_scion',\n # Your other plugins...\n]\n```\n\n**4. Update docker-compose.override.yml:**\n```yaml\nservices:\n netbox:\n build:\n context: .\n dockerfile: Dockerfile-Plugins\n netbox-worker:\n build:\n context: .\n dockerfile: Dockerfile-Plugins\n```\n\n**5. Build and start:**\n```bash\ndocker-compose build\ndocker-compose up -d\n```\n\n#### Option 2: System NetBox Installation\n\nIf NetBox is installed directly on your system:\n\n**1. Install the plugin:**\n```bash\n# Install in your NetBox virtual environment\nsource /opt/netbox/venv/bin/activate\npip install netbox-scion==1.1.2\n```\n\n**2. Configure the plugin:**\n```python\n# Edit /opt/netbox/netbox/netbox/configuration.py\nPLUGINS = [\n 'netbox_scion',\n # Your other plugins...\n]\n```\n\n**3. Run migrations and restart:**\n```bash\n# Run database migrations\ncd /opt/netbox/netbox\npython manage.py migrate\n\n# Restart NetBox services (systemd example)\nsudo systemctl restart netbox netbox-rq\n```\n\n### Verification\n\nAfter installation, verify the plugin is working:\n\n1. **Check installation:**\n ```bash\n # For Docker:\n docker exec netbox pip show netbox-scion\n \n # For system install:\n /opt/netbox/venv/bin/pip show netbox-scion\n ```\n\n2. **Access the interface:**\n - Log into NetBox web interface\n - Look for \"SCION\" section in the sidebar\n - You should see: Organizations, ISD-ASes, SCION Link Assignments\n\n### Advanced Installation\n\nFor custom Docker images, local wheel files, or complex deployments, see our [**Advanced Deployment Guide**](deployment/README.md) which covers:\n- Custom Docker images with local wheel files\n- Manual container installation\n- Troubleshooting and development setup\n\n## \ud83d\udd27 API Endpoints\n\nAll endpoints support full CRUD operations with filtering, pagination, and export:\n\n- **Organizations:** `/api/plugins/scion/organizations/`\n- **ISD-ASes:** `/api/plugins/scion/isd-ases/`\n- **Link Assignments:** `/api/plugins/scion/link-assignments/`\n\n## \ud83c\udfaf Navigation\n\nThe plugin adds a \"SCION\" section to the NetBox sidebar with:\n- Organizations\n- ISD-ASes \n- SCION Link Assignments\n\n## \ud83d\udcc1 Development\n\n### For Plugin Users\n**You don't need to clone this repository!** Simply install via pip using the instructions above.\n\n### For Contributors & Developers\n\nOnly clone this repository if you want to:\n- Contribute code changes\n- Customize the plugin\n- Use local development builds\n- Test unreleased features\n\n```bash\n# Clone and setup for development\ngit clone https://github.com/aciupac/netbox-scion.git\ncd netbox-scion\n\n# Install in development mode\npip install -e .\n\n# For advanced deployment scenarios\ncp -r deployment/* /path/to/your/netbox-docker/\n```\n\nSee [**deployment/README.md**](deployment/README.md) for advanced installation methods including custom Docker images and local wheel files.\n\n### Project Structure\n```\nnetbox_scion/\n\u251c\u2500\u2500 __init__.py # Plugin configuration\n\u251c\u2500\u2500 models.py # Data models\n\u251c\u2500\u2500 forms.py # Web forms\n\u251c\u2500\u2500 views.py # Web views\n\u251c\u2500\u2500 urls.py # URL routing\n\u251c\u2500\u2500 api/ # REST API\n\u251c\u2500\u2500 templates/ # HTML templates\n\u251c\u2500\u2500 migrations/ # Database migrations\n\u2514\u2500\u2500 static/ # CSS/JS assets\n```\n\n### Local Development\n```bash\n# Install in development mode\npip install -e .\n\n# Run migrations\npython manage.py migrate\n\n# Create wheel package\npython setup.py bdist_wheel\n```\n\n## \ud83d\udc1b Troubleshooting\n\n### Quick Fixes\n\n**Plugin not appearing?**\n- Check installation: `pip show netbox-scion` (or `docker exec netbox pip show netbox-scion`)\n- Ensure `'netbox_scion'` is in your `PLUGINS` list\n- Restart NetBox services\n\n**For detailed troubleshooting, deployment issues, and advanced configuration, see our [**Advanced Deployment Guide**](deployment/README.md).**\n\n### Getting Help\n- \ud83d\udc1b **Bug reports:** [GitHub Issues](https://github.com/aciupac/netbox-scion/issues)\n- \ud83d\udcac **Questions:** [GitHub Discussions](https://github.com/aciupac/netbox-scion/discussions)\n- \ud83d\udcda **Detailed docs:** [deployment/README.md](deployment/README.md)\n\n## \ud83d\udcdd License\n\nApache License 2.0\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "NetBox plugin for managing SCION Links Assignment",
"version": "1.1.2",
"project_urls": {
"Homepage": "https://github.com/aciupac/netbox-scion"
},
"split_keywords": [
"netbox",
"netbox-plugin",
"scion"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0b95588b2e9539472ac35a68330641602207f46c4dad9b68f4693ec61263b671",
"md5": "b1564205ec20c0ead54c3d6b700e5bd3",
"sha256": "9a56150a2d5b79cd96faef4054c21de3d6ddde50eb166e35632f29f9769e991f"
},
"downloads": -1,
"filename": "netbox_scion-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b1564205ec20c0ead54c3d6b700e5bd3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 33870,
"upload_time": "2025-09-05T08:33:48",
"upload_time_iso_8601": "2025-09-05T08:33:48.751857Z",
"url": "https://files.pythonhosted.org/packages/0b/95/588b2e9539472ac35a68330641602207f46c4dad9b68f4693ec61263b671/netbox_scion-1.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "29adb37bb983016c975a04260d0aebe7f42bc36ab5f1ff95c750363db5e00cf5",
"md5": "8d5f2f149946ffc9d81b30122d9576b8",
"sha256": "82b9188520f47ad7b5d57e073a687be09869af369d9ac1a6b5eff9129dc15480"
},
"downloads": -1,
"filename": "netbox_scion-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "8d5f2f149946ffc9d81b30122d9576b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23479,
"upload_time": "2025-09-05T08:33:50",
"upload_time_iso_8601": "2025-09-05T08:33:50.142421Z",
"url": "https://files.pythonhosted.org/packages/29/ad/b37bb983016c975a04260d0aebe7f42bc36ab5f1ff95c750363db5e00cf5/netbox_scion-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-05 08:33:50",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "aciupac",
"github_project": "netbox-scion",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "netbox-scion"
}