mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-05 17:16:59 +02:00
* feat(cloudflare): add support for MX records Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * test(txt): add additional TXT and MX record test cases Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * feat(endpoint): implement parsing for MX and SRV records with structured targets Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(txt): remove TXT record type from supported types in NewTXTRegistry Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(digitalocean): streamline MX record handling Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(cloudflare): improve error handling in change creation Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(endpoint): return all parsed SRV targets instead of a single target Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * test(endpoint): add parsing tests for MX and SRV records Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(endpoint): streamline MX and SRV record validation and parsing Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(digital_ocean): simplify MX record parsing Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(docs): update link to CRD source in MX record documentation Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(cloudflare): improve error handling for MX record parsing Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(cloudflare): improve error message formatting for MX record parsing Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(endpoint): rename ParseMXRecord to NewMXTarget and update references Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(endpoint): update NewMXTarget to return pointer and adjust tests accordingly Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(cloudflare): consolidate proxyEnabled and proxyDisabled variable declarations Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(endpoint): update TestNewMXTarget to reflect changes in MXTarget struct fields and add missing test case for host validation Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * fix(digitalocean): improve MX record handling by adjusting error handling and ensuring proper priority and host retrieval Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(endpoint): change MXTarget fields to unexported and update NewMXTarget to use them Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(cloudflare): update groupByNameAndTypeWithCustomHostnames to use provider methods and enhance MX record handling in tests Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * test(cloudflare): enhance test cover Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(endpoint): remove unused SRVTarget struct from endpoint.go Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * refactor(endpoint): rename NewMXTarget to NewMXRecord for clarity and update references Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> * Update docs/sources/mx-record.md Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com> --------- Signed-off-by: Arthur Le Roux <arthurleroux@protonmail.com> Co-authored-by: Michel Loiseleur <97035654+mloiseleur@users.noreply.github.com>
990 B
990 B
MX record with CRD source
You can create and manage MX records with the help of CRD source
and DNSEndpoint
CRD. Currently, this feature is only supported by aws
, azure
, cloudflare
, digitalocean
and google
providers.
In order to start managing MX records you need to set the --managed-record-types=MX
flag.
external-dns --source crd --provider {aws|azure|google|digitalocean} --managed-record-types=A --managed-record-types=CNAME --managed-record-types=MX
Targets within the CRD need to be specified according to the RFC 1034 (section 3.6.1). Below is an example of
example.com
DNS MX record which specifies two separate targets with distinct priorities.
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: examplemxrecord
spec:
endpoints:
- dnsName: example.com
recordTTL: 180
recordType: MX
targets:
- 10 mailhost1.example.com
- 20 mailhost2.example.com