Date: Sat, 24 Jul 2021 20:07:05 GMT From: Ryan Steinmetz <zi@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: cb84185382cf - main - dns/dns-ui: New port: Message-ID: <202107242007.16OK75QT066347@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by zi: URL: https://cgit.FreeBSD.org/ports/commit/?id=cb84185382cf156f72f34e43d8b46e672f050884 commit cb84185382cf156f72f34e43d8b46e672f050884 Author: Ryan Steinmetz <zi@FreeBSD.org> AuthorDate: 2021-07-24 20:05:34 +0000 Commit: Ryan Steinmetz <zi@FreeBSD.org> CommitDate: 2021-07-24 20:06:40 +0000 dns/dns-ui: New port: A tool to manage a PowerDNS authoritative server in a corporate LDAP-driven environment. Features: * Connects to PowerDNS via its JSON API. * Allows login managed by LDAP server. * Create zones; add, edit and delete records. * Grant multiple users access to administer a zone. * Lower access level that allows to view a zone and request changes. * Provides its own JSON API for making changes to DNS records. * Keeps a changelog of all DNS changes done through it. * (Optionally) export all zones as bind-format zone files and store changes in git. WWW: https://github.com/operasoftware/dns-ui/ --- dns/Makefile | 1 + dns/dns-ui/Makefile | 42 ++++++++++++ dns/dns-ui/distinfo | 3 + dns/dns-ui/files/pkg-message.in | 16 +++++ dns/dns-ui/pkg-descr | 15 +++++ dns/dns-ui/pkg-plist | 142 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 219 insertions(+) diff --git a/dns/Makefile b/dns/Makefile index 60c63d508f51..6600e234088d 100644 --- a/dns/Makefile +++ b/dns/Makefile @@ -28,6 +28,7 @@ SUBDIR += dns2blackhole SUBDIR += dns2tcp SUBDIR += dns_balance + SUBDIR += dns-ui SUBDIR += dnsblast SUBDIR += dnscap SUBDIR += dnscheckengine diff --git a/dns/dns-ui/Makefile b/dns/dns-ui/Makefile new file mode 100644 index 000000000000..cbe6ec0364b0 --- /dev/null +++ b/dns/dns-ui/Makefile @@ -0,0 +1,42 @@ +# Created by: Ryan Steinmetz <zi@FreeBSD.org> + +PORTNAME= dns-ui +DISTVERSION= v0.2.6 +CATEGORIES= dns + +MAINTAINER= zi@FreeBSD.org +COMMENT= LDAP-authenticated PowerDNS user interface by Opera + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= pgsql php:mod,cli + +SUB_FILES= pkg-message + +NO_BUILD= yes + +USE_PHP= curl json intl ldap mbstring pdo_pgsql +USE_GITHUB= yes +GH_ACCOUNT= operasoftware + +OPTIONS_DEFINE= APACHE PGSQLSRV +OPTIONS_DEFAULT= APACHE PGSQLSRV +APACHE_DESC= Use apache as webserver +PGSQLSRV_DESC= Use local postgres instance + +APACHE_USES= apache:run,22+ +APACHE_RUN_DEPENDS= mod_php74>0:www/mod_php74 +PGSQLSRV_VARS= WANT_PGSQL=server + +.include <bsd.port.options.mk> + +post-extract: + ${MV} ${WRKSRC}/config/config-sample.ini \ + ${WRKSRC}/config/config.ini.sample + +do-install: + @${MKDIR} ${STAGEDIR}${WWWDIR} + (cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}) + +.include <bsd.port.mk> diff --git a/dns/dns-ui/distinfo b/dns/dns-ui/distinfo new file mode 100644 index 000000000000..352e022b0171 --- /dev/null +++ b/dns/dns-ui/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1627144708 +SHA256 (operasoftware-dns-ui-v0.2.6_GH0.tar.gz) = 338454d1b701d0fe0339ca8009352aba09d2546203eaa666ea768b29ad405fd9 +SIZE (operasoftware-dns-ui-v0.2.6_GH0.tar.gz) = 634458 diff --git a/dns/dns-ui/files/pkg-message.in b/dns/dns-ui/files/pkg-message.in new file mode 100644 index 000000000000..a0d9792bae50 --- /dev/null +++ b/dns/dns-ui/files/pkg-message.in @@ -0,0 +1,16 @@ +[ +{ type: install + message: <<EOM + Follow the post-installation instructions at: + https://github.com/operasoftware/dns-ui#readme + +Create a database and user, by running the following as the postgres user: + % createuser -P dnsui-user ; createdb -O dnsui-user dnsui + +Customize %%WWWDIR%%/config/config.ini + +Create an initial admin account by running: + % php %%WWWDIR%%/scripts/create_admin_account.php +EOM +} +] diff --git a/dns/dns-ui/pkg-descr b/dns/dns-ui/pkg-descr new file mode 100644 index 000000000000..4c2fb5495aa1 --- /dev/null +++ b/dns/dns-ui/pkg-descr @@ -0,0 +1,15 @@ +A tool to manage a PowerDNS authoritative server in a corporate LDAP-driven +environment. + +Features: +* Connects to PowerDNS via its JSON API. +* Allows login managed by LDAP server. +* Create zones; add, edit and delete records. +* Grant multiple users access to administer a zone. +* Lower access level that allows to view a zone and request changes. +* Provides its own JSON API for making changes to DNS records. +* Keeps a changelog of all DNS changes done through it. +* (Optionally) export all zones as bind-format zone files and store changes + in git. + +WWW: https://github.com/operasoftware/dns-ui/ diff --git a/dns/dns-ui/pkg-plist b/dns/dns-ui/pkg-plist new file mode 100644 index 000000000000..41063ceb5880 --- /dev/null +++ b/dns/dns-ui/pkg-plist @@ -0,0 +1,142 @@ +%%WWWDIR%%/LICENSE +%%WWWDIR%%/NOTICE +%%WWWDIR%%/Pest.php +%%WWWDIR%%/PestJSON.php +%%WWWDIR%%/README.md +%%WWWDIR%%/bindzonefile.php +%%WWWDIR%%/core.php +%%WWWDIR%%/email.php +%%WWWDIR%%/extensions/README +%%WWWDIR%%/ldap.php +%%WWWDIR%%/migrations/001.php +%%WWWDIR%%/migrations/002.php +%%WWWDIR%%/migrations/003.php +%%WWWDIR%%/migrations/004.php +%%WWWDIR%%/migrations/005.php +%%WWWDIR%%/migrations/006.php +%%WWWDIR%%/model/change.php +%%WWWDIR%%/model/changeset.php +%%WWWDIR%%/model/comment.php +%%WWWDIR%%/model/dbdirectory.php +%%WWWDIR%%/model/migrationdirectory.php +%%WWWDIR%%/model/nstemplate.php +%%WWWDIR%%/model/pendingupdate.php +%%WWWDIR%%/model/record.php +%%WWWDIR%%/model/replicationtype.php +%%WWWDIR%%/model/replicationtypedirectory.php +%%WWWDIR%%/model/resourcerecord.php +%%WWWDIR%%/model/resourcerecordset.php +%%WWWDIR%%/model/soatemplate.php +%%WWWDIR%%/model/template.php +%%WWWDIR%%/model/templatedirectory.php +%%WWWDIR%%/model/user.php +%%WWWDIR%%/model/useralert.php +%%WWWDIR%%/model/userdirectory.php +%%WWWDIR%%/model/zone.php +%%WWWDIR%%/model/zoneaccess.php +%%WWWDIR%%/model/zonedirectory.php +%%WWWDIR%%/pagesection.php +%%WWWDIR%%/phpunit.xml +%%WWWDIR%%/powerdns.php +%%WWWDIR%%/public_html/book_next.png +%%WWWDIR%%/public_html/bootstrap/css/bootstrap-theme.css +%%WWWDIR%%/public_html/bootstrap/css/bootstrap-theme.css.map +%%WWWDIR%%/public_html/bootstrap/css/bootstrap-theme.min.css +%%WWWDIR%%/public_html/bootstrap/css/bootstrap-theme.min.css.map +%%WWWDIR%%/public_html/bootstrap/css/bootstrap.css +%%WWWDIR%%/public_html/bootstrap/css/bootstrap.css.map +%%WWWDIR%%/public_html/bootstrap/css/bootstrap.min.css +%%WWWDIR%%/public_html/bootstrap/css/bootstrap.min.css.map +%%WWWDIR%%/public_html/bootstrap/fonts/glyphicons-halflings-regular.eot +%%WWWDIR%%/public_html/bootstrap/fonts/glyphicons-halflings-regular.svg +%%WWWDIR%%/public_html/bootstrap/fonts/glyphicons-halflings-regular.ttf +%%WWWDIR%%/public_html/bootstrap/fonts/glyphicons-halflings-regular.woff +%%WWWDIR%%/public_html/bootstrap/fonts/glyphicons-halflings-regular.woff2 +%%WWWDIR%%/public_html/bootstrap/js/bootstrap.js +%%WWWDIR%%/public_html/bootstrap/js/bootstrap.min.js +%%WWWDIR%%/public_html/bootstrap/js/npm.js +%%WWWDIR%%/public_html/extra.js +%%WWWDIR%%/public_html/init.php +%%WWWDIR%%/public_html/ipaddr/LICENSE +%%WWWDIR%%/public_html/ipaddr/SOURCE +%%WWWDIR%%/public_html/ipaddr/ipaddr.min.js +%%WWWDIR%%/public_html/jquery/jquery-1.11.3.min.js +%%WWWDIR%%/public_html/logo-header-opera.png +%%WWWDIR%%/public_html/screenshot-changelog.png +%%WWWDIR%%/public_html/screenshot-zoneedit.png +%%WWWDIR%%/public_html/style.css +%%WWWDIR%%/requesthandler.php +%%WWWDIR%%/router.php +%%WWWDIR%%/routes.php +%%WWWDIR%%/scripts/create_admin_account.php +%%WWWDIR%%/scripts/full_git_tracked_export.php +%%WWWDIR%%/scripts/ldap_update.php +%%WWWDIR%%/templates/apihelp.php +%%WWWDIR%%/templates/base.php +%%WWWDIR%%/templates/csrf.php +%%WWWDIR%%/templates/error403.php +%%WWWDIR%%/templates/error404.php +%%WWWDIR%%/templates/error500.php +%%WWWDIR%%/templates/error503.php +%%WWWDIR%%/templates/error503_upstream.php +%%WWWDIR%%/templates/functions.php +%%WWWDIR%%/templates/settings.php +%%WWWDIR%%/templates/template.php +%%WWWDIR%%/templates/templates.php +%%WWWDIR%%/templates/user.php +%%WWWDIR%%/templates/user_not_found.php +%%WWWDIR%%/templates/users.php +%%WWWDIR%%/templates/zone.php +%%WWWDIR%%/templates/zone_add_failed.php +%%WWWDIR%%/templates/zone_update_failed.php +%%WWWDIR%%/templates/zonedeleted.php +%%WWWDIR%%/templates/zoneexport.php +%%WWWDIR%%/templates/zoneimport.php +%%WWWDIR%%/templates/zones.php +%%WWWDIR%%/templates/zonesplit.php +%%WWWDIR%%/templates/zonesplitcompleted.php +%%WWWDIR%%/tests/DNSContentTest.php +%%WWWDIR%%/tests/DNSKEYTest.php +%%WWWDIR%%/tests/DNSNameTest.php +%%WWWDIR%%/tests/DNSTimeTest.php +%%WWWDIR%%/vagrant/README.md +%%WWWDIR%%/vagrant/Vagrantfile +%%WWWDIR%%/vagrant/ansible/config.sample.yml +%%WWWDIR%%/vagrant/ansible/dns-ui.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/defaults/main.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/apache2.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/config.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/dns-ui.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/ldap.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/main.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/packages.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/ping.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/postgresql.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/powerdns.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/tasks/repo.yml +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/templates/apache2.conf.j2 +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/templates/pdns.gpgsql.conf.j2 +%%WWWDIR%%/vagrant/ansible/roles/dns-ui/vars/main.yml +%%WWWDIR%%/views/api.php +%%WWWDIR%%/views/csrf.php +%%WWWDIR%%/views/error403.php +%%WWWDIR%%/views/error404.php +%%WWWDIR%%/views/error500.php +%%WWWDIR%%/views/error503.php +%%WWWDIR%%/views/error503_upstream.php +%%WWWDIR%%/views/home.php +%%WWWDIR%%/views/settings.php +%%WWWDIR%%/views/template.php +%%WWWDIR%%/views/templates.php +%%WWWDIR%%/views/user.php +%%WWWDIR%%/views/users.php +%%WWWDIR%%/views/zone.php +%%WWWDIR%%/views/zoneexport.php +%%WWWDIR%%/views/zoneimport.php +%%WWWDIR%%/views/zones.php +%%WWWDIR%%/views/zonesplit.php +@mode 0640 +@group www +@sample %%WWWDIR%%/config/config.ini.sample +@group +@mode 0644
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107242007.16OK75QT066347>