Commit Graph

42 Commits

Author SHA1 Message Date
Andy Bursavich
60c649bf5c source: dedupe wait for cache sync
wait
2021-07-28 13:37:17 -07:00
Andy Bursavich
55637abbef source: dedupe event handlers 2021-07-28 13:36:35 -07:00
Andy Bursavich
b032f2864f source: dedupe template execution 2021-07-28 13:35:51 -07:00
Andy Bursavich
638194fccd source: dedupe template parsing 2021-07-28 07:46:35 -07:00
dan.simone@oracle.com
963282479e Add clarifying comment about ingressHostnameSourceKey 2021-04-14 13:26:34 -07:00
dan.simone@oracle.com
03c3c8fcb8 Address remove comments 2021-04-14 13:21:03 -07:00
dan.simone@oracle.com
fa95e86fb1 Merge remote-tracking branch 'origing/master' into dansimone/support-prefer-ingress-annotations
# Conflicts:
#	docs/faq.md
2021-01-04 15:39:34 -08:00
Bas Toonk
18a60a5175 feat: use ClusterIP with internal-hostname annotation 2020-12-17 15:14:34 +01:00
dan.simone@oracle.com
4d88b47917 Resolve differences 2020-09-25 15:59:18 -07:00
rbtr
54320a16ab
add doc and test 2020-09-16 12:02:19 -04:00
Evan Baker
b75151e3e5
add service annotation to set public/private iface for NodePort
Signed-off-by: Evan Baker <rbtr@users.noreply.github.com>
2020-09-16 11:56:49 -04:00
dan.simone@oracle.com
4cb5a85dd4 Merge remote-tracking branch 'origing/master' into dansimone/support-prefer-ingress-annotations 2020-08-27 12:16:05 -07:00
Tariq Ibrahim
600f4f1ba0
fix goimports local import order and update golangci-lint 2020-08-19 20:05:07 -07:00
Patrik Cyvoct
b1f6c1fa0e
fix scw annotations
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
2020-08-19 06:41:47 +02:00
dan.simone@oracle.com
f85cddab58 Change to an annotation-based approach, based on feedback 2020-07-29 11:51:27 -07:00
Joseph Glanville
6efca134f5 dependencies: Upgrade all k8s client-go dependent sources to v1.18.X
This requires pinning grpc for now as istio client-go otherwise pulls in
breaking changes.
2020-07-03 11:29:37 +07:00
Nick Jüttner
3388e3ddf1 improve linter quality for external-dns 2020-06-06 22:29:24 +02:00
Adam Stankiewicz
1806ade2c1 Fix scheduling of reconciliation 2020-05-19 17:26:12 +02:00
Adam Stankiewicz
6e0abfaf42 Make tests faster by fast polling 2020-05-12 23:06:05 +02:00
Sandor Szücs
116856f422
implement RouteGroup with similar feature set to ingress
add documentation for kube-ingress-aws-controller and RouteGroup

Signed-off-by: Sandor Szücs <sandor.szuecs@zalando.de>
2020-03-05 17:14:30 +01:00
Kubernetes Prow Robot
829ed01e1e
Merge pull request #1237 from hypnoglow/ttl-duration
Add support for human-friendly TTL values
2020-02-04 06:27:26 -08:00
jlamillan
fed2f0f0dd
Add --events flag to use informers to automatically trigger sync loop on adds/updates/deletes for supported ingress and service sources. 2020-01-27 11:00:26 -08:00
Igor Zibarev
6e6af8aa0d Add support for human-friendly TTL values
Supports specifying TTL values in Golang duration format for
`external-dns.alpha.kubernetes.io/ttl` annotation.
2020-01-09 21:13:53 +03:00
Tariq Ibrahim
41ba7f1ff5
rename project root package to sigs.k8s.io 2020-01-06 08:08:35 -08:00
Nick Jüttner
9418e3acd8
Merge pull request #1008 from devkid/feature/aws-routing-policies
[RFC] Add support for all AWS Route53 routing policies; add additional Setldentifier abstraction layer
2019-11-19 11:21:12 +01:00
Nick Jüttner
f763d2a413 Move into kubernetes-sigs organization (#1245)
* Move into kubernetes-sigs organization

* Disable labeler action for forks
2019-11-01 17:10:19 +01:00
Alfred Krohmer
b2a3e88303 Fixes and cleanup 2019-09-10 20:47:36 +02:00
Myles Gray
231d0701aa Changed ttlMaximum to MaxInt32 to allow compilation on 32bit machines
In its current state, ttlMaximum causes make to fail build with error:
source/source.go:71:39: constant 4294967295 overflows int

Because math.MaxUint32 is an untyped integer constant it is converted
to type int when used as an interface param, type int is signed,
MaxUint32 is larger than MaxInt32 and causes the type int to overflow.

Converting ttlMaximum to MaxInt32 stops this overflow.
2019-07-23 17:40:57 +01:00
Erik Swets
e0e7a9defd Allow setting Cloudflare proxying by annotation 2018-11-16 12:52:47 +01:00
vaegt
0af588317b
Remove unnecessary slashes 2018-11-09 11:11:39 +01:00
vaegt
bb80f99e17
Add alias annotation for ingress 2018-10-16 13:30:07 +02: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
Rajat Jindal
c2751f81cf add support for hostname annotation in ingress resource (#545)
* add support for hostname annotation in ingress resource

* implement getHostnamesFromAnnotations and use that in ingress/service
2018-05-08 16:13:19 +02:00
Kevin J. Qiu
71723bdd5b Allow specifying a custom TTL through annotation on Ingress or Service (#320)
* Add RecordTTL

* Route53: test for custom TTL

* Fix tests

* Fix remaining tests

* Add ttl when endpoint is created from ingress

* Missed a word

* Fix bad refactoring

* Add ingress custom TTL test

* gofmt

* Satisfy go-lint

* Unshadow `endpoint` in azure provider

* Fix and add an output test

* Add TTL for endpoints generated from service templates

* Take TTL into account when generating update plan

* Tests for TTL change impact on the plan

* Refactor factory method name

* Refactoring

* Run gofmt

* Make endpoint string format look like BIND config

* Update plan and plan_test

* Replace NewEndpointWithTTLValue with NewEndpointWithTTL in aws

* Remove NewEndpointWithTTLValue func

* Update references to TTL

* Remove getTTLValue func

* Handle merge conflict

* Update tests

* Update README, CHANGELOG and documentation

* Run gofmt

* Move getTTLFromAnnotations to a common file

* Refactor getTTLFromAnnotations

* Gofmt

* Add tests for getTTLFromAnnotations

* Trigger build

* Add boilerplate header

* Update README/CHANGELOG according to code review

* Add ttl.md and link it from README

* change CNAME string to endpoint.RecordTypeCNAME

* fix test cases with AWS ALIAS records, these do not behave different in these tests
2017-10-11 14:17:02 +02:00
Seth Pollack
826a27fddd Add suitableType for ingress (#325)
* fix ingress

* add tests for detecting type for target annotation
2017-08-30 17:13:54 +02:00
Henning Jacobs
d54cd72e94 Support for annotation based targets for Ingress (#312)
* Support for annotation based targets for Ingress

* stay DRY: extract into addEndpointsFromTargetAnnotation
2017-08-10 20:53:22 +02:00
Martin Linkhorst
81974cd8a0 refactor source registration (#217)
* 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
2017-06-30 16:54:58 +02:00
Yerken
be452acdf7 endpoint sanitize dns in the init func (#131)
* revert changes, start a new

* remove sanitize

* fix tests for source pkg

* fix aws_tests
2017-04-07 10:18:52 +02:00
Martin Linkhorst
b0f437a438 support hostnames as endpoint targets (CNAME support) (#122)
* feat(aws): support hostnames as endpoint targets

* docs: describe how to run ExternalDNS on AWS

* docs: update changelog with CNAME feature

* docs: update changelog to include AWS documentation

* fix(aws): test that updating records removes the old value

* feat(google): add CNAME support to Google provider

* fix(source): sanitize source and target hostnames

* docs: update changelog to include latest changes

* docs(aws): mention that ExternalDNS takes full ownership of a hosted zone

* fix(aws): switch route53 tests to use endpoint pointers

* docs: add TODO to remove record filtering once ownership is in place
2017-04-05 14:58:10 +02:00
Yerken
f9402d7ed1 use pointer to endpoint via NewEndpoint initializer (#125)
* use pointer to endpoint via NewEndpoint initializer

* return nil if record does not exist in plan

* add test for NewEndpoint
2017-04-04 16:41:49 +02:00
Martin Linkhorst
f3c1d0f770 fix(source): ingresses should be ignored if other controller (#108) 2017-03-23 16:33:44 +01:00
Martin Linkhorst
99371a1e83 implementation of basic control loop (#40)
* feat(google): add ability to apply changes generated from a plan

* feat(controller): first implementation of controller

* feat: allow to configure in-cluster and kubeconfig

* fix(controller): call RunOnce at the right time and in a loop

* feat(google): add dryRun attribute to Google DNS provider

* fix: use hosted zone id instead of DNS name

* fix(google): stupidly filter by A records for now

* feat: allow specifying the google project and zone

* feat: provide a dry-run flag which defaults to false

* chore: vendor new dependencies

* fix(config): fix failing tests for config object

* ref(controller): return plain value of ApplyChanges

* ref: simplify how to get a valid kubernetes client
2017-03-01 16:17:47 +01:00