5 Commits

Author SHA1 Message Date
James Bowes
8989032e85 Add custom TTL support for DNSimple (#477)
* Add custom TTL support for DNSimple

* chore: add changelog entry
2018-02-27 14:26:02 +01:00
Till Klocke
5d54849699 Implementation of multiple targets based on PR #404 and #396 (#418)
* Endpoint.Target is now Endpoint.Targets. This is its own type representing mutliple targets for a single DNS name while adding some convenience for sorting and comparing

* Made everything compile and tests run through with the new Endpoint.Targets

* The ingress source can now properly handle multiple target ips per host

* Added custom conflict resolver, to better understand how conflict resolution has to work for me

* My custom conflict resolver behaves a bit different than the PerResource resolver, therefore I needed to modify the expected test result

Removed unnecessary FIXME

* The ingress source now creates CNAME endpoints with multiple targets to let the DNS provider decide how to handle multiple CNAME targets. This could be interesting for weighted targets etc.

* Adopted the expected results to the new way we create endpoints for CNAMEs

* Removed Add method from Targets since manipulating the slice through here is unnecessary complicated and doesn't deliver enough convenience

* Reverted ConflictResolver to the original one. There is some discussing to do what the best way is to handle conflicts

* Added missing documenting comment to IsLess of Targets

* Added documenting comments to Targets,Targets.Same and NewTargets to clarify their intention and usage

* Service source now also generates endpoints with multiple targets

* Service and Ingress source now sort all Targets for every Endpoint to make order of Targets predictable

* Endpoints generated by the Google Cloud DNS provider now also have sorted Targets to make order of Targets predictable

* Modified provider dyn to be able to compile with multi target changes

* Fixed small nitpicks, so my code is acceptable

* Fixed merge method after updating to new Targets. Replacing '!=' with .Same of course needs a boolean negation

* Tests for dyn provider now also use the new Targets instead of Target

* Simplified extractServiceIps as implied by linki to make it more readable

* ref: change service ClusterIP retrieval again

* Added entry to CHANGELOG.md describing the new features contained in this PR
2018-02-21 18:11:45 +01:00
James Bowes
9bd5f06046 Retrive all DNSimple response pages (#468)
* Retrive all DNSimple response pages

The DNSimple API is paginated. Retrive all pages when requesting zones
and records, so that none are skipped.

When querying for a single record, ask for it by name. That way, there
will be fewer pages to iterate through.

* docs: add pagination support for dnsimple to changelog
2018-02-21 14:37:34 +01:00
Valentyn Boginskey
4dacf81238 New filter: --zone-id-filter (#422)
* Add aws-zone-id flag

* Add Zone ID filter

* Update AWS provider and main

* Make ZoneIDFilter generic

* Implement ZoneIDFilter for all providers

* Update CHANGELOG
2017-12-20 17:00:13 +01:00
jose5918
09c35b6790 Adds Dnsimple as new provider (#224)
* Adds Dnsimple as a provider

* chore(vendor): remove vendor for smaller diff

* fix(config): make dnsimple selectable via flags

* Fix delete and update

* Dnsimple testify mock tests

* remove leaked file

* Move and simplify mock functions

* chore: use lowercase for logrus repository

* chore: update dependencies using glide

* chore: vendor dnsimple-go package

* ref: isolate suitable type in source package

* add support for DNSimple, thx @jose5918 :D
2017-10-11 12:11:14 +02:00