netbox-plugin-dns 1.0b1__tar.gz → 1.0b2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/PKG-INFO +23 -9
  2. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/README.md +22 -8
  3. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/__init__.py +1 -1
  4. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/zone.py +0 -11
  5. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/management/commands/cleanup_rrset_ttl.py +1 -1
  6. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/record.py +2 -1
  7. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/record.py +7 -14
  8. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/pyproject.toml +1 -1
  9. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/LICENSE +0 -0
  10. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/nested_serializers.py +0 -0
  11. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers.py +0 -0
  12. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/__init__.py +0 -0
  13. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/contact.py +0 -0
  14. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/nameserver.py +0 -0
  15. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/record.py +0 -0
  16. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/registrar.py +0 -0
  17. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/serializers_/view.py +0 -0
  18. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/urls.py +0 -0
  19. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/api/views.py +0 -0
  20. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/apps.py +0 -0
  21. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/fields/__init__.py +0 -0
  22. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/fields/address.py +0 -0
  23. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/fields/network.py +0 -0
  24. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/fields/rfc2317.py +0 -0
  25. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/__init__.py +0 -0
  26. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/contact.py +0 -0
  27. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/nameserver.py +0 -0
  28. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/record.py +0 -0
  29. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/registrar.py +0 -0
  30. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/view.py +0 -0
  31. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/filtersets/zone.py +0 -0
  32. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/__init__.py +0 -0
  33. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/contact.py +0 -0
  34. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/nameserver.py +0 -0
  35. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/record.py +0 -0
  36. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/registrar.py +0 -0
  37. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/view.py +0 -0
  38. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/forms/zone.py +0 -0
  39. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/graphql/__init__.py +0 -0
  40. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/graphql/filters.py +0 -0
  41. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/graphql/schema.py +0 -0
  42. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/graphql/types.py +0 -0
  43. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/management/commands/cleanup_database.py +0 -0
  44. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/management/commands/setup_coupling.py +0 -0
  45. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/management/commands/update_soa.py +0 -0
  46. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -0
  47. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +0 -0
  48. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0002_contact_description_registrar_description.py +0 -0
  49. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0020_netbox_3_4.py +0 -0
  50. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0021_record_ip_address.py +0 -0
  51. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0022_search.py +0 -0
  52. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0023_alter_record_value.py +0 -0
  53. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0024_tenancy.py +0 -0
  54. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0025_ipam_coupling_cf.py +0 -0
  55. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0026_domain_registration.py +0 -0
  56. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0027_alter_registrar_iana_id.py +0 -0
  57. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0028_rfc2317_fields.py +0 -0
  58. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/0029_record_fqdn.py +0 -0
  59. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/migrations/__init__.py +0 -0
  60. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/__init__.py +0 -0
  61. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/contact.py +0 -0
  62. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/nameserver.py +0 -0
  63. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/registrar.py +0 -0
  64. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/view.py +0 -0
  65. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/models/zone.py +0 -0
  66. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/navigation.py +0 -0
  67. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/signals/__init__.py +0 -0
  68. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/signals/ipam_coupling.py +0 -0
  69. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/__init__.py +0 -0
  70. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/contact.py +0 -0
  71. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/nameserver.py +0 -0
  72. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/record.py +0 -0
  73. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/registrar.py +0 -0
  74. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/view.py +0 -0
  75. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/tables/zone.py +0 -0
  76. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/template_content.py +0 -0
  77. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/contact.html +0 -0
  78. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/nameserver.html +0 -0
  79. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/record/managed.html +0 -0
  80. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/record/related.html +0 -0
  81. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/record.html +0 -0
  82. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/registrar.html +0 -0
  83. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/related_dns_objects.html +0 -0
  84. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/view.html +0 -0
  85. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone/base.html +0 -0
  86. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone/child.html +0 -0
  87. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone/managed_record.html +0 -0
  88. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone/record.html +0 -0
  89. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone/registration.html +0 -0
  90. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +0 -0
  91. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/templates/netbox_dns/zone.html +0 -0
  92. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/urls.py +0 -0
  93. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/utilities/__init__.py +0 -0
  94. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/utilities/ipam_coupling.py +0 -0
  95. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/validators/__init__.py +0 -0
  96. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/validators/dns_name.py +0 -0
  97. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/validators/rfc2317.py +0 -0
  98. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/__init__.py +0 -0
  99. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/contact.py +0 -0
  100. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/nameserver.py +0 -0
  101. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/registrar.py +0 -0
  102. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/view.py +0 -0
  103. {netbox_plugin_dns-1.0b1 → netbox_plugin_dns-1.0b2}/netbox_dns/views/zone.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: netbox-plugin-dns
3
- Version: 1.0b1
3
+ Version: 1.0b2
4
4
  Summary: NetBox DNS is a NetBox plugin for managing DNS data.
5
5
  Home-page: https://github.com/peteeckel/netbox-plugin-dns
6
6
  License: MIT
@@ -34,16 +34,30 @@ The NetBox DNS plugin enables NetBox to manage operational DNS data such as name
34
34
  <a href="https://pepy.tech/project/netbox-plugin-dns"><img alt="Downloads/Month" src="https://static.pepy.tech/badge/netbox-plugin-dns/week"></a>
35
35
  </div>
36
36
 
37
- ## Features
37
+ ## Objectives
38
+ NetBox DNS is designed to be the 'DNS Source of Truth' analogous to NetBox being the 'Network Source of Truth'.
38
39
 
39
- * Manage name servers, zones and records
40
- * Automatically generate SOA and NS records for zones
41
- * Automatically create and update PTR records for IPv4 and IPv6 address records
42
- * Organize DNS zones in views for split horizon DNS and multi-site deployments
43
- * Manage domain registrar and registrant information for domains related to zones
44
- * Manage RFC2317 reverse zones for IPv4 prefixes with a network mask length longer than 24 bits
40
+ The plugin holds information about DNS name servers, DNS Views and Zones, and DNS Records, making it a data source for automatically provisioning DNS instances. Registrarion information about DNS registrars and contacts for DNS domains can also be stored and associated with zones.
45
41
 
46
- NetBox DNS is using the standardized NetBox plugin interface, so it also takes advantage of the NetBox tagging and change log features.
42
+ The main focus of the plugin is to ensure the quality of data stored in it. To achieve this, many validation and automation mechanisms are in place:
43
+
44
+ * Validation of record names and values
45
+ * Automatic maintenance of PTR records for IPv6 and IPv4 address records
46
+ * Automatic generation of SOA records, optionally including the serial number of the zone data
47
+ * Validation of record types such as CNAME and singletons, to ensure DNS zone validity
48
+ * [RFC 2317](https://datatracker.ietf.org/doc/html/rfc2317) support for delegation of PTR zones for IPv4 subnets longer than 24 bits
49
+
50
+ Other main features are:
51
+
52
+ * Support for BIND views, providing lightweight namespaces for zones
53
+ * Support for IDN, inclucing the validation of punycode names
54
+ * Fully supported NetBox REST and GraphQL API
55
+ * Support for all major NetBox features like Global Search, Tenancy, Change Logs, Tagging, Journaling etc.
56
+
57
+ ## Non-Objectives
58
+ In the same way in which NetBox is not a network management application, NetBox DNS does not provide functionality to manage specific name servers or DNS service providers or generate input like configuration and zone files for them. The focus is on the completeness and integrity of the data needed to run DNS zones, not on the peculiarities of a plethora of servers and services actually using the data. This functionality is left to specialized integration tools, or in many cases it can be easily implemented using Ansible or similar tools based on NetBox DNS data. Example code for some simple use cases is provided.
59
+
60
+ For integration with a large number of DNS server implementations integration tools like [octodns-netbox-dns](https://pypi.org/project/octodns-netbox-dns/) are available.
47
61
 
48
62
  ## Requirements
49
63
 
@@ -14,16 +14,30 @@ The NetBox DNS plugin enables NetBox to manage operational DNS data such as name
14
14
  <a href="https://pepy.tech/project/netbox-plugin-dns"><img alt="Downloads/Month" src="https://static.pepy.tech/badge/netbox-plugin-dns/week"></a>
15
15
  </div>
16
16
 
17
- ## Features
17
+ ## Objectives
18
+ NetBox DNS is designed to be the 'DNS Source of Truth' analogous to NetBox being the 'Network Source of Truth'.
18
19
 
19
- * Manage name servers, zones and records
20
- * Automatically generate SOA and NS records for zones
21
- * Automatically create and update PTR records for IPv4 and IPv6 address records
22
- * Organize DNS zones in views for split horizon DNS and multi-site deployments
23
- * Manage domain registrar and registrant information for domains related to zones
24
- * Manage RFC2317 reverse zones for IPv4 prefixes with a network mask length longer than 24 bits
20
+ The plugin holds information about DNS name servers, DNS Views and Zones, and DNS Records, making it a data source for automatically provisioning DNS instances. Registrarion information about DNS registrars and contacts for DNS domains can also be stored and associated with zones.
25
21
 
26
- NetBox DNS is using the standardized NetBox plugin interface, so it also takes advantage of the NetBox tagging and change log features.
22
+ The main focus of the plugin is to ensure the quality of data stored in it. To achieve this, many validation and automation mechanisms are in place:
23
+
24
+ * Validation of record names and values
25
+ * Automatic maintenance of PTR records for IPv6 and IPv4 address records
26
+ * Automatic generation of SOA records, optionally including the serial number of the zone data
27
+ * Validation of record types such as CNAME and singletons, to ensure DNS zone validity
28
+ * [RFC 2317](https://datatracker.ietf.org/doc/html/rfc2317) support for delegation of PTR zones for IPv4 subnets longer than 24 bits
29
+
30
+ Other main features are:
31
+
32
+ * Support for BIND views, providing lightweight namespaces for zones
33
+ * Support for IDN, inclucing the validation of punycode names
34
+ * Fully supported NetBox REST and GraphQL API
35
+ * Support for all major NetBox features like Global Search, Tenancy, Change Logs, Tagging, Journaling etc.
36
+
37
+ ## Non-Objectives
38
+ In the same way in which NetBox is not a network management application, NetBox DNS does not provide functionality to manage specific name servers or DNS service providers or generate input like configuration and zone files for them. The focus is on the completeness and integrity of the data needed to run DNS zones, not on the peculiarities of a plethora of servers and services actually using the data. This functionality is left to specialized integration tools, or in many cases it can be easily implemented using Ansible or similar tools based on NetBox DNS data. Example code for some simple use cases is provided.
39
+
40
+ For integration with a large number of DNS server implementations integration tools like [octodns-netbox-dns](https://pypi.org/project/octodns-netbox-dns/) are available.
27
41
 
28
42
  ## Requirements
29
43
 
@@ -1,6 +1,6 @@
1
1
  from netbox.plugins import PluginConfig
2
2
 
3
- __version__ = "1.0-beta1"
3
+ __version__ = "1.0-beta2"
4
4
 
5
5
 
6
6
  class DNSConfig(PluginConfig):
@@ -13,17 +13,6 @@ from netbox_dns.models import Zone
13
13
 
14
14
 
15
15
  class ZoneSerializer(NetBoxModelSerializer):
16
- # +
17
- # This is a hack to avoid the exception raised by the UniqueTogetherValidator
18
- # after NetBox commit https://github.com/netbox-community/netbox/commit/78e284c
19
- #
20
- # See https://github.com/netbox-community/netbox/issues/15351 for details.
21
- # -
22
- def __init__(self, *args, **kwargs):
23
- super().__init__(*args, **kwargs)
24
- if self.nested:
25
- self.validators = []
26
-
27
16
  url = serializers.HyperlinkedIdentityField(
28
17
  view_name="plugins-api:netbox_dns-api:zone-detail"
29
18
  )
@@ -32,7 +32,7 @@ class Command(BaseCommand):
32
32
  ttl_records = (
33
33
  Record.objects.filter(ttl__isnull=False)
34
34
  .exclude(type=RecordTypeChoices.SOA)
35
- .exclude(type=RecordTypeChoices.PTR, maanged=True)
35
+ .exclude(type=RecordTypeChoices.PTR, managed=True)
36
36
  )
37
37
  for record in ttl_records:
38
38
  records = Record.objects.filter(
@@ -754,7 +754,8 @@ class Record(NetBoxModel):
754
754
  class RecordIndex(SearchIndex):
755
755
  model = Record
756
756
  fields = (
757
- ("name", 100),
757
+ ("fqdn", 100),
758
+ ("name", 120),
758
759
  ("value", 150),
759
760
  ("zone", 200),
760
761
  ("type", 200),
@@ -41,22 +41,15 @@ class RecordView(generic.ObjectView):
41
41
  queryset = Record.objects.all().prefetch_related("zone", "ptr_record")
42
42
 
43
43
  def get_value_records(self, instance):
44
- value_fqdn = dns_name.from_text(instance.value_fqdn)
45
- value_zone_names = [
46
- value_fqdn.split(length)[1].to_text().rstrip(".")
47
- for length in range(2, len(value_fqdn) + 1)
48
- ]
49
-
50
- value_zone = (
51
- Zone.objects.filter(instance.zone.view_filter, name__in=value_zone_names)
52
- .order_by(Length("name").desc())
53
- .first()
44
+ view_filter = (
45
+ Q(zone__view__isnull=True)
46
+ if instance.zone.view is None
47
+ else Q(zone__view=instance.zone.view)
54
48
  )
55
- if not value_zone:
56
- return None
57
49
 
58
- value_name = value_fqdn.relativize(dns_name.from_text(value_zone.name))
59
- cname_targets = Record.objects.filter(zone=value_zone, name=value_name)
50
+ value_fqdn = dns_name.from_text(instance.value_fqdn)
51
+
52
+ cname_targets = Record.objects.filter(view_filter, fqdn=value_fqdn)
60
53
 
61
54
  if cname_targets:
62
55
  return RelatedRecordTable(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "netbox-plugin-dns"
3
- version = "1.0-beta1"
3
+ version = "1.0-beta2"
4
4
  description = "NetBox DNS is a NetBox plugin for managing DNS data."
5
5
  authors = ["Peter Eckel <pete@netbox-dns.org>"]
6
6
  homepage = "https://github.com/peteeckel/netbox-plugin-dns"