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.2.tar.gz (52.0 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for cesnet_service_path_plugin-5.0.2.tar.gz
Algorithm Hash digest
SHA256 3c035e4ab1b93789de2ddde7827a4c33b4af1d82a90d0aa0a37efc3556b48c27
MD5 eb07732f233ff10ed7af7a8586adfdae
BLAKE2b-256 f18686a368f199d02dab5ce5c51a8c5f71823c8fefb6dec90053670f65ea40dc

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