- Catz member identifiers are created from uuid encoded in base32, lower-cased, and padding removed.
- On endpoint startup, make sure all zones have a catz identifier assigned. If not, create them.
- Use signals to create or update a zone's catz identifier.
Slight changes to previous commit:
1. Stop converting the zone ID to string for catalog zone PTR record creation
and simply use its int type.
2. Extend padding of ID in catalog zone PTR record from 6 digits to 9.
Auto-incrementing of zone IDs may create larger IDs then expected if the
turn-over of zones is high. Precautionary measure.
3. Fix catalog zone SOA record creation - A slight mistake was introduced in
previous commit that would render the set the MNAME field to
"invalid.zones.catz." rather than the intended "invalid." value.
4. Run code through black formater to stay compliant.
I've opted for a slightly shorter name for PTR owner names
The result looks like this:
```
catz. 0 IN SOA invalid. invalid. 23 60 10 1209600 0
zid-000002.zones.catz. 0 IN PTR 2.0.192.in-addr.arpa.
zid-000001.zones.catz. 0 IN PTR example.net.
zid-000003.zones.catz. 0 IN PTR jpmens.net.
zid-000004.zones.catz. 0 IN PTR tcp53.ch.
catz. 0 IN NS invalid.
version.catz. 0 IN TXT "2"
```
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.
modified: src/netbox_plugin_bind_provisioner/models.py
Remove the settings model from Netbox's Permission system as these values are for internal use of the plugin only.
new file: src/netbox_plugin_bind_provisioner/management/commands/export-all-dns-zones.py
new file: src/netbox_plugin_bind_provisioner/management/commands/export-dns-zone.py
new file: src/netbox_plugin_bind_provisioner/utils.py
Adds export commands for zones to bind zone files and bump version to v1.0.4
modified: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py
Allows for TXT records to be added without quotation. This will apply the correct quoting and
chunking where needed.
modified: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py
Fixes bug: TXT records were truncated instead of chunked when larger then 255 characters and on semicolons.
modified: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py
modified: src/netbox_plugin_bind_provisioner/migrations/0001_initial.py
modified: src/netbox_plugin_bind_provisioner/models.py
Run code through black formater and bump version string to v1.0.0
Ingore build/ dir
modified: src/netbox_plugin_bind_provisioner/__init__.py
Set version v0.9.9
modified: src/netbox_plugin_bind_provisioner/management/commands/bind-transfer-endpoint.py
Fix bug where an exception occurse if a view has no zones.
Feature added - Fixes#5
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.
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