* Move *proxy* to external
move the proxy plugin into coredns/proxy and remove it as a default
plugin. Link the proxy to deprecated in plugin.cfg
coredns/proxy doesn't compile because of the vendoring :(
Signed-off-by: Miek Gieben <miek@miek.nl>
* Add github.com/coredns/proxy
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
TestLookupAutoPathErratic sometimes fail on TravisCI saying below
```
=== RUN TestLookupAutoPathErratic
--- FAIL: TestLookupAutoPathErratic (8.30s)
erratic_autopath_test.go:39: Test 0, failed to sent query: "read udp [::1]:39758->[::1]:56643: i/o timeout"
FAIL
```
The failure happens when Google replies slowly.
This PR changes to not use Google but run CoreDNS locally and proxy to the server.
---
Because the failure depends on Google, sometimes it happens frequently but sometimes it doesn't happen.
I hope following test help you reproduce it.
```
func TestLookupAutoPathErratic2(t *testing.T) {
for i := 0; i < 200; i++ {
TestLookupAutoPathErratic(t)
}
}
```
or I can reproduce it by changing proxy to other DNS like 1.1.1.1 instead of 8.8.8.8 too
* tests: CoreDNSServerAndPorts
Copy from kubernetes.go and renamed to fit the style, adapted almost
all callers.
This is a mechanicl change, no testdata was changed.
* typos
Add integration test with erratic. For this erratic now also returns an
autopath searchpath. This tests the whole chain; i.e registring a
searchfunction and calling that from autopath.
This tests does a autopathing domain and a non-autopathing one.