4924 Commits

Author SHA1 Message Date
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
Jan Sandbrink
78fe201d1c Remove an obsolete TODO comment
This comment belonged to a switch-statement that
has since been removed, but it was forgotten to
remove the corresponding comment.
2022-02-09 09:21:41 +01:00
Jeff Goldschrafe
585536fbaf
Update registry description in FAQ
The current wording of the FAQ implies that the registry option is enabled by default, which can lead to users losing data. This change updates the registry description to make obvious that this is a supported configuration option, but not a default one.
2022-02-05 14:31:40 -05:00
Eric R. Rath
56a8d60fff Review feedback
njuettner suggested using a var instead of boolean literals for the
startInformer arg to NewCRDSource; good idea.
2022-02-04 15:36:29 -08:00
Eric R. Rath
585d752ca4 Don't run CRD informer during tests
This change disables the CRD source's informer during tests.  I made the mistake
of not running `make test` before the previous commit, and thus didn't realize
that leaving the informer enabled during the tests introduced a race condition:

	WARNING: DATA RACE
	Write at 0x00c0005aa130 by goroutine 59:
	  k8s.io/client-go/rest/fake.(*RESTClient).do()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/fake/fake.go:113 +0x69
	  k8s.io/client-go/rest/fake.(*RESTClient).do-fm()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/fake/fake.go:109 +0x64
	  k8s.io/client-go/rest/fake.roundTripperFunc.RoundTrip()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/fake/fake.go:43 +0x3d
	  net/http.send()
		  /usr/local/go/src/net/http/client.go:251 +0x6da
	  net/http.(*Client).send()
		  /usr/local/go/src/net/http/client.go:175 +0x1d5
	  net/http.(*Client).do()
		  /usr/local/go/src/net/http/client.go:717 +0x2cb
	  net/http.(*Client).Do()
		  /usr/local/go/src/net/http/client.go:585 +0x68b
	  k8s.io/client-go/rest.(*Request).request()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/request.go:855 +0x209
	  k8s.io/client-go/rest.(*Request).Do()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/request.go:928 +0xf0
	  sigs.k8s.io/external-dns/source.(*crdSource).List()
		  /Users/erath/go/src/github.com/ericrrath/external-dns/source/crd.go:250 +0x28c
	  sigs.k8s.io/external-dns/source.NewCRDSource.func1()
		  /Users/erath/go/src/github.com/ericrrath/external-dns/source/crd.go:125 +0x10a
	  k8s.io/client-go/tools/cache.(*ListWatch).List()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/listwatch.go:106 +0x94
	  k8s.io/client-go/tools/cache.(*Reflector).ListAndWatch.func1.1.2()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:233 +0xf4
	  k8s.io/client-go/tools/pager.SimplePageFunc.func1()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/pager/pager.go:40 +0x94
	  k8s.io/client-go/tools/pager.(*ListPager).List()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/pager/pager.go:91 +0x1f4
	  k8s.io/client-go/tools/cache.(*Reflector).ListAndWatch.func1.1()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:258 +0x2b7

	Previous write at 0x00c0005aa130 by goroutine 37:
	  k8s.io/client-go/rest/fake.(*RESTClient).do()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/fake/fake.go:113 +0x69
	  k8s.io/client-go/rest/fake.(*RESTClient).do-fm()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/fake/fake.go:109 +0x64
	  k8s.io/client-go/rest/fake.roundTripperFunc.RoundTrip()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/fake/fake.go:43 +0x3d
	  net/http.send()
		  /usr/local/go/src/net/http/client.go:251 +0x6da
	  net/http.(*Client).send()
		  /usr/local/go/src/net/http/client.go:175 +0x1d5
	  net/http.(*Client).do()
		  /usr/local/go/src/net/http/client.go:717 +0x2cb
	  net/http.(*Client).Do()
		  /usr/local/go/src/net/http/client.go:585 +0x68b
	  k8s.io/client-go/rest.(*Request).request()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/request.go:855 +0x209
	  k8s.io/client-go/rest.(*Request).Do()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/rest/request.go:928 +0xf0
	  sigs.k8s.io/external-dns/source.(*crdSource).List()
		  /Users/erath/go/src/github.com/ericrrath/external-dns/source/crd.go:250 +0x28c
	  sigs.k8s.io/external-dns/source.(*crdSource).Endpoints()
		  /Users/erath/go/src/github.com/ericrrath/external-dns/source/crd.go:171 +0x13c4
	  sigs.k8s.io/external-dns/source.testCRDSourceEndpoints.func1()
		  /Users/erath/go/src/github.com/ericrrath/external-dns/source/crd_test.go:388 +0x4f6
	  testing.tRunner()
		  /usr/local/go/src/testing/testing.go:1193 +0x202

	Goroutine 59 (running) created at:
	  k8s.io/client-go/tools/cache.(*Reflector).ListAndWatch.func1()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:224 +0x36f
	  k8s.io/client-go/tools/cache.(*Reflector).ListAndWatch()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:316 +0x1ab
	  k8s.io/client-go/tools/cache.(*Reflector).Run.func1()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:177 +0x4a
	  k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1()
		  /Users/erath/go/pkg/mod/k8s.io/apimachinery@v0.18.8/pkg/util/wait/wait.go:155 +0x75
	  k8s.io/apimachinery/pkg/util/wait.BackoffUntil()
		  /Users/erath/go/pkg/mod/k8s.io/apimachinery@v0.18.8/pkg/util/wait/wait.go:156 +0xba
	  k8s.io/client-go/tools/cache.(*Reflector).Run()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:176 +0xee
	  k8s.io/client-go/tools/cache.(*Reflector).Run-fm()
		  /Users/erath/go/pkg/mod/k8s.io/client-go@v0.18.8/tools/cache/reflector.go:174 +0x54
	  k8s.io/apimachinery/pkg/util/wait.(*Group).StartWithChannel.func1()
		  /Users/erath/go/pkg/mod/k8s.io/apimachinery@v0.18.8/pkg/util/wait/wait.go:56 +0x45
	  k8s.io/apimachinery/pkg/util/wait.(*Group).Start.func1()
		  /Users/erath/go/pkg/mod/k8s.io/apimachinery@v0.18.8/pkg/util/wait/wait.go:73 +0x6d

	Goroutine 37 (running) created at:
	  testing.(*T).Run()
		  /usr/local/go/src/testing/testing.go:1238 +0x5d7
	  sigs.k8s.io/external-dns/source.testCRDSourceEndpoints()
		  /Users/erath/go/src/github.com/ericrrath/external-dns/source/crd_test.go:376 +0x1fcf
	  testing.tRunner()
		  /usr/local/go/src/testing/testing.go:1193 +0x202

It looks like client-go's fake.RESTClient (used by crd_test.go) is known to
cause race conditions when used with informers:
<https://github.com/kubernetes/kubernetes/issues/95372>.  None of the CRD tests
_depend_ on the informer yet, so disabling the informer at least allows the
existing tests to pass without race conditions.  I'll look into further changes
that 1) test the new event-handler behavior, and 2) allow all tests to pass
without race conditions.
2022-02-04 15:32:03 -08:00
Eric R. Rath
5146dab6fa ran goimports on crd.go to fix linter warning 2022-02-04 15:27:36 -08:00
Eric R. Rath
d9bf8fb329 CRD source: add event-handler support
When the --events flag is passed at startup, Source.AddEventHandler() is called
on each configured source.  Most sources provide AddEventHandler()
implementations that invoke the reconciliation loop when the configured source
changes, but the CRD source had a no-op implementation.  I.e. when a custom
resource was created, updated, or deleted, external-dns remained unware, and the
reconciliation loop would not fire until the configured interval had passed.

This change adds an informer (on the CRD specified by --crd-source-apiversion
and --crd-source-kind=DNSEndpoint), and a Source.AddEventHandler()
implementation that calls Informer.AddEventHandler().  Now when a custom
resource is created, updated, or deleted, the reconciliation loop is invoked.
2022-02-04 15:27:36 -08:00
Kubernetes Prow Robot
261bcadd7c
Merge pull request #2564 from mcwarman/chart-gateway-role
Add istio-gateway permissions on source istio-virtualservice
2022-02-02 08:42:23 -08:00
dependabot[bot]
b1cabf29e8
Bump github.com/exoscale/egoscale from 0.80.1 to 1.19.0
Bumps [github.com/exoscale/egoscale](https://github.com/exoscale/egoscale) from 0.80.1 to 1.19.0.
- [Release notes](https://github.com/exoscale/egoscale/releases)
- [Changelog](https://github.com/exoscale/egoscale/blob/master/CHANGELOG.md)
- [Commits](https://github.com/exoscale/egoscale/commits)

---
updated-dependencies:
- dependency-name: github.com/exoscale/egoscale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-02 09:27:46 +00:00
Kubernetes Prow Robot
a6ca33a124
Merge pull request #2545 from kubernetes-sigs/dependabot/go_modules/github.com/dnsimple/dnsimple-go-0.71.1
Bump github.com/dnsimple/dnsimple-go from 0.60.0 to 0.71.1
2022-02-02 01:26:22 -08:00
Kubernetes Prow Robot
7db2ad5d83
Merge pull request #2515 from kubernetes-sigs/dependabot/go_modules/cloud.google.com/go-0.100.2
Bump cloud.google.com/go from 0.97.0 to 0.100.2
2022-02-02 01:24:22 -08:00
Matthew Warman
dedf088fad Add istio-gateway permissions on source istio-virtualservice 2022-02-01 15:28:14 +00:00
Kubernetes Prow Robot
600111f83d
Merge pull request #2556 from KohlsTechnology/bc-cli-options
New bluecat provider CLI options
2022-01-28 12:42:30 -08:00
Sean Malloy
6521557f62 New bluecat provider CLI options 2022-01-28 14:24:26 -06:00
Kubernetes Prow Robot
7c19423500
Merge pull request #2498 from georgebuckerfield/cloudfront-alias-records
Add the canonical hosted zone for Cloudfront
2022-01-26 01:14:26 -08:00
Kubernetes Prow Robot
64ac4e3e60
Merge pull request #2539 from jkremser/test-override-record-types
Add missing test for overriding managed-record-types
2022-01-26 01:10:26 -08:00
Kubernetes Prow Robot
9b01ac6f06
Merge pull request #2521 from jhoblitt/bugfix/aws-ttl-must-be-string
add quotes to ttl example to force string context
2022-01-26 01:06:26 -08:00
dependabot[bot]
47e33f2ee3
Bump github.com/dnsimple/dnsimple-go from 0.60.0 to 0.71.1
Bumps [github.com/dnsimple/dnsimple-go](https://github.com/dnsimple/dnsimple-go) from 0.60.0 to 0.71.1.
- [Release notes](https://github.com/dnsimple/dnsimple-go/releases)
- [Changelog](https://github.com/dnsimple/dnsimple-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dnsimple/dnsimple-go/compare/v0.60.0...v0.71.1)

---
updated-dependencies:
- dependency-name: github.com/dnsimple/dnsimple-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 09:03:30 +00:00
Kubernetes Prow Robot
ebbbc7ca17
Merge pull request #2512 from kubernetes-sigs/dependabot/go_modules/github.com/oracle/oci-go-sdk-24.3.0incompatible
Bump github.com/oracle/oci-go-sdk from 21.4.0+incompatible to 24.3.0+incompatible
2022-01-26 01:02:26 -08:00
Kubernetes Prow Robot
237dbf780f
Merge pull request #2424 from jdgri/recordset-no-pagination
Use ShowAll: true query argument for recordsets resource
2022-01-26 01:00:27 -08:00
Kubernetes Prow Robot
0bf5faed42
Merge pull request #2534 from alebedev87/stop-informers
Pass stop channel to informer factory instances
2022-01-26 00:56:25 -08:00
Kubernetes Prow Robot
8304a70879
Merge pull request #2535 from milindchawre/master
Correcting README
2022-01-26 00:52:26 -08:00
Jirka Kremser
79c3123e8f
Add missing test for overriding managed-record-types
Signed-off-by: Jirka Kremser <jiri.kremser@gmail.com>
2022-01-24 14:07:30 +01:00
Matthew Warman
b79dc1e894 istio-gateway: Add debug logging when endpoints missing 2022-01-24 12:55:09 +00:00
Milind Chawre
3d98225f5d
Correcting README
Updating the kubernetes version compatibility section in README
2022-01-23 23:35:19 +05:30
Andrey Lebedev
4f41229820 Pass stop channel to informer factory instances 2022-01-22 21:31:29 +01:00
dependabot[bot]
9866ed4cef
Bump github.com/oracle/oci-go-sdk
Bumps [github.com/oracle/oci-go-sdk](https://github.com/oracle/oci-go-sdk) from 21.4.0+incompatible to 24.3.0+incompatible.
- [Release notes](https://github.com/oracle/oci-go-sdk/releases)
- [Changelog](https://github.com/oracle/oci-go-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/oracle/oci-go-sdk/compare/v21.4.0...v24.3.0)

---
updated-dependencies:
- dependency-name: github.com/oracle/oci-go-sdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-21 20:52:54 +00:00
dependabot[bot]
489f328750
Bump cloud.google.com/go from 0.97.0 to 0.100.2
Bumps [cloud.google.com/go](https://github.com/googleapis/google-cloud-go) from 0.97.0 to 0.100.2.
- [Release notes](https://github.com/googleapis/google-cloud-go/releases)
- [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-cloud-go/compare/v0.97.0...v0.100.2)

---
updated-dependencies:
- dependency-name: cloud.google.com/go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-21 20:51:11 +00:00
Kubernetes Prow Robot
e21f2c4387
Merge pull request #2532 from KohlsTechnology/go-1.17-bump
Bump To Go 1.17
2022-01-21 12:49:07 -08:00
Sean Malloy
bcc60e8531 Bump To Go 1.17 2022-01-21 14:23:58 -06:00
Joshua Hoblitt
14a6603798 add quotes to ttl example to force string context
Annotation values may not be an integer, they must be handled as a
string.  The current example tested on k8s 1.20.13 generates this error
message:

    json: cannot unmarshal number into Go struct field ObjectMeta.metadata.annotations of type string
2022-01-14 12:14:28 -07:00
Kubernetes Prow Robot
98393df742
Merge pull request #2508 from voro015/aws-sd-remove-get-service
AWSSD: Removed GetServiceDetail
2022-01-12 01:04:37 -08:00
Raffaele Di Fazio
622d3247b5
Merge branch 'master' into aws-sd-remove-get-service 2022-01-12 09:47:00 +01:00
Kubernetes Prow Robot
d521d5d770
Merge pull request #2502 from BobVanB/better_logging_for_debug
[Infoblox] Granular level of logging
2022-01-12 00:44:36 -08:00
Raffaele Di Fazio
8aafd09510
Merge branch 'master' into aws-sd-remove-get-service 2022-01-12 09:44:04 +01:00
Kubernetes Prow Robot
d74e843602
Merge pull request #2484 from alex-berger/master
Add support for TopologySpreadConstraints to Helm Chart
2022-01-12 00:36:36 -08:00
Artem Voronin
8d6b3d336a Removed old comments 2022-01-09 16:22:10 -08:00
Artem Voronin
8c951e8a76 Merge branch 'master' into aws-sd-delete-empty-services 2022-01-09 14:28:02 -08:00
Artem Voronin
bba1e8b727 Merge branch 'master' into aws-sd-remove-get-service 2022-01-09 14:27:54 -08:00
Raffaele Di Fazio
75fde9b2b6
Merge branch 'master' into master 2022-01-06 19:42:07 +01: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
dbxbbm
ffa1263b43 squash: log create per target 2022-01-05 12:12:17 +01:00
dbxbbm
28c1711873 squash: gofmt infoblox.go 2022-01-05 10:25:37 +01:00
Kubernetes Prow Robot
af315b12ad
Merge pull request #2233 from mstarostik/hetzner-respect-dry-run
provider hetzner: respect --dry-run
2022-01-05 01:24:33 -08:00
Kubernetes Prow Robot
7109fa8933
Merge pull request #2477 from beastob/working
Add annotations to Deployment
2022-01-05 01:22:33 -08:00
Rick Henry
ab8817eb9c
Reword comments to remove explicit TODO
Keeping the comments in some degree is valuable, as it clarifies the
time complexity of the operations done; in the event of a performance
issue, this would likely be somewhere to look. However, remove the
`TODO` string directly, as it is not an urgent look-at-me-now.
2022-01-05 09:22:03 +00:00
Rick Henry
6fc68a82db
Reformat code to meet lint standards 2022-01-05 09:22:03 +00:00
Rick Henry
023eb23ef9
Implement tests for SafeDNS provider 2022-01-05 09:22:03 +00:00
Rick Henry
733f6a834c
Document SafeDNS provider 2022-01-05 09:22:02 +00:00
Rick Henry
7addd03bb8
Comment on types explaining what they do 2022-01-05 09:22:02 +00:00