Skip to main content

Adds ability to create, edit and view service paths in the CESNET network.

Project description

CESNET ServicePath Plugin for NetBox

A NetBox plugin for managing service paths and segments in network infrastructure.

License

Overview

The CESNET ServicePath Plugin extends NetBox's capabilities by:

  • Managing service paths across your network
  • Creating and tracking service segments
  • Visualizing service routing

Compatibility Matrix

NetBox Version Plugin Version
4.2 4.0.0
3.7 0.1.0

Features

  • Service Path Management

    • Define experimental, core, and customer service paths
    • Track service path status and metadata
    • Link multiple segments to create complete paths
  • Segment Management

    • Track network segments between locations
    • Monitor installation and termination dates
    • Manage provider relationships and contracts
    • Link circuits to segments
    • Automatic status tracking based on dates

Data Model

Service Path

  • Name and status tracking
  • Service type classification (experimental/core/customer)
  • Multiple segment support through mappings

Segment

  • Provider and location tracking
  • Date-based lifecycle management
  • Circuit associations
  • Automated status monitoring

Quick Start

  1. Install the plugin:
pip install cesnet_service_path_plugin
  1. Enable the plugin in your NetBox configuration:
PLUGINS = [
    'cesnet_service_path_plugin'
]

PLUGINS_CONFIG = {
    "cesnet_service_path_plugin": {},
}
  1. Run NetBox migrations:
python manage.py migrate

Installation

Using pip

pip install git+https://gitlab.cesnet.cz/701/netbox/cesnet_service_path_plugin.git

Using Docker

For NetBox Docker installations, add to your plugin_requirements.txt:

cesnet_service_path_plugin

For detailed Docker setup instructions, see using netbox-docker with plugins.

Configuration

Custom Status Choices

Extend or override default status choices in your configuration.py:

FIELD_CHOICES = {
    'cesnet_service_path_plugin.choices.status': (
        ('custom_status', 'Custom Status', 'blue'),
        # ('status_value', 'Display Name', 'color'),
    )
}

Status choice format:

  • Value: Internal database value
  • Name: UI display name
  • Color: Badge color (blue, green, red, orange, yellow, purple, gray)

Default statuses (Active, Planned, Offline) will be merged with custom choices.

Custom Kind Choices

Extend or override default kind choices in your configuration.py:

FIELD_CHOICES = {
    'cesnet_service_path_plugin.choices.kind': (
        ('custom_kind', 'Custom Kind Name', 'purple'),
        # ('kind_value', 'Display Name', 'color'),
    )
}

Kind choice format:

  • Value: Internal database value
  • Name: UI display name
  • Color: Badge color (blue, green, red, orange, yellow, purple, gray)

Default kinds:

  • experimental: Experimentální (cyan)
  • core: Páteřní (blue)
  • customer: Zákaznická (green)

Custom kinds will be merged with the default choices.

API Usage

The plugin provides a REST API for managing service paths and segments:

Development

Setting Up Development Environment

  1. Clone the repository:
git clone https://gitlab.cesnet.cz/701/netbox/cesnet_service_path_plugin.git
cd cesnet_service_path_plugin
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or
.\venv\Scripts\activate  # Windows
  1. Install development dependencies:
pip install -e ".[dev]"

Credits

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

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

cesnet_service_path_plugin-5.0.2b4.tar.gz (51.8 kB view details)

Uploaded Source

File details

Details for the file cesnet_service_path_plugin-5.0.2b4.tar.gz.

File metadata

File hashes

Hashes for cesnet_service_path_plugin-5.0.2b4.tar.gz
Algorithm Hash digest
SHA256 b2a80daea8f17421064106f5636c020ec48cfc30c8f13749c61fabeb321f296a
MD5 ac06a62795efff13577f13cd61f1d2a4
BLAKE2b-256 9ac07bcc3d884579cb4eae6543b937ed59c90fec2f83c74977b311a9400dc413

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