I have:

  1. A Kubernetes cluster with autoscaling
  2. A container with a postfix service
  3. DigitalOcean DNS management enabled

The Kubernetes cluster may add or remove droplets on which the postfix service is running. This will cause the IP address of the postfix service to be dynamic.

SPF records provide either an IP address or domain name to the receiving server to check the identity of the sending server.

Since the IP address of the postfix service is dynamic, I cannot enter anything that works into the SPF record.

The most elegant solution would be if an A record could resolve to a tag (with the tag resolving to a droplet), but in the documentation this is explicitly mentioned as unavailable (https://www.digitalocean.com/docs/networking/dns/), which I can understand.

So, how can I best solve this problem?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

Hi there @scola,

This is a good question!

Have you tried specifying only your domain in the SPF record? So it would look something like this:

v=spf1 include:yourdomain.com ~all

Let me know how it goes!