This fix enables goimports check and fixes several imports format
so that the import sections are prettier, e.g.:
```
import (
- "github.com/miekg/dns"
"regexp"
"strconv"
"strings"
+
+ "github.com/miekg/dns"
)
```
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Remove `fallthrough` from the federation example in the README. `fallthrough` isn't needed here and has no effect (federation has an implicit fallthrough for non-federated queries).
It's inclusion is confusing.
Reloading should work (kill -TERM reload the coredns process), but a lot
of plugins can't handle it proper. Disable to reload plugin until we fix
(most) of the plugins
This fix add a test case for case insensitive/preserving with
whoami plugin.
This fix is part of the effort for 1403.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* plugin/kubernetes: axfr
Hook up dynamic SOA serial by setting ResourceEventHandlerFuncs in
dnsController.
Add prototype of returns msg.Services via the Transfer function. Leave
expanding this to RRs out of scope for a bit.
* plugin/kubernetes: axfr
Respond to AXFR queries
* Fixing race condition
* Fixing instantiation of dnstest writer
* Updates from review
Retweak this a little to make it slightly easier to *not* forget this,
but it is hardly perfect. Should probably make it an interface a plugin
can implement and then unblock if we see that interface.
This should have everyone, but the process was quite manual. The rename
from middleware -> plugin also meant I had to do some extra digging on
who actually submitted the PR. I also double checked the current list of
people with commit access.
Every plugin now has an OWNERS, except *reverse*. I'll file a bug for
that.
* plugin/forward: add it
This moves coredns/forward into CoreDNS. Fixes as a few bugs, adds a
policy option and more tests to the plugin.
Update the documentation, test IPv6 address and add persistent tests.
* Always use random policy when spraying
* include scrub fix here as well
* use correct var name
* Code review
* go vet
* Move logging to metrcs
* Small readme updates
* Fix readme
This adds a generic way of start a check function to check a backend.
This package can be used to kick off healthchecks. The package makes
sure only 1 is run at any one time.
It should allow for:
See upstream error -> kick off healthcheck
and not to worry about overwhelming the upstream with a barrage of
queries.
* tune usage of var global, add limit to options
* update readme for minimal values
* useless change to quick-off codecov
* fix msgs for min values and tune the flag for end of reload usage, with a 'maybe' option
* adding UT for min values, adding MD5 of corefile on the log
* add new policy always_first to mimic windows dns resolvers
fill documentation, add UT and cleanup fmt
* change name of policy from always_first to first. Update docs
As plugin/proxy always returns compressed messages, it's important to
set this before calling Scrub(), as some messages will be unnecessarily
truncated otherwise.
HTTP healthchecking will be implicitely activated for proxy upstream
hosts, even if not configured. The README states that not using the
health_check directive will disable HTTP healthchecks though.
It seems to me that the availability of the HealthCheck.Path attribute
is used as indicator whether HTTP healthchecks should be used or not.
The normalizeCheckURL() function didn't check that attribute though,
always returning a CheckURL. This would increase the healthcheck failure
on every third failure in plugin/proxy, without any possibility for the
upstream host to be marked as healthy again. This would eventually
remove all upstream hosts from the serving pool.
With Go 1.9 you *can* include the std lib's context package and nothing
breaks. However we never officially made the move (and grpc also doesn't
ues the std lib's one).
Standardize all plugins on using the extern context package.
Fixes#1466
* plugin.md updates
Talk about return code, logging and other bits.
Also checked the code for fmt.Printf logging, there is none.
Fixes#1449#1450
* review
* more typos
* move flag blacklisting to main
Doing it in init() is the wrong place or something else changed. Doing
it in main() makes it easy to see *when* this happens.
* keep trapsignals
* plugin/forward: add out of tree forward plugin
This is a simpler proxy than *proxy*, include by default so it is easier
to switch (i.e. no recompile). It lacks features compared to proxy (did I
say it was simpler), but does cache udp and tcp connection, so it is
faster than proxy.
* Muck with the makefile
* Versioning forward now