- New setting 'catalog_zone_name' (default: 'catz') to change the name of
the per-view catalog zone. Full DNS names (multiple labels) are
supported; names are handled as dns.name.Name objects, making the
comparison case-insensitive and tolerant of trailing dots.
- New setting 'catalog_zone_name_includes_view' (default: False). When
enabled, the catalog zone name is prefixed with the view name:
'<view>.<catalog_zone_name>'.
- The transfer endpoint now serves exactly the one configured catalog
zone name per view instead of accepting both 'catz' and
'<view>.catz'.
- The catalog zone NOTIFY now targets only the configured name instead
of notifying for both variants. Scheduling moved to
catalog_zone_manager, which owns all catalog zone naming.
Per PR review feedback:
- Rename settings: custom_field_force_notify -> notify_ns_custom_field_name,
force_notify_port -> notify_ns_port.
- Add notify_ns_all_zones (bool, default False) to enable the feature globally
for every zone; it coexists with the per-zone custom field — a NOTIFY is sent
if the global switch is on OR the zone's custom field is set.
- Rename the internal job/scheduler/log strings to the notify_ns naming for
consistency (SendZoneNSNotify, schedule_notify_ns).
- Update README and CHANGELOG.
- Introduced `custom_field_force_notify` setting to trigger immediate NOTIFY to a zone's nameservers when its SOA serial number changes and the custom field is set to True.
- Updated README to document the new feature and its configuration.
- Refactored notify handler to include a new job for sending forced NOTIFY messages directly to zone nameservers.
- Enhanced zone signal handling to check for SOA serial changes and trigger forced NOTIFY accordingly.
modified: __init__.py
modified: catalog_zone_manager.py
modified: dns_server.py
modified: notify_handler.py
Adding serial to notify messages to allow client to determine state.
modified: netbox_dns_bridge/notify_handler.py
modified: netbox_dns_bridge/request_handler.py
modified: netbox_dns_bridge/signals/netbox_dns_zones.py
Disable NOTIFY feature by default and add setting to enable it.
modified: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py
Remove code and description that imported old catz serials from flat files that were used before switch to DB model.
Code and docs no longer applicable so removed.
Removes the warning for step 4 from the installation guide. The warning said not to run migrations
as the plugin did not have its own models. Since v0.9.6 it does so this was forgotten to be removed.
modified: src/netbox_plugin_bind_provisioner/__init__.py
modified: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py
new file: src/netbox_plugin_bind_provisioner/migrations/0001_initial.py
new file: src/netbox_plugin_bind_provisioner/migrations/__init__.py
new file: src/netbox_plugin_bind_provisioner/models.py
Adds a database model to track the catalog zone serial instead of tracking it inside a flat file.
In the previous commit Matt Kollross pointed out a naming error where the plugin settings were referenced as 'netbox_bind_provisioner' instead of the correct name 'netbox_plugin_bind_provisioner'.
His commit missed the second instance of the same mistake further down in the README however. This fixes that one too.
new file: .gitignore
new file: LICENSE.md
new file: MANIFEST.in
new file: README.md
new file: pylint.conf
new file: pyproject.toml
new file: requirements.txt
new file: src/netbox_plugin_bind_provisioner/__init__.py
new file: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py