DNS Management System

My client needed an integration between phpIPAM and DNSMasq for easier DNS management. I created a watcher that noticed any changes in the phpIPAM database, formatted these changes for DNSMasq syntax, and pushed them to any registered agents. The system was made to maximize security, speed, and ease of scale. A new agent could be spun up in a matter of seconds with a simple install script and an encrypted and secured method of self-registration with the watcher. The system could handle a database with hundreds of thousands of records in just a few seconds (with more common use cases requiring the management of only a few thousand records updates were virtually instant).
A system of filtering records to different agents was also added. This allowed multiple networks to run agents against the same watcher and not create conflicting records. Ultimately, a web interface was created to allow even easier management of agents and filters

Images