Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ossobv/dnsgit
Keep track of DNS server history using a Git repository
https://github.com/ossobv/dnsgit
audit-trail dns history
Last synced: about 4 hours ago
JSON representation
Keep track of DNS server history using a Git repository
- Host: GitHub
- URL: https://github.com/ossobv/dnsgit
- Owner: ossobv
- License: gpl-3.0
- Created: 2017-07-24T11:07:55.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-15T10:46:02.000Z (about 3 years ago)
- Last Synced: 2024-08-05T09:18:29.387Z (3 months ago)
- Topics: audit-trail, dns, history
- Language: Shell
- Homepage:
- Size: 18.6 KB
- Stars: 8
- Watchers: 8
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
dnsgit :: Keep track of your DNS history using a Git repository
===============================================================*Keeping track of your DNS record history is now as easy as running a
cron job.*If you manage a couple of hundred domains which can be edited using a
web interface, it may come in handy to have history.As OSSO, we use `PowerDNS `_ to keep track of
customer DNS records. Along with its SQL backend, it works rather well.However, it lacks history/undo. That's where *dnsgit* comes in:
**On a daily basis, it runs AXFR queries on the nameserver and writes
the current state to a local Git repository. The state is
sorted/normalized, so only real changes are noticed/stored.**Any undo operation still has to be performed manually, but at least
you'll know what to undo.Example setup
-------------.. code-block:: console
# install -T -o755 dnsgit /usr/local/bin/dnsgit
# mkdir /srv/dnsgit
# cd /srv/dnsgit# git init; touch README.rst; git add README.rst; git commit -m Initial
# dnsgit update-all
Run that last one -- ``dnsgit update-all`` -- from a daily cron job.
This will initialize and update the local repository and keep track of
changes.For instance, a change may look like this:
.. code-block:: console
# git show fb8c68e3512c36ad3aa90ed215ffc812c7fd0dc1
commit fb8c68e3512c36ad3aa90ed215ffc812c7fd0dc1
Author: OSSO
Date: Wed Jul 5 00:25:31 2017 +0200changed: osso.io.
diff --git a/o/osso.io. b/o/osso.io.
index 7cd810e..0235414 100644
--- a/o/osso.io.
+++ b/o/osso.io.
@@ -1,5 +1,5 @@
osso.io. 86400 IN SOA ns1.osso.nl. info.osso.nl. (
- 2017061604 ; serial
+ 2017070400 ; serial
14400 ; refresh (4 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
@@ -76,7 +76,7 @@ production.osso.io. 3600 IN A 217.11.222.333rapid.osso.io. 86400 IN A 185.11.222.333
-stats.osso.io. 86400 IN A 185.11.222.300
+stats.osso.io. 86400 IN A 185.11.222.400stats2.osso.io. 86400 IN A 185.11.222.500
License
-------dnsgit is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your
option) any later version.