netbox-scion


Namenetbox-scion JSON
Version 1.1.2 PyPI version JSON
download
home_pagehttps://github.com/aciupac/netbox-scion
SummaryNetBox plugin for managing SCION Links Assignment
upload_time2025-09-05 08:33:50
maintainerNone
docs_urlNone
authorAndrei Ciupac
requires_pythonNone
licenseNone
keywords netbox netbox-plugin scion
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NetBox SCION Plugin

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

[![PyPI](https://img.shields.io/pypi/v/netbox-scion)](https://pypi.org/project/netbox-scion/)
[![Python Version](https://img.shields.io/pypi/pyversions/netbox-scion)](https://pypi.org/project/netbox-scion/)
[![License](https://img.shields.io/github/license/aciupac/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[![PyPI](https://img.shields.io/pypi/v/netbox-scion)](https://pypi.org/project/netbox-scion/)\n[![Python Version](https://img.shields.io/pypi/pyversions/netbox-scion)](https://pypi.org/project/netbox-scion/)\n[![License](https://img.shields.io/github/license/aciupac/netbox-scion)](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"
}
        
Elapsed time: 2.06724s