20 Commits

Author SHA1 Message Date
Clayton O'Neill
ea4cbfe803 Ingress target annotation should set, not append (#318)
If the user has specified a target for the ingress, treat that as
overriding any endpoints already set on the ingress, even if that list
is not empty.  This allows overriding the IP address or hostname set
when using a service like kube-keepalived-vip.
2017-08-17 22:27:14 +02:00
Henning Jacobs
d54cd72e94 Support for annotation based targets for Ingress (#312)
* Support for annotation based targets for Ingress

* stay DRY: extract into addEndpointsFromTargetAnnotation
2017-08-10 20:53:22 +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
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
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
f3c1d0f770 fix(source): ingresses should be ignored if other controller (#108) 2017-03-23 16:33:44 +01:00
Martin Linkhorst
08d752c592 Ingress: appends trailing dot to hostnames (#85)
* fix(ingress): append trailing dot to hostnames

* fix(source): update tests for sanitized DNS names
2017-03-14 10:54:24 +01: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
78a2b1d8d5
feat: allow passing a namespace that limits found resources 2017-03-06 16:41:14 +01:00
ideahitme
0115c2007d test ingress on diff namespaces 2017-03-02 16:57:29 +01:00
ideahitme
d9697c0463 gofmt ingress_test 2017-03-02 15:26:17 +01:00
ideahitme
c14b4107f0 ingress tests 2017-03-02 15:14:37 +01:00
ideahitme
43e11ea66b scoped ingress tests 2017-03-02 11:34:01 +01:00
ideahitme
ef76c7dc73 first implementation without test 2017-03-02 11:11:13 +01:00
ideahitme
4e04f36c6f ingress kickoff 2017-03-01 16:37:09 +01:00