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>
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
HC for google_https does not work because it does not HC the correct
set of IPs. Hard to solve in the current code - rather use forward as
the new impl. and leave this as legacy.
Remove superfluous println that we are refreshing the dns.google.com IP
address.
* plugin/rewrite: don't set or use ecs.DraftOption
Don't know why we are accessing this and explicitally setting it to
False (the default).
Any kill with fire - makes the build, build again.
* remove this
* plugin/kubernetes: Add GetNamespaceByName
A bare or wildcard query for just the namespace should return NODATA,
not NXDOMAIN, otherwise we deny the entirety of the names under the
namespace.
Add test to check for this in pod verified mode.
* Review
More comments and move namespace code to namespace.go
* Update vendor directory for latest changes.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update Gopkg.toml to remove the constraint on zipkin-go-opentracing
As the issue on zipkin-go-opentracing has been fixed. See #1193
for details.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Implement health.Healther in erratic and kubernetes plugin. The
kubernetes' healtcheck is only performed on startup - i.e. turn
healthy after the initial loading.
Erratic follow the drop count: every query%drop turns the healthcheck
unhealthy.
Fixes: #985
* plugin/log: remove need to specify stdout
Since log will only be output to stdout is doesn't make sense to
specify it in Corefile.
Fixes: #1218
* fixup! plugin/log: remove need to specify stdout
I think this badge is misleading as we are not a library so the number of projects we are used in is not really relevant to our adoption. It is more-or-less just the number of external plugins people have built.
Change to use a new 'endpoints' directive and use a constant
Add initial docs for 'endpoints' directive
Add tests to Kubernetes setup for endpoints
Changes based on PR feedback
endpoint_pod_names is a boolean config option. Chahanged docs to reflect this.
Add a test when endpoints_pod_names is not set
Update README.md
Remove endpointNameModeName as it is no longer used
This fix is an attempt to fix the issue raised #1192.
The issue that a plain `dep -ensure update` fails is because
the incompatibility of ugorji/go with the rest of packages (etcd, k8s etc)
and the incompatibility of client-go vs. apimachinery.
This fix fixed apimachinery and ugorji/go so that it is possible
to use `dep -ensure update`.
Previously updates has to be done individually, e.g.,
`dep -ensure update github.com/coreos/etcd`
This fix fixes#1192.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update docker-build steps in Makefile.release
for different architectures
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update to use `case ... esac` in shell script
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Remove `RUN` cmd in Dockerfile in case of non amd64 CPU
ssl will only be supported on amd64 CPUs for now.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
While we at it, why not add a target for Windows as well.
This also introduces a VERBOSE option that defaults to -v, but it empty
when releases so that you can actually see what you're building.
Move an @echo out of shell snippet into the Makefile, as that errored
with @echo: command not found.
Sample run and resulting artifacts:
~~~
% make -f Makefile.release build
% find build -type f -exec file {} \;
build/windows/amd64/coredns: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
build/darwin/amd64/coredns: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS>
build/linux/ppc64le/coredns: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), statically linked, stripped
build/linux/amd64/coredns: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped
build/linux/arm/coredns: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped
build/linux/s390x/coredns: ELF 64-bit MSB executable, IBM S/390, version 1 (SYSV), statically linked, stripped
build/linux/arm64/coredns: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, stripped
% make -f Makefile.release tar
% find release -type f | sort
release/coredns_0.9.9_darwin_amd64.tgz
release/coredns_0.9.9_linux_amd64.tgz
release/coredns_0.9.9_linux_arm64.tgz
release/coredns_0.9.9_linux_arm.tgz
release/coredns_0.9.9_linux_ppc64le.tgz
release/coredns_0.9.9_linux_s390x.tgz
release/coredns_0.9.9_windows_amd64.tgz
~~~
This fix updates vendor libraries except client-go, apimachinery
and ugorji/go, as github.com/ugorji/go/codec is causing compatibilities issues.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>