Skip site navigation (1)Skip section navigation (2)
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>