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 →
RepoRadar