Compare commits

..

1 commit

Author SHA1 Message Date
8f29b8991f chore(deps): update dependency pytest to v8.3.2
All checks were successful
build pypackage and create release / release-github (pull_request) Successful in 12s
check code / check-code (pull_request) Successful in 17s
2024-07-25 20:17:06 +02:00
11 changed files with 13 additions and 195 deletions

View file

@ -26,11 +26,11 @@ jobs:
python-version: "3.11"
- name: setup go
uses: actions/setup-go@v5
uses: actions/setup-go@v4
with:
go-version: ">=1.20"
- name: install hatch
- name: install hatc h
run: pip install -U hatch hatchling
- name: build package

View file

@ -1,33 +0,0 @@
name: update changelog
on:
push:
tags:
- "v*.*.*"
jobs:
update-changelog:
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
- name: install auto-changelog
run: npm install auto-changelog
- name: generate changelog
run: >-
npx auto-changelog -t keepachangelog
--commit-limit 50 --backfill-limit 50
--ignore-commit-pattern '[Bb]ump version|[Uu]pdate changelog|[Mm]erge pull request'
- name: commit and push changelog
uses: EndBug/add-and-commit@v9
with:
add: CHANGELOG.md
message: "[bot] update changelog"
author_name: actions-bot
author_email: actions@bots.44net.ch

View file

@ -7,46 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
## [v0.3.8](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/compare/v0.3.7...v0.3.8) - 2024-08-30
### Commits
- add examples [`1283d83`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/1283d83060ca0728fe399bccbc01a1a5f27452ce)
- fix cicd files [`8e168c4`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/8e168c4d88de25da1a68eff15d955968daa6b23a)
- update version matrix [`00a6ff6`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/00a6ff600beeeb25e432e5ccac774c43e1fdd3fb)
- set SUPPORTS_DYNAMIC to true [`cb3ea58`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/cb3ea583e1ab126b49f3f31055cec8f541d78716)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v4.0.10 [`e07b905`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/e07b9054eab1e9baf7676ac36a8989a00ab23c80)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v4.0.9 [`6b4baff`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/6b4bafff5ace100d3de651c50c5d25063907819b)
- chore(deps): update actions/setup-go action to v5 [`1cce3ee`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/1cce3eee7376c56ef89528e35384c75dc5a279e6)
## [v0.3.7](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/compare/v0.3.6...v0.3.7) - 2024-08-09
### Commits
- update ci ciles [`6572375`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/65723753f6747921990fcd4f1b6c39c00005a92e)
- always normalize zones [`f1f6602`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/f1f6602985ef57d2b1531f7099a1df7515fbaa6f)
- run auto-formatter [`9efd4fa`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/9efd4faea1320a8e037ef0e4a7deab89fb3a95ab)
- update to netbox>4.0 and netbox-plugin-dns>1.0 [`6772f0a`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/6772f0a5e0a929cc589c4fb08ff989eb8a962c3c)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v4.0.8 [`aaab7d9`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/aaab7d948e5cba8c34785b5f4c53cee3c6791184)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v4.0.7 [`b528c58`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/b528c58eaed41afd59c3fa76ae5f9940d5ba5049)
- remove lefthook from justfile [`f4e877e`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/f4e877e2fe41dbf8a5e52bc795bf04b5da654aed)
## [v0.3.6](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/compare/v0.3.5...v0.3.6) - 2024-07-07
### Commits
- update tests and deps [`adeca85`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/adeca856be84af888ec7d1de3a567fba5c439f68)
- Implement Provider.list_zones for dynamic zone config support [`0051c30`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/0051c30b8d948971b7ec447595b50eef80515993)
- use make_absolute function [`60b3226`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/60b322636169fd8a32804f29264fe750caff607b)
- fix whitespace [`ba2a3f6`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/ba2a3f6edfe2be8566c609784f659b1638c3922d)
- chore(deps): update dependency octodns to v1.7.0 [`cb51054`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/cb510541e25cd5b1d57afc8496b4bb89088f3b3c)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v3.7.6 [`d97d2b7`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/d97d2b749cd5a62e310600b31159665b44e724d7)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v3.7.5 [`cdd9f0d`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/cdd9f0d910f682f8ab70c66887e75f095e43094a)
- chore(deps): update dependency octodns to v1.6.1 [`d70c9de`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/d70c9dec0aa532c699feba8bd5991cfe7a7a13d7)
- chore(deps): update lscr.io/linuxserver/netbox docker tag to v3.7.4 [`6f1424c`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/6f1424c25e7ce387a70094086a55ece38e6c7342)
- chore(deps): update dependency octodns to v1.6.0 [`b19a598`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/b19a598c387c6cc53756bfc0b255ec6134e3aeef)
- chore(deps): update dependency just to v1.25.2 [`dff84f4`](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/commit/dff84f48ab87fb257ee82ecf7ddb9e2b6993bd86)
## [v0.3.5](https://git.44net.ch/olofvndrhr/octodns-netbox-dns/compare/v0.3.4...v0.3.5) - 2024-03-04
### Commits

View file

@ -34,12 +34,11 @@ providers:
## compatibility
> actively tested on the newest `netbox-plugin-dns` and `netbox` versions
> actively tested on the newest netbox-plugin-dns and netbox versions
| provider | [netbox-plugin-dns](https://github.com/peteeckel/netbox-plugin-dns) | [netbox](https://github.com/netbox-community/netbox) |
| ----------- | ------------------------------------------------------------------- | ---------------------------------------------------- |
|-------------|---------------------------------------------------------------------|------------------------------------------------------|
| `>= v0.3.3` | `>=0.21.0` | `>=3.6.0` |
| `>= v0.3.6` | `>=1.0.0` | `>=4.0.0` |
## install

View file

@ -1,4 +1,4 @@
FROM lscr.io/linuxserver/netbox:4.1.0
FROM lscr.io/linuxserver/netbox:4.0.7
RUN pip install -U \
wheel \

View file

@ -1,52 +0,0 @@
manager:
max_workers: 2
plan_outputs:
html:
class: octodns.provider.plan.PlanMarkdown
processors:
spf:
class: octodns_spf.SpfDnsLookupProcessor
no-root-ns:
class: octodns.processor.filter.IgnoreRootNsFilter
ignore-non-public:
class: octodns.processor.filter.NetworkValueRejectlistFilter
rejectlist:
- 127.0.0.0/8 # loopback
- 192.168.0.0/16 # rfc1918
- 172.16.0.0/12 # rfc1918
- 10.0.0.0/8 # rfc1918
- ::1/128 # loopback
- fc00::/7 # ula
- fe80::/10 # link-local
- f00::/8 # multicast
providers:
netbox:
class: octodns_netbox_dns.NetBoxDNSProvider
url: https://netbox.example.net
token: env/NETBOX_API_KEY
view: false
replace_duplicates: false
make_absolute: true
cloudflare:
class: octodns_cloudflare.CloudflareProvider
token: env/CLOUDFLARE_API_KEY
account_id: env/CLOUDFLARE_ACCOUNT_ID
cdn: false
pagerules: false
retry_count: 4
retry_period: 300
zones_per_page: 50
records_per_page: 100
zones:
"*":
sources:
- netbox
processors:
- spf
- no-root-ns
- ignore-non-public
targets:
- cloudflare

View file

@ -1,33 +0,0 @@
manager:
max_workers: 2
plan_outputs:
html:
class: octodns.provider.plan.PlanMarkdown
processors:
spf:
class: octodns_spf.SpfDnsLookupProcessor
providers:
config:
class: octodns.provider.yaml.YamlProvider
directory: ./zones
default_ttl: 3600
enforce_order: true
populate_should_replace: false
netbox:
class: octodns_netbox_dns.NetBoxDNSProvider
url: https://netbox.example.net
token: env/NETBOX_API_KEY
view: false
replace_duplicates: false
make_absolute: true
zones:
"*":
sources:
- netbox
processors:
- spf
targets:
- config

View file

@ -45,7 +45,7 @@ packages = ["src/octodns_netbox_dns"]
[tool.hatch.envs.default]
python = "3.11"
dependencies = [
"pytest==8.3.3",
"pytest==8.3.2",
"coverage==7.5.3",
"octodns==1.9.1",
"octodns-spf==0.0.2",

View file

@ -1 +1 @@
__version__ = "0.3.8"
__version__ = "0.3.6"

View file

@ -14,7 +14,7 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
"""OctoDNS provider for NetboxDNS"""
SUPPORTS_GEO = False
SUPPORTS_DYNAMIC = True
SUPPORTS_DYNAMIC = False
SUPPORTS_ROOT_NS = True
SUPPORTS_MULTIVALUE_PTR = True
SUPPORTS: set[str] = { # noqa
@ -75,18 +75,14 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
self.make_absolute = make_absolute
self.disable_ptr = disable_ptr
def _make_absolute(self, value: str, force: bool = False) -> str:
def _make_absolute(self, value: str) -> str:
"""return dns name with trailing dot to make it absolute
@param value: dns record value
@param force: when `True`, disregard configuration option `make_absolute`
@return: absolute dns record value
"""
if value.endswith("."):
return value
if not (self.make_absolute or force):
if not self.make_absolute or value.endswith("."):
return value
absolute_value = value + "."
@ -442,6 +438,5 @@ class NetBoxDNSProvider(octodns.provider.base.BaseProvider):
"""
query_params = {"status": "active", **self.nb_view}
zones = self.api.plugins.netbox_dns.zones.filter(**query_params)
absolute_zones = [self._make_absolute(z.name, True) for z in zones]
return sorted(absolute_zones)
return sorted([self._make_absolute(z.name) for z in zones])

View file

@ -11,7 +11,7 @@ DEFAULT_CONFIG = {
}
def test_absolute():
def test1():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd = "example.com"
absolute = nbdns._make_absolute(rcd)
@ -19,27 +19,9 @@ def test_absolute():
assert absolute == "example.com."
def test_noop():
def test2():
nbdns = NetBoxDNSProvider(**DEFAULT_CONFIG)
rcd = "example.com."
absolute = nbdns._make_absolute(rcd)
assert absolute == "example.com."
def test_disabled():
args = {**DEFAULT_CONFIG, "make_absolute": False}
nbdns = NetBoxDNSProvider(**args)
rcd = "example.com"
relative = nbdns._make_absolute(rcd, force=False)
assert relative == "example.com"
def test_force():
args = {**DEFAULT_CONFIG, "make_absolute": False}
nbdns = NetBoxDNSProvider(**args)
rcd = "example.com"
absolute = nbdns._make_absolute(rcd, force=True)
assert absolute == "example.com."