Commit Graph

4924 Commits

Author SHA1 Message Date
Anders Bruun Olsen
0d6f3ce312 Update helper-text and GKE tutorial to reflect google project auto-detection. (#494) 2018-03-14 13:14:00 +01:00
Gary Kramlich
1cef71e0be Inititial support for multiple targets per record 2018-03-13 23:16:51 -05:00
Anders Bruun Olsen
f2a4efbcb4 Auto-detect google-project if provider is Google and no project is su… (#492)
* Auto-detect google-project if provider is Google and no project is supplied.

* Add changelog entry.
2018-03-13 20:40:17 +01:00
Christoph Brand
fe0e424d33 Add Foreign Cloud support to Azure Provider (#485) 2018-03-07 19:28:21 +01:00
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
Zach Arnold
389527785d update RBAC rules in docs (#451)
* update RBAC rules in docs

* update docs with split between rbac and non

* make deployment use new sa

* docs: correctly reference service account in CRB

* docs: correctly reference service account in CRB in other docs
2018-02-27 11:54:20 +01:00
Herrmann Hinz
21c3dce4c2 fixing image tag typo in public-private-route53.md tutorial (#476)
* fixing image tag typo in public-private-route53.md tutorial

* fixing image tag typo in public-private-route53.md tutorial
2018-02-23 16:02:09 +01:00
Kamil Szczygieł
1832011c3a Setting up ExternalDNS using same domain for public/private Route53 zones (#472)
* setting up externaldns using the same domain for public and private route53 zones

* update nginx-ingress-controller image to 0.11.0
2018-02-22 13:47:54 +01:00
Nick Jüttner
06a8da0aae Fix docker build and delete vendor files which were not deleted (#473)
* Fix docker build and delete vendor files which were not deleted

* Fix docker build and delete vendor files which were not deleted

* Add me as a owner

* Fix docker build and delete vendor files which were not deleted
2018-02-22 13:19:44 +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
Nick Jüttner
f5b0d93e91 DigitalOcean creates entries with host in them twice (#459)
* DigitalOcean creates entries with host in them twice

* Unit test

* DigitalOcean creates entries with host in them twice (#459)

* docs: cleanup changelog a little
2018-02-21 15:53:31 +01:00
Nick Jüttner
1e22c32b00 Using dep in travis to ensure all dependencies are installed (#471)
* Using dep in travis to ensure all dependencies are installed

* Using dep in travis to ensure all dependencies are installed

* Using dep in travis to ensure all dependencies are installed

* Using dep in travis to ensure all dependencies are installed
2018-02-21 15:52:58 +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
jvassev
3293af66fe Graceful handling of misconfigure password for dyn (#470)
* Graceful handling of misconfigure password for dyn

If a bad password is given for provider "dyn" then the next
login attempt is at least 30minutes apart. This prevents an
account from being suspended.

Improve validation of flags for dyn provider. Add test for
ValidateConfig() and Config.String()

Also add --dyn-min-ttl option which sets the lower limit
of a record's TTL. Ignored if 0 (the default).

* docs: add graceful handling of misconfiguration to changelog
2018-02-21 13:09:17 +01:00
jvassev
02f833975d Don't log passwords on start (#463)
* Don't log passwords on start

The two passwords configurable as flags (for infoblox and dyn) are
masked now and not logged.

* docs: add masking sensitive data in logs to changelog
2018-02-19 13:03:22 +01:00
Martin Linkhorst
ef0e842068
fix: make coredns provider compile 2018-02-12 18:30:23 +01:00
Martin Linkhorst
a673719d59
Merge remote-tracking branch 'upstream/master' into coredns 2018-02-12 16:55:38 +01:00
Nick Jüttner
bd1aef2667
Merge pull request #461 from eik3/patch-1
Typos
2018-02-09 11:11:56 +01:00
Nick Jüttner
9ed9bae16d
Merge pull request #457 from jvassev/dyn-provider
Add Dyn Provider
2018-02-09 11:11:00 +01:00
Eike Herzbach
2d632f229d
Typos 2018-02-09 10:15:28 +01:00
Julian Vassev
414d394354 Add Dyn Provider
* add "dyn" provider
* add several --dyn-* args to configure Dyn login
* add github.com/nesv/go-dynect/dynect@0.6.0 to Gopkg and vender/ (the client
  of choice by Terraform)
* make externdns.Version public so it can be stored when committing
  zone changes
* add tutorial for Ingress resources and update root README.md file

Dyn REST API is documented here: https://help.dyn.com/dns-api-knowledge-base/

Example usage:

  external-dns \
    --provider=dyn \
    --dyn-customer-name=acme \
    --dyn-username=acme-api \
    --dyn-password=t0pS3cr3t \
    --domain-filter=portal.acme.com \
    --zone-id-filter=acme.com \
    --namespace=my-test-ns \
    --log-level=debug \
    --txt-prefix=_
2018-02-08 09:37:33 -08:00
Nick Jüttner
c12db71397
Merge pull request #429 from appscode/master
Avoid missing pod hostname for headless service
2018-02-08 17:47:29 +01:00
Tamal Saha
10b7ceac48 Avoid missing pod hostname for headless service 2018-01-30 19:13:04 -08:00
Zach Arnold
bf93fd8844 add paris region (#452)
* add paris region

* adds test
2018-01-30 10:40:49 +01:00
Martin Linkhorst
d06fb9da43
docs: add missing changelog entries 2018-01-26 11:58:12 +01:00
shane lee
272e12e62a [aws-doc-update] docker image version and new arg aws-zone-type (#371)
* [aws-doc-update] docker image version and new arg aws-zone-type

* changes after review

* remove annotation for ingress

* docs: modify docs according to suggestions
2018-01-26 11:12:51 +01:00
Søren Mathiasen
a7ad512d04 Add documentation about annotation-filter (#448)
There were no documentation describing how to use the annotation-filter
parameter
2018-01-26 11:00:59 +01:00
Nick Jüttner
35b033afc5
Merge pull request #435 from bkochendorfer/switch_from_glide_to_dep
Switch from glide to dep
2018-01-18 17:21:22 +01:00
Nick Jüttner
a80d755404
Merge pull request #436 from stromming/azureTtl
Added TTL annotation check for azure records.
2018-01-18 17:19:30 +01:00
Filip Ström
f32f0777e8 Added TTL check when retrieving endpoints. Updated tests to include TTL checks. 2018-01-10 15:49:36 +01:00
Filip Ström
3f564f14ad Added TTL annotation check for azure records. 2018-01-08 13:50:37 +01:00
leigh schrandt
930c8d4856 Google Provider logging for misconfigured zones (#388)
* provider=google: Improve Logging / Filter Endpoints

1. move dry-run exit after `separateChange()`
2. log records after `separateChange()`
3. make `newRecords()` a method of `GoogleProvider` — use `domainFilter.Match()` foreach `endpoint.DNSName`
   ^ without this, non-relevant endpoints show up in the warnings for “No matching zone”

* provider=google: Add tests for domainFilter

- new test: `TestGoogleRecordsFilter`
- add no matching zone and filtered record to `TestGoogleApplyChanges`
- allow `setupGoogleRecords` to createRecords without validateEndpoints

* provider=google: Improve zone-matching logs

- Add `DomainFilter.isConfigured()`
- Conditionally log zone matching for the user based off of `DomainFilter.isConfigured()`
- Rename `provider.newRecords()` to `provider.newFilteredRecords`

* fix: ensure that our setup methods are correct by keeping the tests
2018-01-08 11:51:25 +01:00
Brett Kochendorfer
7f369695f3 Convert glide to dep 2018-01-06 16:12:56 -06:00
Corey O'Brien
53011dc115 Update AWS private hosted zones in addition to public zone (#356)
* Update AWS private hosted zones in addition to public zone

* Sort slices for consistent ordering in TestAWSSuitableZones

* ref: use len to check for empty list of matched zones

* feat: mention contributors in changelog

* fix: move changelog entry to the unreleased section

* fix: add one more missing attribution to the changelog
2018-01-05 17:32:54 +01:00
Martin Linkhorst
3ef1f9faf0
fix: remove stale wait time on shutdown (#434) 2018-01-05 16:47:44 +01:00
Aaron Crickenberger
1ed025a170 Follow CLA doc to kubernetes/community (#432) 2018-01-05 10:27:28 +01:00
Yerken
998f3618b8
add first proposal version for multi target (#396)
* add first proposal version for multi target

* update docs

* remove todo, add how to do it for other providers
2017-12-21 11:45:02 +01:00
Aaron Crickenberger
5502923878 Update code-of-conduct.md (#426)
Refer to kubernetes/community as authoritative source for code of conduct
2017-12-21 11:15:17 +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
Yerken
ec07f45c8e Multi target plan ( Page Not Found ) (#404)
* Make suitableType() be Endpoint method

With this change it becomes possible to work with endpoint
of empty type in packages other than "provider". Also
it seems logical for a smart property getter without side effects
to be a method rather than a function in different package

* Make plan computation work correctly with multi-target domains

* fix drawing

* drop comments

* fix boilerplate header

* fix comment

* fix the bug with empty map

* rework registry to support random lables

*  serialize->serializeLabel function rename

* golint for err variable naming

* add additional test

* add tests for current case where one resource can generate multiple endpoints

* make labels have its own type, add serialization as a method

* add comment for exported error

* use greater rather than not equal zero

* update changelog
2017-12-14 11:21:07 +01:00
Fabian Topfstedt
5f88867e75 Adding required name values (#416)
Added a name value so make Kubernetes 1.8.5 work.

Had this error before:
```The Service "nginx" is invalid:
* spec.ports[0].name: Required value```
2017-12-10 03:08:34 +01:00
Martin Linkhorst
bd632ec2d3
chore: switch to go v1.9 (#411) 2017-12-04 17:39:00 +01:00
Martin Linkhorst
0f85859af0
Avoid shadowing package name (#410)
* chore: avoid shadowing package name

* fix: use constant format in call to Sprintf

* chore: try to make go1.9 work on travis
2017-12-01 16:52:51 +01:00
Xinghong Fang
06e70ca8d0 updated logrus and all other packages (#407)
* updated logrus and all other packages

* re-glide and strip vendor in nested directories
2017-12-01 11:58:08 +01:00
Martin Linkhorst
af1532cb3c fix: print matched dns zones (gcp, aws) (#401) 2017-11-28 23:13:29 +01:00
Arttii
40350a9b23 Added HostPort feature docs (#399)
* Added HostPort feature docs

* Fixed some typos
2017-11-24 09:11:39 +01:00
Henning Jacobs
76dc93bd29
update docs to use latest release v0.4.8 (#398) 2017-11-24 09:04:43 +01:00
Henning Jacobs
fe67bb377b
fix changelog for v0.4.8 (just released) 2017-11-22 19:59:47 +01:00
Shane Starcher
45a5cacac6 Add note about CNAME and txt the registry (#397)
* Add note about CNAME and txt the registry

* Update README.md
2017-11-22 14:36:49 +01:00
Henning Jacobs
e32f0952b4 #394 fix broken tests caused by conflicting PR merges 2017-11-20 21:44:54 +01:00