Skip to content

NEW FEATURE: Added "push --report" flag which generates JSON report of changes made#2543

Merged
tlimoncelli merged 5 commits into
DNSControl:masterfrom
fritterhoff:feat/report
Sep 14, 2023
Merged

NEW FEATURE: Added "push --report" flag which generates JSON report of changes made#2543
tlimoncelli merged 5 commits into
DNSControl:masterfrom
fritterhoff:feat/report

Conversation

@fritterhoff
Copy link
Copy Markdown
Contributor

We want to execute some actions after running dnscontrol. To reduce the amount of actions and improve the speed this PR adds a report option that generates a JSON file containing the Domain, the amount of performed actions and the Provider/Registrar.

Afterwards we can parse the json and identify the domains that were changed and ignore those that kept unchanged.

@cafferata
Copy link
Copy Markdown
Member

Interesting! How do you use this in the PR context? Maybe you can describe this new option including the possibilities/examples repots in the documentation? I am curious because I see possible improvements for our current working method.

@fritterhoff
Copy link
Copy Markdown
Contributor Author

In detail we extended dnscontrol a little bit further (https://github.com/hm-edu/dnscontrol-extended).

We generate reverse zones using dnscontrol and parse them afterwards into GitLab Issues. This allows us to identify free ip addresses and get a quick overview over the utilization of our IP ranges. In the next step we plan/are discussing to push the data into netbox. In a long term view the DNS data shal be the single source of truth for several management operations.

The GitLab issues are currently always created - regardless of whether a change is necessary or not. This is at the expense of the API limitations or, in the case of the large number of IP ranges, at the expense of performance.

@fritterhoff
Copy link
Copy Markdown
Contributor Author

As an example this is an excerpt of the GitLab Issue for one /24 Zone.

image

In total we have more than 30 public /24 zones that get managed by dnscontrol and approx. 15 /16 internal zones. Overall we currently manage approx. 1500 public A Records and thousands of private A Records ;-)

@cafferata
Copy link
Copy Markdown
Member

Thanks again for sharing! 👏 I like this kind of overview/deeper understanding of the needs. This inspires me, and perhaps others, as well.

PS. Did you also see @tlimoncelli 'endorsements' request on Google Group? Sounds like the Munich University of Applied Sciences is a great example. 😄

@fritterhoff
Copy link
Copy Markdown
Contributor Author

@cafferata @tlimoncelli feel free to add the Munich University of Applied Sciences to your list of happy users 😉

@tlimoncelli
Copy link
Copy Markdown
Contributor

Great idea!

Could you add documentation (https://docs.dnscontrol.org/developer-info/styleguide-doc#how-to-add-a-new-page) for this feature? (Please include a sample of what the json output looks like)

Tom

@fritterhoff
Copy link
Copy Markdown
Contributor Author

I will add some docs and an example.

@tlimoncelli tlimoncelli changed the title feat: add report option NEW FEATURE: Added "push --report" flag which generates JSON report of changes made Sep 8, 2023
@tlimoncelli
Copy link
Copy Markdown
Contributor

Thanks! I look forward to using this feature!

@tlimoncelli tlimoncelli merged commit 1d825be into DNSControl:master Sep 14, 2023
@fritterhoff fritterhoff deleted the feat/report branch April 28, 2024 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants