Poweradmin: веб-интерфейс и API для управления PowerDNS

Poweradmin: веб-интерфейс и API для управления PowerDNS

Poweradmin — это веб-интерфейс и REST API для управления PowerDNS, который охватывает все аспекты работы с зонами, записями, DNSSEC и пользователями, с интеграцией в Terraform и Kubernetes.

Проблему управления DNS-ресурсами PowerDNS с помощью удобного интерфейса или API решает он очень удобно. В отличие от многих альтернатив, Poweradmin позволяет работать как с базой данных PowerDNS прямо, так и полностью через его API в режиме API backend. Это подходит как для стандартных пользователей, так и для DevOps-команд, которые хотят автоматизировать процессы с помощью infra-as-code.

Проект написан на PHP и запускается через Docker. Команда предлагает простой запуск в один шаг: docker run -d --name poweradmin -p 8080:80 -e DB_TYPE=sqlite -e PA_CREATE_ADMIN=1 poweradmin/poweradmin:latest. Учитывай, что для работы нужна версия PHP не ниже 8.2, а также наличие Docker на вашей машине. Обрати внимание, что проект находится на стадии активной разработки, что может привести к некоторым нестабильностям.

Poweradmin — это инструмент для управления DNS для PowerDNS, который предоставляет удобный веб-интерфейс и REST API. Он позволяет управлять DNS-зонами через пользовательский интерфейс для ежедневных операций или через API для автоматизации. Poweradmin можно настроить для работы напрямую с базой данных PowerDNS или использовать только через API.

Возможности

  • Поддержка всех типов зон (мастер, нативные и слейв-зоны), супермастера и шаблонов зон.
  • Нативный режим API для управления зонами без прямого доступа к базе данных PowerDNS.
  • Интерфейс, адаптирующийся к версии PowerDNS, с корректной терминологией и метаданными.
  • Операции DNSSEC и редактор метаданных зоны.
  • REST API с документацией OpenAPI, поддержка ключей API с возможностью ограничения доступа.
  • Массовые операции и импорт зон через AXFR.
  • Журнал изменений записей с сохранением снимков до и после изменений.
  • Система ролей и прав доступа, поддержка LDAP, SAML, OIDC и двухфакторной аутентификации TOTP.
  • Поддержка 43 языков и тем оформления.

Установка

Для установки есть несколько способов, включая традиционную установку и использование Docker.

Быстрый старт с Docker

docker run -d --name poweradmin -p 8080:80 -e DB_TYPE=sqlite -e PA_CREATE_ADMIN=1 poweradmin/poweradmin:latest

Здесь важно указать переменную окружения DB_TYPE (sqlite, mysql или pgsql). По умолчанию администратор не создается, поэтому нужно использовать параметр -e PA_CREATE_ADMIN=1 для его создания.

Традиционная установка

  • Рекомендуется использовать стабильные релизы с [раздела релизов](https://github.com/poweradmin/poweradmin/releases).
  • Для специфических нужд можно использовать Git, но это может привести к нестабильности.

Требования

  • PHP 8.2 или выше.
  • Необходимые расширения PHP: intl, gettext, openssl и другие.
  • Поддержка различных баз данных: MySQL, MariaDB, PostgreSQL или SQLite.
  • Необходимо иметь сервер PowerDNS версии 4.0.0 или выше.

Ограничения

Poweradmin в основном работает на уровне базы данных с использованием PowerDNS API для операций DNSSEC. Использование API позволяет отправлять запросы через HTTP. Версия PowerDNS важна, так как интерфейс адаптируется к ней, что может ограничивать доступные функции в зависимости от используемой версии.

Открыть на GitHub: poweradmin/poweradmin →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте