Skip to Main Content
NetBox Plugin Ideas

Propose and vote for your most-wanted NetBox plugins!

Status Discussion
Created by Stefan Coussens
Created on May 25, 2023

Add "software" and "software_type" objects because "services" is not enough

In the current "services" implementation it is very limiting to add "software"

I propose the creation of a software type and software object to add specific automation parameters for installation/deployment purposes






Use case

I've got a ansible playbook that "deploys" a vm that is defined in netbox virtual machine.

on that vm certain software (service) need to be installed


vm 1: Tomcat

vm 2: oracle DB


For my automation to work i need certain variables. You can add custom fields like


Tomcat_install_path

Tomcat_version

Oracle_install_path

Oracle_version


But this is added to ALL services and makes it unmanageable


I would like to be able to create a "Tomcat" software type with it's own custom fields

Tomcat_install_path

Tomcat_version


and a Oracle software type for it's custom fields

Oracle_install_path

Oracle_version


Software is quite diverse so if you have ansible scritps that deploy 20 different applications with each 3 custom fields you get 60 custom fields and that is a bit much


You could also "just add a big json custom field" where you just dump everything in but then you cannot visualize/filter/table view "show all tomcat versions" (unless a jsmpath filter would be possible in the table view)


Open items

from the documentation:


Unlike general-purpose CMDBs, NetBox has curated a data model which caters specifically to the needs of network engineers and operators. It delivers a wide assortment of object types carefully crafted to best serve the needs of infrastructure design and documentation. These cover all facets of network technology, from IP address managements to cabling to overlays and more:



--> maybe the mission statement should be altered to do have some "general-purpose" objects. (also maybe netbox should expand it's scope from network engineers and operators to System engineers :) )

  • Attach files
  • Victoria Laux
    Reply
    |
    Dec 2, 2023

    For a better overview, the source should be implemented too. The package origin or the download url?

  • Stefan Coussens
    Reply
    |
    Jun 23, 2023

    I kind of agree. But using context/rendered configuration makes the visibility a lot harder.

    Eg: I want to know where tomcat is installed and what version.

    Either I write a custom report (that do-able) but it would be nice if you could see it in the overview table.


    So is it possible to "jq /jmespath" a configuration context (or other json custom field) as a colum in the list view? -> this would be awsome :)


    1 reply
  • Daniel Anner
    Reply
    |
    Jun 13, 2023

    I agree with Martin, it souunds like config context/rendered configuration might be what you need to achieve this

  • Martin
    Reply
    |
    Jun 1, 2023

    Why not use config context?