new file: netbox_dns_bridge/jobs/__init__.py renamed: netbox_dns_bridge/signals/notify_handler.py -> netbox_dns_bridge/jobs/notify.py modified: netbox_dns_bridge/management/commands/dns_transfer_endpoint/catalog_zone_manager.py modified: netbox_dns_bridge/signals/netbox_dns_zones.py Restructuring
3.2 KiB
3.2 KiB
Unreleased
- Move
notify_handlerfromsignals/tojobs/and rename tonotify. - Rename
SendClientDNSNotifytoSendClientNotify. It now sends a single NOTIFY for the zone only; catalog zone entries (catz,{view}.catz) have been removed. - Catalog zone NOTIFY is now scheduled by
increment_soa_serialviaschedule_catalog_zone_notify, which enqueuesSendClientNotifyforcatzand{view}.catz— no separate job class needed. - Extract a shared
_send_notifyhelper used by bothSendClientNotifyandSendNSNotifyfor message building and the send loop. - Move all NOTIFY scheduling gates (
notify_clients,notify_ns_all_zones, custom field) into the scheduling functions. The signal handler calls the scheduling functions unconditionally; each function decides whether to enqueue based on its own settings gate. - Replace the global
IntegerKeyValueSettingmodel (singlecatalog-zone-soa-serialvalue shared by all catalog zones) with a newCatalogZonemodel that has a 1:1 foreign key tonetbox_dns.models.Viewand its ownsoa_serialfield. Each view's catalog zone now tracks and increments its SOA serial independently. Existing serials are preserved during migration by copying the old global value into every view's newCatalogZonerow. - Change the
CatalogZoneMemberIdentifier.nameuniqueness from globally unique to unique per catalog zone (UniqueConstraint(name, catalog_zone)). Acatalog_zoneforeign key has been added to the identifier model to enforce this. - Remove the
dns-settingsmanagement command, which was a generic get/set/list interface overIntegerKeyValueSetting(now removed). - Defer the catalog zone SOA serial increment on zone deletion to
transaction.on_commit, matching the create/modify path. Previously the increment ran immediately atpost_deletetime, so a rollback of the delete transaction would have left the catalog serial bumped anyway. - Add the option to send a NOTIFY directly to a zone's own nameservers when its SOA serial number
changes. Enable it per zone via a boolean custom field named by
notify_ns_custom_field_name, globally for all zones vianotify_ns_all_zones(defaultFalse), or both. Nameserver addresses are resolved from NetBox DNS A/AAAA records within the zone's view and the NOTIFY is signed with the per-view TSIG key. A companionnotify_ns_portsetting (default 53) controls the destination port.
1.0.7 - 2026-03-02
README Change - Moving private keys to global scope since Bind 9.20 view scoped keys have become unreliable and sometimes wouldnt match.
1.0.8 - 2026-03-12
- Change License to MIT to match the netbox-plugin-dns License. This project rests on the netbox-plugin-dns so a matching license makes more sense.
- Renaming Project from Netbox Plugin Bind Provisioner to Netbox DNS Bridge as new code will be contributed that allows data to flow in both directions (Dynamic Updates), not just out of Netbox DNS.
1.5.0 - 2026-04-08
- Change to versioning scheme - Now matches the major and minor version number to the one of netbox-plugin-dns. Only the minor sub version will be used to track incremental changes to this plugin.