Месс Витх DNS - это платформа для изучения функциональности DNS, позволяющая создавать и редактировать записи. Оригинальная реализация DNS имела ограничения, включая запрещенные доменные имена с подчеркиваниями, отсутствие поддержки записи CNAME, и отсутствие типов записей SVCB и HTTPS.
Чтобы решить эти проблемы, автор интегрировал PowerDNS, открытый исходный сервер DNS с HTTP API, заменив предыдущую реализацию DNS. Это привело к трудностям в перехвате запросов DNS и проектировании API, соответствующего потребностям frontend.
Для обработки ошибок автор настроил пользовательские сообщения об ошибках, чтобы обеспечить более четкую информацию, обрабатывая ответы ошибок API PowerDNS и проводя основную валидацию ввода. SQLite заменил Postgres для управления базами данных из-за OOM kills, возникающих с Postgres.
Библиотека Vue.js была обновлена до версии 3, что сопровождалось переходом к использованию встроенных в браузер инструментов валидации форм и реализацией глобального хранилища состояния для управления frontend.
Проект был разделен на фазы для управляемой реализации, включая обновление Vue, создание хранилища состояния, переработку бэкэнд API и интеграцию PowerDNS. Обновленный веб-сайт уже вышел и работает хорошо, решив прежние DNS-проблемы, сообщенные пользователями.
jvns.ca
Migrating Mess With DNS to use PowerDNS
Create attached notes ...
