Enable extensibility using plugins #51

Closed
opened 2025-12-29 15:30:42 +01:00 by adam · 2 comments
Owner

Originally created by @candlerb on GitHub (Jun 28, 2016).

Here is an example of how I might want to extend Netbox - to generate DNS records.

  • for each IPAM address entry, add a "DNS name" field
  • use this data to export zone files (both forward and reverse)
  • this requires:
    • adding a new column to ipam_ipaddress
    • corresponding new data entry field in IP Address add/edit/import
    • a separate web area for other DNS operations (e.g. export zone file, adding other DNS records like MX and CNAME)
    • optional triggers for provisioning (e.g. queue list of DNS changes to push)

However, making this part of Netbox core might not suit how everyone wants to manage their DNS. So would it be better instead for Netbox to support such extensions as plugins, so they remain optional?

The issue of modifying the ipam_ipaddress table can be dealt with by having a separate linked table, but the DNS code would still need some way to hook into the UI. At simplest, the DNS plugin could ask for a "DNS" button to appear on the IP address page, and that would link to a separate page or pop-up.

I can see other possible plugins to:

  • Auto-populate serial number, interfaces and IP addresses from SNMP queries
  • Connect to iKVM, serial console; control power via PDU; control console and power via IPMI
  • Manage VMs via ESXi, Openstack, Ganeti etc
  • Configure monitoring
  • Collect interface stats, ARP tables, bridge forwarding tables
  • Record fibre strands and cables

These probably belong in separate projects, given the large number of different devices which need to be supported - but they will still want to integrate into the UI somehow.

P.S. If there is a discussion list please point me at it :-)

Originally created by @candlerb on GitHub (Jun 28, 2016). Here is an example of how I might want to extend Netbox - to generate DNS records. - for each IPAM address entry, add a "DNS name" field - use this data to export zone files (both forward and reverse) - this requires: - adding a new column to `ipam_ipaddress` - corresponding new data entry field in IP Address add/edit/import - a separate web area for other DNS operations (e.g. export zone file, adding other DNS records like MX and CNAME) - optional triggers for provisioning (e.g. queue list of DNS changes to push) However, making this part of Netbox core might not suit how everyone wants to manage their DNS. So would it be better instead for Netbox to support such extensions as plugins, so they remain optional? The issue of modifying the ipam_ipaddress table can be dealt with by having a separate linked table, but the DNS code would still need some way to hook into the UI. At simplest, the DNS plugin could ask for a "DNS" button to appear on the IP address page, and that would link to a separate page or pop-up. I can see other possible plugins to: - Auto-populate serial number, interfaces and IP addresses from SNMP queries - Connect to iKVM, serial console; control power via PDU; control console and power via IPMI - Manage VMs via ESXi, Openstack, Ganeti etc - Configure monitoring - Collect interface stats, ARP tables, bridge forwarding tables - Record fibre strands and cables These probably belong in separate projects, given the large number of different devices which need to be supported - but they will still want to integrate into the UI somehow. P.S. If there is a discussion list please point me at it :-)
adam added the status: duplicate label 2025-12-29 15:30:42 +01:00
adam closed this issue 2025-12-29 15:30:42 +01:00
Author
Owner

@mdlayher commented on GitHub (Jun 30, 2016):

I'm going to close this for now in favor of the generic webhooks mechanism proposed in #81 . If it makes sense to enable plugins in some other form, we can revisit this issue.

@mdlayher commented on GitHub (Jun 30, 2016): I'm going to close this for now in favor of the generic webhooks mechanism proposed in #81 . If it makes sense to enable plugins in some other form, we can revisit this issue.
Author
Owner

@clinta commented on GitHub (Jun 20, 2019):

I think this should be revisited. I need to create a custom form to standardize our process of opening a new branch, this form would ask everything necessary to create the site, vlan group, vlans and devices for a router and switch.

I can do this easily enough with my own forms and the netbox API, but a plugin infrastructure would allow me to add my custom page into the netbox gui, with links to it from the navbar and with the netbox header and footer consistently applied to my custom forms.

@clinta commented on GitHub (Jun 20, 2019): I think this should be revisited. I need to create a custom form to standardize our process of opening a new branch, this form would ask everything necessary to create the site, vlan group, vlans and devices for a router and switch. I can do this easily enough with my own forms and the netbox API, but a plugin infrastructure would allow me to add my custom page into the netbox gui, with links to it from the navbar and with the netbox header and footer consistently applied to my custom forms.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#51