Commit graph

2870 commits

Author SHA1 Message Date
Miek Gieben
03ea2ae955
Make request.Request smaller (#3351)
* Make request.Request smaller

This makes the request struct smaller and removes the pointer to the do
boolean (tri-bool) as size == 0 will indicate if we have cached it.

Family can be a int8 because it only carries 3 values, Size itself is
just a uint16 under the covers.

This is a more comprehensive fix than #3292

Closes #3292

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

* cache: fix test

this now needs a valid response writter

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-04 09:44:58 +01:00
Miek Gieben
f8551df272
cache: move goroutine closure to separate function to save memory (#3353)
The goroutine closure was causing objects to be heap allocated.  Moving
it to a separate function fixes that.

```benchmark                                old ns/op     new ns/op     delta
BenchmarkCacheResponse/NoPrefetch-12     773           713           -7.76%
BenchmarkCacheResponse/Prefetch-12       878           837           -4.67%
BenchmarkHash-12                         9.17          9.18          +0.11%

benchmark                                old allocs     new allocs     delta
BenchmarkCacheResponse/NoPrefetch-12     9              8              -11.11%
BenchmarkCacheResponse/Prefetch-12       9              8              -11.11%
BenchmarkHash-12                         0              0              +0.00%

benchmark                                old bytes     new bytes     delta
BenchmarkCacheResponse/NoPrefetch-12     471           327           -30.57%
BenchmarkCacheResponse/Prefetch-12       471           327           -30.57%
BenchmarkHash-12                         0             0             +0.00%
```

Signed-off-by: Charlie Vieth <charlie.vieth@gmail.com>
Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-03 15:05:44 +01:00
Miek Gieben
aa96d6b443
plugin/route53: remove amazon intialization from init (#3348)
Don't perform this code in the init, this allocated 1 megabyte of memory
even if you don't use the plugin. Looks to be only there for testing,
adding a comment to reflect that.

Fixes #3342

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-03 07:21:11 +01:00
Miek Gieben
8fde7407d9 plugin/clouddns: remove initialization from init (#3349)
* plugin/clouddns: remove initialization from init

Init should just call the plugin.Register with a setup function.

Fixes: #3343

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

* Fix placement for var f

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-02 15:18:36 -07:00
Hauke Löffler
0da2c0c366 Use whitelist in .dockerignore (#3347)
Signed-off-by: Hauke Löffler <hloeffler@users.noreply.github.com>
2019-10-02 12:23:30 +01:00
Yong Tang
d48d8516e3 Add clouddns/OWNERS file (#3346)
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2019-10-02 07:42:29 +01:00
Miek Gieben
64f0345e63
plugin/erratic: doc and zone transfer (#3340)
Fix the documentation, remove autopath entry and fix the transfer by
copying some bits from the file plugin.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-02 07:22:26 +01:00
Ingo Gottwald
fa6718d026 Fix grpc test vet warning (#3341)
This fixes the vet warning: the cancel function returned by
context.WithTimeout should be called, not discarded, to avoid a context
leak.

Signed-off-by: Ingo Gottwald <in.gottwald@gmail.com>
2019-10-01 21:32:59 +01:00
Miek Gieben
575cea4496
Move map to array (#3339)
* Move map to array

The map was not needed move to an array, see #1941 for the original
idea. That of course didn't apply anymore; make a super minimal change
to implements the idea from #1941

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

* Add total count

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-01 20:45:52 +01:00
Miek Gieben
2d98d520b5
plugin/forward: make Yield not block (#3336)
* plugin/forward: may Yield not block

Yield may block when we're super busy with creating (and looking) for
connection. Set a small timeout on Yield, to skip putting the connection
back in the queue.

Use persistentConn troughout the socket handling code to be more
consistent.

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

Dont do

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

* Set used in Yield

This gives one central place where we update used in the persistConns

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-01 16:39:42 +01:00
Uladzimir Trehubenka
7b69dfebb5 plugin/file: fix panic in miekg/dns.CompareDomainName() (#3337)
Signed-off-by: utrehubenka <utrehubenka@infoblox.com>
2019-10-01 13:22:42 +01:00
Erfan Besharat
4ffbee299a Remove deprecated function calls flagged by staticcheck (#3333)
* Use session.NewSession instead of session.New

Signed-off-by: Erfan Besharat <erbesharat@gmail.com>

* Use grpc.DialContext instead of grpc.WithTimeout

Signed-off-by: Erfan Besharat <erbesharat@gmail.com>

* Pass non-nil context to context.WithTimeout

Signed-off-by: Erfan Besharat <erbesharat@gmail.com>

* Return the error directly in route53 setup

Co-Authored-By: Miek Gieben <miek@miek.nl>
Signed-off-by: Erfan Besharat <erbesharat@gmail.com>
2019-10-01 07:42:10 +01:00
Miek Gieben
dbd1c047cb
Run gostaticheck (#3325)
* Run gostaticheck

Run gostaticcheck on the codebase and fix almost all flagged items.

Only keep

* coremain/run.go:192:2: var appVersion is unused (U1000)
* plugin/chaos/setup.go:54:3: the surrounding loop is unconditionally terminated (SA4004)
* plugin/etcd/setup.go:103:3: the surrounding loop is unconditionally terminated (SA4004)
* plugin/pkg/replacer/replacer.go:274:13: argument should be pointer-like to avoid allocations (SA6002)
* plugin/route53/setup.go:124:28: session.New is deprecated: Use NewSession functions to create sessions instead. NewSession has the same functionality as New except an error can be returned when the func is called instead of waiting to receive an error until a request is made.  (SA1019)
* test/grpc_test.go:25:69: grpc.WithTimeout is deprecated: use DialContext and context.WithTimeout instead.  Will be supported throughout 1.x.  (SA1019)

The first one isn't true, as this is set via ldflags. The rest is
minor. The deprecation should be fixed at some point; I'll file some
issues.

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

* Make sure to plug in the plugins

import the plugins, that file that did this was removed, put it in the
reload test as this requires an almost complete coredns server.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-10-01 07:41:29 +01:00
dependabot-preview[bot]
55a01dadaa build(deps): bump github.com/aws/aws-sdk-go from 1.24.3 to 1.25.1 (#3330)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.24.3 to 1.25.1.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.24.3...v1.25.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-30 08:29:59 -07:00
dependabot-preview[bot]
9ae5a1a856 build(deps): bump google.golang.org/grpc from 1.23.0 to 1.24.0 (#3332)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.23.0 to 1.24.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.23.0...v1.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-30 09:16:13 -04:00
Miek Gieben
cd5aeecb43
Makefiles: remove GO111MODULE (#3326)
* Makefiles: remove GO111MODULE

This is the default in 1.13 it can be removed; also make the test out
log less, so failure are more pronounced in the travis out, hide
coverage stats for instance.

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

* Kill -v as wel

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-30 09:01:19 +01:00
Miek Gieben
03a3695ea9
plugins: calling Dispenser itself is a mistake (#3323)
Remove all these uses and just make them work on caddy.Controller. Also
don't export parsing functions as their should be private to the plugin.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-28 10:41:12 +01:00
Miek Gieben
ba5d4a6372
plugin register (#3321)
These plugins where missed in #3287 because their setup is done in a file
other than setup.go

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-28 10:40:43 +01:00
Miek Gieben
4ff5635a6e Run go generate and update deps (#3319)
Go gen updated the deps this is why 1.6.4 has that suffix. Do a go gen
and a go mod tidy.

Fixes: #3318

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-27 11:49:14 -07:00
Miek Gieben
b139ba34f3
Set version to 1.6.4 (#3317)
Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-27 14:36:14 +01:00
Miek Gieben
22dd0a6f45 Add 1.6.4 release notes (#3315)
Automatically submitted.
2019-09-27 12:47:57 +00:00
Miek Gieben
4568a3c25a
doc: run make -f Makefile.doc (#3314)
add the acl manual page; mechanical change otherwise.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-27 13:30:22 +01:00
Miek Gieben
7328d3e8c9
plugin/reload: reflow documentation (#3313)
* plugin/reload: reflow documentation

For some reason these we're all bullets points, which made for awkward
reading.

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

* typo

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

* Update plugin/reload/README.md

Co-Authored-By: Michael Grosser <development@stp-ip.net>
2019-09-27 11:10:47 +01:00
Guangming Wang
8af4685587 cleanup code by lint (#3312)
Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2019-09-27 11:10:34 +01:00
Miek Gieben
f2df37a1fe
plugin/forward: metrics: make docs reflect reality (#3311)
Remove talk about labels that are not added.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-27 11:09:59 +01:00
xieyanker
9a5e4fa1a0 fix mis-spelling (#3310)
Signed-off-by: xieyanker <xjsisnice@gmail.com>
2019-09-26 13:19:45 +01:00
Miek Gieben
27e22b0696 Use strings.ToLower in server (#3304)
Automatically submitted.
2019-09-25 17:18:54 +00:00
Guangming Wang
eb59e79207 plugin: cleanup code based on staticcheck warnings (#3302)
TrimPrefix re-assign to former variable

Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2019-09-25 13:23:43 +01:00
dependabot-preview[bot]
47719756fe build(deps): bump github.com/aws/aws-sdk-go from 1.23.21 to 1.24.3 (#3296)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.23.21 to 1.24.3.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.23.21...v1.24.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-24 07:25:14 +01:00
dependabot-preview[bot]
2881eacd06 build(deps): bump gopkg.in/DataDog/dd-trace-go.v1 from 1.17.0 to 1.18.0 (#3295)
Bumps [gopkg.in/DataDog/dd-trace-go.v1](https://github.com/DataDog/dd-trace-go) from 1.17.0 to 1.18.0.
- [Release notes](https://github.com/DataDog/dd-trace-go/releases)
- [Commits](https://github.com/DataDog/dd-trace-go/compare/v1.17.0...v1.18.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-24 07:24:49 +01:00
li mengyang
50bac4d3c3 fix: delete unused var and const (#3294)
Signed-off-by: hwdef <hwdef97@gmail.com>
2019-09-24 07:06:37 +01:00
Guangming Wang
081e45afa3 cleanup: remove redundant return statement (#3297)
Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2019-09-23 14:40:14 +01:00
Miek Gieben
004c5fca9d
all: simply registering plugins (#3287)
Abstract the caddy call and make it simpler.

See #3261 for some part of the discussion.

Go from:

~~~ go
func init() {
       caddy.RegisterPlugin("any", caddy.Plugin{
               ServerType: "dns",
               Action:     setup,
       })
}
~~~

To:

~~~ go
func init() { plugin.Register("any", setup) }
~~~

This requires some external documents in coredns.io to be updated as
well; the old way still works, so it's backwards compatible.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-20 08:02:30 +01:00
yeya24
85e65702bd add host metrics (#3277)
* add host metrics

Signed-off-by: yeya24 <yb532204897@gmail.com>

* update hosts readme docs

Signed-off-by: yeya24 <yb532204897@gmail.com>
2019-09-19 16:38:15 +01:00
Miek Gieben
62317c3c14 update doc to not use the root zone for everything (#3288)
Update all documentation in the tree to use example.org as an example
configuration (in so far possible). As to get out of the just use "."
and fallthrough and things would be fine.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-19 06:17:53 -07:00
Miek Gieben
31299108ce Run go mod -tidy (#3286)
* Run go mod -tidy

Tidy up and fix the require of x/net to the hash used in miekg/dns, this
seems to fix the "incompatible version bla bla"

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

* Run go mod tidy

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-19 06:16:36 -07:00
Guangming Wang
2324439adf ready_test.go: rm t.Fatalf in goroutine (#3284)
Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2019-09-19 07:04:19 +01:00
dependabot-preview[bot]
77e8b38877 build(deps): bump github.com/aws/aws-sdk-go from 1.23.17 to 1.23.21 (#3282)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.23.17 to 1.23.21.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.23.17...v1.23.21)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-16 11:12:26 +01:00
dependabot-preview[bot]
fadc75454a build(deps): bump github.com/miekg/dns from 1.1.16 to 1.1.17 (#3280)
* build(deps): bump github.com/miekg/dns from 1.1.16 to 1.1.17

Bumps [github.com/miekg/dns](https://github.com/miekg/dns) from 1.1.16 to 1.1.17.
- [Release notes](https://github.com/miekg/dns/releases)
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](https://github.com/miekg/dns/compare/v1.1.16...v1.1.17)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update go.mod
2019-09-16 11:12:10 +01:00
dependabot-preview[bot]
7e6e9175cf build(deps): bump github.com/prometheus/common from 0.6.0 to 0.7.0 (#3281)
Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](https://github.com/prometheus/common/compare/v0.6.0...v0.7.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-16 10:53:20 +01:00
yeya24
88d25cdc20 remove an unused variable (#3278)
Signed-off-by: yeya24 <yb532204897@gmail.com>
2019-09-16 07:28:42 +01:00
Chris O'Haver
ac36144f07
circleci: updates for minikube -> kind transition (#3274)
* updates for minikube -> kind transition

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

* update container build

Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
2019-09-10 11:34:08 -04:00
Miek Gieben
a52a427b4a stop fuzzing: its build is broken (#3272)
Automatically submitted.
2019-09-10 10:41:56 +00:00
Yong Tang
6579d60b08 Fix RFC link for RFC8484 (#3271)
This fix fixes 3270

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2019-09-10 07:22:43 +01:00
Miek Gieben
be923eaf9b
default config: add log (#3269)
When there is no Corefile found we load the default. Add the log plugin
to it, so you can see queries actually landing in CoreDNS.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-09 14:41:50 +01:00
dependabot-preview[bot]
368440d6b2 build(deps): bump gopkg.in/DataDog/dd-trace-go.v1 from 1.16.1 to 1.17.0 (#3265)
Bumps [gopkg.in/DataDog/dd-trace-go.v1](https://github.com/DataDog/dd-trace-go) from 1.16.1 to 1.17.0.
- [Release notes](https://github.com/DataDog/dd-trace-go/releases)
- [Commits](https://github.com/DataDog/dd-trace-go/compare/v1.16.1...v1.17.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 10:53:34 +01:00
dependabot-preview[bot]
d3403ff311 build(deps): bump google.golang.org/api from 0.9.0 to 0.10.0 (#3267)
Bumps [google.golang.org/api](https://github.com/google/google-api-go-client) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/google/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/master/CHANGES.md)
- [Commits](https://github.com/google/google-api-go-client/compare/v0.9.0...v0.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 10:52:59 +01:00
dependabot-preview[bot]
37f5d489c6 build(deps): bump github.com/Azure/go-autorest/autorest (#3268)
Bumps [github.com/Azure/go-autorest/autorest](https://github.com/Azure/go-autorest) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/Azure/go-autorest/releases)
- [Changelog](https://github.com/Azure/go-autorest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Azure/go-autorest/compare/autorest/v0.9.0...autorest/v0.9.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 10:52:48 +01:00
dependabot-preview[bot]
dfb9c9516f build(deps): bump github.com/aws/aws-sdk-go from 1.23.13 to 1.23.17 (#3266)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.23.13 to 1.23.17.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.23.13...v1.23.17)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-09 10:52:38 +01:00
Chris O'Haver
70f2bd1dff dont duplicate service recrod for every port (#3240) 2019-09-08 08:28:30 +01:00