SINVER — веб-приложение для хранения информации об инфраструктуре и управления записями DNS

DVoropaev 1 час назад Объяснить с SINVER — веб-приложение для хранения информации об инфраструктуре и управления записями DNS Простой 4 мин 612 IT-инфраструктура * Open source * Системное администрирование * Сетевые...
Will Anthropic have the best AI model at the end of October 2026?
Значимый прорыв формирует отрасль ИИ: DVoropaev 1 час назад Объяснить с SINVER — веб-приложение для хранения информации об инфраструктуре и управления записями DNS Простой 4 мин 612 IT-инфраструктура * Open source * Системное администрирование * Сетевые технологии * DNS * Кейс КДПВКогда я только начинал работу над своим проектом, всю информацию об инфраструктуре (серверы и их роли, хостинги, даты следующих оплат, DNS-записи... ) я хранил в файлике на рабочем столе. Сначала это был обычный текстовый документ, чуть позже — таблица в LibreOffice Calc.
Пока серверов было меньше десятка, а хостингов — от силы два, мне было несложно раз в неделю сверять информацию в таблице с DNS-серверами, хостингами и собственным бэкендом. Проблемы начались, когда количество серверов и хостингов стало стремительно расти. Поддерживать информацию в актуальном состоянии становилось всё сложнее, а при работе в команде появились и дополнительные трудности...
Технические детали
Основная идеяВ какой-то момент мне пришла идея сделать небольшой веб-сервис, который будет выступать в роли единого источника информации об инфраструктуре (Source of Truth). По сути, всё та же табличка, только с веб-интерфейсом, возможностью связывать между собой серверы, IP-адреса, домены и их роли. При этом хотелось не просто хранить информацию, но и управлять DNS-записями.
В дальнейшем планирую добавить REST API для написания различных модулей и интеграции с другими околоинфраструктурными системами (например, мониторинг и CI/CD)Для хранения информации выбрал SQLite. База данных нужна исключительно самому SINVER, взаимодействие с ней других сервисов не предполагается. Поэтому разворачивать отдельную СУБД не видел смысла.
К тому же SQLite не требует дополнительной настройки, а вся база хранится в одном файле. Ранее для обслуживания DNS-зон я использовал BIND9, но в процессе работы над SINVER решил перейти на PowerDNS. Одним из главных аргументов стала его поддержка PostgreSQL в качестве бэкенда.
Отраслевые последствия
Это позволяет централизованно управлять DNS-записями нескольких серверов через общую базу данных, в отличие от BIND9, где управление зонами преимущественно осуществляется через конфигурационные файлы. SINVER управляет DNS-записями в PostgreSQL, но изменения применяются не автоматически, а по нажатию кнопки Push. Перед отправкой можно посмотреть DIFF (см изображение ниже) между текущими записями на DNS-сервере и теми, которые предлагает SINVER.
Также предусмотрены дополнительные проверки, позволяющие выявить возможные ошибки до применения изменений. Такой подход снижает риск случайно нарушить работу сервисов из-за неправильно указанного IP-адреса или DNS-записи. Просмотр DIFF перед примнением изменений на DNS-серверахПоддержку BIND9 я тоже решил оставить.
SINVER умеет генерировать файл зоны, который впоследствии можно использовать для настройки BIND9. Правда, признаюсь честно, этот функционал я пока основательно не тестировал, поэтому гарантировать корректность генерируемых файлов не могу. Сейчас особой необходимости в нём не вижу, но, возможно, в дальнейшем доработаю.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.






