# CoreDNS: almost ready to dogfood


I need to test AXFR and how it responds to notify, and yes this will get some proper
`*_test.go` files in the near future, but for know I just need to know if it works
just this once (TM). For this I need to transfer a zone *and* need to have a
proper primary setup so that I can send notifies that [CoreDNS](https://github.com/miekg/coredns)
will respond to.

So I ended up with the following Corefile, where 176.58.119.54 is the real primary,
127.0.0.1 is a fake one which allows me to send notifies with `kdig`.

~~~ txt
miek.nl:1053 {
   secondary {
        transfer to *
        transfer from 176.58.119.54
        transfer from 127.0.0.1
    }
    errors stdout
    log stdout
}
~~~

Startup looks legit:

~~~ txt
 ./coredns -log stdout
Activating privacy features...
2016/04/06 21:25:43 [INFO] Transferred: miek.nl.
miek.nl.:1053
~~~

Let's send a notify and see what happens: `kdig -t NOTIFY @localhost -p 1053 miek.nl`

~~~ txt
2016/04/06 22:15:37 [INFO] Notify from 127.0.0.1 for miek.nl.: checking transfer
2016/04/06 22:15:37 [INFO] Notify from 127.0.0.1 for miek.nl.: no serial increase seen
127.0.0.1 - [06/Apr/2016:22:15:37 +0100] "SOA IN miek.nl. udp false 512" NOERROR 25 24.356174ms
~~~
That last SOA query is CoreDNS querying itself for the zone... I think this should not create
cycles... But there isn't a transfer initiated, because the remote's SOA serial isn't increased. So
lets try that... *increases SOA serial*. And resend the NOTIFY:

~~~ txt
2016/04/06 22:17:07 [INFO] Notify from 127.0.0.1 for miek.nl.: checking transfer
2016/04/06 22:17:07 [INFO] Transferred: miek.nl.
~~~

W00T! That is working as intended. This is fixing [issue
15](https://github.com/miekg/coredns/issues/15), making it possible to run CoreDNS as my server.
Doing that will surely turnup some more bugs, so leaving that bug open for a short while.

