1. 02 Oct, 2018 1 commit
  2. 07 Sep, 2018 1 commit
    • Peter Bale's avatar
      Moving methods around · 25b7cfb2
      Peter Bale authored
      This is an update to the order in which we have the new mock methods.
      
      Removed comment and added comment to exported mock helper.
      25b7cfb2
  3. 06 Sep, 2018 2 commits
    • Peter Bale's avatar
      Adding new tests for additional batching logic · 93053087
      Peter Bale authored
      This is to add two new tests which will cover the new logic where the
      submit route53 changes function can error if any one of the updates
      fails for any given batch in any given zone. Additionally, there is now
      a test to check that the application does not try and create a set of
      entries if the total number of changes associated with a given name is
      greater than the total number of allowed changes per batch.
      93053087
    • Peter Bale's avatar
      Change the way aws batching works · be4b4acc
      Peter Bale authored
      This is to change the way batching works when using the aws provider.
      Originally, batching would take the first n records you want to update
      and perform the desired actions on those records as part of a sync. It
      would then wait for the configured sync period and take the first n
      records again and sync them. The issue with this is that when you are
      using the TXT registry with a custom prefix, the updates can sync a TXT
      record and not the accompanying A/CNAME record. This causes external-dns
      to get out of sync with what is created and what the current state
      actually is. This update uses the same idea of batching, however, rather
      than stopping after the first batch until the next run, batching will
      now have a separate batch interval which controls the interval between
      each batch in the same sync period. This allows external-dns to fully
      sync with route53 as part of each sync and can then know that the state
      is complete.
      
      Fixes https://github.com/kubernetes-incubator/external-dns/issues/679
      be4b4acc
  4. 06 Jul, 2018 1 commit
  5. 20 Jun, 2018 1 commit
  6. 18 Jun, 2018 1 commit
    • Peter Bale's avatar
      Add aws max change count flag (#596) · e34bf552
      Peter Bale authored
      * Create `NewAWSProvider` with `AWSConfig` struct
      
      Rather than calling `NewAWSProvider` with a list of objects, you will
      now call it using a new `AWSConfig` struct. This allows for clearer
      declarations of variables which becomes even  more important as more
      variables are added.
      
      * Add `aws-max-change-count` flag
      
      Adding a new `aws-max-change-count` flag to override the default max
      change count on the aws provider.
      
      Included updated tests with a new `defaultMaxChangeCount` constant and
      tests for setting the value as a flag and as an environment variable.
      
      * Update CHANGELOG.md
      
      Updating CHANGELOG.md with 'Add aws max change count flag' PR.
      e34bf552
  7. 14 Jun, 2018 1 commit
  8. 19 Apr, 2018 1 commit
  9. 18 Apr, 2018 1 commit
  10. 21 Mar, 2018 1 commit
  11. 14 Mar, 2018 1 commit
  12. 21 Feb, 2018 1 commit
    • Till Klocke's avatar
      Implementation of multiple targets based on PR #404 and #396 (#418) · 5d548496
      Till Klocke authored
      * 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
      5d548496
  13. 30 Jan, 2018 1 commit
  14. 05 Jan, 2018 1 commit
    • Corey O'Brien's avatar
      Update AWS private hosted zones in addition to public zone (#356) · 53011dc1
      Corey O'Brien authored
      * 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
      53011dc1
  15. 20 Dec, 2017 1 commit
  16. 09 Nov, 2017 1 commit
  17. 11 Oct, 2017 2 commits
    • Kevin J. Qiu's avatar
      Allow specifying a custom TTL through annotation on Ingress or Service (#320) · 71723bdd
      Kevin J. Qiu authored
      * Add RecordTTL
      
      * Route53: test for custom TTL
      
      * Fix tests
      
      * Fix remaining tests
      
      * Add ttl when endpoint is created from ingress
      
      * Missed a word
      
      * Fix bad refactoring
      
      * Add ingress custom TTL test
      
      * gofmt
      
      * Satisfy go-lint
      
      * Unshadow `endpoint` in azure provider
      
      * Fix and add an output test
      
      * Add TTL for endpoints generated from service templates
      
      * Take TTL into account when generating update plan
      
      * Tests for TTL change impact on the plan
      
      * Refactor factory method name
      
      * Refactoring
      
      * Run gofmt
      
      * Make endpoint string format look like BIND config
      
      * Update plan and plan_test
      
      * Replace NewEndpointWithTTLValue with NewEndpointWithTTL in aws
      
      * Remove NewEndpointWithTTLValue func
      
      * Update references to TTL
      
      * Remove getTTLValue func
      
      * Handle merge conflict
      
      * Update tests
      
      * Update README, CHANGELOG and documentation
      
      * Run gofmt
      
      * Move getTTLFromAnnotations to a common file
      
      * Refactor getTTLFromAnnotations
      
      * Gofmt
      
      * Add tests for getTTLFromAnnotations
      
      * Trigger build
      
      * Add boilerplate header
      
      * Update README/CHANGELOG according to code review
      
      * Add ttl.md and link it from README
      
      * change CNAME string to endpoint.RecordTypeCNAME
      
      * fix test cases with AWS ALIAS records, these do not behave different in these tests
      71723bdd
    • Nick Jüttner's avatar
      #228 Simplify DNS provider requirements by extracting common (#263) · f5639c4c
      Nick Jüttner authored
      * #228 Simplify DNS provider requirements by extracting common
      
      * #228 Simplify DNS provider requirements by extracting common
      
      * Missing boilerplate added
      
      * rename recordtypefilter, fail fast statements
      
      * rework zone finder, update deps
      
      * chore: drop namespace from cloudflare method name
      f5639c4c
  18. 19 Sep, 2017 1 commit
  19. 25 Aug, 2017 1 commit
  20. 09 Aug, 2017 1 commit
  21. 29 Jun, 2017 1 commit
    • Nils Juenemann's avatar
      Support for multiple domains within --domain-filter (#252) · 73d39796
      Nils Juenemann authored
      * Support for multiple domains within --domain-filter
      
      The parameter accepts a comma separated list of domains with or without trailing dot. Example: --domain-filter="example.org, company.test.,staging.com". Closes #247 and #229
      
      * Add boilerplate header
      
      * Add documentation for methods and structs
      
      * use StringsVar for the domain-filter flag
      
      * go fmt
      
      * Remove camel case from tests
      
      * Revert changes in README.md
      
      * Move DomainFilter to provider package
      
      * Make a new slice and copy elements to it
      
      * Update CHANGELOG.md
      
      * docs: change minor spelling mistake
      73d39796
  22. 31 May, 2017 1 commit
    • Martin Linkhorst's avatar
      experiment: use testify in test code (#186) · 406afacb
      Martin Linkhorst authored
      * 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
      406afacb
  23. 22 May, 2017 1 commit
  24. 27 Apr, 2017 1 commit
    • Martin Linkhorst's avatar
      allow setting flags via env vars (#124) · da3c17a6
      Martin Linkhorst authored
      * feat(config): change defaults, switch flag processing to kingpin
      
      * chore: vendor kingpin as a dependency
      
      * feat(config): auto-detect cluster config from the environment
      
      * chore: clean up definition of flags
      
      * chore: sanitize flags even further
      
      * chore: update changelog with latest flags changes
      
      * fix(aws): fix messed up test name
      da3c17a6
  25. 13 Apr, 2017 2 commits
  26. 12 Apr, 2017 1 commit
    • Martin Linkhorst's avatar
      initial support for AWS ALIAS records (#144) · 62905a3b
      Martin Linkhorst authored
      * feat(aws): support for creating DNS records with ALIAS type
      
      * fix(aws): increase code coverage by listing ALIAS records
      
      * chore: update changelog with support for ALIAS records
      
      * ref(aws): generalize naming of ELB to load balancer
      
      * ref(google): remove superflous check for non-existing record
      
      * fix(aws): return the correctly typed alias record
      62905a3b
  27. 11 Apr, 2017 1 commit
    • Yerken's avatar
      kickoff txt registry (#137) · 98de0142
      Yerken authored
      * kickoff txt registry
      
      * fix inmemory dns provider to include recordtype info for validation
      
      * Merge master
      
      * fix ununsed variable in inmemory provider
      
      * add tests for records
      
      * add test for no prefix name formatter
      
      * implement apply changes with tests
      
      * add flag to enable txt registry
      
      * add txt registry to main
      
      * improve sort testing
      
      * filter out non-owned records
      
      * NewEndpoint(...) requires record type
      
      * use newendpoint in aws_test, fix tests
      
      * change suitable type implementation
      
      * fix the test for compatibility component
      
      * change inmemory provider to include recordtype and use suitable type
      
      * fix comments, CNAME should target hostname
      
      * name mapper do not use pointer on struct
      
      * txt prefix - just concatenate, remove spew, fix txt record label
      
      * allow TXT records as result from dns provider
      
      * add changelog
      
      * fix tests
      
      * TXT records need to be enclosed in double quotes
      98de0142
  28. 07 Apr, 2017 1 commit
  29. 06 Apr, 2017 2 commits
  30. 05 Apr, 2017 2 commits
    • Martin Linkhorst's avatar
      fix(aws): improve quality of test code · 433e6b1a
      Martin Linkhorst authored
      433e6b1a
    • Martin Linkhorst's avatar
      support hostnames as endpoint targets (CNAME support) (#122) · b0f437a4
      Martin Linkhorst authored
      * 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
      b0f437a4
  31. 04 Apr, 2017 1 commit
  32. 03 Apr, 2017 1 commit
  33. 17 Mar, 2017 1 commit
  34. 07 Mar, 2017 2 commits