Netbox Dns is a netbox plugin for managing zone, nameserver and record inventory.

Overview

Netbox DNS

Netbox Dns is a netbox plugin for managing zone, nameserver and record inventory.

Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors License Badge

Features

  • Manage zones (domains) you have.
  • Manage nameservers for zones.
  • Manage zone records.
  • Assign tags to zones, nameservers and records.

Requirements

  • Netbox 3.0
  • python 3.7

Installation

$ pip install netbox-dns

Screenshots

Zones

Zone Detail

Contribute

Contributions are always welcome!

License

MIT

Comments
  • soa-mname incorrectly typed as integer

    soa-mname incorrectly typed as integer

    Hiya there,

    Currently I'm writing a python script to interpolate between the PowerDNS API and the Netbox API, while troubleshooting some API call issues, looking at the Netbox API documentation, adding zones via an API call via POST specifies the following

    soa_mname 
    integer
    title: SOA MName
    

    The MNAME should be a string, not an integer, as per the MNAME listed in https://www.cloudflare.com/en-gb/learning/dns/dns-records/dns-soa-record/

    There would be no circumstances an SOA MNAME contained within the rrset returned would ever be an integer, so this type should be changed.

    opened by martydingo 17
  • zone files

    zone files

    Would import export (bind) zone files be an option in the future ?

    Also, now it could be cool to have an deploy button which uses netbox source to deploy DNS records to bind servers :-)

    Just saying and wishing.

    So far thanks for this great work

    enhancement 
    opened by nikor30 14
  • NetBox version: 3.1.1 missing DB column

    NetBox version: 3.1.1 missing DB column

    django.db.utils.ProgrammingError: column netbox_dns_zone.soa_serial_auto does not exist

    <class 'django.db.utils.ProgrammingError'>
    
    column netbox_dns_zone.soa_serial_auto does not exist
    LINE 1: ...e"."soa_expire", "netbox_dns_zone"."soa_minimum", "netbox_dn...
    
    Python version: 3.8.10
    NetBox version: 3.1.1
    
    opened by D1StrX 12
  • Migration fails with new Netbox version 3.1.0

    Migration fails with new Netbox version 3.1.0

    It seems either the new Netbox version 3.1.0 or one of its prerequisites is incompatible with Netbox DNS.

    When trying to run manage.py makemigrations I get a long dump:

    (netbox) [root@dns netbox]# /opt/netbox/netbox/manage.py makemigrations 
    Traceback (most recent call last):
      File "/opt/netbox/netbox/manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/opt/netbox/lib/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
        utility.execute()
      File "/opt/netbox/lib/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/opt/netbox/lib/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/opt/netbox/lib/python3.8/site-packages/django/core/management/base.py", line 393, in execute
        self.check()
      File "/opt/netbox/lib/python3.8/site-packages/django/core/management/base.py", line 419, in check
        all_issues = checks.run_checks(
      File "/opt/netbox/lib/python3.8/site-packages/django/core/checks/registry.py", line 76, in run_checks
        new_errors = check(app_configs=app_configs, databases=databases)
      File "/opt/netbox/lib/python3.8/site-packages/django/core/checks/urls.py", line 13, in check_url_config
        return check_resolver(resolver)
      File "/opt/netbox/lib/python3.8/site-packages/django/core/checks/urls.py", line 23, in check_resolver
        return check_method()
      File "/opt/netbox/lib/python3.8/site-packages/django/urls/resolvers.py", line 412, in check
        for pattern in self.url_patterns:
      File "/opt/netbox/lib/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "/opt/netbox/lib/python3.8/site-packages/django/urls/resolvers.py", line 598, in url_patterns
        patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "/opt/netbox/lib/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "/opt/netbox/lib/python3.8/site-packages/django/urls/resolvers.py", line 591, in urlconf_module
        return import_module(self.urlconf_name)
      File "/opt/netbox/lib64/python3.8/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
      File "<frozen importlib._bootstrap>", line 991, in _find_and_load
      File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 783, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/opt/netbox/netbox/netbox/urls.py", line 9, in <module>
        from extras.plugins.urls import plugin_admin_patterns, plugin_patterns, plugin_api_patterns
      File "/opt/netbox/netbox/extras/plugins/urls.py", line 28, in <module>
        urlpatterns = import_object(f"{plugin_path}.urls.urlpatterns")
      File "/opt/netbox/netbox/extras/plugins/utils.py", line 31, in import_object
        spec.loader.exec_module(module)
      File "/opt/netbox/lib/python3.8/site-packages/netbox_dns/urls.py", line 5, in <module>
        from .views import (
      File "/opt/netbox/lib/python3.8/site-packages/netbox_dns/views.py", line 3, in <module>
        from netbox_dns.forms import (
      File "/opt/netbox/lib/python3.8/site-packages/netbox_dns/forms.py", line 37, in <module>
        class ZoneForm(BootstrapMixin, CustomFieldModelForm):
      File "/opt/netbox/lib/python3.8/site-packages/django/forms/models.py", line 226, in __new__
        new_class = super().__new__(mcs, name, bases, attrs)
      File "/opt/netbox/lib/python3.8/site-packages/django/forms/forms.py", line 31, in __new__
        new_class = super().__new__(mcs, name, bases, attrs)
      File "/opt/netbox/lib/python3.8/site-packages/django/forms/widgets.py", line 191, in __new__
        new_class = super().__new__(mcs, name, bases, attrs)
    TypeError: Cannot create a consistent method resolution
    order (MRO) for bases BootstrapMixin, CustomFieldModelForm
    
    opened by peteeckel 10
  • Add the

    Add the "Views" feature

    fixes #15 fixes #171 fixes #173

    This PR adds the long awaited feature of "Views" to NetBox DNS.

    A view essentially is only an optional name that can be added to any zone. There are two consequences if a zone is associated with a view:

    • As long as the views of two zones differ or one of them has a view associated with it and the other hasn't, the zone name no longer needs to be unique. There can be two zones with the name "zone1.example.com", provided they are scoped differently by the view feature.
    • When PTR records are manipulated for A and AAAA records, the reverse zone the PTR record is created, deleted or updated in needs to be in the same view as the zone of the A/AAAA record.

    There is some rather involved logic in place that kicks in when zones are moved from one view to the other or when zones are added or removed from views. Generally the code tries to do "the right thing", i.e. doesn't create duplicate zones in the same or without a view and move the PTR records between reverse zones when the zone containing the address records is moved.

    opened by peteeckel 9
  • Quick search does not work

    Quick search does not work

    Trying to use the "Quick search" box in the Records list, but nothing happens. Actually, I don't see any REST request sent, nor Javascript errors in the browser console (Chrome).

    opened by fabricat 9
  • POC: Experimental support for upcoming NetBox v3.2 release

    POC: Experimental support for upcoming NetBox v3.2 release

    Hi folks! As we approach the first beta release for NetBox v3.2, which introduces a greatly extended plugins API, I took a stab at updating this plugin to use the newly available resources. This PR is submitted as a proof of concept only and should not be treated as an actual proposed change at this time. (I based this PR off of the main branch as it appears that develop is no longer in use. Is that correct?)

    While this work has uncovered a few minor tweaks/extensions needed in the new plugins framework, I'm pretty happy with how smooth the implementation went overall. I've included a summary of the changes made thus far below. I would very much appreciate feedback: Did I miss anything? Is there something we could handle better? Do you foresee any issues with this approach? Let me know and we'll get it sorted. Thanks!

    Summary

    • Add a migration for NetBox v3.2 model changes
      • created is now a DateTimeField on all change-logged models
      • Remove the blank=True attribute from tag managers (cosmetic change)
      • Remove tags and objects attributes (now inherited from NetBoxModel), except where custom
    • Models
      • Replace PrimaryModel with NetBoxModel
      • Remove calls to extras_features() (features are not provided by NetBoxModel)
    • Views
      • Update path to ObjectChangeLogView
    • Form classes
      • Replace the local BulkEditForm with NetBoxModelBulkEditForm
      • Remove the pk fields (inherited from NetBoxModelBulkEditForm)
      • Remove Meta classes and set model on bulk edit forms
    • FilterSet classes
      • Replace PrimaryModelFilterSet with NetBoxModelFilterSet
      • Remove the tags filter declarations (inherited from NetBoxModelFilterSet)
    • Tables
      • Replace BaseTable with NetBoxTable
      • Remove pk column (inherited from NetBoxTable)
      • Replace calls to old configure_table() utility with table.configure()
    • Templates
      • Replace local object.html with generic/object.html
      • Replace local object_list.html with generic/object_list.html
      • Replace record_list.html and managed_record_list.html with generic/object_list.html
        • Removed the add & import buttons by setting action_buttons on the views
        • We don't yet have a way to toggle the display of the bulk edit/delete buttons beneath the table
      • Replace paginate_table() with configure_table() (not yet officially supported)
    • Miscellaneous
      • Removed obsolete template tags (replicated from NetBox)
    opened by jeremystretch 7
  • Error creating a new zone:

    Error creating a new zone: "expecting an integer" instead of SOA

    I am facing an error while calling netbox-dns API (leveraging the Ansible uri module) in order to create a new zone.

    Actually, Ansible sends a POST request to /api/plugins/netbox-dns/zones/ with the following body:

    {
    	"default_ttl": 3600,
    	"name": "REDACTED.net",
    	"soa_expire": 86400,
    	"soa_minimum": 3600,
    	"soa_mname": 3,
    	"soa_refresh": 900,
    	"soa_retry": 600,
    	"soa_rname": "[email protected]",
    	"soa_serial_auto": false,
    	"soa_ttl": 3600,
    	"tags": [{"slug": "auto-sync"},{"slug": "private"}],
    	"view": "1"
    }
    

    I get a 500 Internal error response code, with the following body:

    {
        "error": "{'value': ['Record value (REDACTED.local. [email protected]. None 900 600 86400 3600) is malformed: expecting an integer.']}",
        "exception": "ValidationError",
        "netbox_version": "3.2.4",
        "python_version": "3.9.5"
    }
    

    Similar API calls previously worked ok on former versions of Netbox and netbox-dns (I don't remember exactly which versions, but it was more than 90 days ago): the only difference is now I am using the "view", but I also tested without that parameter, and I get the same error.

    opened by fabricat 6
  • API Fix: exact match record name by default

    API Fix: exact match record name by default

    Problem was: When I search /api/plugins/netbox-dns/records/?zone_id=1&type=PTR&name=11 I don't want to match the reverse record for 111. The same applies forward: When I search /api/plugins/netbox-dns/records/?zone_id=1&type=A&name=foo I don't want to match the A record for foobar.domain.tld. By removing the icontains filter, the default Netbox filters are applied, which means an exact match by default. When you want back the old behaviour (after this change is merged) you can query like this: /api/plugins/netbox-dns/records/?zone_id=1&type=A&name__ic=foo

    opened by jeroenvermeulen 6
  • Allow the same zones within different

    Allow the same zones within different "views"

    We use external and internal views in BIND for the same zones, as many other people do.

    For example, when we are inside the LAN, a host record like 'host1.example.com` points to a some local IP like 192.168.1.1. The same record 'host1.example.com' when it get queried from external network, points to some real external IP like 195.XXX.XXX.XXX

    https://www.cyberciti.biz/faq/linux-unix-bind9-named-configure-views/

    Please allow the same zones but with different "view" types or something like that.

    enhancement 
    opened by hiddenman 6
  • Add quick search to zone records tabs

    Add quick search to zone records tabs

    Hi,

    Can we have quick search in the zone records and managed records tabs?

    There is quick search in the records page, but then I need to filter by zone first. Going via the zone page is more logical way for me.

    opened by mikat-gh 5
  • Validate Names for NameServer, Zone and Record objects

    Validate Names for NameServer, Zone and Record objects

    fixes #268

    This PR provides validation of Zone and Record names (and Name Server names as well, as they are connected with RRs for the name servers).

    In addition to running all names through dnspython in order to determine if they are legal DNS names, they are also checked for Unicode interpretations. If the Unicode interpretation derives from the textual representation, the name is converted to the latter in order to make it usable for DNS servers. Editing can be done both in Unicode format and in text (punycode) format, and if there is a Unicode representation the detail views for NameServer, Zone and Record objects will show it.

    This will certainly need more work, but it's a start.

    opened by peteeckel 0
  • Record name and zone name validation for Bind zone file generation

    Record name and zone name validation for Bind zone file generation

    Discussed in https://github.com/auroraresearchlab/netbox-dns/discussions/267

    Originally posted by jean1 December 21, 2022 Currently, in netbox-dns, record name (and zone name) have no validation except on string length, whereas Netbox itself validates FQDN with a regexp. The lack of input validation is fragile if you want to use netbox-dns records to directly generate a zone file in Bind: the zone won't load. Record have to follow a certain number of rules.

    Each part of a name (the strings between the dots) is called a label. According to RFC 1035, 2.3.1., a label:

    • doesn't start with a dash "-",
    • begin with a letter or a number,
    • contains chars among: alphanumeric characters "a-zA-Z0-9", dash "-" Also, a label can't exceed 63 characters (RFC 1035, 2.3.1. again: " There are also some restrictions on the length. Labels must be 63 characters or less")

    Other things to validate:

    • name total length (concatenation of all labels and dots) < 255 chars

    (the following things may be specific to bind zone file format)

    • A dot "." is allowed in a name, "abc.def" in zone "example.com",
    • You can have a relative ("abc") or an absolute name ending with a dot ("abc.example.com."),
    • A name has no 2 consecutive dots, ".." ,
    • The special symbol "@" (alone) represents the zone name (the origin),
    • Some record (type SRV, TXT but not A and AAAA) may start with an underscore such as "_tcp".

    My opinion is, if this is the central source of truth for your DNS records, allowing incorrectly formatted names and catching error later when generating zone file is undesirable.

    I agree though that which rules to apply is not obvious (and blindly applying most of the rules would rule out IDN without an external conversion tool).

    What would be an acceptable validation level ? Should this be opened as an issue ?

    opened by jean1 9
  • Migration issue when directly upgrading netbox and plugin

    Migration issue when directly upgrading netbox and plugin

    Source versions:

    • netbox 3.3.10
    • netbox_dns 0.15.0

    when doing a combined upgrade of netbox to 3.4.1 and netbox_dns to 0.16.0 migrations will fail, as netbox core is trying to index fields in their migration, which will be added later by netbox_dns migration. LEading to a failed migration.

    Apply all migrations: admin, auth, circuits, contenttypes, dcim, django_rq, extras, ipam, netbox_dns, nk_netbox_requests, sessions, social_django, taggit, tenancy, users, virtualization, wireless
    Running migrations:
      Applying extras.0083_search...Reindexing 67 models.
    Clearing cached values... 0 entries deleted.
    Indexing models
      netbox_dns.nameserver... 4 entries cached.
      netbox_dns.zone... 170 entries cached.
      netbox_dns.record... Traceback (most recent call last):
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
    psycopg2.errors.UndefinedColumn: column netbox_dns_record.ip_address does not exist
    LINE 1: ..."disable_ptr", "netbox_dns_record"."description", "netbox_dn...
                                                                 ^
    
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/opt/netbox-test/netbox/./manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
        utility.execute()
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/__init__.py", line 440, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/base.py", line 402, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/base.py", line 448, in execute
        output = self.handle(*args, **options)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/base.py", line 96, in wrapped
        res = handle_func(*args, **kwargs)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/commands/migrate.py", line 349, in handle
        post_migrate_state = executor.migrate(
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/migrations/executor.py", line 135, in migrate
        state = self._migrate_all_forwards(
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
        state = self.apply_migration(
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/migrations/executor.py", line 252, in apply_migration
        state = migration.apply(state, schema_editor)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/migrations/migration.py", line 130, in apply
        operation.database_forwards(
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards
        self.code(from_state.apps, schema_editor)
      File "/opt/netbox-test/netbox/extras/migrations/0083_search.py", line 13, in reindex
        management.call_command('reindex')
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/__init__.py", line 198, in call_command
        return command.execute(*args, **defaults)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/core/management/base.py", line 448, in execute
        output = self.handle(*args, **options)
      File "/opt/netbox-test/netbox/extras/management/commands/reindex.py", line 68, in handle
        i = search_backend.cache(model.objects.iterator(), remove_existing=False)
      File "/opt/netbox-test/netbox/netbox/search/backends.py", line 148, in cache
        for instance in instances:
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/models/query.py", line 512, in _iterator
        yield from iterable
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/models/query.py", line 87, in __iter__
        results = compiler.execute_sql(
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/models/sql/compiler.py", line 1398, in execute_sql
        cursor.execute(sql, params)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/backends/utils.py", line 67, in execute
        return self._execute_with_wrappers(
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
        return executor(sql, params, many, context)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/utils.py", line 91, in __exit__
        raise dj_exc_value.with_traceback(traceback) from exc_value
      File "/opt/netbox-test/venv/lib64/python3.9/site-packages/django/db/backends/utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
    django.db.utils.ProgrammingError: column netbox_dns_record.ip_address does not exist
    LINE 1: ..."disable_ptr", "netbox_dns_record"."description", "netbox_dn...
                                                                 ^
    
    
    opened by JohannesKreuzer 7
  • Extra fields for MX, SVR, etc?

    Extra fields for MX, SVR, etc?

    Are there plans for adding the ability to store more information with certain records like, MX and SVR? These types need additional information in their records to be useful. Things like TXT records on the other hand, don't necessarily need a name value for the record and should be optional.

    opened by amyers1616 8
Releases(0.16.1)
  • 0.16.1(Dec 30, 2022)

    What's Changed

    • Fixed typo in migration 0018 by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/272
    • Fixed minimum NetBox version by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/274
    • Prepare for release 0.16.1 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/276

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.16.0...0.16.1

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.16.1-py3-none-any.whl(56.26 KB)
  • 0.16.0(Dec 16, 2022)

    This release provides support for the NetBox 3.4 release and utilises some of the new features provided by it.

    Compatibility

    The changes made in this release require NetBox 3.4.

    Major Changes

    There are a lot of changes in this release. Please see this awesome PR #253

    Thanks to @peteeckel for his great effort.

    What's Changed

    • Support for NetBox 3.4 by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/253
    • Prepare for release 0.16.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/260

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.15.1...0.16.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.16.0-py3-none-any.whl(56.27 KB)
  • 0.15.1(Nov 29, 2022)

    Announcements

    What's Changed

    • Form field needs to inherit from django.forms by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/258
    • Prepare for release 0.15.1 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/259

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.15.0...0.15.1

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.15.1-py3-none-any.whl(50.08 KB)
  • 0.15.0(Nov 28, 2022)

    Announcements

    What's Changed

    • Extend the database model with a CIDR field for .arpa zones by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/240
    • Improved the performance of automatic SOA serial generation by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/241
    • Set TTL for the zones' NS records to None by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/243
    • Fix the ansible example for null TTL values in records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/245
    • Fix FQDN generation for @ records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/247
    • Improved pagination for zone record/managed record tables by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/251
    • Prepare for release 0.15.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/256

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.14.0...0.15.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.15.0-py3-none-any.whl(50.07 KB)
  • 0.14.0(Oct 21, 2022)

    Thanks all contributors for their effort.

    BREAKING CHANGES

    API can return null for record TTL

    This change will likely make it necessary to update integrations such as the example zone exporter script provided by the NetBox DNS module. If an integration tool relies on the record TTL value to be set to an integer value, getting a None value instead may have undesired results.

    Please see: #235

    What's Changed

    • Added an Example Custom Script for Zone File Exports by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/223
    • Expose custom fields via the API by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/225
    • Make it possible to filter for the "active" annotation in zones by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/227
    • Define permissions required to see navigation menu items by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/229
    • Avoid duplicate save() operation for new records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/233
    • Add zones nested serializer to nameservers by @LuPo in https://github.com/auroraresearchlab/netbox-dns/pull/231
    • Make record TTL field optional by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/235
    • release 0.14.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/236
    • Fix poetry version for release 0.14.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/237

    New Contributors

    • @LuPo made their first contribution in https://github.com/auroraresearchlab/netbox-dns/pull/231

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.13.1...0.14.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.14.0-py3-none-any.whl(47.49 KB)
  • 0.13.1(Aug 19, 2022)

    This release restores compatibility with NetBox 3.3.0 thanks to @peteeckel

    What's Changed

    • Fixed import path for WritableNestedSerializer by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/221
    • Prepare for release 0.13.1 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/222

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.13.0...0.13.1

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.13.1-py3-none-any.whl(46.94 KB)
  • 0.13.0(Aug 6, 2022)

    What's Changed

    • Set the default type to unset when bulk editing records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/212
    • Added the status field for records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/215
    • Fixed zone CSV import by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/216
    • Create and parse SOA records using dnspython by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/218
    • Prepare for release 0.13.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/219

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.12.0...0.13.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.13.0-py3-none-any.whl(46.94 KB)
  • 0.12.0(Jul 27, 2022)

    What's Changed

    • Added the "description" field to all object types by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/207
    • Display custom fields for record, zones and name servers by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/209
    • Prepare for release 0.12.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/211

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.11.1...0.12.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.12.0-py3-none-any.whl(45.49 KB)
  • 0.11.1(Jun 27, 2022)

  • 0.11.0(Jun 9, 2022)

    What's Changed

    • Fixed README.md and cleaned up screenshots by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/166
    • Make the record type case insensitive in bulk import by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/168
    • Truncate the value field in record tables by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/170
    • Add the "Views" feature by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/164
    • Validate records using dnspython by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/175
    • Remove metatypes/classes from the list of valid RDtypes/classes by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/177
    • Do not redefine the internal "type" method by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/179
    • Add validation for CNAME and singleton Record objects by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/181
    • Redesigned record validation by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/184
    • Prefetch objects on some performance-critical views by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/186
    • Remove PTR record when record type changes from A/AAAA to something else by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/189
    • Make record type and value bulk editable by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/190
    • Allow multiple PTR records for the same address by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/192
    • Return to the list view for an object type after deleting an object by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/194
    • Make it possible to clone View objects by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/196
    • Initial implementation of GraphQL support by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/198
    • Prepare for release 0.11.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/199
    • fix version solving issue by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/201

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.10.0...0.11.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.11.0-py3-none-any.whl(44.14 KB)
  • 0.10.0(Apr 8, 2022)

    Announcements

    This new release is compatible with NetBox 3.2. And this release is also implements new Netbox plugin framework.

    Thanks to all contributors for their work on this!

    • Thanks @jeremystretch for initial PR.
    • Thanks @peteeckel for all his effort.

    What's Changed

    • POC: Experimental support for upcoming NetBox v3.2 release by @jeremystretch in https://github.com/auroraresearchlab/netbox-dns/pull/128
    • NetBox 3.2 compability fixes by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/129
    • Detect when multiple A/AAAA records with identical values try to enable PTR by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/141
    • Refactored the code base to make it more maintainable by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/139
    • Fix immutable object lists (managed records) by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/133
    • Created initial documentation by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/106
    • Fix: Make sure that SOA MNAME/RNAME fields have a trailing dot by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/147
    • Fix Quick Search for NameServer objects by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/148
    • Fix PTR record conflict with Bulk Edit by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/149
    • Fix "@" record text representation by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/152
    • Rebased NetBox 3.2 Changes by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/153
    • Reworked plugin based on the plugin developer's tutorial by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/156
    • fix black workflow by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/158
    • Adjustments for NetBox 3.2 final release by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/162
    • prepere for release 0.10.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/163

    New Contributors

    • @jeremystretch made their first contribution in https://github.com/auroraresearchlab/netbox-dns/pull/128

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.9.2...0.10.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.10.0-py3-none-any.whl(36.98 KB)
  • 0.9.2(Apr 4, 2022)

  • 0.9.1(Mar 29, 2022)

  • 0.9.0(Mar 28, 2022)

    What's Changed

    • Reorganised and improved zone status by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/115
    • Modify the default search behaviour for name and value fields to "exact" by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/127
    • Re-add the q() filter for name server objects by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/135
    • prepare for release 0.9.0 by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/154

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.8.0...0.9.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.9.0-py3-none-any.whl(39.14 KB)
  • 0.8.0(Dec 24, 2021)

    Announcements

    This new release is compatible with NetBox 3.1.2

    What's Changed

    • Add default option for SOA MNAME and nameservers when creating new zones by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/110
    • Execute migration 0005 after 0007 by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/111
    • Added create() and update() methods for the Zone serializer by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/121
    • Fixed initial values of "nameservers" and "soa_mname" when editing zones by @peteeckel https://github.com/auroraresearchlab/netbox-dns/pull/119
    • fix NetBox 3.1.2 release breaking changes by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/113

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.7.0...0.8.0

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.8.0-py3-none-any.whl(37.96 KB)
  • 0.7.0(Dec 16, 2021)

    Announcements

    This new release is compatible with NetBox 3.1.

    Breaking Changes

    Api endpoints changed /api/plugins/netbox_dns/ to /api/plugins/netbox-dns/:

    Old endpoints:

    # GET /api/plugins/netbox_dns/
    {
        "nameservers": "http://127.0.0.1:8000/api/plugins/netbox_dns/nameservers/",
        "records": "http://127.0.0.1:8000/api/plugins/netbox_dns/records/",
        "zones": "http://127.0.0.1:8000/api/plugins/netbox_dns/zones/"
    }
    

    New endpoints:

    # GET /api/plugins/netbox-dns/
    {
        "nameservers": "http://127.0.0.1:8000/api/plugins/netbox-dns/nameservers/",
        "records": "http://127.0.0.1:8000/api/plugins/netbox-dns/records/",
        "zones": "http://127.0.0.1:8000/api/plugins/netbox-dns/zones/"
    }
    

    What's Changed

    • Run the data migration for A/AAAA PTR records non-atomically by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/69
    • Provide zone field in the record filter set by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/77
    • Do not try to update pointers for non-existing address records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/71
    • Automatically maintain NS records for zones by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/68
    • Make SOA MNAME bulk-editable by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/79
    • Allow disable_ptr on record CSV import by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/81
    • Display an error message for zones without nameservers by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/82
    • Added a test suite for the Auto SOA record feature by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/84
    • Added unit tests for automatic generation of PTR records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/86
    • fix workflow until #89 fix. by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/90
    • Fixed display error in zone record view by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/88
    • Automatic generation of SOA Serial numbers based on the modification dates of zone and records by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/74
    • Fixed validated viewnames in templates by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/94
    • Added BulkEdit functionality for Name Servers by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/96
    • Improved the filter interface by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/98
    • Implemented Netbox 3.1 compatibility fixes by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/99
    • Improved performance of renaming or adding reverse zones by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/101
    • add base_url config to the DNSConfig by @hatsat32 in https://github.com/auroraresearchlab/netbox-dns/pull/91
    • Added missing migration for soa_serial_auto default value by @peteeckel in https://github.com/auroraresearchlab/netbox-dns/pull/103

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.6.0...0.7.0

    Thanks to all contributors for their work on this! Especially @peteeckel

    Source code(tar.gz)
    Source code(zip)
    netbox_dns-0.7.0-py3-none-any.whl(37.64 KB)
  • 0.3.2(Oct 7, 2021)

    What's Changed

    • version updated by @hbasria in https://github.com/auroraresearchlab/netbox-dns/pull/25

    Full Changelog: https://github.com/auroraresearchlab/netbox-dns/compare/0.3.1...0.3.2

    Source code(tar.gz)
    Source code(zip)
Owner
Aurora Research Lab
Aurora Research Lab
NetBox plugin for BGP related objects documentation

Netbox BGP Plugin Netbox plugin for BGP related objects documentation. Compatibility This plugin in compatible with NetBox 2.10 and later. Installatio

Nikolay Yuzefovich 133 Dec 27, 2022
An MkDocs plugin that simplifies configuring page titles and their order

MkDocs Awesome Pages Plugin An MkDocs plugin that simplifies configuring page titles and their order The awesome-pages plugin allows you to customize

Lukas Geiter 282 Dec 28, 2022
An MkDocs plugin to export content pages as PDF files

MkDocs PDF Export Plugin An MkDocs plugin to export content pages as PDF files The pdf-export plugin will export all markdown pages in your MkDocs rep

Terry Zhao 266 Dec 13, 2022
MkDocs plugin for setting revision date from git per markdown file

mkdocs-git-revision-date-plugin MkDocs plugin that displays the last revision date of the current page of the documentation based on Git. The revision

Terry Zhao 48 Jan 6, 2023
MkDocs Plugin allowing your visitors to *File > Print > Save as PDF* the entire site.

mkdocs-print-site-plugin MkDocs plugin that adds a page to your site combining all pages, allowing your site visitors to File > Print > Save as PDF th

Tim Vink 67 Jan 4, 2023
Ultimaker Cura 2 Mooraker Upload Plugin

Klipper & Cura - Cura2MoonrakerPlugin Allows you to upload Gcode directly from Cura to your Klipper-based 3D printer (Fluidd, Mainsailos etc.) using t

null 214 Jan 3, 2023
Zero configuration Airflow plugin that let you manage your DAG files.

simple-dag-editor SimpleDagEditor is a zero configuration plugin for Apache Airflow. It provides a file managing interface that points to your dag_fol

null 30 Jul 20, 2022
Poetry plugin to export the dependencies to various formats

Poetry export plugin This package is a plugin that allows the export of locked packages to various formats. Note: For now, only the requirements.txt f

Poetry 90 Jan 5, 2023
Crystal Smp plugin for show scoreboards

MCDR-CrystalScoreboards Crystal plugin for show scoreboards | Only 1.12 Usage !!s : Plugin help message !!s hide : Hide scoreboard !!s show : Show Sco

CristhianCd 3 Oct 12, 2021
AiiDA plugin for the HyperQueue metascheduler.

aiida-hyperqueue WARNING: This plugin is still in heavy development. Expect bugs to pop up and the API to change. AiiDA plugin for the HyperQueue meta

AiiDA team 3 Jun 19, 2022
A Sublime Text plugin to select a default syntax dialect

Default Syntax Chooser This Sublime Text 4 plugin provides the set_default_syntax_dialect command. This command manipulates a syntax file (e.g.: SQL.s

null 3 Jan 14, 2022
Autolookup GUI Plugin for Plover

Word Tray for Plover Word Tray is a GUI plugin that automatically looks up efficient outlines for words that start with the current input, much like a

Kathy 3 Jun 8, 2022
Plover jyutping - Plover plugin for Jyutping input

Plover plugin for Jyutping Installation Navigate to the repo directory: cd plove

Samuel Lo 1 Mar 17, 2022
Code for our SIGIR 2022 accepted paper : P3 Ranker: Mitigating the Gaps between Pre-training and Ranking Fine-tuning with Prompt-based Learning and Pre-finetuning

P3 Ranker Implementation for our SIGIR2022 accepted paper: P3 Ranker: Mitigating the Gaps between Pre-training and Ranking Fine-tuning with Prompt-bas

null 14 Jan 4, 2023
🏆 A ranked list of awesome python developer tools and libraries. Updated weekly.

Best-of Python Developer Tools ?? A ranked list of awesome python developer tools and libraries. Updated weekly. This curated list contains 250 awesom

Machine Learning Tooling 646 Jan 7, 2023
ReStructuredText and Sphinx bridge to Doxygen

Breathe Packagers: PGP signing key changes for Breathe >= v4.23.0. https://github.com/michaeljones/breathe/issues/591 This is an extension to reStruct

Michael Jones 643 Dec 31, 2022
Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a livereload enabled web server.

sphinx-autobuild Rebuild Sphinx documentation on changes, with live-reload in the browser. Installation sphinx-autobuild is available on PyPI. It can

Executable Books 440 Jan 6, 2023
Flask-Rebar combines flask, marshmallow, and swagger for robust REST services.

Flask-Rebar Flask-Rebar combines flask, marshmallow, and swagger for robust REST services. Features Request and Response Validation - Flask-Rebar reli

PlanGrid 223 Dec 19, 2022
API spec validator and OpenAPI document generator for Python web frameworks.

API spec validator and OpenAPI document generator for Python web frameworks.

1001001 249 Dec 22, 2022