Commit graph

547 commits

Author SHA1 Message Date
John Belamaric
9ea8cde36e Grpc tracing (#544)
* checkpoint

* Pass context through ServeDNS, enable gRPC tracing

* Fix types and make tracer available to proxy. go fmt

* Fix imports

* Use the DoNotStartTrace option

* Change to SpanFilter from DoNotStartTrace

* Use new name (IncludeSpan)

* Final names

* Add tests; fix possible client/conn leaks in grpc

* go fmt
2017-03-01 10:41:54 -05:00
Jonathan Boulle
0a4903571e README: fix a couple of small typos (#560) 2017-02-27 10:51:18 -05:00
John Belamaric
838427c95d Remove deployment helpers that are now in coredns/deployment/kubernetes (#554) 2017-02-22 21:44:20 +00:00
Miek Gieben
703f516112 Release 006 2017-02-22 21:22:11 +00:00
Yong Tang
43c2fcc1ef Add dependency of go fmt in Makefile (#553)
This fix adds the dependency of `go fmt` in `Makefile`
so that any new check in will have to properly fmt the source code
with `gofmt -s -w`.
2017-02-22 13:28:04 -05:00
Miek Gieben
4723fb9418 Gofmt all code (#552)
* Gofmt all code

* fmt
2017-02-22 16:06:20 +00:00
Yong Tang
682957cc29 Fix incorrect link of the CodeCov in README.md (#551)
This fix fixes incorrect link of the CodeCov in README.md.
2017-02-22 10:26:06 +00:00
Miek Gieben
bf82f007fa Fix test (#549) 2017-02-22 09:23:41 +00:00
Miek Gieben
c5224b1048 Golint (#548)
* linter fixes

* Golint and format code

* fmt
2017-02-22 07:25:58 +00:00
Yong Tang
81af74aad0 Fix import path github.com/miekg/coredns -> github.com/coredns/coredns (#547)
This fix fixes import path from
`github.com/miekg/coredns`
->
`github.com/coredns/coredns`
2017-02-22 06:51:47 +00:00
Yong Tang
5982337226 Fix badge in README.md (#545)
This fix fixes badge in README.md so that it will correctly reflect
github.com/coredns/coredns
2017-02-21 21:25:09 +00:00
Miek Gieben
d0303195c3 Makefile.release: move to coredns/coredns 2017-02-21 20:02:43 +00:00
Miek Gieben
81818e4866 Remove logo: live in logo repo
We now sit under coredns/coredns this means the logo can be in it's
repository.
2017-02-21 19:57:11 +00:00
Miek Gieben
7c59d39834 middleware/metrics: survive restart (#542)
* middleware/metrics: survive restart

Keep the handler running during restart. Stopping and starting the
handler results in "address in use" - sometimes, meaning the reload
will be flaky. In turn this behavior means any changes to the monitor
stanza are not picked up.

* remove resync
2017-02-21 19:34:40 +00:00
Miek Gieben
26242cef1b Document fallthrough and fix rewrite (#537)
* Document fallthrough and fix *reverse*

While documenting the fallthrough behavior and testing it I noticed
the did not properly work. This PR does a tiny bit too much as it

- Documents fallthrough
- Fixes fallthrough in reverse
- Makes directives_generate complain on duplicate priorities
- Moved reverse *before* file in middleware.cfg
- Add a test that tests the reverse fallthrough behavior with a file
  backend

Fixes #515

* ....and fix the tests
2017-02-20 21:00:00 +00:00
Miek Gieben
3e26398e08 middleware/file: additional section processing (#531)
Add additional section processing for MX and SRV records. Update the
tests.
2017-02-19 20:42:34 +00:00
Miek Gieben
ea38b642b8 All middleware equal (#535)
* all-middleware-equal

* Revert "all-middleware-equal"

This reverts commit ee77b2a981.

* middleware: treat external and local the same

Make the middleware generation simpler and also specify the local
middleware, meaning that it can now be removed as well. Simplify
the code a bit and regen everything.

* remove lineNR, not used
2017-02-19 20:34:29 +00:00
Miek Gieben
bcd9c8b0fb server: fix data race (#536)
* server: fix data race

This fixes the detected race.

Fixes #534

* Remove the listener and packetconn from Server

There does not seem a need to store the listener and packetconn again
in the Server structure. The dns.Servers already has access to them
and can also shutdown the handlers.
2017-02-19 20:34:09 +00:00
John Belamaric
5aa30308d9 Various trace improvements (#527) 2017-02-16 17:13:18 +00:00
John Belamaric
bd033ef6c7 Make go generate run whenever middleware.cfg is changed (#530) 2017-02-16 17:12:19 +00:00
John Belamaric
84fb9b8469 Fix make gen (#526)
When using an external middleware, the generated file was failing to compile.
The issue is a typo in directives_generate.go that left imports with an
unterminated string.
2017-02-15 16:38:55 +00:00
Miek Gieben
34db56a22e readme updates (#525) 2017-02-15 08:03:14 +00:00
John Belamaric
061b3fc1bd Client-side of gRPC proxy (#511)
* WIP: Client-side of gRPC proxy

* Add tests

* gofmt

* Implement OnShutdown; add a little logging

* Update for context in Exchange change

* go fmt

* Update README

* Review comments

* Compiling is good

* More README improvements
2017-02-14 22:20:20 -05:00
Miek Gieben
98c86f3f9f go gen improvements (#524)
Remove the "gen" directory and move directives_generate.go out of it.
Add a build ignore tag so it isn't build by default. Cleanup the go gen
invocations so there are not seen as package docs.

Simplify the code a bit and don't run go gen twice.
2017-02-14 19:23:18 +00:00
Miek Gieben
a5f3cb5fe5 La context (#521)
* middleware/proxy: give Exchange a context

Make context.Context the first paramater in the Exchange method.
This is inline with all other query functions.

* up the version
2017-02-11 16:56:04 +00:00
Miek Gieben
5f6c7682be core: make coredns.Server a caddy.GracefulServer (#520)
* core: make coredns.Server a caddy.GracefulServer

We needed to also implement the Address() method.

Fixes: #519

* Add compile time check if we implement caddy.GracefulServer

* Check if we should shutdown
2017-02-10 19:50:31 +00:00
Miek Gieben
3e196a6d57 middleware/reverse: random updates (#516)
* middleware/reverse: random updates

Make the documentation somewhat shorter (and hopefully clearer in the
process). Also to be on-par with the *auto* middleware, start counting
the referenced zones from 1 (instead of 0).
Some variable cleanups and use the NextOrFailure in the ServeDNS
function.

* More TODOs
2017-02-10 12:48:51 +00:00
John Belamaric
87a39a6353 Update to point to coredns/coredns image (#517) 2017-02-09 21:58:32 +00:00
Richard Hillmann
61afc6dbad Add middleware reverse (#452) 2017-02-09 19:39:48 +00:00
Miek Gieben
a7c9fd5d6b Release 005 2017-02-09 18:47:21 +00:00
Bob Wasniak
22e39a072a Allow override of container name (#512) 2017-02-09 18:27:31 +00:00
Chris O'Haver
353c1c6487 Fix k8s chaining (#510)
* fix k8s next middleware chaining

* add chain to integration tests

* if nit
2017-02-08 12:53:55 -05:00
Bob Wasniak
fa1c90a479 Add field keywords to rewrite middleware (#497)
* Require Field for rewrite rules

* review feedback changes

* fix ut

* fix typo, add warning message
2017-02-07 21:53:16 +00:00
Miek Gieben
b8e75509cc Merge branch 'master' of github.com:miekg/coredns 2017-02-07 21:30:13 +00:00
Miek Gieben
fa0abe7473 middleware/proxy: sane(r) metrics
Add proxy_proto and re-instate proto to be the protocol of the incoming
query ("tcp" or "udp").
2017-02-07 21:28:47 +00:00
Chris O'Haver
4b6860fc81 Fix k8s PTR when all namespaces exposed (#507)
* check for no namespace filter

* integration test
2017-02-07 16:22:43 -05:00
Miek Gieben
89dc5720d0 And make it actually work (#508) 2017-02-07 21:03:17 +00:00
Chris O'Haver
fd4c5b5744 Fix no PTR records response for cidr ranges (#506)
* set zone for cidr based PTRs

* set zone to request
2017-02-07 13:58:52 -05:00
Miek Gieben
dbe1b2510d middleware/proxy: fix except keyword (#505)
Fix the except keyword usage - the config would allow it, but it was
not enforced in the code.
Turns out that **FROM** was also not enforced, fix both, by (basically)
copying the code from Caddy.

Update the README and tests.

Locally test as well, shows that this works:

~~~
.:1053 {
    proxy miek.nl 8.8.8.8:53 {
        except a.miek.nl
    }
    proxy a.miek.nl 8.8.4.4:53

    errors stdout
    log stdout
}
~~~

And gives the desired results, not having a proxy line for `a.miek.nl`
results in a SERVFAIL (as expected).

Fixes #502
2017-02-07 18:01:16 +00:00
John Belamaric
e8ebcd3cfd * Add script to generate manifest (#504) 2017-02-07 07:36:01 +00:00
Miek Gieben
123a76c91e middleware/proxy: absorb httpproxy (#481)
* middleware/proxy: absorb httpproxy

Move the httproxy into proxy. This adds and Exchanger interface which
is used to exchange the messages with the upstream.

The https_google upstream will re-resolve itself and update the upstream
hosts used every 300s.

* Remove and add TODO
2017-02-06 19:32:48 +00:00
Chris O'Haver
77f957d443 k8s middleware add tests and docs update (#501)
* add cidrs opt

* remove state data from middleware object

* update k8s docs

* Add integration tests

* add unit tests for cidr and pods config

* more README fixes, separate dev notes

* adjust section headers

* fix typo
2017-02-02 16:51:42 -05:00
Chris O'Haver
8beb1b2166 Allow cidr based reverse zone config (#500)
* add cidrs opt

* remove state data from middleware object
2017-02-01 12:56:10 -05:00
John Belamaric
3a04d2a306 Changes needed to support external gRPC server middleware (#498)
The gRPC server middleware[1] needs access to the Server object
in order to push the unpacked Msg through the normal middleware
pipeline. These are the changes to core needed to make that
possible.

[1] https://github.com/infobloxopen/coredns-grpc
2017-01-31 22:21:55 +00:00
Bob Wasniak
439d8b8d12 middleware.cfg to configure middleware directives (#496)
* Use go generate to build middleware setup based on middleware.cfg
Init default config

* generated files

* Move gen to an isolated area

* rename files

* PR review updates

* undo readme
2017-01-31 17:25:02 +00:00
Yong Tang
738067a3c7 Fix go fmt, go lint, and go vet issues (#494)
This fix fixes several `go fmt`, `go lint`, and `go vet` issues,
to make goreportcard happy:

https://goreportcard.com/report/github.com/miekg/coredns

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2017-01-29 20:06:26 +00:00
John Belamaric
bc301be5ee Add tracing option (#487)
Adds a middleware to enable tracing with OpenTracing/OpenZipkin.
Enabling tracing will have a large impact on performance so it is
not advisable in production.
2017-01-23 15:40:47 -05:00
Chris O'Haver
c62bd639ff correct k8s name parsing response codes (#493) 2017-01-23 20:11:32 +00:00
devnev
299360fe01 Fix panic caused by missing metric labels in proxy. (#492) 2017-01-23 15:30:21 +00:00
Dmytro Kislov
c68dc7c1aa truncated cache fix (#485) 2017-01-22 20:32:08 +00:00