Skip to main content

NetBox SLM

NetBox SLM is a plugin for lifecycle management of software components, including versions and installations.

PyPi Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors License Badge

Known Issues

  • WARNING: This plugin is only tested with a single NetBox version at this time.
  • CSV/Bulk imports for SoftwareProduct, Version and Installation are currently broken (WIP)

Installation Guide

In mono service:

To install the plugin, first using pip and install netbox-svm:

cd /opt/netbox
source venv/bin/activate
pip install netbox-svm

Next, enable the plugin in /opt/netbox/netbox/netbox/configuration.py, or if you have a /configuration/plugins.py file, the plugins.py file will take precedence.

PLUGINS = [
   'netbox_svm'
]

Then you may need to perform the final step of restarting the service to ensure that the changes take effect correctly:

python netbox/manage.py migrate netbox_svm
sudo systemctl restart netbox

In docker env

When using the Docker version of NetBox, first follow the netbox-docker quickstart instructions to clone the netbox-docker repo and set up the docker-compose.override.yml.

Next, follow these instructions (based on the NetBox docker variant instructions) to install the NetBox SLM plugin:

  1. Add netbox_svm to the PLUGINS list in configuration/plugins.py.

  2. Create a plugin_requirements.txt with netbox-svm as contents.

  3. Create a Dockerfile-SLM with contents:

    FROM netboxcommunity/netbox:v4.0
    
    COPY ./plugin_requirements.txt /
    RUN /opt/netbox/venv/bin/pip install --no-warn-script-location -r /plugin_requirements.txt
    
  4. Create a docker-compose.override.yml with contents:

    version: '3.7'
    services:
      netbox:
        ports:
          - 8000:8080
        build:
          context: .
          dockerfile: Dockerfile-SLM
        image: netbox:slm
      netbox-worker:
        image: netbox:slm
      netbox-housekeeping:
        image: netbox:slm
    

Now, build the image: docker compose build --no-cache

And finally, run NetBox with the SLM plugin: docker compose up -d

Releasing Guide

To draft a release;

update the netbox_svm/__init__.py file to reflect the new version, then from the src directory run

$ python -m build
$ twine upload dist/*

On Github.com create a similar tag and version. These steps could be automated with a github workflow.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_svm-1.0.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_svm-1.0.0-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file netbox_svm-1.0.0.tar.gz.

File metadata

  • Download URL: netbox_svm-1.0.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for netbox_svm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fbdeafa39f63e7d66a9899848c3e03fccbac19457a2516a5e1b38a64359af595
MD5 98319e9ed3317aff8aa0238bc56937af
BLAKE2b-256 282a16bee9514d330699746f3245c272b9870d340b94f7805d10263f226ccbe1

See more details on using hashes here.

File details

Details for the file netbox_svm-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: netbox_svm-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for netbox_svm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a36fd6c799f33e92505d7172091863144102a39d64a1f9b81b2e06c935b0fc1
MD5 f802de9e03f50ffc8adbb6725ee3a75e
BLAKE2b-256 5d5b64fdef9294d91c7a39e2bbddf07d19da8257d1e4c7798f9f6aa0cdb6a0dd

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 Sentry Error logging StatusPage Status page