Skip to main content
PowerDNS Web UI намеренно небольшой.

Бэкенд

Сервер на Go:
  • Отдаёт встроенный пользовательский интерфейс на HTML, CSS и JavaScript
  • Предоставляет /api/config для конфигурации UI
  • Проксирует запросы /api/pdns/... в PDNS_API_URL/api/v1/...
  • Добавляет настроенный заголовок X-API-Key
  • Преобразует ответы PowerDNS обратно в удобный для браузера JSON

Фронтенд

Браузерное приложение — это статическое одностраничное приложение в каталоге static/. Оно отвечает за:
  • Список зон и подробные представления зон
  • Формы редактирования записей
  • Формы метаданных
  • Управление autoprimary
  • Выбор темы
  • Toast-уведомления и подтверждения

Встроенные ресурсы

Сервер встраивает templates/ и static/ во время сборки с помощью Go embed. Это значит, что итоговый бинарник может работать без отдельного каталога с ресурсами.

Образ контейнера

Dockerfile собирает статический бинарник Go в стадии сборки на Alpine, затем копирует его в среду выполнения на базе distroless.