Commit Graph

550 Commits

Author SHA1 Message Date
Miek Gieben
1ad02e8639 Makefile: remove generate (#294)
Fixes #293
2016-09-24 22:47:30 +01:00
Silas Baronda
ec485a74d3 Nil SOA causes panic if we compare it to incoming SOA (#291) 2016-09-24 15:51:20 +01:00
Chris O'Haver
15297c8e63 Add TLS support for k8s middleware (#289)
* Added TLS to k8s client

Added options for TLS kubernetes client connection.

* Fix k8s TLS config option parsing

Brings config option parsing for kubernetes TLS in line with recent changes.

* Put TLS config on one line

Put kubernetes tls config on one line to match style established in etcd tls config.

* Add tls option to README
2016-09-23 23:07:06 +01:00
Yong Tang
b9cf32f7a9 Golint middleware/proxy (#290)
While looking into the proxy middleware it appears that there are
several golint messages:
```
ubuntu@ubuntu:~/coredns$ golint middleware/proxy/
middleware/proxy/lookup.go:66:1: exported method Proxy.Forward should have comment or be unexported
middleware/proxy/proxy.go:24:6: exported type Client should have comment or be unexported
middleware/proxy/proxy.go:107:1: exported function Clients should have comment or be unexported
middleware/proxy/reverseproxy.go:10:6: exported type ReverseProxy should have comment or be unexported
middleware/proxy/reverseproxy.go:16:1: exported method ReverseProxy.ServeDNS should have comment or be unexported
middleware/proxy/upstream.go:42:6: exported type Options should have comment or be unexported
```

This fix addressed the above golint messages.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-23 23:00:50 +01:00
Manuel Alejandro de Brito Fontes
0959b52e79 Merge pull request #284 from aledbf/remove-k8s-else
Lint k8s middleware
2016-09-23 12:14:56 -03:00
Manuel de Brito Fontes
1810e21b9a Lint k8s middleware 2016-09-23 11:08:23 -03:00
Manuel Alejandro de Brito Fontes
7c105ee037 Merge pull request #283 from aledbf/k8s-util
Refactoring of k8s helpers
2016-09-23 10:52:58 -03:00
Manuel de Brito Fontes
8e6257c51f Lister refactor kubernetes/kubernetes#33269 2016-09-23 10:23:11 -03:00
Manuel de Brito Fontes
6e0944eb98 Remove unused const block 2016-09-23 10:03:43 -03:00
Manuel de Brito Fontes
2b62384223 Refactoring of k8s helpers 2016-09-23 09:48:11 -03:00
Miek Gieben
090d1872e9 Golint2 (#280)
* Fix linter errors

* More linting fixes

* More docs and making members private that dont need to be public

* Fix linter errors

* More linting fixes

* More docs and making members private that dont need to be public

* More lint fixes

This leaves:

~~~
middleware/kubernetes/nametemplate/nametemplate.go:64:6: exported type NameTemplate should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:71:1: exported method NameTemplate.SetTemplate should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:108:1: exported method NameTemplate.GetZoneFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:116:1: exported method NameTemplate.GetNamespaceFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:120:1: exported method NameTemplate.GetServiceFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:124:1: exported method NameTemplate.GetTypeFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:135:1: exported method NameTemplate.GetSymbolFromSegmentArray should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:167:1: exported method NameTemplate.IsValid should have comment or be unexported
middleware/kubernetes/nametemplate/nametemplate.go:182:6: exported type NameValues should have comment or be unexported
middleware/kubernetes/util/util.go:1:1: package comment should be of the form "Package util ..."
middleware/kubernetes/util/util.go:27:2: exported const WildcardStar should have comment (or a comment on this block) or be unexported
middleware/proxy/lookup.go:66:1: exported method Proxy.Forward should have comment or be unexported
middleware/proxy/proxy.go:24:6: exported type Client should have comment or be unexported
middleware/proxy/proxy.go:107:1: exported function Clients should have comment or be unexported
middleware/proxy/reverseproxy.go:10:6: exported type ReverseProxy should have comment or be unexported
middleware/proxy/reverseproxy.go:16:1: exported method ReverseProxy.ServeDNS should have comment or be unexported
middleware/proxy/upstream.go:42:6: exported type Options should have comment or be unexported
~~~

I plan on reworking the proxy anyway, so I'll leave that be.
2016-09-23 09:14:12 +01:00
Manuel Alejandro de Brito Fontes
cacbb0e0b1 Merge pull request #279 from aledbf/revert-k8s
Revert k8s changes
2016-09-22 09:27:29 -03:00
Manuel de Brito Fontes
3be9e58ddf Revert k8s changes 2016-09-22 08:29:50 -03:00
Miek Gieben
e0a49b73b5 Build the release just like defined in Makefile 2016-09-22 09:54:03 +00:00
Manuel Alejandro de Brito Fontes
d250742d9e Fix k8s build (#278) 2016-09-21 20:05:18 +01:00
Miek Gieben
5301c5af5f Run golint and go vet (#276)
Cleanup the errors and removed deadcode along the way. The leaves
some error laying around, mostly about commenting exported identifier.
We should look hard if those really are needed.
2016-09-21 17:01:19 +01:00
Zhipeng JIANG
7b79458c8a Fix typo in Readme. (#274) 2016-09-20 11:04:16 +01:00
Miek Gieben
8555716046 Cleanups and tests (#272)
For some reasons there was a dnsserver/middleware.go that defined
the middleware handlers. This code was a repeat from
middleware/middleware.go. Removed dnsserver/middleware.go and replaced
all uses of dnsserver.Middleware with middleware.Middleware.

Added dnsserver/address_test.go to test the zone normalization (and to
improve the test coverage). The deleted file will also improve the test
coverage :)
2016-09-19 11:26:00 +01:00
Miek Gieben
1e706b5f21 Rename coverage.sh to .coverage.sh (#270)
This is "infrastructure/meta" code, don't need to see it.
2016-09-19 10:56:21 +01:00
Yong Tang
587a347a40 Add codecov.io processing with travis-ci integration. (#269)
This fix adds the codecov.io process with travis-ci integration,
so that code coverage could be processed and displayed with codecov.io.

Since go cannot use test profile flag with multiple packages,
we have to iterate through packages with `coverage.sh`.

Some consolidation could be done by combining them into one `make test`.

Will do some consolidation in a follow up PR.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-18 11:01:57 -07:00
Shawn Smith
1decf52cb2 fix typo (#268) 2016-09-18 15:33:09 +01:00
Miek Gieben
a8fb01bfd2 releasing: reverse build order
Do linux last, so my go install isn't messed up. Use gh-release from
PATH.
v001
2016-09-18 14:25:47 +01:00
Miek Gieben
338b77667b Add Makefile.release (#267)
Document the release process and encode it in Makefile.release. We
use gh-release to minimize the amount of effort required.
2016-09-18 14:14:01 +01:00
Miek Gieben
b440b1c8f6 docs: document default startup (#266)
Some small additions to the documentation.
2016-09-18 09:32:06 +01:00
Miek Gieben
ffa5530d0f update README 2016-09-17 21:28:59 +01:00
Miek Gieben
31851c6acd coredns: default Corefile (#265)
When no Corefile is given, default to loading the whoami middleware on
the default port (2053).  Also add back the -port flag that allows you
to override the default port.

Further cleanup the startup messages and use caddy's OnStartupComplete()
to blurp out which zones and ports we have.  These can be suppressed
with the -quiet flag.

Normal startup:

miek.nl.:1053
miek.nl2.:1053
example.org.:1054
2016/09/17 20:41:19 [INFO] CoreDNS-001 starting
CoreDNS-001 starting

with the -quiet flag:

2016/09/17 20:41:34 [INFO] CoreDNS-001 starting
2016-09-17 21:24:39 +01:00
Miek Gieben
80b22a5071 middleware/whois: hook it up
Hook it up properly by adding it to the directives list. And add
the Target to the SRV record to actually return valid DNS messages.
2016-09-17 17:50:16 +01:00
Miek Gieben
30fd224504 middleware/whoami: add (#264)
Add a new middleware that tells you who you are; IP, port and transport
is echoed back.

Also some various cleanup and documentation improvements while at it:

* ResponseWriter: improve the documentation of these helper functions.
* And add an NextHandler for use in tests. Make chaos_test.go and
* whoam_test.go use it.
2016-09-17 17:09:05 +01:00
Yong Tang
ed907d3327 Fix proxy upstream parser issue and add test cases (#263)
This fix tries to fix 261 where proxy upstream parser is not
able to parse upstream correctly.

Several test cases have also been added to cover the changes
and prevent regression in the future.

This fix fixes 261.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-17 07:49:35 +01:00
Yong Tang
50d47a55a2 Fix build error by change kubernetes controller to pkg/client/cache (#262)
Kubernetes moves informer and controller to pkg/client/cache, see:
https://github.com/kubernetes/kubernetes/pull/32718

As a result, coredns build is broken.

This fix fixes the build by making related change with kubernetes.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-16 16:31:23 +01:00
Yong Tang
953cfc1de4 Remove lumberjack logger (#257)
* Removed lumberjack from coremain

As is mentioned in 251, this fix removed lumberjack from coremain.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Remove lumberjack from log middleware

As mentioned in 251, lumberjack is not suitable for applications like CoreDNS
so it is removed from the log middleware.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Update log/README.md as lumberjack has been removed

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Adjust default log output from `ioutil.Discard` to `os.Stdout`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-16 15:50:16 +01:00
Nagy Károly Gábriel
1c6dd35b23 Fixed #253 (#254) 2016-09-12 19:19:31 +01:00
Miek Gieben
2dd8a687b3 Startup notification (#250)
Stop the caddy message and start our own init notifications.
Log the version of CoreDNS when starting up.
Fix all middleware's setup functions so that return the error prefixed
with *which* middleware was failing; leads to better debuggable errors
when starting up.
2016-09-10 09:16:25 +01:00
Miek Gieben
5216ab6b58 Add tests for normalize.go
Fix some of the documentation in the process.
2016-09-07 12:55:41 +00:00
Miek Gieben
d1f17fa7e0 Cleanup: put middleware helper functions in pkgs (#245)
Move all (almost all) Go files in middleware into their
own packages. This makes for better naming and discoverability.

Lot of changes elsewhere to make this change.

The middleware.State was renamed to request.Request which is better,
but still does not cover all use-cases. It was also moved out middleware
because it is used by `dnsserver` as well.

A pkg/dnsutil packages was added for shared, handy, dns util functions.

All normalize functions are now put in normalize.go
2016-09-07 11:10:16 +01:00
Yong Tang
684330fd28 Add a test for health middleware (#246)
This commit adds a simple test of `TestHealth` for the middleware
of health so that there is basic coverage.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-09-07 10:01:27 +01:00
Miek Gieben
3fab9b1bfa caddy.CaddyfileFromPipe requires server type
Change to be inline with latest caddy changes, caddy.CaddyfileFromPipe
requires servertype argument.

Fixes: #243
2016-09-06 08:31:51 +00:00
Miek Gieben
eea77cc97c Fs (#242)
* play around with fs idea

* docs and fix test

* better docs
2016-09-05 09:32:11 +01:00
Miek Gieben
e750a4c1bd Merge pull request #241 from miekg/nsec3-warn
Better logging for NSEC3
2016-09-03 09:47:45 +01:00
Miek Gieben
99170ac62e Better logging for NSEC3
When dropping NSEC3 records provide better logging and add test
for NSEC3 records.
2016-09-03 09:37:36 +01:00
Miek Gieben
ea557b1502 README: fix twitter (#240) 2016-08-31 07:15:21 +01:00
Brandon Philips
4b3863e7b9 README: fix twitter 2016-08-30 15:35:17 -07:00
Miek Gieben
9caa607173 Update docs
Update the file and dnssec docs and glarify what is implement and that
we only do NSEC.
2016-08-29 19:15:04 +01:00
Miek Gieben
2eac03896b Use Corefile
Fix the code copied from Caddy to refer to Corefile and make 'coredns'
with flags pickup a local Corefile.

Also remove some references to Caddy in the docs and output of coredns.

Fixes #235
2016-08-29 14:39:24 +01:00
Miek Gieben
da5d7bea4b typos in middleware.md 2016-08-28 09:34:29 +01:00
Miek Gieben
c3d3ff2825 Merge branch 'cleanup-for-release' 2016-08-28 09:33:04 +01:00
Miek Gieben
0c57748be2 Rename RegisterDirective to RegisterDevDirective
There is no good reason to be different than Caddy and allows us to
piggyback on it's documentation.
2016-08-27 21:14:35 +01:00
Miek Gieben
7db3511efc Add RegisterDirective 2016-08-27 21:01:06 +01:00
Miek Gieben
676dc919a2 Remove conf/ dir
Adjust documentation for k8s and put contents of the k8sCorefile
in the README.md
2016-08-25 07:35:09 +01:00
Miek Gieben
1f943d4f2b Use new style form to register directives
See
17709a7d3f
where there was a slight change (for the better) on how to register.

Fix the CoreDNS to adhire to this. Needs Caddy from master to compile at
this moment.
2016-08-25 07:23:02 +01:00