Skip to main content

Infoblox provider for octoDNS

Project description

OctoBlox

Infoblox provider for octoDNS

CI MIT PyPI Python Downloads Code style: black

OctoBlox provides the glue for enterprise migration to GitOps with Infoblox.

Installation

pip install octoblox

Configure

providers:
  infoblox:
    class: octoblox.InfoBloxProvider
    endpoint: infoblox.example.com
    username: admin
    password: env/INFOBLOX_PASSWORD
    # verify: ./infoblox.pem
    # apiver: 1.0
    # dns_view: default
    # log_change: true
    # alias_types:
    #   - A
    #   - AAAA
    #   - TXT
    # create_zones: true
    # new_zone_fields:
    #   grid_primary:
    #     - name: infoblox.example.com
    #   ns_group: default
    #   restart_if_needed: true
    #   soa_default_ttl: 3600
    #   view: default
    #   use_grid_zone_timer: true
  delegated:
    class: octoblox.DelegatedProvider
    endpoint: infoblox.example.com
    username: admin
    password: env/INFOBLOX_PASSWORD
    # verify: ./infoblox.pem
    # apiver: 1.0
    # dns_view: default
    # log_change: true
    # create_zones: true
    # new_zone_fields:
    #   delegate_to:
    #     - name: ns1.delegated.example.com
    #       address: 1.1.1.1
    #     - name: ns2.delegated.example.com
    #       address: 8.8.8.8
    #   ns_group: default
    #   view: default

Alias Record Update Behaviour

Infoblox allows for an alias record per DNS record type. By default OctoBlox will ensure both A and AAAA records are created. This can be changed using the alias_types parameter.

In the event that too many or not enough record types exist for a single record, the discovered target value will have invalid. appended to make sure that a record update is generated. This value was chosen as it's specifically listed in RFC2606 for this purpose.

This will result in octoDNS reporting that the value is incorrect when the reality is that the number of ALIAS records is incorrect. While it is possible that both are the case this is unlikely and OctoBlox can handle this as well.

Use of Lenient Flag for Alias Records

OctoDNS has implemented a behavior of not accepting alias records for non-root zone entries by default. To get around this provide the --lenient flag when dumping from InfoBlox with alias records.

When storing alias entries in YAML ensure that you add the octodns lenient entry to the record like so:

---
alias:
  octodns:
    lenient: true
  type: ALIAS
  value: www.example.com.

Alternatively you can set a zone level lenient flag like so:

---
example.com.:
    octodns:
      lenient: true
    sources:
    - yaml
    targets:
    - infoblox

Refer to the octoDNS entry on lenience for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octoblox-0.5.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

octoblox-0.5.0-py2.py3-none-any.whl (7.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file octoblox-0.5.0.tar.gz.

File metadata

  • Download URL: octoblox-0.5.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for octoblox-0.5.0.tar.gz
Algorithm Hash digest
SHA256 18a72f5a2f9cc9a3d071be87b50d35572b80e1a0633212e619e98ecb525a203c
MD5 1f8684f83594a5710997d82cbac355e5
BLAKE2b-256 bbc803160e207d7b218837f28667a82b52bf2251fe3ddeebe154204875029887

See more details on using hashes here.

File details

Details for the file octoblox-0.5.0-py2.py3-none-any.whl.

File metadata

  • Download URL: octoblox-0.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for octoblox-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 552b4cf91d8ba65a6f7416f1500b93e2399d0afeb2efa9dc6e641ce02298f594
MD5 a7553e6262cb266a7af9e908b6c6cb05
BLAKE2b-256 ea19a67ff9c6a4ff5f5080f99f15e313d1a6f577bcd45e061060e376b029fa6c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page