Commit Graph

23 Commits

Author SHA1 Message Date
Nils Juenemann
bcb4972d4c Support for multiple hostnames in hostname annotation (#256)
* service source: support for multiple hostnames per annotation

* go fmt

* Make parseHostnameAnnontations inline

* Update CHANGELOG.md

* Update Changelog
2017-07-04 18:37:52 +02:00
Martin Linkhorst
4d48cef482 chore(source): add test for annotation taking precendence over template (#257) 2017-07-03 22:55:12 +02:00
Martin Linkhorst
81974cd8a0 refactor source registration (#217)
* ref(sources): refactor source registration and lookup to be lazy.

* fix(fake): don't make changes to passed in config values

* rework without init, tests are missing

* make client provider public

* fix all tests

* change parameter list order, minor improvements

* clientprovider -> clientgenerator, switch naming for interface/struct
2017-06-30 16:54:58 +02:00
Martin Linkhorst
406afacbf7 experiment: use testify in test code (#186)
* ref(source): use testify with mocks in test code

* fix: re-introduce NewMockSource for convenience

* fix: avoid circular dependency

* ref: increase usage of testify

* chore: vendor testify as a dependency

* fix(*): cleanup testify expectations
2017-05-31 10:24:11 +02:00
Martin Linkhorst
8b8312c89a update and vendor all dependencies (#200)
* chore: update and vendor all dependencies

* chore: don't forget custom import repo-infra
2017-05-11 11:09:49 +02:00
Yerken
5e3f2b7773 first effort to improve logging in external-dns to provide with basic needed logging (#174)
* continue on controller loop error

* add logging in source

* use formatter on logChanges for endpoints

* fix log messages, log skipped records

* add logging in aws, uppercase the rest

* respect google dry run policy

* add ing/svc namespace/name on logging

* fix error logging on template failure

* fix bugs, propagate template error

* log if nothing is being updated, debug log skipped endpoints

* change zone-not-found logging order
2017-04-25 12:22:46 +02:00
Martin Linkhorst
096c68be79 Enhance compatibility and process molecule Services (#166)
* feat(service): enhance compatibility, process molecule services

* ref(service): simplify label detection for molecule servics
2017-04-21 16:38:56 +02:00
Yerken
25eef9159c [PR-156 follow-up] Generate endpoints hostnames if go-template is specified (#160)
* add --fqdn-template

* add missing ,

* gofmt

* no endpoint creation on empty fqdntemplate

* improve test coverage

* gofmt simple on service_test.go and ingress_test.go

* import package order changed

* gofmt

* refactor to generate template in the source init

* refactor for err handling

* fix service tests

* fix wrong check, check for priorities, mate > template

* fix tests, check for controller annotation in the right place

* add to changelog

* add flag description, improve testing, reorganize imports

* review changes: log the error, use text/template, change func interface
2017-04-18 18:13:08 +02:00
Martin Linkhorst
9d48d89240 feat(source): support services annotated with mate's annotations (#141) 2017-04-10 15:43:41 +02:00
Yerken
be452acdf7 endpoint sanitize dns in the init func (#131)
* revert changes, start a new

* remove sanitize

* fix tests for source pkg

* fix aws_tests
2017-04-07 10:18:52 +02:00
Martin Linkhorst
b0f437a438 support hostnames as endpoint targets (CNAME support) (#122)
* feat(aws): support hostnames as endpoint targets

* docs: describe how to run ExternalDNS on AWS

* docs: update changelog with CNAME feature

* docs: update changelog to include AWS documentation

* fix(aws): test that updating records removes the old value

* feat(google): add CNAME support to Google provider

* fix(source): sanitize source and target hostnames

* docs: update changelog to include latest changes

* docs(aws): mention that ExternalDNS takes full ownership of a hosted zone

* fix(aws): switch route53 tests to use endpoint pointers

* docs: add TODO to remove record filtering once ownership is in place
2017-04-05 14:58:10 +02:00
Yerken
f9402d7ed1 use pointer to endpoint via NewEndpoint initializer (#125)
* use pointer to endpoint via NewEndpoint initializer

* return nil if record does not exist in plan

* add test for NewEndpoint
2017-04-04 16:41:49 +02:00
Martin Linkhorst
c3378f7f67 use constructor methods to create sources (#82)
* ref(source): use constructor methods to create sources

* fix: import and use missing package

* fix(source): fix merge conflict with master branch
2017-03-13 14:18:20 +01:00
Martin Linkhorst
b29e7343e1 fix(source): validate that sources adhere to the interface (#80) 2017-03-13 12:39:57 +01:00
Martin Linkhorst
69565ced3e
chore: use alpha annotations 2017-03-08 11:50:21 +01:00
Martin Linkhorst
78a2b1d8d5
feat: allow passing a namespace that limits found resources 2017-03-06 16:41:14 +01:00
ideahitme
014982cafc create shared_test and scope service tests 2017-03-02 11:24:23 +01:00
Martin Linkhorst
f3458d0dbd
fix(source): consistently use CoreV1() instead of Core() 2017-03-01 11:30:39 +01:00
Justin Santa Barbara
18318b84be Extract Status.LoadBalancer.Hostname from service annotations
On AWS, the loadbalancer is / will be / should be set up in the
hostname.
2017-02-26 22:22:43 -05:00
Martin Linkhorst
f156cd89d7
chore(source): add boilerplate headers 2017-02-24 17:16:26 +01:00
Martin Linkhorst
c14dc609d2
ref: rename test message to test title 2017-02-23 15:32:26 +01:00
Martin Linkhorst
e6bb517738
ref: run individual table tests in sub tests 2017-02-23 14:14:24 +01:00
Martin Linkhorst
84910c4844
feat(services): implement Kubernetes services source 2017-02-23 12:04:13 +01:00