Commit Graph

1188 Commits

Author SHA1 Message Date
ivan katliarchuk
cfd80f0b6b
remove tabulation
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-09-14 10:31:49 +01:00
ivan katliarchuk
8eaf6df3d5
add back different tabulation
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-09-14 10:25:44 +01:00
ivan katliarchuk
d11ddb7ba7
merge with master
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-09-14 10:24:23 +01:00
ivan katliarchuk
ec402b057f
Merge branch 'master' into fix-crash-loop
* master: (78 commits)
  Update README.md with Efficient IP Provider
  feat(chart): Updated image to v0.15.0
  fix(chart): Don't use unauthenticated webhook port for health probe
  Remove unused session logic after move to aws-sdk-go-v2
  Refactor AWS provider to aws-sdk-go-v2
  Refactor AWS Cloud Map provider to aws-sdk-go-v2
  Refactor DynamoDB registry to aws-sdk-go-v2
  Update docs/release.md
  update the docs to v0.15.0
  bump kustomize version to v0.15.0
  add deprecation notice on coredns tutorial
  docs: refactor title and organisation
  review with Raffo
  chore: remove unmaintained providers
  chore(deps): bump actions/setup-python in the dev-dependencies group
  Add RouterOS provider to README.md
  feat: add annotation and label filters to Ambassador Host Source (#2633)
  chore(deps): bump GrantBirki/json-yaml-validate
  fix linter
  fix ordering
  ...
2024-09-14 10:03:52 +01:00
ivan katliarchuk
3830fb29c6
wip
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-09-14 10:03:49 +01:00
Michael Shen
0de6f8adcc
Remove unused session logic after move to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:45:26 -04:00
Michael Shen
5ec37e0699
Refactor AWS provider to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:44:54 -04:00
Michael Shen
c4a18a9cb6
Refactor AWS Cloud Map provider to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:44:54 -04:00
Michael Shen
ce1ab808f2
Refactor DynamoDB registry to aws-sdk-go-v2
Signed-off-by: Michael Shen <mishen@umich.edu>
2024-09-06 09:44:49 -04:00
Michel Loiseleur
74a8cdad85
chore: remove unmaintained providers 2024-09-03 08:53:23 +02:00
Michel Loiseleur
4a48a0a355
fix linter 2024-08-22 15:23:01 +02:00
Thibault Jamet
8d2f1c0aea
Fix invalid private variable reference 2024-08-14 10:21:01 +02:00
Thibault Jamet
6c5faafbfe
Dynamically register cache provider metrics 2024-08-14 10:21:00 +02:00
Thibault Jamet
9b759f0933
Update changes to match latest state of external-dns code 2024-08-14 10:20:59 +02:00
Thibault Jamet
b2d678f7d0
Run go imports -local sigs.k8s.io/external-dns 2024-08-14 10:20:59 +02:00
Thibault Jamet
b2ff1619f5
Add Domain filter interface 2024-08-14 10:20:59 +02:00
Thibault Jamet
82c6983fa3
Add a log line when no changes on cache provider
Change-Id: I13da2aa28eef3e2c8e81b502321c4dc137087b2d
2024-08-14 10:20:59 +02:00
Thibault Jamet
eb07eb9905
Add licence headers
Change-Id: I3f4646cabd66216fd028fbae3adf68129a8a2cbf
2024-08-14 10:20:59 +02:00
Thibault Jamet
29191e2362
Skip apply empty changes in the cache provider
Change-Id: Icaf1ffe34e75c320d4efbb428f831deb8784cd11
2024-08-14 10:20:58 +02:00
Thibault Jamet
089744c6ff
Add cache at provider level
**Description**

In the current implementation, DNS providers are called to list all
records on every loop. This is expensive in terms of number of requests
to the provider and may result in being rate limited, as reported in 1293
and 3397.

In our case, we have approximately 20,000 records in our AWS Hosted Zone.
The ListResourceRecordSets API call allows a maximum of 300 items per call.
That requires 67 API calls per external-dns deployment during every sync period

With this, we introduce an optional generic caching mechanism at the provider
level, that re-uses the latest known list of records for a given time.

This prevents from expensive Provider calls to list all records for each
object modification that does not change the actual record (annotations,
statuses, ingress routing, ...)

This introduces 2 trade-offs:

1. Any changes or corruption directly on the provider side will be
longer to detect and to resolve, up to the cache time

2. Any conflicting records in the DNS provider (such as a different
external-dns instance) injected during the cache validity will cause
the first iteration of the next reconcile loop to fail, and hence add a
delay until the next retry

**Checklist**

- [X] Unit tests updated
- [X] End user documentation updated

Change-Id: I0bdcfa994ac1b76acedb05d458a97c080284c5aa
2024-08-14 10:20:56 +02:00
Raffaele Di Fazio
b5e6817ba4 project id with context
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2024-08-05 21:53:37 +02:00
Raffaele Di Fazio
015497e904 fix code build
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2024-08-05 21:35:07 +02:00
ivan katliarchuk
2b14345083
issue-4448: fix test
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-07-09 21:05:57 +01:00
ivan katliarchuk
a5b1d0f51b
swap with golang function
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-07-09 20:53:57 +01:00
ivan katliarchuk
b1bfffbe51
fix(issue-4448): uncomment test
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-07-05 20:37:00 +01:00
ivan katliarchuk
fca9914613
fix(issue-4448): uncomment test
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-07-05 20:29:40 +01:00
ivan katliarchuk
3aa5c91c23
fix(issue-4448): added another flavour of same function with tests
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-07-05 20:15:38 +01:00
ivan katliarchuk
7249c6402a
fix(issue-4448): aws.go intedation to tabs
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 13:57:21 +01:00
ivan katliarchuk
33514943fd
fix(issue-4448): aws.go intedation to tabs
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 13:55:53 +01:00
ivan katliarchuk
20634785ee
fix(issue-4448): added tests for A and Alias records
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 13:35:24 +01:00
ivan katliarchuk
d2f58246f0
fix(issue-4448): added test TestAWSApplyChanges
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 13:22:46 +01:00
ivan katliarchuk
cc1f4ab148
fix(issue-4448): added unittest
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 12:44:11 +01:00
ivan katliarchuk
df6d68e9a6
fix(issue-4448): added octal decode method
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 11:29:37 +01:00
ivan katliarchuk
99827b1fec
fix(issue-4448): single change required to fix
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 08:00:08 +01:00
ivan katliarchuk
761ca1da09
fix(issue-4448): single change required to fix
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-30 07:58:52 +01:00
ivan katliarchuk
d112219336
fix(issue-4448): no longer crash
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-29 16:00:20 +01:00
ivan katliarchuk
99290e402c
fix(issue-4448): make sure nulls not propagated
Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
2024-06-29 13:18:19 +01:00
Kubernetes Prow Robot
8245b89891
Merge pull request #4283 from angeloxx/feature/rfc-2136-ptr
feat(rfc2136): add PTR optional support
2024-06-20 00:44:17 -07:00
Kubernetes Prow Robot
618b8df220
Merge pull request #4515 from simonostendorf/fix/provider/cloudflare/clean-token-file
fix(cloudflare): trimSpace on token read from file
2024-06-10 23:33:40 -07:00
Kubernetes Prow Robot
0ba14d8873
Merge pull request #3973 from c445/roehrijn/aws-profiles
feat(aws): use AWS profiles using .credentials file
2024-06-10 13:59:23 -07:00
Jan Roehrich
604a93670e resolve SZUECS' findings 2024-06-10 21:09:18 +02:00
Jan Roehrich
7ff4b3e8fa resolve SZUECS' findings 2024-06-09 21:33:05 +02:00
Michel Loiseleur
84da6be1dd chore: Remove infoblox in-tree provider 2024-05-29 16:01:45 +02:00
Simon Ostendorf
ef066d3185
fix(provider/cloudflare): clean token from file 2024-05-29 09:27:44 +02:00
matthieugouel
57c351b66f feat(coredns): etcd authentication 2024-05-27 11:36:17 +02:00
Kubernetes Prow Robot
b4eea99efe
Merge pull request #4458 from Raffo/webhook-annotations
feat(webhooks): pass webhook-* annotations to webhook providers
2024-05-24 08:51:11 -07:00
angeloxx
1d93309e7f lint 2024-05-13 15:43:24 +02:00
angeloxx
a0040a4603 add PTR creation task 2024-05-13 15:31:18 +02:00
Raffaele Di Fazio
a44a44c111 fix logline mentioning plugin api
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2024-05-11 15:08:10 +02:00
Raffaele Di Fazio
574f865741 consistency improvement
Signed-off-by: Raffaele Di Fazio <difazio.raffaele@gmail.com>
2024-05-11 14:55:33 +02:00