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.
* Update zipkin to the newer version
Also update thrift to use head commit
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update vendor directory.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
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>
* Use one `PLATFORM` variable to setup the build process
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update Makefile.release
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>
In Makefile.release `shell uname -m` was used to find the current architecture.
On amd64 systems this might be reported as `x86_64` depending on the Linux.
However, in order to have manifest docker images we need to stick with
golang's architecture tag of `amd64`.
This fix changes instead so that the correct architecture conforming to
golang (`amd64`) could be build.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Add a dynamic SOA record (at least the serial and minttl). This create
another interface that should be implemented by the backends.
For now default to returning epoch in as a uint32 (no change from
before).
Lower the minTTL returned to 30s (from 60s)
Fix typo in kubernetes/README.md and remove DEV-README.md as it is stale
and information on the website is more up to date.
Remove large sections of text in plugin.md; just talk about how to
structure your plugin and docs.
* readme: more tests
Add dnssec and file plugin to the test readme. This requires creating a
bunch of files with the right content. Doing so already unconvered an
unconditional type assertion in DNSSEC. This PR will include the fix for
that as well.
Also extended the snippets in the file plugin README, so that they are
whole Corefile - showing more value and checking all corefile snippets.
Create outliner right now is the kubernetes plugin, because even setting
the right env vars will result in:
open /var/run/secrets/kubernetes.io/serviceaccount/token: no such file or directory":
Which we can't create for a test.
* lint
Don't use the 'check and godep' target when building for a release, this
is now repeated 6 times for no reason as this is already checked on
travis.
Some other cleanups in the documentation as well.
* integration ci
* rename test
* unfunctionalize DoIntegrationTests
* alphabetize expected answers
* Enable out-of-cluster test
* Enable out-of-cluster test
* move integration tests back to ci repo
Some cleanup in proxy and dnstap:
* just use time pkg directly and side step the indirection for Epoch
* Use Set in SetQueryEpoch to be more Go like. (Looked like a reader)
* Don't maintain two sets of time, we already track start, so use that.
* Use time.Time and convert when needed
* dedent the toDnstap function and put in a separate file
* core: allow all CIDR ranges in zone specifications
Allow (e.g.) a v4 reverse on a /17. If a zone is specified in such a
way a FilterFunc is set in the config. This filter is checked against
incoming queries.
For all other queries this adds a 'x != nil' check which will not impact
performace too much. Benchmark function is added as well to check for
this as wel.
Add multiple tests in tests/server_reverse_test.go.
Benchmark shows in the non-reverse case this hardly impact the speed:
~~~
classless:
pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4 1000000 1431 ns/op 16 B/op 1 allocs/op
pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4 1000000 1429 ns/op 16 B/op 1 allocs/op
master:
pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4 1000000 1412 ns/op 16 B/op 1 allocs/op
pkg: github.com/coredns/coredns/core/dnsserver
BenchmarkCoreServeDNS-4 1000000 1429 ns/op 16 B/op 1 allocs/op
~~~
* README.md updates
* stalebot: use wontfix-stalebot
I've added two new labels: wontfix-stalebot and pinned.
Wontfix-stalebot will be used by stalebot and pinned can be used to keep
issues open.
* later as well
* plugin/kubernetes: wait until api is ready
Wait for HasSynced before allowing startup to avoid startup race.
Also do a small refactor in findServices() to pull a check out of the
loop - only needs to be done once.
* sigh
We support ENV variables in config files, add an example in the one for
metric, note that `localhost:` is a valid host (in Go), so the
TestReadme will parse this correctly.
Fixes#1150
* Don't number the plugins
The number is not needed, because the ordering is already specified.
It's also annoying when you move plugins, because you need to renumber
them. Remove this.
'go gen' shows no changes in the generated files, meaning this just
works.
* better naming
* plugin/autopath: Add namespace selector and metrics
Add a namespace, so autopathing only is performed in this namespace.
This will make caching work for the cluster again.
Also export metrics that we've done a successful autopath
* dont shadow
* Fix
* Back the namespacing changes