Age | Commit message (Collapse) | Author | Files | Lines |
|
* dep ensure -update
Signed-off-by: Miek Gieben <miek@miek.nl>
* Add new files
Signed-off-by: Miek Gieben <miek@miek.nl>
|
|
* Update dependencies and add etcdv3 client
* Update etcd plugin to support etcd v3 clients
Fixes #341
|
|
These are used in the rewrite plugin, makes sense to have a common place
for them.
Signed-off-by: Miek Gieben <miek@miek.nl>
|
|
* plugin/metadata: some cleanups
Name to provider.go as that's what being defined right now in the file.
Use request.Request because that's done in variables.go anyway. Name the
main storage M, because there is no further meaning behind.
Remove superfluous methods
Signed-off-by: Miek Gieben <miek@miek.nl>
* Fix test
Signed-off-by: Miek Gieben <miek@miek.nl>
|
|
Add that we support https and do a regen.
Signed-off-by: Miek Gieben <miek@miek.nl>
|
|
* plugin/metadata: add metadata plugin
* plugin/metadata: Add MD struct, refactor code, fix doc
* plugin/metadata: simplify metadata key
* plugin/metadata: improve setup_test
* Support of metadata by rewrite plugin. Move calculated variables to metadata.
* Move variables from metadata to pkg, add UTs, READMEs change, metadata small fixes
* Add client port validation to variables_test
* plugin/metadata: improve README
* plugin/metadata: rename methods
* plugin/metadata: Update Metadataer interface, update doc, cosmetic code changes
* plugin/metadata: move colllisions check to OnStartup(). Fix default variables metadataer.
* plugin/metadata: Fix comment for method setValue
* plugin/metadata: change variables order to fix linter warning
* plugin/metadata: rename Metadataer to Provider
|
|
* Fix max-age in http server
Move the minMsgTTL to dnsutil and rename it MinimalTTL, move some
constants there as well.
Use these new function in server_https to correctly set the max-age
HTTP header.
Fixes: #1823
* Linter
|
|
* Add part 1 watch functionality. (squashed)
* add funcs for service/endpoint fqdns
* add endpoints watch
* document exposed funcs
* only send subset deltas
* locking for watch map
* tests and docs
* add pod watch
* remove debugs prints
* feedback part 1
* add error reporting to proto
* inform clients of server stop+errors
* add grpc options param
* use proper context
* Review feedback:
* Removed client (will move to another repo)
* Use new log functions
* Change watchChan to be for string not []string
* Rework how k8s plugin stores watch tracking info to simplify
* Normalize the qname on watch request
* Add blank line back
* Revert another spurious change
* Fix tests
* Add stop channel.
Fix tests.
Better docs for plugin interface.
* fmt.Printf -> log.Warningf
* Move from dnsserver to plugin/pkg/watch
* gofmt
* remove dead client watches
* sate linter
* linter omg
|
|
In the case of ttl <= 0, `cacheMisses` should increase its counter.
Signed-off-by: Jun Li <lijun.git@gmail.com>
|
|
* Replace gh-release with curl
This fix tries to address the issue raised in 1895 where
gh-release is deprecated.
As GitHub provides API that could be accessed easily,
and gh-release itself is just a wrapper to the API,
this fix replaces gh-release with the direct interaction
with GitHub API, so that it could be maintained by coredns
team.
This fix fixes 1895.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Added `-o /dev/null`
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
* retry creating dnstest.Server if tcp or udp port is in use
* changes according to review
|
|
|
|
Correctly set the path for the presubmits, fix some typos and make
the goimport target do the linting to the lint target can be removed.
Also don't make it a fatal error because gofmt changes between releases.
|
|
After several experiments at SoundCloud we found that the current
minimum read timeout of 10ms is too low. A single request against a
slow/unavailable authoritative server can cause all TCP connections to
get closed. We record a 50th percentile forward/proxy latency of <5ms,
and a 99th percentile latency of 60ms. Using a minimum timeout of 200ms
seems to be a fair trade-off between avoiding unnecessary high
connection churn and reacting to upstream failures in a timely manner.
This change also renames hcDuration to hcInterval to reflect its usage,
and removes the duplicated timeout constant to make code comprehension
easier.
|
|
The prometheus naming convention states only counters should have a
`_total` suffix, so that gagues and counters can be easily
distinguished.
|
|
This removes:
* reverse plugin from plugin.cfg
* https_google option from proxy
* the -log flag
|
|
The default dns.Response implementation of a dns.ResponseWriter will
panic if RemoteAddr() is called after the connection to the client has
been closed already. The current cache implementation doesn't create a
new request+responsewriter during an asynchronous prefetch, but
piggybacks on the request triggering the prefetch.
This change copies the RemoteAddr first, so that it's safe to use it
later during the actual prefetch request.
A better implementation would be to completely decouple the prefetch
request from the client triggering a request.
|
|
|
|
Reduce map usage and combine two maps into one; add isDuplicate that
tests and adds to make things more readable.
|
|
* - ensure description of 'append' match what is encoded.
* - fix description based on review comments
|
|
add a test to see if we copy the rcode correctly. Some minor cleanup in
import ordering and renaming NewUpstream to New as we already are in the
upstream package.
|
|
* - implement an auto-tunable dialTimeout for fallback.
* - fix gofmt
* - factorized timeout computation with readTimeout / updated readme /
* - fix comment
|
|
Fix typo corendns -> coredns in coredns.1
|
|
Bump the version, allows #691 to get merged.
|
|
* plugin/file: fix local CNAME lookup
Issue #1864 explains it will, when we serve the child zone as well we
should just recursive into ourself (upstream self). Thus relax the
IsSubDomain check in file/lookup.go and just query (even if the query
will hit a remote server).
I've looped over all other plugins that do something similar (CNAME
resolving) and they didn't do the IsSubDomain check; therefor I've
removed it from *file* as well.
Added test in file_upstream_test that shows this failed before but now
results in a reply.
Fixes #1864
* self does not need to be exported
* Fix test
We don't know if we had a valid reply. Check this.
|
|
Remove the code and remove the call in etcd and kubernetes handlers.
This does mean we should not add dups in the first place, which means
adding maps in backend_lookup to prevent dups from begin added.
This should cut down on the allocations because dnsutil.Dedup is very
expensive by converting everything to strings, we avoid doing that now.
|
|
Add "Why is this needed".
I can get a description of what the PR does from the code changes,
answering the why question is more important.
|
|
* Current stage of the log files. Test need to be done as well as formatting of times.
* Finished testing. All altered classes test pass along with my additions
* Updated the replacer package to print the units as well. May take out.
* Changed the time units to be within the rules. Fixed the test as well.
* Fixed some tests, updated the readme, fixed the replacer class.
* Updates of standardizing only to seconds in response duration. Need to revert README.
* Reverted readme.
* Added a small test in new replacer.
* Changed replacer to inline the strconv for duration.
|
|
These must be alligned on 8 bytes, in Go this means putting them first
in the struct (AFAICT).
|
|
This fix update Makefile.release for docker image build
on different platforms.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
* Docker: drop alpine
Create a multistage docker build image that uses debian to install certs
and then create the final image by using FROM: scratch. This creates a
(slightly) smaller images and drops busybox and alpine.
* Even less copying
|
|
Uppercase these test cases as well.
|
|
Uppercase all these test errors as well. And extend the presubmit to
check for these in the future. Also do a slightly smarter grep to only
get t.<something>. as (because dump regexp) this also grep over non test
files.
|