Commit Graph

1054 Commits

Author SHA1 Message Date
xuweiwei
1029fea906 Fix a typo in plugin/health (#4982)
Signed-off-by: xuweiwei <xuweiwei_yewu@cmss.chinamobile.com>
2021-11-15 07:29:52 -05:00
coredns[bot]
92b0227592 auto go fmt
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-11-15 10:33:24 +00:00
Chris O'Haver
3288b111b2 Revert "Initial implementation of ForwardCRD plugin (#4512)" (#4981)
This reverts commit 2e6953c7db.
2021-11-12 13:19:16 -05:00
Christian Ang
2e6953c7db Initial implementation of ForwardCRD plugin (#4512)
* Add forwardcrd plugin README.md

Co-authored-by: Aidan Obley <aobley@vmware.com>

Signed-off-by: Christian Ang <angc@vmware.com>

* Create forwardcrd plugin

- Place forwardcrd before forward plugin in plugin list. This will avoid
forward from preventing the forwardcrd plugin from handling any queries
in the case of having a default upstream forwarder in a server block (as
is the case in the default kubernetes Corefile).

Co-authored-by: Aidan Obley <aobley@vmware.com>

Signed-off-by: Christian Ang <angc@vmware.com>

* Add Forward CRD

Signed-off-by: Christian Ang <angc@vmware.com>

* Add NewWithConfig to forward plugin

- allows external packages to instanciate forward plugins

Co-authored-by: Aidan Obley <aobley@vmware.com>

Signed-off-by: Christian Ang <angc@vmware.com>

* ForwardCRD plugin handles requests for Forward CRs

- add a Kubernetes controller that can read Forward CRs
- instances of the forward plugin are created based on Forward CRs from
the Kubernetes controller
- DNS requests are handled by calling matching Forward plugin instances
based on zone name
- Defaults to the kube-system namespace to align with Corefile RBAC

Signed-off-by: Christian Ang <angc@vmware.com>

Use klog v2 in forwardcrd plugin

* Refactor forward setup to use NewWithConfig

Co-authored-by: Christian Ang <angc@vmware.com>

Signed-off-by: Edwin Xie <exie@vmware.com>

* Use ParseInt instead of Atoi

- to ensure that the bitsize is 32 for later casting to uint32

Signed-off-by: Christian Ang <angc@vmware.com>

* Add @christianang to CODEOWNERS for forwardcrd

Signed-off-by: Christian Ang <angc@vmware.com>

Co-authored-by: Edwin Xie <exie@vmware.com>
2021-11-12 11:22:34 -05:00
Miek Gieben
6953ab2b4f Metrics: expand coredns_dns_responses_total with plugin label (#4914)
* Metrics: expand coredns_dns_responses_total with plugin label

This adds (somewhat hacky?) code to add a plugin label to the
coredns_dns_responses_total metric. It's completely obvlious to the
plugin as we just check who called the *recorder.WriteMsg method. We use
runtime.Caller( 1 2 3) to get multiple levels of callers, this should be
deep enough, but it depends on the dns.ResponseWriter wrapping that's
occuring.

README.md of metrics updates and test added in test/metrics_test.go to
check for the label being set.

I went through the plugin to see what metrics could be removed, but
actually didn't find any, the plugin push out metrics that make sense.

Due to the path fiddling to figure out the plugin name I doubt this
works (out-of-the-box) for external plugins, but I haven't tested that.

Signed-off-by: Miek Gieben <miek@miek.nl>

* better comment

Signed-off-by: Miek Gieben <miek@miek.nl>

* Metrics: expand coredns_dns_responses_total with plugin label

This adds (somewhat hacky?) code to add a plugin label to the
coredns_dns_responses_total metric. It's completely obvlious to the
plugin as we just check who called the *recorder.WriteMsg method. We use
runtime.Caller( 1 2 3) to get multiple levels of callers, this should be
deep enough, but it depends on the dns.ResponseWriter wrapping that's
occuring.

README.md of metrics updates and test added in test/metrics_test.go to
check for the label being set.

I went through the plugin to see what metrics could be removed, but
actually didn't find any, the plugin push out metrics that make sense.

Due to the path fiddling to figure out the plugin name I doubt this
works (out-of-the-box) for external plugins, but I haven't tested that.

Signed-off-by: Miek Gieben <miek@miek.nl>

* Update core/dnsserver/server.go

Co-authored-by: dilyevsky <ilyevsky@gmail.com>

* Use [3]string

Signed-off-by: Miek Gieben <miek@miek.nl>

* imports

Signed-off-by: Miek Gieben <miek@miek.nl>

* remove dnstest changes

Signed-off-by: Miek Gieben <miek@miek.nl>

* revert

Signed-off-by: Miek Gieben <miek@miek.nl>

* Add some sleeps to make it less flaky

Signed-off-by: Miek Gieben <miek@miek.nl>

* Revert "Add some sleeps to make it less flaky"

This reverts commit b5c6655196.

* Remove forward when not needed

Signed-off-by: Miek Gieben <miek@miek.nl>

* remove newline

Signed-off-by: Miek Gieben <miek@miek.nl>

Co-authored-by: dilyevsky <ilyevsky@gmail.com>
2021-11-12 16:07:05 +00:00
Chris O'Haver
29cae57932 plugin/loadbalance: More consistent shuffling (#4961)
* fix shuffling

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>

* shuffle each record once

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-11-12 16:00:20 +00:00
xww
f6ffafe229 Fix a typo in plugin/geoip/README.md (#4978)
Signed-off-by: xuweiwei <xuweiwei_yewu@cmss.chinamobile.com>

Co-authored-by: xuweiwei <xuweiwei_yewu@cmss.chinamobile.com>
2021-11-10 21:20:40 -05:00
Matt Palmer
e53bff9043 plugin/route53: Configurable AWS Endpoint (#4963)
Provide the ability to configure the AWS endpoint

Signed-off-by: Matthew Palmer <matthew.palmer@helpsystems.com>
2021-11-08 06:45:45 -08:00
Hu Shuai
8a7f4df2a1 Fix a typo in plugin/transfer/README.md (#4946)
Signed-off-by: Hu Shuai <hus.fnst@cn.fujitsu.com>
2021-11-01 11:06:13 -04:00
Pavol Lieskovský
5934c7e89e plugin/metrics: support HTTPS qType in requests count metric label (#4934)
Automatically submitted.
2021-10-28 08:50:23 +00:00
Denis Tingaikin
de21fb2436 plugin/k8s_external: fix SRV queries doesn't work with AWS ELB/NLB (#4929)
* fix for issue #4927

Signed-off-by: denis-tingaikin <denis.tingajkin@xored.com>

* apply review comments

Signed-off-by: denis-tingaikin <denis.tingajkin@xored.com>

* apply review comments

Signed-off-by: denis-tingaikin <denis.tingajkin@xored.com>
2021-10-27 09:59:21 -04:00
Wu Shuang
4a7565ff63 plugin/pkg/cache: fix data race (#4932) 2021-10-23 20:17:47 -07:00
Zou Nengren
5191959bd7 cleanup deprecated package io/ioutil (#4920)
Signed-off-by: zounengren <zouyee1989@gmail.com>
2021-10-13 09:30:31 +02:00
coredns[bot]
5b65a58d48 auto go fmt
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-10-11 10:28:01 +00:00
Vector
0f5e7bdfb3 plugin/forward: Use new msg.Id for upstream queries (#4841)
* restore 1.8.3 question revert logic; add tests (#4840)

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
Signed-off-by: Vector <815926354@qq.com>

* change origin message id

Signed-off-by: Vector <815926354@qq.com>
Signed-off-by: IIvyPy <815926354@qq.com>

* Revert "restore 1.8.3 question revert logic; add tests (#4840)"

This reverts commit 95e44d91d0.

Signed-off-by: IIvyPy <815926354@qq.com>

Co-authored-by: Chris O'Haver <cohaver@infoblox.com>
2021-10-08 19:34:22 +02:00
Chris O'Haver
5534625c75 plugin/kubernetes: Don't use pod names longer than 63 characters as dns labels (#4908)
Automatically submitted.
2021-10-06 15:59:37 +00:00
Chris O'Haver
e742b5ee34 plugin/kubernetes: fix reload panic (#4881)
* fix reload panic

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>

* add comment

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>

* o import ordering

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-09-22 16:28:51 +02:00
Chris O'Haver
158ad2d738 plugin/file/auto: Write CNAME answer to client even if target lookup is SERVFAIL (#4863)
* write cname answer to client even if target lookup is servfail

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>

* fix existing unit test expectations

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-09-14 10:08:22 +02:00
Kohei Yoshida
5f6baf2973 plugin/file: fix wildcard CNAME answer (#4828)
* plugin/file: fix wildcard CNAME answer

Signed-off-by: Yoshida <ykhr53@yokohei.com>

* plugin/file: fix synthesized CNAME answer

Signed-off-by: Yoshida <ykhr53@yokohei.com>
2021-09-07 12:21:11 -07:00
rouzier
a644eb4472 The IPv4 parser no longer accepts leading zeros (#4844)
Signed-off-by: James Rouzier <rouzier@gmail.com>
2021-09-04 08:34:57 +02:00
Chris O'Haver
9b3b2679f5 restore 1.8.3 question revert logic; add tests (#4840)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-08-31 10:34:26 +02:00
Ondřej Benkovský
de30710ed3 Update upstream.Lookup method comment to reflect current state (#4832)
Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>
2021-08-27 14:23:05 +02:00
Ondřej Benkovský
9026a4a295 upstream lookups are done with original EDNS options (#4826)
* upstream lookups are done with original EDNS options

Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>

* fixup! upstream lookups are done with original EDNS options

Signed-off-by: Ondřej Benkovský <ondrej.benkovsky@jamf.com>
2021-08-26 09:39:44 -07:00
Chris O'Haver
2740005d3e Rename reuse port/listen_*.go to better convey build inclusion reason (#4817)
* rename files to better convey build inclusion reason

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-08-16 15:10:24 -04:00
Chris O'Haver
a977998747 Revert "pkg/reuseport: Remove pre-go1.11 impl (#4795)" (#4814)
This reverts commit 4a34e8b897.
2021-08-16 08:57:26 -07:00
Ben Kochie
7d542fec67 Update cache metrics (#4781)
Add a total cache request counter to follow Prometheus conventions[0].
Mark the existing cache miss metric as deprecated.

> Similarly, with hit or miss for caches, it’s better to have one
> metric for total and another for hits.

[0]: https://prometheus.io/docs/instrumenting/writing_exporters/#naming

Signed-off-by: SuperQ <superq@gmail.com>
2021-08-16 13:54:36 +08:00
Chris O'Haver
88d94dc148 plugin/kubernetes: Only answer transfer requests for authoritative zones (#4802)
* check for zone match

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-08-13 11:02:00 -04:00
Manuel Rüger
4a34e8b897 pkg/reuseport: Remove pre-go1.11 impl (#4795) 2021-08-12 22:46:35 -07:00
Manuel Rüger
4758070425 plugins/kubernetes: Switch to klog/v2 (#4778)
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2021-08-03 20:22:36 -07:00
coredns[bot]
4c41c49a93 auto go fmt
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-08-02 10:29:33 +00:00
Mat Lowery
9d5b8cd13d kubernetes: Improve namespace usage (#4767)
* Use GetByKey instead of List in GetNamespaceByName.
* Add ToNamespace to reduce memory for namespace cache.

Signed-off-by: Mat Lowery <mlowery@ebay.com>
2021-07-29 23:27:25 -04:00
coredns[bot]
3f881c7202 auto remove trailing whitespaces
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-07-20 10:28:21 +00:00
coredns[bot]
fcc52d8038 auto go fmt
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-07-19 10:28:07 +00:00
Ondřej Benkovský
e0110264cc plugin/forward : add proxy address as tag (#4757)
Signed-off-by: Ondrej Benkovsky <ondrej.benkovsky@wandera.com>
2021-07-16 14:35:39 +02:00
Miek Gieben
50d888f3d7 plugin/header: run go gen and small doc updates (#4754)
* plugin/header: run go gen and small doc updates

Run go gen to enable the new plugin, this should fix the CI failures.
Small tweaks to the docs.

Signed-off-by: Miek Gieben <miek@miek.nl>

* another typo

Signed-off-by: Miek Gieben <miek@miek.nl>

* gofmt

Signed-off-by: Miek Gieben <miek@miek.nl>
2021-07-15 10:10:16 +02:00
Qasim Sarfraz
00128bda4e plugin/header: Introduce header plugin (#4752)
* Add header plugin

Signed-off-by: MQasimSarfraz <syed.qasim.sarfraz@gmail.com>

* fix import format

* improve README.md

* Add codeowners for header plugin
2021-07-15 09:32:39 +02:00
Jeongwook Park
faa10f61af Fix typo on kubernetes plugin (#4753)
- modifed -> modified

Signed-off-by: jeongwook-park <jeongwook.park@navercorp.com>
2021-07-14 14:29:41 -04:00
Sven Nebel
21f1207afe Create geoip plugin (#4688)
* Create geoip plugin

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update plugin/geoip/README.md

Co-authored-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update plugin/geoip/README.md

Co-authored-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update plugin/geoip/README.md

Co-authored-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Move DBFILE bullet below example

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update plugin/geoip/README.md

Co-authored-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Remove plugin name test case

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Remove languages option

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update free database link

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Remove last language bits

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Use 127.0.0.1 as probing IP

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update plugin/geoip/geoip.go

Co-authored-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Update plugin/geoip/geoip.go

Co-authored-by: Miek Gieben <miek@miek.nl>
Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Use relative path for fixtures dir

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Set names with default string zero value

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Remove unused db types

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Remove non city databases in testdata

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Remove create databases main

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Fix metadata label format test case

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Fix import path block

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* go fmt after changes

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Tidy up go.mod and go.sum

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

* Add plugin to CODEOWNERS

Signed-off-by: Sven Nebel <nebel.sven@gmail.com>

Co-authored-by: Miek Gieben <miek@miek.nl>
2021-07-14 09:25:30 +02:00
Ondřej Benkovský
936b483a3a publish trace id as metadata from trace plugin (#4749)
Signed-off-by: Ondrej Benkovsky <ondrej.benkovsky@wandera.com>
2021-07-14 09:21:41 +02:00
coredns[bot]
ae0431e4da auto go fmt
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-07-12 10:32:17 +00:00
Ondřej Benkovský
d17e50afc7 plugin/trace: fix rcode tag in case of no response (#4742)
Signed-off-by: Ondrej Benkovsky <ondrej.benkovsky@wandera.com>
2021-07-10 07:34:53 +02:00
Chris O'Haver
6efda5293e fix example (#4740)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-07-09 13:00:43 -04:00
Chris O'Haver
a7d44b65e2 update example description to match example (#4739)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-07-09 09:42:37 -07:00
Miek Gieben
a26462c28c plugin/error: use warning instead of warn (#4738)
We use the 'WARNING' in the logs, instead of warn, so make the change
here as well for consistency sake.

Signed-off-by: Miek Gieben <miek@miek.nl>
2021-07-09 09:38:58 -07:00
Ondřej Benkovský
2a61309cad when no response is written, fallback to status of next plugin in prometheus plugin (#4727)
* when no response is written, fallback to status of next plugin in prometheus plugin

Signed-off-by: Ondrej Benkovsky <ondrej.benkovsky@wandera.com>

* fixup! when no response is written, fallback to status of next plugin in prometheus plugin

Signed-off-by: Ondrej Benkovsky <ondrej.benkovsky@wandera.com>
2021-07-09 16:35:38 +02:00
Ondřej Benkovský
70b51a73d3 add configurable log level to errors plugin (#4718)
Automatically submitted.
2021-07-09 14:23:02 +00:00
Ondřej Benkovský
a6a7e73813 do not log NOERROR in log plugin when response is not available (#4725)
Signed-off-by: Ondrej Benkovsky <ondrej.benkovsky@wandera.com>
2021-07-09 13:15:34 +02:00
Chris O'Haver
002b748ccd plugin/cache: Unset AD flag when DO is not set for cache miss (#4736)
* unset AD bit when client DO is 0

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>

* add flag check to existing tests

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-07-09 10:53:50 +02:00
coredns[bot]
c610bfd87f auto go fmt
Signed-off-by: coredns[bot] <bot@bot.coredns.io>
2021-07-05 10:34:54 +00:00
Chris O'Haver
97bb9d87e5 fix to docs; add acl example (#4711)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2021-06-30 10:09:23 +08:00