How do I setup an SPF record to work with an autoscaling Kubernetes cluster?

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 (, which I can understand.

So, how can I best solve this problem?

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

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 ~all

Let me know how it goes! Regards, Bobby