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) [[email protected] 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
A Material Design theme for MkDocs

A Material Design theme for MkDocs Create a branded static site from a set of Markdown files to host the documentation of your Open Source or commerci

Martin Donath 12.3k Jan 04, 2023
Build AGNOS, the operating system for your comma three

agnos-builder This is the tool to build AGNOS, our Ubuntu based OS. AGNOS runs on the comma three devkit. NOTE: the edk2_tici and agnos-firmare submod

comma.ai 21 Dec 24, 2022
100 numpy exercises (with solutions)

100 numpy exercises This is a collection of numpy exercises from numpy mailing list, stack overflow, and numpy documentation. I've also created some p

Nicolas P. Rougier 9.5k Dec 30, 2022
PySpark Cheat Sheet - learn PySpark and develop apps faster

This cheat sheet will help you learn PySpark and write PySpark apps faster. Everything in here is fully functional PySpark code you can run or adapt to your programs.

Carter Shanklin 168 Jan 01, 2023
Course Materials for Math 340

UBC Math 340 Materials This repository aims to be the one repository for which you can find everything you about Math 340. Lecture Notes Lecture Notes

2 Nov 25, 2021
Project documentation with Markdown.

MkDocs Project documentation with Markdown. View the MkDocs documentation. Project release notes. Visit the MkDocs wiki for community resources, inclu

MkDocs 15.6k Jan 02, 2023
Credit EDA Case Study Using Python

This case study aims to identify patterns which indicate if a client has difficulty paying their installments which may be used for taking actions such as denying the loan, reducing the amount of loa

Purvi Padliya 1 Jan 14, 2022
Word document generator with python

In this study, real world data is anonymized. The content is completely different, but the structure is the same. It was a script I prepared for the backend of a work using UiPath.

Ezgi Turalı 3 Jan 30, 2022
30 Days of google cloud leaderboard website

30 Days of Cloud Leaderboard This is a leaderboard for the students of Thapar, Patiala who are participating in the 2021 30 days of Google Cloud Platf

Developer Student Clubs TIET 13 Aug 25, 2022
A python package to import files from an adjacent folder

EasyImports About EasyImports is a python package that allows users to easily access and import files from sister folders: f.ex: - Project - Folde

1 Jun 22, 2022
Python Programming (Practical) (1-25) Download 👇🏼

BCA-603 : Python Programming (Practical) (1-25) Download zip 🙂 🌟 How to run programs : Clone or download this repo to your computer. Unzip (If you d

Milan Jadav 2 Jun 02, 2022
This repository outlines deploying a local Kubeflow v1.3 instance on microk8s and deploying a simple MNIST classifier using KFServing.

Zero to Inference with Kubeflow Getting Started This repository houses all of the tools, utilities, and example pipeline implementations for exploring

Ed Henry 3 May 18, 2022
Always know what to expect from your data.

Great Expectations Always know what to expect from your data. Introduction Great Expectations helps data teams eliminate pipeline debt, through data t

Great Expectations 7.8k Jan 05, 2023
Python 3 wrapper for the Vultr API v2.0

Vultr Python Python wrapper for the Vultr API. https://www.vultr.com https://www.vultr.com/api This is currently a WIP and not complete, but has some

CSSNR 6 Apr 28, 2022
Toolchain for project structure and documents optimisation

ritocco Toolchain for project structure and documents optimisation

Harvey Wu 1 Jan 12, 2022
A Python library for setting up projects using tabular data.

A Python library for setting up projects using tabular data. It can create project folders, standardize delimiters, and convert files to CSV from either individual files or a directory.

0 Dec 13, 2022
NetBox plugin that stores configuration diffs and checks templates compliance

Config Officer - NetBox plugin NetBox plugin that deals with Cisco device configuration (collects running config from Cisco devices, indicates config

77 Dec 21, 2022
A curated list of awesome tools for Sphinx Python Documentation Generator

Awesome Sphinx (Python Documentation Generator) A curated list of awesome extra libraries, software and resources for Sphinx (Python Documentation Gen

Hyunjun Kim 831 Dec 27, 2022
OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python

AutoRest The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API usin

Microsoft Azure 4.1k Jan 06, 2023
Fast, efficient Blowfish cipher implementation in pure Python (3.4+).

blowfish This module implements the Blowfish cipher using only Python (3.4+). Blowfish is a block cipher that can be used for symmetric-key encryption

Jashandeep Sohi 41 Dec 31, 2022