Skip to content

Ability to group services and select multiple protocols to create an 'application' #16841

@ghost

Description

NetBox version

v4.0.6

Feature type

Change to existing functionality

Proposed functionality

Currently, services and service templates follow a 1:1 relationship and only allow a single protocol per service. My proposal is to modify the current behavior to allow a one to many relationship, and allow multiple protocols for a single service.

Multi-protocol service
Services can sometimes operate over multiple protocols. For instance, DNS. Although typically a UDP service, DNS will actually use TCP in certain situations.
https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/dns-works-on-tcp-and-udp
We should be able to model this in Netbox using a single service (DNS), with the ability to select both TCP and UDP. Currently you would have to create 2 separate services for DNS, 1 using TCP the other using UDP. Which segways into the larger feature request.

Group service templates together
Currently, when you create a service and wish to reference a service template, you are only able to choose a single service template. The feature request is to add the ability to select multiple service templates rather than just one. This would give you the ability to select multiple ports/protocols from different service templates to form a more complete "service" that runs on a device/VM.

Use case

Let's pretend we want to model the service "Active Directory". AD is a catch-all phrase for a number of different technologies (LDAP, Kerberos, DNS, RPC, SMB, NetBIOS, etc.)
With the above features implemented, we would be able to create all of those separate technologies as service templates, then group them together into a service called "Active Directory" which we could then apply to a domain controller VM.

Or another example might be a custom home grown internal application that uses multiple different custom ports and/or protocols. We would then group those together to form an application called "Internal ERP" or whatever your app is called, and apply those to devices/vm's to better model what services a machine hosts/uses.

Database changes

I don't believe any database changes are needed. 95% of the functionality is already there, it just needs some slight modifications to allow multiple values rather than a single value for the "protocols" on service templates, and multiple choice for "service templates" on services.

External dependencies

none.

Metadata

Metadata

Assignees

No one assigned

    Labels

    complexity: mediumRequires a substantial but not unusual amount of effort to implementstatus: backlogAwaiting selection for worktype: featureIntroduction of new functionality to the application

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions