This project is mirrored from https://github.com/coredns/coredns.git.
The repository failed to update .
Repository mirroring has been paused due to too many failed attempts, and can be resumed by a project maintainer.
Last successful update .
Repository mirroring has been paused due to too many failed attempts, and can be resumed by a project maintainer.
Last successful update .
- 31 Dec, 2017 1 commit
-
-
Miek Gieben authored
-
- 27 Dec, 2017 4 commits
-
-
Miek Gieben authored
After initial startup, see if prometheus is loaded and if so, register our metrics with it. Stop doing the init() func and just use the sync.Once so we don't double registrer our metrics.
-
Max Schmitt authored
-
Miek Gieben authored
* Stop vendoring prometheus * Fix make
-
Miek Gieben authored
This leave most of the code intact, but we need to stop vendoring prometheus, because, again, plugins what want to use it. Not vendoring prometheus makes my forward metrics show up again. Code looks bit convoluted, but works: ~~~ c.OnStartup(func() error { once.Do(func() { m := dnsserver.GetConfig(c).Handler("prometheus") if m == nil { return } if x, ok := m.(*metrics.Metrics); ok { x.MustRegister(RequestCount) x.MustRegister(RcodeCount) x.MustRegister(RequestDuration) x.MustRegister(HealthcheckFailureCount) x.MustRegister(SocketGauge) } }) }) ~~~
-
- 22 Dec, 2017 2 commits
-
-
Miek Gieben authored
If you have no handlers for any zone CoreDNS would crash, this is very *uncommon*, because it makes your server a bit unusable. Example config: ~~~ . { #forward . tls://9.9.9.9 8.8.8.8 { # health_check 5s # tls_servername dns.quad9.net #} pprof debug } ~~~ It this does nothing and doesn't setup you plugin chain because pprof and debug don't handle queries -
Miek Gieben authored
* dnstest: add multirecorder This adds a new recorder that captures all messages written to it. This can be useful when, for instance, testing AXFR which can write muliple messages back to the client. * docs
-
- 21 Dec, 2017 3 commits
-
-
Francois Tur authored
-
Miek Gieben authored
Default to empty DOCKER var so you wont accidently push to the production dockerhub. But allow to be overriden to you can push to your registry. This allows you to re-use the CoreDNS makefiles for your internal CI/CD. Hacked Makefile with echos: make DOCKER=bla -f Makefile.release docker-push Pushing: 1.0.1 for arch in amd64 arm arm64 ppc64le s390x; do \ echo docker push bla/coredns:coredns-$arch ;\ done docker push bla/coredns:coredns-amd64 docker push bla/coredns:coredns-arm docker push bla/coredns:coredns-arm64 docker push bla/coredns:coredns-ppc64le docker push bla/coredns:coredns-s390x echo manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:1.0.1 manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:1.0.1 echo manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:latest manifest-tool push from-args --platforms linux/amd64,linux/arm,linux/arm64,linux/ppc64le,linux/s390x --template bla/coredns:coredns-ARCH --target bla/coredns:latest -
Miek Gieben authored
The README.md was updated by not the actual metric. Fixes #1321
-
- 19 Dec, 2017 1 commit
-
-
Yong Tang authored
The `apache/thrift` recently released a new version of `0.11.0` several days ago. This release is compatible with other packages and as such, there is no need to pinning the `apache/thrift` to `master` anymore in Gopkg.toml. This fix removes the pinning of `apache/thrift` in Gopkg.toml, and updates all dependencies of coredns. Signed-off-by:Yong Tang <yong.tang.github@outlook.com>
-
- 16 Dec, 2017 1 commit
-
-
Yong Tang authored
`hanlder` -> `handler` `bounderies` -> `boundaries` Signed-off-by:Yong Tang <yong.tang.github@outlook.com>
-
- 15 Dec, 2017 4 commits
-
-
Yong Tang authored
This fix expose directives in dnsserver package, so that external plugin developers could easily build customerized coredns+plugin without changing the code base tree of coredns. The following is an example that could bundle coredns+example, in one simple file without modifying coredns codebase: ``` package main import ( _ "github.com/coredns/example" "github.com/coredns/coredns/coremain" "github.com/coredns/coredns/core/dnsserver" ) var directives = []string{ "example", "log", "errors", ... ... ... "whoami", "startup", "shutdown", } func init() { dnsserver.Directives = directives } func main() { coremain.Run() } ``` Signed-off-by:Yong Tang <yong.tang.github@outlook.com>
-
Brad Beam authored
-
Paul Greenberg authored
Resolves: #1307
-
James Hartig authored
prometheus.Handler is deprecated according to the godoc for the package so instead we're using promhttp. Additionally, we are exposing the Registry that metrics is using so other plugins that are not inside of coredns can read the registry. Otherwise, if we kept using the Default one, there's no way to access that from outside of the coredns repo since it is vendored.
-
- 14 Dec, 2017 4 commits
-
-
James Hartig authored
If external plugins wanted to extend metrics there was no way since zoneNames couldn't be initialized. Now plugins can call New to get an instance of Metrics that they can extend.
-
Frederic Hemberger authored
-
Paul Greenberg authored
-
Brad Beam authored
* Moving TransferParse from file to its own package * Adding tests for parse
-
- 13 Dec, 2017 1 commit
-
-
James Hartig authored
Switched health and autopath plugin to allow any plugins to be used instead of a hardcoded list. I did not switch federation over since it wasn't obvious that anything other than kubernetes could be used with it. Fixes #1291
-
- 12 Dec, 2017 1 commit
-
-
Miek Gieben authored
-
- 11 Dec, 2017 3 commits
-
-
Miek Gieben authored
When z.Tree.Prev returns zero we should break out of this loop, not use elem as if nothing has happened. Can be triggered by sending edns0 to unsigned zone.
-
Miek Gieben authored
DS is peculiar and needs some special cases to do the right things. For a direct query return the DS, but if we're hitting below the delegation return the NS+DS in a delegation response.
-
Miek Gieben authored
Don't put NS records in the answer section; if we see it is delegated we should put the records in the AUTHORITY section. This removes a special case, which is good.
-
- 09 Dec, 2017 1 commit
-
-
Miek Gieben authored
add an example and some typos fixed.
-
- 08 Dec, 2017 5 commits
-
-
Brad Beam authored
-
Brad Beam authored
-
Miek Gieben authored
If protocol is https_google we do the health checks wrong, i.e. we're healthchecking the wrong endpoint, hence the health check code below should not be executed. See issue #1202. This is an ugly hack and the thing requires a rethink. Possibly in conjunction with moving to the *forward* plugin.
-
Yong Tang authored
Qunar (https://qunar.com) is the leading travel booking service in China. They use CoreDNS for service discovery of the GPU machine learning cloud they build with TensorFlow and Kubernetes. There is a very nice talk in KubeCon 2017, presented by Ye Lu: https://kccncna17.sched.com/event/CU61/all-you-need-to-know-to-build-your-gpu-machine-learning-cloud-b-ye-lu-qunarSigned-off-by:
Yong Tang <yong.tang.github@outlook.com>
-
Seansean2 authored
-
- 06 Dec, 2017 5 commits
-
-
Miek Gieben authored
Hide it
-
Ruslan Drozhdzh authored
- added dnstapEncoder object which incapsulates marshalling of dnstap messages to protobuf and writing data to connection - dnstapEncoder writes data directly to connection object. It doesn't use the framestream's "write" method, because it writes data to intermediate buffer (bufio.Writer) which leads to unnecessary data copying and drops the performance - dnstapEncoder reuses a preallocated buffer for marshalling dnstap messages. Many messages are added to the same buffer. They are separated with a "frame length" 4-byte values, so the buffer content is writen to connection object in the format compatible with framestream library - added test which guarantees that dnstapEncoder output is the same as framestream Encoder output - the performance increase is about 50% in (dio *dnstapIO) serve() method of dnstap plugin. The overall coredns performance increase is about 10% in the following configuration: .:1053 { erratic { drop 0 truncate 0 delay 0 } dnstap tcp://127.0.0.1:6000 full errors stdout } tested with dnsperf tool -
Rene Treffer authored
-
James Hartig authored
-
Yong Tang authored
This fix tries to address the issue raised in 1275 to clarify the syntax for multiple endpoints specification. This fix also adds additional test cases to demo the usage. This fix fixes 1275. Signed-off-by:Yong Tang <yong.tang.github@outlook.com>
-
- 05 Dec, 2017 2 commits
-
-
Yong Tang authored
Looks like the last commit missed a `~` in the docs. Signed-off-by:Yong Tang <yong.tang.github@outlook.com>
-
Yong Tang authored
* Add NSID plugin support for CoreDNS This fix adds NSID plugin support for CoreDNS, as was proposed in 1256. Signed-off-by:
Yong Tang <yong.tang.github@outlook.com> * Add test cases for NSID plugin Signed-off-by:
Yong Tang <yong.tang.github@outlook.com> * Generate code for NSID plugin Signed-off-by:
Yong Tang <yong.tang.github@outlook.com> * Use hostname as the default (as with bind), and remove unneeded copy Signed-off-by:
Yong Tang <yong.tang.github@outlook.com> * Add README.md Signed-off-by:
Yong Tang <yong.tang.github@outlook.com>
-
- 02 Dec, 2017 1 commit
-
-
John Belamaric authored
-
- 01 Dec, 2017 1 commit
-
-
Miek Gieben authored
When we failing the healthcheck we should increate the fails for this host; which is the *bleeping* point of doing the HC in the first place. Add the missing atomic.Adds. Fixes #1247
-