Commit Graph

1089 Commits

Author SHA1 Message Date
Chris O'Haver
ca5097ca13 reqd changes (#1522) 2018-02-12 14:27:16 -05:00
John Belamaric
bd156dc9d1 Stop noisy modifications (#1517)
* Stop noisy modifications

* Review comments, tests

* More coverage

* vet

* Make it obvious new port name is not a typo
2018-02-09 22:32:52 +00:00
Chris O'Haver
d2bbe0103d kubernetes: Fix Federation example in README (#1515)
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.
2018-02-09 15:40:50 -05:00
Miek Gieben
2e894eb0a2 plugin/reload: disable for now (#1511)
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
2018-02-09 11:30:55 +00:00
Miek Gieben
006ce4d56e Add Chris back (#1513)
Pinged me, still interested in helping out \o/
2018-02-09 10:48:07 +00:00
Yong Tang
89b6e0bedd Add a test case for case insensitive/preserving with whoami plugin (#1509)
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>
2018-02-08 20:08:03 +00:00
Sandeep Rajan
d0892abc2c add sync for proper termination (#1507) 2018-02-08 13:57:49 -05:00
Brad Beam
6fd954f19c support for zone transfer for kubernetes (#1259)
* 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
2018-02-08 16:11:04 +00:00
Miek Gieben
864f502356 Run go genenerate (#1506)
Forward still wasn't right; run make -f Makefile.doc, as well for good
measure.
2018-02-08 15:00:25 +00:00
Miek Gieben
74a9d28f1b core: unblock CH class for forward as well (#1498)
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.
2018-02-08 12:59:30 +00:00
Miek Gieben
5a0adabcea Remove MAINTAINERS file (#1503)
We have OWNERS file throughout the repo. The top level OWNERS file
replaces the MAINTAINERS file (sans email addresses that is).
2018-02-08 11:00:21 +00:00
Miek Gieben
fd7abd9849 Add OWNERS file (#1486)
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.
2018-02-08 10:55:51 +00:00
Sandeep Rajan
a4e0f6452d plugin/rewrite: remove do set in edns0 (#1500)
* remove setdo

* gofmt
2018-02-07 13:53:23 -05:00
Chris O'Haver
82854bf098 plugin/kubernetes: Allow only one k8s section (#1497)
* allow only one k8s section

* add test
2018-02-07 16:31:08 +00:00
Paul Greenberg
f636930c5c plugin/rewrite: rewrite responses for all record types (#1460) (#1463) 2018-02-06 18:40:46 +00:00
Harshavardhana
367ed65f22 Fix default endpoint port (#1490) 2018-02-06 07:07:43 +00:00
Miek Gieben
5b844b5017 plugin/forward: add it (#1447)
* 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
2018-02-05 22:00:47 +00:00
Miek Gieben
fb1cafe5fa pkg/up: add generic run-this-functions (#1481)
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.
2018-02-05 22:00:29 +00:00
Miek Gieben
2ce88a40c1 Make -f Makefile.doc (#1487)
Add man-pages for the new plugins.
2018-02-03 19:20:22 +02:00
Francois Tur
2440024772 Plugin/RELOAD - Tune usage of var global, add limit to options (#1457)
* 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
2018-02-02 13:15:56 -05:00
Uladzimir Trehubenka
3fb07161b7 Fixed dnstap panic after graceful restart (send on closed channel) (#1479) 2018-02-02 11:59:22 +02:00
Francois Tur
b93a36b213 Plugin/Proxy - add new policy always_first to mimic windows dns resolvers (#1459)
* 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
2018-01-30 16:29:49 -05:00
Tobias Schmidt
0af9b9b16f plugin/proxy: Fix unnecessary message truncation (#1477)
As plugin/proxy always returns compressed messages, it's important to
set this before calling Scrub(), as some messages will be unnecessarily
truncated otherwise.
2018-01-30 23:18:44 +02:00
Tobias Schmidt
64d7268ed6 plugin/proxy: Don't enable HTTP healthchecking if not configured (#1441)
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.
2018-01-30 23:10:07 +02:00
Miek Gieben
841e1a44ac Add OWNERS (#1469)
This adds the inital top-level OWNERS file. Each plugin should also get
one, but that will be more work.

Ref: #1454
2018-01-30 10:28:56 -08:00
Yong Tang
2b268134e9 Golint fix (#1475)
Golint fix to make goreportcard happy

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2018-01-30 09:31:39 -08:00
Yong Tang
09d4a9c22c Uses external context package for server-tls.go (#1471)
This fix uses external context package for server-tls.go
This fix is a follow up to 1468.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2018-01-30 08:31:23 -08:00
Miek Gieben
b228054a9a Remove hooks directory (#1470)
This was used for docker automation or someting?
I don't think there are uses for this, lets remove it.
2018-01-30 08:15:51 -08:00
Miek Gieben
f91cb61086 Don't use standard lib context package (#1468)
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
2018-01-30 09:19:37 -05:00
Chris O'Haver
449bb1ac6c spelling (#1461) 2018-01-29 13:16:13 -05:00
Miek Gieben
399073ec6b pl/kubernetes: drop the comma parsing (#1453)
Let caddyfile parser give us the token, the comma sep thing also didn't
work.

Fixes #1446
2018-01-28 08:40:10 -08:00
John Belamaric
d27be86e3e Minor refactor of proxy parsing to make upstreams re-usable in other plugins (#1426) 2018-01-27 17:25:39 -05:00
Miek Gieben
3b4235a7c6 plugin.md updates (#1451)
* 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
2018-01-27 20:35:52 +00:00
John Belamaric
0b35d4d28f Reload hook (#1445)
* Add reload directive

* gofmt

* Fix default jitter and error message

* remove unneeded call to NextArg, add a couple negative setup tests

* Review feedback
2018-01-27 10:42:57 +00:00
Chris O'Haver
80050766fb Tolerate go get failures for coredns/forward (#1435)
* testpr3

* hack

* chop

* tolerate coredns/coredns get fail

* remove TEST from readme
2018-01-26 16:10:45 -05:00
Miek Gieben
ed02f5f2a2 release improvements (#1439)
Last release I forgot steps, put them in Makefile.release. Generating
the manual files will be skipped if 'ronn' can't be found.
2018-01-26 08:57:08 -08:00
Pat Moroney
4b5fc3002e correct typo from hosts to route53 (#1437) 2018-01-25 23:17:47 +00:00
Miek Gieben
c56fa8dbd3 Updates (#1432)
* Enable forward

* Regen all docs
2018-01-25 21:59:08 +00:00
Miek Gieben
b89480b33f Golint: make golint happy (#1433)
CoreVersion needs to be documented for golint, but we can't use too much
text because we grep this file for the coredns version.
2018-01-25 21:58:46 +00:00
Miek Gieben
aeacbf6e24 move flag blacklisting to main (#1431)
* 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
2018-01-25 21:40:40 +00:00
Miek Gieben
ea95a2003a Release 1.0.5 v1.0.5 2018-01-25 19:45:35 +00:00
Miek Gieben
482f9c4f14 Release is 1.0.5 2018-01-25 19:37:15 +00:00
Miek Gieben
2d00080ef5 plugin/forward: add out of tree forward plugin (#1425)
* 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
2018-01-25 18:55:35 +00:00
Miek Gieben
fcfb998b86 release: default to using go-dns 1.0.4 (#1424) 2018-01-25 16:33:08 +01:00
Miek Gieben
77bd7eaede Add on plugin (#1412)
Enable this Caddy plugin by default. Docs will go up coredns.io for this
as well.

See https://caddyserver.com/docs/on
2018-01-25 11:02:51 +00:00
Ilya Galimyanov
1e75061aec Remove pointers to labels.Selector and pass normally instead (#1422) 2018-01-24 20:44:18 +00:00
Tobias Schmidt
a0ad2ff0af plugin/etcd: Remove unnecessary test cases (#1421)
These test cases became invalid with the fix of message truncation and
don't validate anything.
2018-01-24 14:09:57 +00:00
Tobias Schmidt
697e2b4bda Fix truncation of messages longer than permitted by the client (#1417)
* Fix truncation of messages longer than permitted by the client

CoreDNS currently doesn't respect the maximum response size advertised
by the client and returns the full answer on a message with the TC bit
set. This breaks client implementations which rely on DNS servers
respecting the advertised size limit, for example the Ruby stdlib
client. It also has negative network performance implications, as large
messages will be split up into multiple UDP packets, even though the
client will discard the truncated response anyway.

While RFC 2181 permits the response of partial RRSets, finding the
correct number of records fitting into the advertised response size is
non-trivial. As clients should ignore truncated messages, this change
simply removes the full RRSet on truncated messages.

* Remove incorrect etcd test assertion

If a client requests a TXT record larger than its advertised buffer
size, a DNS server should _not_ respond with the answer, but truncate
the message and set the TC bit, so that the client can retry using TCP.
2018-01-24 13:28:26 +00:00
Tobias Schmidt
b707438534 Add coredns_build_info metric (#1418)
In order to track the rollout status of CoreDNS versions, add the common
build_info metric.
2018-01-23 20:10:55 +00:00
Francois Tur
f9c03c2ead fix computation of reverse zone based on Ipv6 CIDRs (#1415) 2018-01-23 15:58:36 +00:00