Commit Graph

104 Commits

Author SHA1 Message Date
njuettner
370bae6dd3 Cloudflare pagination for zones 2019-01-16 16:13:49 +01:00
Cesar Wong
65e13af9b7 Add zone tag filter for AWS 2018-12-07 10:38:52 -05:00
k8s-ci-robot
dd352b347b
Merge pull request #702 from mackIOConsulting/rfc2136_provider
Rfc2136 provider
2018-10-11 05:49:34 -07:00
Martin Linkhorst
7dbd6b0fa9
fix: pass all relevant CLI flags to AWS provider (#719) 2018-09-27 13:54:40 +02:00
Vladislav Troinich
d32a03ad32 Add couple of tests for RFC2136 provider 2018-09-24 10:52:28 +03:00
Vladislav Troinich
02437bb25c Merge remote-tracking branch 'origin/master' into rfc2136_provider
# Conflicts:
#	Gopkg.lock
#	Gopkg.toml
2018-09-07 10:51:35 +03:00
Peter Bale
be4b4accf9 Change the way aws batching works
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
2018-09-06 16:44:20 +01:00
Jonas Michel
b9b6842195 Add Source implementation for Istio Gateway (#694)
* add Istio Gateway Source

* add documentation for Istio Gateway Source

* make both istio namespace and ingress gateway service configurable

* prefix gateway types, constructors, and flags with 'istio-'

* fix: add missing sources to source flag docs
2018-09-06 16:39:32 +02:00
Vladislav Troinich
0151de539c Add RFC2136 provider 2018-09-06 11:46:01 +03:00
Nick Jüttner
488f10394a
Merge branch 'master' into generic-source 2018-09-03 10:55:12 +02:00
Nick Jüttner
08c791ff5b
Merge pull request #653 from Devatoria/feature/service_types_filter
Add filter by service type feature
2018-08-31 16:37:10 +02:00
Li Yi
1db16f35af Initial support for Alibaba Cloud 2018-08-28 17:30:36 +08:00
shashidharatd
18aee82d3d Add crd source which gets Endpoints from CRD 2018-08-22 19:37:21 +05:30
Devatoria
05068e3ad3 Add filter by service type feature 2018-08-17 17:14:44 +02:00
Nick Jüttner
dbfc884ba3
Merge pull request #678 from cliedeman/fix/linode-user-agent
Set Linode user agent
2018-08-16 17:21:59 +02:00
Julian Vassev
e6cae22ec4 Configure req timeout calling k8s APIs
When running in a pod sometimes the request to get ingreses/services
stalls indefinitely. A simple pod restart fixes this. Hard to reproduce
but I got lucky and did thread dump which revealed a gorouting blocked
on call to k8s.

What's new is a `--request-timeout` flag that makes requests to k8s
bounded in time. The default is 30s - this may cause some deployments
with a slow api-server to timeout.
2018-08-16 02:59:21 -07:00
cliedeman
ba6c82e043 Set Linode user agent and change to linode/linodego package 2018-08-16 11:17:54 +02:00
Loren Brindze
65b33ad7e2 adding assume role to aws_sd provider 2018-08-14 09:44:12 -07:00
cliedeman
65f8b914b1 Linode Provider Implementation 2018-08-14 16:26:14 +02:00
Arttii
874502ebf8 adding a flag to optionally publish hostIP instead of podIP for headless services (#597)
* Added HostPort feature docs

* Fixed some typos

* Fixing hostIP,podIP change

Fixing hostIP,podIP change

Merge artifacts in docs

Naming typo

removing unnecessary files

fix(source): fix misleading log message

Naming typo

removing unnecessary files

* fix(source): fix misleading log message
2018-07-26 18:16:32 +02:00
Nick Jüttner
717ee8440c
Merge branch 'master' into external-dns-exoscale 2018-07-12 12:21:12 +02:00
Nick Jüttner
f38c347636
Merge branch 'master' into external-dns-exoscale 2018-07-12 11:30:05 +02:00
Andrew Pryde
3c9a944fec Code review comments 2018-07-11 15:44:40 +01:00
Andrew Pryde
88da61e742 Implement Oracle Cloud Infrastructure DNS provider 2018-07-11 15:42:00 +01:00
Christopher Schmidt
07e7103afe implemented dryRun 2018-07-06 07:17:07 +02:00
Yoan Blanc
a487d3878f exoscale: rename exo into exoscale
Signed-off-by: Yoan Blanc <yoan.blanc@exoscale.ch>
2018-07-04 15:00:21 +02:00
Christopher Schmidt
8003a3f00b initial Exoscale Provider 2018-07-04 14:59:48 +02:00
Jason Hoch
d56ef6dbda gofmt 2018-06-19 15:56:55 -04:00
Jason Hoch
15b279a4bc Adds TLS flags for pdns provider 2018-06-19 15:40:32 -04:00
Peter Bale
e34bf552d6 Add aws max change count flag (#596)
* 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.
2018-06-18 14:21:37 +02:00
Nick Jüttner
f458b37662
Merge pull request #589 from jessfraz/cache-results-azure
add cache to limit calls to providers
2018-06-12 12:08:42 +02:00
Jess Frazelle
4759789ac8
add cache to limit calls to Records()
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-06-12 05:34:23 -04:00
Martin Linkhorst
ce0162b01e
Merge remote-tracking branch 'upstream/master' into coredns 2018-05-31 15:53:34 +02:00
Nick Jüttner
baa1da6fa0
Merge pull request #483 from vanekjar/AWS-SD-final
Add AWS Service Discovery provider
2018-05-30 10:31:34 +02:00
Jaromir Vanek
98dfbbe33f Rename aws-sd-registry to aws-sd 2018-05-28 16:53:22 +02:00
Jaromir Vanek
cd94888800 Implementation of AWS ServiceDiscovery provider 2018-05-25 07:45:47 -07:00
Martin Linkhorst
e938d71bc3
Merge remote-tracking branch 'upstream/master' into coredns 2018-05-24 14:20:18 +02:00
shashidharatd
c18c1c79ec Add a new source called connector (#552)
* Add new connector source

* Update docs for connector source
2018-05-22 17:49:16 +02:00
Nick Jüttner
8819ed62e8
Merge pull request #524 from linki/assume-role
AWS: Allow to assume another role
2018-04-18 16:02:06 +02:00
Anhad Jai Singh
ec822d7bbd Add PowerDNS as a provider
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
2018-04-16 19:11:35 +05:30
Martin Linkhorst
587b4128cb
feat: allow to assume another role for AWS 2018-04-12 14:59:28 +02:00
Nick Jüttner
5fc7d31a57 Resolving merge conflicts 2018-04-05 12:40:27 +02:00
Helgi Þormar Þorbjörnsson
2319a44fc1 Add a flag that allows FQDN and Annotations to combine (#513)
* Add a flag that allows FQDN and Annotations to combine

Old behaviour is kept by default, a new flag is introduced to combine instead of overwrite

Fixes #218

* docs: add fqdn template combine to changelog
2018-04-04 18:31:22 +02: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
a673719d59
Merge remote-tracking branch 'upstream/master' into coredns 2018-02-12 16:55:38 +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
Martin Linkhorst
3ef1f9faf0
fix: remove stale wait time on shutdown (#434) 2018-01-05 16:47:44 +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
Stan Lagun
0b870d1850 Support for https for etcd connection
This commit adds ability to use TLS transport for etcd.
New logic is applied when the etcd URL has https:// scheme.
TLS parameters are passed in the environment variables:

ETCD_CA_FILE - path to CA certificate. If not specified, then
system-provided certificates are used.

ETCD_CERT_FILE - client certificate
ETCD_KEY_FILE - client key file
- either both of none of this two must be specified

ETCD_TLS_SERVER_NAME - expected CN of the certificate. Useful when
URL points to a different domain from that in server certificate

ETCD_TLS_INSECURE - if set to "1" (or "true" or "yes") makes client
bypass server certificate validation.

Also for unification with other providers and rest of connection
settings, etcd URL is no longer specified in the command line, but
rather in ETCD_URLS environment variable (defaults to
http://localhost:2379). More than one comma-separated URL can be
specified. All of the URLs must start with either http:// or https://

Also, now it possible to communicate with etcd through proxy specified
in standard environment variables
2017-11-10 14:20:14 -08:00