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
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

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