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
, google
and digitalocean
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