Commit Graph

340 Commits

Author SHA1 Message Date
Andrea Florio
b550b7993c
added pi-hole section 2022-10-31 23:05:14 +01:00
Andy Bursavich
f6392be41e
gofumpt 2022-09-22 10:44:50 +01:00
DavidSpek
12f46d1e01
Implement plural provider
add plural to provider enum

go mod tidy

remove gitlab-ci

Signed-off-by: DavidSpek <vanderspek.david@gmail.com>

cleanup

Signed-off-by: DavidSpek <vanderspek.david@gmail.com>
2022-09-22 10:39:52 +01:00
misakazhou
3fa1b3c141
add the provider for the tencent cloud.
Signed-off-by: misakazhou <misakazhou@tencent.com>
2022-09-22 10:38:56 +01:00
Nathan J Mehl
7b9473c1cb
Set logformat before logging config
Google Cloud Logging (AKA Stackdriver Logs) interprets the default
logrus log format as "error" severity even when `level=info` is
present in the log output: ensure that the normal startup log
is not parsed as an error by setting the JSON formatter first.

Signed-off-by: Nathan J Mehl <n@oden.io>
2022-09-22 10:35:55 +01:00
Andy Bursavich
74ffff6c26 gofumpt 2022-09-20 20:48:57 -07:00
DavidSpek
62848b5a85 Implement plural provider
add plural to provider enum

go mod tidy

remove gitlab-ci

Signed-off-by: DavidSpek <vanderspek.david@gmail.com>

cleanup

Signed-off-by: DavidSpek <vanderspek.david@gmail.com>
2022-09-15 14:48:22 +02:00
misakazhou
a2e7ffc36a add the provider for the tencent cloud.
Signed-off-by: misakazhou <misakazhou@tencent.com>
2022-09-15 16:42:39 +08:00
Kubernetes Prow Robot
648c0dcee5
Merge pull request #2847 from odenio/master
Set logformat before logging config
2022-09-15 00:55:22 -07:00
Alejandro J. Nuñez Madrazo
d844ab115b
Merge branch 'master' of https://github.com/kubernetes-sigs/external-dns into kubernetes-sigs-master 2022-08-20 20:13:18 +01:00
Kubernetes Prow Robot
1f0f004d33
Merge pull request #2818 from PG2000/master
support ExternalID in AWS Provider when assuming a role
2022-08-19 08:41:52 -07:00
Kubernetes Prow Robot
e2b86a1146
Merge pull request #2693 from tobikris/add-target-net-filter
add target filters based on network
2022-08-02 01:38:15 -07:00
Andrey Lebedev
50f196c0db Handle the migration to the new TXT format: create missing records 2022-07-13 21:49:27 +02:00
Alejandro J. Nuñez Madrazo
82cba5a603
Merge branch 'master' of https://github.com/kubernetes-sigs/external-dns into kubernetes-sigs-master
Signed-off-by: Alejandro J. Nuñez Madrazo <alejandro@civo.com>
2022-06-30 23:43:37 +01:00
pg2000
3c5b1f96d3
replace Id with ID
Co-authored-by: Steven E. Harris <seh@panix.com>
2022-06-27 20:55:40 +02:00
pg2000
a05e5020c4
replace Id with ID
Co-authored-by: Steven E. Harris <seh@panix.com>
2022-06-27 20:55:00 +02:00
Nathan J Mehl
59ae8a88f5 Set logformat before logging config
Google Cloud Logging (AKA Stackdriver Logs) interprets the default
logrus log format as "error" severity even when `level=info` is
present in the log output: ensure that the normal startup log
is not parsed as an error by setting the JSON formatter first.

Signed-off-by: Nathan J Mehl <n@oden.io>
2022-06-26 13:05:38 -04:00
pg2000
4ace07f0a2
support ExternalID in AWS Provider when assuming a role 2022-06-15 18:49:31 +02:00
Kubernetes Prow Robot
de1db79bad
Merge pull request #2707 from hughhuangzh/add_ibmcloud_provider
Add IBM Cloud provider
2022-05-26 01:39:23 -07:00
Kubernetes Prow Robot
66e0d8c7fe
Merge pull request #2292 from abursavich/gateway-redo
Add Support for Gateway API Route Sources
2022-05-25 01:20:44 -07:00
Sergey Kudriavtsev
1423e0466f fixing Infoblox provider issue with constantly deleting/creating records when there is not changes in K8s 2022-05-13 15:18:45 +03:00
hzhihui
4703c11741 Add IBM Cloud provider 2022-04-14 11:53:16 +08:00
Vinny Sabatini
cbe1969511 provider/bluecat: fix txt pre/suffix bug
The prefix and suffix for the txt record was not being taken into
account when trying to find an owner for a cname and host record.

In addition, CName records have to be unique values, therefore txt records need to
have either a prefix or suffix included. This fixes the "owner" logic to
ensure when checking a corresponding txt recod against a cname record
that the prefix or suffix is used when comparing records.

Also, correct the response codes for the DELETE calls to Bluecat Gateway
2022-04-08 17:00:58 -05:00
Tobias Krischer
692f2bbc23
add target filters based on network 2022-04-08 19:29:58 +02:00
Rafal Korepta
9b27e6aeda
Revert hetzner plugin 2022-04-04 15:24:49 +01:00
Rafal Korepta
4f6ab703c1 Revert hetzner plugin 2022-03-09 22:20:14 +01:00
Alejandro J. Nuñez Madrazo
f735849157
Initial commit for the civo provider
Signed-off-by: Alejandro J. Nuñez Madrazo <alejandro@civo.com>
2022-02-26 12:55:27 +00:00
Andy Bursavich
3a1d86be20 gateway-httproute: add source 2022-02-24 21:30:10 -08:00
Dave Salisbury
1ceec80ec5 Merge remote-tracking branch 'origin/master' into ingress-class-filtering 2022-02-14 16:36:26 +11:00
Kubernetes Prow Robot
06405ed29c
Merge pull request #2510 from voro015/aws-sd-delete-empty-services
AWSSD: Cleanup empty Services
2022-02-12 04:39:46 -08:00
Vinny Sabatini
8aef3e089f provider/bluecat: add full deploy functionality
New configuration options created for setting the DNS deployment type,
as well as the DNS server to deploy. A DNS server name must be provided
and a valid DNS deployment type must be set in order for a deployment to be
initiated.

Currently, the only supported deployment type is "full deploy", however
"quick deploy" and "selective deploy" could be added in the future.
2022-02-11 16:12:45 -06:00
Sean Malloy
6521557f62 New bluecat provider CLI options 2022-01-28 14:24:26 -06:00
Andrey Lebedev
4f41229820 Pass stop channel to informer factory instances 2022-01-22 21:31:29 +01:00
Artem Voronin
8c951e8a76 Merge branch 'master' into aws-sd-delete-empty-services 2022-01-09 14:28:02 -08:00
Kubernetes Prow Robot
c8ef36567c
Merge pull request #2359 from assureddt/rjh_safedns_provider
Create SafeDNS provider
2022-01-05 12:31:49 -08:00
Rick Henry
a106313f55
First-pass implementation of SafeDNS provider 2022-01-05 09:22:01 +00:00
Rick Henry
d3ef1cd39f
Create package for SafeDNS 2022-01-05 09:22:01 +00:00
dbxbbm
a15f7807be [Infoblox] Disable permenant changes by disabling TTL 2022-01-02 15:58:31 +01:00
Dave Salisbury
097df5c458 Merge remote-tracking branch 'origin/master' into ingress-class-filtering 2021-12-28 14:27:30 +11:00
Eric R. Rath
02b7ffa324 Merge branch 'master' into oci-auth-instance-principal 2021-12-06 16:59:34 -08:00
Artem Voronin
7a0601c8b4 AWSSD Remove Empty Service 2021-11-14 17:43:35 -08:00
Miheer Salunke
ab8a62045e In OCP when you have multiple ingress controllers the route's status Ingress object get populated with multiple router canonical names. So in this case, the external dns tries to add multiple CNAME records for same host in the same hosted zone which is a violation of RFC 1912  and therefore is rejected by standards-compliant DNS services.
This feature adds a router field to the OCP Route Source so that a user can add an ingress controller name in flag --ocp-router-name which will be used to pick up the respective routerCanonicalHostname from Route's Status Ingress Object.

Signed-off-by: Miheer Salunke <miheer.salunke@gmail.com>
2021-11-03 12:52:57 +10:00
Dave Salisbury
b8cbd4bbf4 Merge remote-tracking branch 'origin/master' into ingress-class-filtering 2021-10-25 11:18:56 +11:00
Kubernetes Prow Robot
3756f60c47
Merge pull request #2258 from sagor999/ptr-support
Infoblox: add PTR record support
2021-10-20 01:13:58 -07:00
Arjun Naik
d91b7e6b8f Label filtering for Ingress, Service, Openshift Route sources
Currently the `--label-filter` flag can only be used to filter CRDs
which match the label selector passed through that flag. This change
extends the functionality to the Ingress, Service and Openshift Route
type objects. When the flag is not specified the default value is
`labels.Everything()` which is an empty string, the same as before.
Annotation based filter is inefficient because the filtering has to be
done in the controller instead of the API server like with label
filtering.
2021-10-14 11:06:55 +02:00
Dave Salisbury
8da6f99857 Rename ingressClassNameFilter to ingressClassNames
...and update the help text to specify use more clearly
2021-10-02 15:22:01 +10:00
Dave Salisbury
c4898b7e98 Plumb in filtering on ingress class name 2021-10-02 14:29:34 +10:00
Christian Groschupp
f9145981c3
infoblox: also create a ptr entry 2021-09-30 15:42:14 -07:00
Kubernetes Prow Robot
ec54ea73cb
Merge pull request #2153 from RentTheRunway/falconertc/clouddns_visibility_filter
CloudDNS: Allow filtering for private and public zones
2021-07-28 01:23:36 -07:00
Eric R. Rath
ce2ccebb2e Merge branch 'master' into oci-auth-instance-principal 2021-07-26 09:49:41 -07:00
Kubernetes Prow Robot
0a49e61268
Merge pull request #2091 from anandkumarpatel/feature/ignore-ingress-rules
Feature/ignore ingress rules
2021-07-14 00:40:28 -07:00
Kubernetes Prow Robot
ababc7bc63
Merge pull request #2127 from knackworks/rfc2136-batch-size
rfc2136: add batch size support
2021-07-03 10:58:18 -07:00
Falcon Taylor-Carter
436b9c3cf1 Add support for GoogleZoneVisibility 2021-07-01 19:21:39 -04:00
Anand Patel
509a07c493
create new source ingress config option IgnoreIngressRulesSpec 2021-06-30 10:03:04 -07:00
Aron Parsons
3c7813088a
rfc2136: add batch size support
Signed-off-by: Aron Parsons <aparsons@knackworks.com>
2021-06-30 07:24:12 -04:00
Kubernetes Prow Robot
d29b4316e2
Merge pull request #2089 from bbl/master
Add the --default-targets flag
2021-06-23 01:22:10 -07:00
Kubernetes Prow Robot
43ce441e08
Merge pull request #2110 from mmerrill3/feature/infoblox-reg-ex
Adding ability to query Infoblox API using regex for fqdn (#2102)
2021-06-23 01:04:10 -07:00
Kubernetes Prow Robot
3b98597ae1
Merge pull request #2037 from packi/gandi-provider
Add Gandi provider
2021-06-23 00:20:10 -07:00
David Dymko
efe799e215 update vultr to use API v2 2021-06-04 16:12:27 -04:00
mmerrill3
539aa8980e Adding ability to query Infoblox API using regex for fqdn (#2102)
Signed-off-by: mmerrill3 <jjpaacks@gmail.com>
2021-05-27 09:22:22 -04:00
Bogdan
2476e77541 Add the --default-targets flag
This is a useful feature in environments
with public global WAN address(es)
2021-05-21 08:21:14 +02:00
Kubernetes Prow Robot
a5baad26d7
Merge pull request #1993 from ba-work/master
add krb5 realm support
2021-04-15 08:41:50 -07:00
Patrick Stählin
b5f7570c35 Add Gandi provider 2021-04-04 20:54:23 +02:00
Enrique Gonzalez
a09c416fc8
Merge remote-tracking branch 'origin/master' into df-regex 2021-03-30 15:19:46 +02:00
Kubernetes Prow Robot
d7be11b611
Merge pull request #2013 from tjamet/feat/flag-min-sync
Add the ability to configure k8s event rate limit
2021-03-25 13:51:46 -07:00
Thibault Jamet
43f9f564b3
Rename MinInterval to MinEventSyncInterval
Co-authored-by: Raffaele Di Fazio <raffo@github.com>
2021-03-24 11:27:18 +01:00
Brock Alberry
f9ad22cbbd
Merge branch 'master' into master 2021-03-18 14:05:18 -04:00
Kubernetes Prow Robot
030d86c201
Merge pull request #1693 from LuxChanLu/gloo-proxy
feat: add gloo proxy source
2021-03-18 07:51:19 -07:00
Kubernetes Prow Robot
87960f94ef
Merge pull request #1506 from KohlsTechnology/add-bluecat-provider
Add Initial BlueCat Provider Support
2021-03-18 07:45:19 -07:00
stovemeerkat
0b8e047d2e rfc2136: Add new flag to specify Kerberos realm for GSS-TSIG 2021-03-18 11:36:46 +01:00
Tim Curless
e20aea4d5f Add Initial BlueCat Provider Support
The new BlueCat provider uses the BlueCat API Gateway(REST API). Not
the legacy XML based BlueCat API.

https://github.com/bluecatlabs/gateway-workflows
2021-03-17 17:29:03 -05:00
Thibault Jamet
72b4b4f411
Add the ability to configure k8s event rate limit
Currently, the minimum delay between 2 kubernetes events handling is
hard-coded to 5s.

This may cause higher synchronization rates and higher DNS provider API
calls when handling an important number of kubernetes events at once.

Give the opportunity to configure this delay so service owners can
define the acceptable thresholds on their side
2021-03-16 11:59:00 +01:00
Hugome
5221b1d525
feat: add gloo proxy source 2021-03-03 22:34:22 +01:00
Brock Alberry
fa857131c2 add krb5 realm support 2021-03-03 21:28:11 +00:00
Enrique Gonzalez
fd365034da
git: merge upstream master
Signed-off-by: Enrique Gonzalez <goga.enrique@gmail.com>
2021-03-03 12:05:11 +01:00
Kubernetes Prow Robot
38da5fdc22
Merge pull request #1924 from Fred78290/godaddy
Godaddy
2021-02-12 01:22:47 -08:00
Enrique Gonzalez
e3c14b5490
refactor: regexp types for filter and add tests 2021-02-10 12:38:57 +01:00
Dustin Scott
1e4c1e299d Add RFC3645 support for secure updates with GSS-TSIG 2021-02-05 08:40:31 -06:00
Eric R. Rath
e3feec4c8f
Merge branch 'master' into oci-auth-instance-principal 2021-01-30 17:41:58 -08:00
fboltz
f7f90733ce Merge remote-tracking branch 'kubernetes-sigs/master' into godaddy 2021-01-30 10:22:48 +01:00
Kubernetes Prow Robot
c47ac9ba46
Merge pull request #1912 from sfc-gh-jelsesiy/azure-private-dns
Refactor azure private dns auth
2021-01-21 10:57:02 -08:00
Frederic BOLTZ
33e53edcd4
Update main.go
Co-authored-by: Nick Jüttner <nick@juni.io>
2021-01-19 14:31:47 +01:00
fboltz
d3c30919ba Merge branch 'master' into godaddy 2021-01-17 17:30:50 +01:00
fboltz
7ccc70b12f Change arguments: Switch to OTE and add TTL 2021-01-17 17:22:57 +01:00
Kubernetes Prow Robot
71953230cc
Merge pull request #1870 from edglynes/akamai-provider-1846
Refactor, cleanup Akamai provider
2021-01-13 01:04:35 -08:00
Raffaele Di Fazio
daeee26684
Add flag to opt in for NS records management (#1915)
* adds flag to opt in for NS records management

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* go fmt

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* goimports

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix more tests

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* go fmt again

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix test

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* more tests

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* make ordering of managed records consistent

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>

* fix flag

Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2021-01-12 06:32:26 -08:00
fboltz
72f0be6eb7 FEAT: Add GoDaddy provider
First commit
2021-01-10 19:23:02 +01:00
Jonas-Taha El Sesiy
c851a7973e
Refactor azure private dns auth
Add common config to be shared by both azure and azure-private-dns providers
Update tests & docs
2021-01-08 12:20:43 -08:00
Edward Lynes
71a9a73f39 Merge branch 'master' into akamai-provider-1846 2021-01-04 14:03:32 -05:00
Kubernetes Prow Robot
9d2aaf0efe
Merge pull request #1695 from dansimone/dansimone/support-wildcard-records
Support wildcard records - Optional ability to replace the asterisk in generated registry TXT records with another string
2020-12-09 08:24:50 -08:00
Edward Lynes
75429cc504 Refactor and clean up akamai provider
refactor: remove dns api logic and use dns api library
enhancement: add additional args for auth credential retieval
cleanup: simplify, organize processing logic
test: update automation and validate
2020-11-23 14:34:44 -05:00
Enrique Gonzalez
76817b350f
git: merge upstream master
Signed-off-by: Enrique Gonzalez <goga.enrique@gmail.com>
2020-11-03 16:29:36 +01:00
João Marçal
79ea64884b
Added labelFilter for source CRD (#1461)
* Added label filter for source CRD

* Fixed bug with labels and added tests for source CRD

* Fixed formating

* Update source/crd_test.go

Co-authored-by: Vinny Sabatini <vincent.sabatini@gmail.com>

Co-authored-by: Vinny Sabatini <vincent.sabatini@gmail.com>
2020-09-24 01:28:05 -07:00
Kubernetes Prow Robot
32fedeaf07
Merge pull request #1645 from Caascad/ignore_tls_rules
Optionally ignore tls rules in ingress source
2020-09-24 01:12:05 -07:00
Benjile
fefb1b2777 Optionally ignore tls rules in ingress source 2020-09-18 09:12:14 +02:00
Kubernetes Prow Robot
699a8b3cb5
Merge pull request #1060 from titilambert/master
Add --zone-name-filter option for azure provider
2020-09-16 00:43:19 -07:00
Eric R. Rath
69510e662f Merge branch 'master' into oci-auth-instance-principal 2020-09-12 09:00:49 -07:00
Eric R. Rath
cd5039364b Merge branch 'master' into oci-auth-instance-principal 2020-09-04 09:08:08 -07:00
Benjamin Pineau
837d1ea248 aws: cache zones list
When it syncs AWS DNS with k8s cluster content (at `--interval`), external-dns submits two distinct Route53 API calls:
* to fetch available zones (eg. for tag based zones discovery, or when zones are created after exernal-dns started),
* to fetch relevant zones' resource records.

Each call taxes the Route53 APIs calls budget (5 API calls per second per AWS account/region hard limit), increasing the probability of being throttled.
Changing synchronization interval would mitigate those calls' impact, but at the cost of keeping stale records for a longer time.

For most practical uses cases, zones list aren't expected to change frequently.
Even less so when external-dns is provided an explicit, static zones set (`--zone-id-filter` rather than `--aws-zone-tags`).

Using a zones list cache halves the number of Route53 read API calls.
2020-09-03 13:03:07 +02:00
Thibault Cohen
dac21e3aff Add --zone-name-filter option for azure provider 2020-09-02 16:23:12 -04:00