I do love me some BIND-style files.

They are direct. Open the file, read the zone, change the record, check the syntax, reload the service. I know where everything is and what it is doing.

The trouble is that we want to automate more and more of it.

I have been at Shutterstock for less than two months, and one of the systems I am setting up is PowerDNS with a MySQL backend. The records live in a relational database instead of ending in files that somebody has to edit by hand. The intended setup also lets the secondary servers follow through MySQL replication.

That gives applications a cleaner way to create and manage records. It also gives the team an interface for normal changes without turning every update into a shell session and a manual reload.

The first pass is running. I replaced the original administration interface with a more stable version, and it is handling the database correctly. The database has been solid through the tests so far. Recursion and authoritative zone serving look good in the first tests. The VPN is sending DNS and search settings properly to my Mac.

Linux still needs a real check.

That is the useful part of the status: not simply that it worked on my laptop, but what has and has not actually been tested. I asked the team to verify the Linux VPN client and run a direct lookup against the new setup.

I still love the BIND-file approach. It is familiar, readable, and very good at its job. PowerDNS is not replacing that affection. It is solving a different problem: records that the team and our applications can manage through a database.

For now, the first setup is up and the Mac client behaves correctly. The Linux client still needs testing, and the secondary path still needs to be checked before I call the migration complete.

Archive