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>
29 lines
990 B
Markdown
29 lines
990 B
Markdown
# MX record with CRD source
|
|
|
|
You can create and manage MX records with the help of [CRD source](../sources/crd.md)
|
|
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.
|
|
|
|
```console
|
|
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.
|
|
|
|
```yaml
|
|
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
|
|
```
|