Age | Commit message (Collapse) | Author | Files | Lines |
|
* plugin/forward: erase expired connection by timer
- in previous implementation, the expired connections resided in
cache until new request to the same upstream/protocol came. In
case if the upstream was unhealthy new request may come long time
later or may not come at all. All this time expired connections
held system resources (file descriptors, ephemeral ports). In my
fix the expired connections and related resources are released
by timer
- decreased the complexity of taking connection from cache. The list
of connections is treated as stack (LIFO queue), i.e. the connection
is taken from the end of queue (the most fresh connection) and
returned to the end (as it was implemented before). The remarkable
thing is that all connections in the stack appear to be ordered by
'used' field
- the cleanup() method finds the first good (not expired) connection
in stack with binary search, since all connections are ordered by
'used' field
* fix race conditions
* minor enhancement
* add comments
|
|
|
|
* Implement deprecation notice for 1.1.4
This still allows all the config to be parsed, but noops it:
* -log; always set the log to stdout; no matter what.
* https_google; removed from the proxy implementation.
* reverse plugin: set to deprecated.
* Whole of reverse can go
* Remove test for deprecated plugin
|
|
|
|
|
|
enable alias and add one, so that "/plugin: forward" adds a label
called plugin-forward to the issue.
enable branches that automatically delete merged branches.
|
|
Fix the upstream unit test to actually test it.
|
|
* ADD: ignoreemptyservice option for kubernetes plugin
* Modify documentation and rename option to add space
* UPD: Add unit tests
* UPD: gofmt
* Add unit test for ignore emptyservice
* gofmt
* xfr tests failed
* Rename emptyservice to empty_service
|
|
The DoH work (#1619) made changes to pkg/nonwriter.Writer that in
hindsight were not backwards compatible; it added override for the
LocalAddr() and RemoteAddr(). Instead of rolling back that PR, this PR
reverts those changes and creates a DoHWriter for use in the
https-server.go side of things.
This was only caught in the integration test making this hard to catch,
so we add a upstream_file_test.go that tries (doesn't work yet) to test
this in the unit tests as well. Esp. helpful when 'git bisecting'.
Fixes #1826
|
|
* Add links to whoami plugin reading material
* create See Also section
|
|
* WIP: make CoreDNS DoH Server
* It works
* Fix tests
* Review from Tom - on diff. PR
* correct mime type
* Cleanups and use the pkg/nonwriter
* rename and updates
* implement get
* implement GET
* Code review comments
* correct context
* tweaks
* code review
|
|
This fix enforces gofmt -s on linter check in Makefile,
and fixes `plugin/kubernetes/handler_test.go` and
`plugin/tls/tls_test.go` with `gofmt -s`
|
|
A NODATA response has no answers and rcode NOERROR, but should have a
SOA record in the authority section.
|
|
While invoking `make check` from a fresh new environment
the following failure occured:
```
[ec2-user@..... coredns]$ docker run -i -t --rm -v $PWD:/go/src/github.com/coredns/coredns -w /go/src/github.com/coredns/coredns golang:1.10
root@e2d6a6c17132:/go/src/github.com/coredns/coredns# make check
** presubmit/context
** presubmit/test-lowercase
( gometalinter --deadline=2m --disable-all --enable=goimports --vendor --exclude=^pb/ ./... || true )
/bin/sh: 1: gometalinter: not found
go generate coredns.go
```
This fix fixes the issue in Makefile so that deps could be installed first.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
- connManager() goroutine will stop when Proxy is about to be
garbage collected. This means that no queries are in progress,
and no queries are going to come
|
|
|
|
A bit meh, but we *need* hardcoded addresses in these tests, because
we can't get them from a running coredns. These may be in-use and this
fails the tests then. Do an ugly err.Error() string match if this is the
case to prevent failing the test for something not in our control.
A better fix would be to retreive the listening address from coredns via
some api, so we could listen on :0 for these as well. No such API exists
as of yet.
|
|
|
|
This fix updates k8s' client-go to v7.0.0, which matches k8s 1.10.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
This fix fixes golinter warning:
```
plugin/tls/tls_test.go:1::warning: file is not goimported (goimports)
```
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
(#1805)
This fix is an vendor update. Both ugorji and thrift have to be pinned
to compile. The ugorji is from etcd and thrift is from zipkin.
This fix fixes #1802.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
* vendor: don't vendor the context stuff
We don't need to vendor this anymore as we moved to the std lib for
these.
* new stuff showing up with dep ensure
* remove go-shlex
|
|
* Probe simplification
- the main reason of rework is that previous implementation hung
when calling Do() after Stop()
* replace atomics with mutex
* access Probe.interval under lock
|
|
|
|
mention auto in reload docs
|
|
I just noticed this discrepancy in one of the `except` examples.
|
|
making response rewrites more prominent
|
|
This was just tagged and has the worker patch that improves performance.
|