1. 16 Apr, 2018 1 commit
    • Anhad Jai Singh's avatar
      Add PowerDNS as a provider · ec822d7b
      Anhad Jai Singh authored
      Commit adds:
      * Implementation of PowerDNS as a provider
      * Tests for said implementation
      * github.com/ffledgling/pdns-go, which provides go client bindings for
        PowerDNS's HTTP API, as a dependency
      * "pdns" as an additional option for the `--provider` flag
      * `--pdns-server` and `--pdns-api-key` as additional flags for PowerDNS
        specific configuration
      ec822d7b
  2. 12 Apr, 2018 1 commit
  3. 04 Apr, 2018 1 commit
  4. 21 Feb, 2018 1 commit
    • jvassev's avatar
      Graceful handling of misconfigure password for dyn (#470) · 3293af66
      jvassev authored
      * 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
      3293af66
  5. 19 Feb, 2018 1 commit
    • jvassev's avatar
      Don't log passwords on start (#463) · 02f83397
      jvassev authored
      * 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
      02f83397
  6. 08 Feb, 2018 1 commit
    • Julian Vassev's avatar
      Add Dyn Provider · 414d3943
      Julian Vassev authored
      * 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=_
      414d3943
  7. 05 Jan, 2018 1 commit
  8. 20 Dec, 2017 1 commit
  9. 09 Nov, 2017 1 commit
    • Khris Richardson's avatar
      allow filtering by source annotation (#354) · b23765ed
      Khris Richardson authored
      * allow filtering by ingress class
      
      * generic source annotation filter as opposed to ingress class filter
      
      * rename and fix argument ordering, switch to label selector semantics
      
      * remove redundant parameters
      b23765ed
  10. 25 Oct, 2017 1 commit
    • Anhad Jai Singh's avatar
      Fixes #366 (#367) · 6134fe98
      Anhad Jai Singh authored
      - Add `--inmemory-zone flag`
      - Implement `InMemoryZoneInit` function to setup initial zones for
        inmemory provider
      - Make "" the default zone for the inmemory provider instead of
        nil/none when no initial zones are specified
      - Update config/flag parsing tests to accept new flag
      6134fe98
  11. 12 Oct, 2017 1 commit
    • Khris Richardson's avatar
      Initial commit of Infoblox provider (#349) · cab3e045
      Khris Richardson authored
      * Initial commit of Infoblox provider
      
      * address @ideahitme's observations
      
      * fail at addressing @szuecs comments
      
      * fix(infoblox): avoid shadowing err variable
      
      * fix flag descriptions
      
      * default ssl verify to true. thanks @szuecs
      
      * chore(infoblox): bump minium required version
      
      This should ideally be a minor bump but let's do that when we have v0.5
      cab3e045
  12. 11 Oct, 2017 1 commit
    • jose5918's avatar
      Adds Dnsimple as new provider (#224) · 09c35b67
      jose5918 authored
      * 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
      09c35b67
  13. 09 Oct, 2017 1 commit
  14. 23 Sep, 2017 1 commit
  15. 20 Sep, 2017 1 commit
  16. 19 Sep, 2017 1 commit
  17. 18 Sep, 2017 1 commit
  18. 17 Aug, 2017 1 commit
    • Justin Nauman's avatar
      ClusterIp Service support (#278) · 9b32e162
      Justin Nauman authored
      * ClusterIP service support
      
      - First pass at addresssing #187 by allowing services with type ClusterIP to be directly supported
      
      * Getting existing tests to pass
      
      * Adjusting formatting for gofmt/govet
      
      * Adding in guard logic around publishing of ClusterIP sources
      
      * Addressing PR feedback
      
      * Adding in CHANGELOG entry
      
      * Adding in Headless service test
      9b32e162
  19. 30 Jun, 2017 1 commit
    • Martin Linkhorst's avatar
      refactor source registration (#217) · 81974cd8
      Martin Linkhorst authored
      * 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
      81974cd8
  20. 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
  21. 16 Jun, 2017 2 commits
    • Nick Jüttner's avatar
      CloudFlare as a new provider (#140) · cb586334
      Nick Jüttner authored
      * CloudFlare Provider
      
      * updating glide
      
      * gofmt cloudflare_test.go
      
      * Unset envs to test NewCloudFlareProvider
      
      * More tests
      
      * fix(cloudflare): fix compiler errors resulting from merge
      
      * Typo
      
      * Undo vendor changes
      
      * decrease api calls, fix some nits
      
      * Cloudflare iteration (#2)
      
      * reduce the number of API calls
      
      * match by type and name for record id
      
      * improve coverage and fix the bug with suitable zone
      
      * tests failed due to wrong formatting
      
      * add cloudflare integration to the main
      
      * vendor cloudflare deps
      
      * fix cloudflare zone detection + tests
      
      * fix conflicting test function names
      cb586334
    • Nick Jüttner's avatar
      Digital Ocean as a new provider (#171) · cafe6c08
      Nick Jüttner authored
      * Initial Digital Ocean as a new provider
      
      * chore: vendor dependencies
      
      * Remove zone parameter from ApplyChanges and Records
      
      * fix(digitalocean): fix correct imports, unshadow a variable
      
      * fix(digitalocean): respect domain-filter if provided
      
      * add changes to digital ocean provider from PR review (#3)
      
      * fix tests and bugs in find suitable zones for digital ocean (#5)
      
      * tests failed due to wrong formatting
      
      * add digitalocean integration to the main and more tests
      
      * fix suitable zone for digital ocean
      cafe6c08
  22. 15 Jun, 2017 1 commit
  23. 13 Jun, 2017 1 commit
  24. 02 Jun, 2017 1 commit
    • Peter Huene's avatar
      Implement Azure DNS provider (#210) (#214) · 3355528c
      Peter Huene authored
      * vendor Azure Go SDK (#210)
      
      * vendor the Azure Go SDK and dependencies
      
      * add initial Azure DNS provider implementation (#210)
      
      * add 'azure' value to 'provider' command line option
      * add 'azure-config-file' command line option
      * add 'azure-resource-group' command line option
      * implement initial Azure DNS provider
      
      note: azure provider is not yet fully implemented (does not query for existing
      records).
      
      tests and documentation are forthcoming.
      
      * add a tutorial for the Azure provider (#210)
      
      * add tutorial for using ExternalDNS with Azure DNS
      
      * finish implementation of Azure DNS provider (#210)
      
      * implement the Records method for the Azure DNS provider
      
      * refactor Azure API interface for future tests (#210)
      
      * make Azure provider use an interface for future unit tests
      
      * add unit tests for the Azure provider (#210)
      
      * test retrieving Azure DNS records.
      * test updating and deleting Azure DNS records.
      * test dry run for the Azure provider (i.e. noop).
      3355528c
  25. 29 May, 2017 1 commit
    • Ian Smith's avatar
      Fake source (#205) · f06fb659
      Ian Smith authored
      * Expose inmemory provider to cli
      
      So we can test `--source fake` without needing to touch AWS/Google.
      
      * Add FakeSource
      
      `external-dns --provider inmemory --source fake --dry-run --once`
      
      OR
      
      `external-dns --provider aws --source fake --fqdn-template <hostname suffix> --dry-run --once`
      
      NB: `--fqdn-template` because otherwise we'll default to creating, e.g.,
      `abcd.example.com`, which `--provider aws` filters out because you
      likely don't have a Zone for `example.com.`  Could also be resolved by
      removing the need to use a real provider; the inmemory provider,
      perhaps, though it's not entirely hooked up.
      
      Closes kubernetes-incubator/external-dns#22
      
      * Style feedback from Travis CI
      
      * Improve optionality of kubernetes client
      
      * ref(sources): refactor source registration and lookup to be lazy.
      
      * Revert "ref: refactor source registration/lookup to be lazily initialized"
      f06fb659
  26. 22 May, 2017 1 commit
  27. 05 May, 2017 1 commit
  28. 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
  29. 26 Apr, 2017 1 commit
  30. 25 Apr, 2017 1 commit
    • Martin Linkhorst's avatar
      add multi-zone capability to google provider (take 2) (#163) · e5f21ad3
      Martin Linkhorst authored
      * feat(google): auto-detect and multiple zone support
      
      * chore: run gofmt with the simplified command
      
      * fix: pass desired domain to google provider
      
      * feat(google): correctly auto-detect records for sub-zones
      
      * chore: update changelog with support for multiple zones in google
      
      * fix(google): don't append traling dot to TXT records
      
      * ref(provider): extract hostname sanitization to general provider
      e5f21ad3
  31. 18 Apr, 2017 2 commits
    • Yerken's avatar
      [PR-156 follow-up] Generate endpoints hostnames if go-template is specified (#160) · 25eef915
      Yerken authored
      * 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
      25eef915
    • Henning Jacobs's avatar
      log config on startup (#161) · 57947e54
      Henning Jacobs authored
      57947e54
  32. 13 Apr, 2017 1 commit
    • Martin Linkhorst's avatar
      support multiple hosted zones and automatic lookup (#152) · 03d76204
      Martin Linkhorst authored
      * feat(aws): support multiple hosted zones and automatic lookup
      
      * chore: run gofmt with the simplified command
      
      * fix(aws): add missing method from google provider
      
      * fix: remove superflous parameter from google provider
      
      * feat: make domain configurable via flag
      
      * fix(aws): remove unused constant
      
      * fix(aws): don't log actions that were filtered out
      
      * feat(aws): detect best possible zone to put dns entries in
      
      * fix(aws): log error instead of failing if a change batch fails
      
      * chore: update changelog with support for multiple zones
      03d76204
  33. 12 Apr, 2017 2 commits
  34. 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
  35. 10 Apr, 2017 1 commit
  36. 07 Apr, 2017 2 commits
    • Yerken's avatar
      define registry interface (#120) · 9a44453d
      Yerken authored
      * define registry interface
      
      * init in-memory registry
      
      * remove ununsed variable, added comments
      
      * add inmemory registry tests
      
      * introduce DNSRecord struct
      
      * use noop registry
      
      * remove zone from registry fields
      
      * replace provider with registry in controller
      
      * move noop registry interface check to test
      
      * remove ownerid from noop registry
      
      * fix: remove dangling empty line
      
      * return provider records directly with noop
      
      * adjust according to pr review
      
      * fix noop tests
      9a44453d
    • Martin Linkhorst's avatar
      metrics: expose basic golang metrics via prometheus (#132) · ecdd5bc0
      Martin Linkhorst authored
      * feat: expose basic go metrics via prometheus
      
      * chore: vendor dependencies
      
      * feat(metrics): combine healthz and metrics into single endpoint
      
      * ref(metrics): rename metrics port to address
      
      * docs(metrics): update changelog to include metrics feature
      
      * ref(metrics): consistently rename port to address
      ecdd5bc0