peteeckel / netbox-plugin-dns

NetBox DNS is a NetBox plugin for managing DNS data.
https://pypi.org/project/netbox-plugin-dns
MIT License
194 stars 15 forks source link

Filter DNSsync entries for each view #401

Open alehaa opened 2 days ago

alehaa commented 2 days ago

Is your feature request related to a problem? Please describe. Right now, IPAM DNSsync automatically creates a DNS record for all "zones with matching names in the DNS views linked to the IP address' prefix". However, sometimes not all DNS names should be published into each zone, i.e. when a service is just internal but uses the same domain as public services. It would be nice to optionally filter which records will be populated in a zone.

Describe the solution you'd like An optional filter could be added to each view. The IP-Address object would be passed to the filter. If the filter doesn't match, creating the record is skipped. NetBox already includes similar functionality e.g. for permissions or custom links.

Users then could either leave this field empty (all records will be published to all matching zones of the view). Otherwise the filter could check on IPAddress fields, custom fields or even related values like the device / vm it's attached to.

Describe alternatives you've considered

Additional context None

peteeckel commented 2 days ago

Hi @alehaa, thanks for this feature suggestion - I'll think about how to best implement it. The use cases are clear and it certainly makes sense to define a mechanism that makes it possible to filter IP addresses per view that should will result in address records.

Originally I had the idea to provide some means of defining a list of views to exclude per IP address, but found it clumsy and postponed it. But your idea definitely has more charm and could be easier to implement as well.