Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Jul 2019 12:01:55 +0000 (UTC)
From:      Dave Cottlehuber <dch@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r507353 - in head: . sysutils sysutils/rest-server sysutils/rest-server/files
Message-ID:  <201907261201.x6QC1ttb044033@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dch
Date: Fri Jul 26 12:01:54 2019
New Revision: 507353
URL: https://svnweb.freebsd.org/changeset/ports/507353

Log:
  sysutils/rest-server: new port - network backups for restic
  
  API backend for the sysutils/restic backup software, enabling fast and
  easy network backups
  
  Approved by:	jrm (mentor, implicit)
  Sponsored by:	SkunkWerks, GmbH

Added:
  head/sysutils/rest-server/
  head/sysutils/rest-server/Makefile   (contents, props changed)
  head/sysutils/rest-server/distinfo   (contents, props changed)
  head/sysutils/rest-server/files/
  head/sysutils/rest-server/files/restserver.in   (contents, props changed)
  head/sysutils/rest-server/pkg-descr   (contents, props changed)
Modified:
  head/GIDs
  head/UIDs
  head/sysutils/Makefile

Modified: head/GIDs
==============================================================================
--- head/GIDs	Fri Jul 26 11:34:50 2019	(r507352)
+++ head/GIDs	Fri Jul 26 12:01:54 2019	(r507353)
@@ -179,7 +179,7 @@ openhab:*:235:
 rspamd:*:236:
 paperless:*:237:
 sonic:*:238:
-# free: 239
+restserver:*:239:
 aprsd:*:240:
 tnc:*:241:
 prosody:*:242:

Modified: head/UIDs
==============================================================================
--- head/UIDs	Fri Jul 26 11:34:50 2019	(r507352)
+++ head/UIDs	Fri Jul 26 12:01:54 2019	(r507353)
@@ -184,7 +184,7 @@ openhab:*:235:235::0:0:openHAB user:/var/db/openhab2/h
 rspamd:*:236:236::0:0:rspamd pseudo-user:/nonexistent:/usr/sbin/nologin
 paperless:*:237:237::0:0:paperless user:/var/db/paperless:/bin/sh
 sonic:*:238:238::0:0:sonic user:/var/db/sonic:/usr/sbin/nologin
-# free: 239
+restserver:*:239:239::0:0:restic rest-server Daemon:/var/db/restserver:/usr/sbin/nologin
 aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh
 tnc:*:241:241::0:0:aprsd:/nonexistent:/bin/sh
 prosody:*:242:242::0:0:Prosody Jabber Server:/nonexistent:/usr/sbin/nologin

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Fri Jul 26 11:34:50 2019	(r507352)
+++ head/sysutils/Makefile	Fri Jul 26 12:01:54 2019	(r507353)
@@ -1099,6 +1099,7 @@
     SUBDIR += reoback
     SUBDIR += reptyr
     SUBDIR += respond
+    SUBDIR += rest-server
     SUBDIR += restic
     SUBDIR += retail
     SUBDIR += rex

Added: head/sysutils/rest-server/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/rest-server/Makefile	Fri Jul 26 12:01:54 2019	(r507353)
@@ -0,0 +1,31 @@
+# $FreeBSD$
+
+PORTNAME=	rest-server
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.9.8
+CATEGORIES=	sysutils
+
+MAINTAINER=	dch@FreeBSD.org
+COMMENT=	Performant HTTP server for sysutils/restic backend API
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go
+USE_GITHUB=	yes
+GH_ACCOUNT=	restic
+
+GO_PKGNAME=	github.com/${GH_ACCOUNT}/${PORTNAME}
+GO_TARGET=	${GO_PKGNAME}/cmd/${PORTNAME}
+
+USE_RC_SUBR=	restserver
+
+USERS=		restserver
+GROUPS=		restserver
+
+PLIST_FILES=	bin/${PORTNAME}
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKDIR}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>

Added: head/sysutils/rest-server/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/rest-server/distinfo	Fri Jul 26 12:01:54 2019	(r507353)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1563196957
+SHA256 (restic-rest-server-v0.9.8_GH0.tar.gz) = 2080012981c81b788f0aea302f5126b0b2ed89f0bdc9104166289ca167c38c75
+SIZE (restic-rest-server-v0.9.8_GH0.tar.gz) = 2398333

Added: head/sysutils/rest-server/files/restserver.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/rest-server/files/restserver.in	Fri Jul 26 12:01:54 2019	(r507353)
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: restserver
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# restserver_enable (bool):	Set it to YES to enable restserver.
+#			Default is "NO".
+# restserver_user (user):	Set user to run restserver.
+#			Default is "restserver".
+# restserver_group (group):	Set group to run restserver.
+#			Default is "restserver".
+# restserver_store (dir):	Set restserver config file.
+#			Default is "/var/db/restserver".
+# restserver_syslog_output_enable (bool):	Set to enable syslog output.
+#					Default is "NO". See daemon(8).
+# restserver_syslog_output_priority (str):	Set syslog priority if syslog enabled.
+#					Default is "info". See daemon(8).
+# restserver_syslog_output_facility (str):	Set syslog facility if syslog enabled.
+#					Default is "daemon". See daemon(8).
+
+. /etc/rc.subr
+
+name=restserver
+rcvar=restserver_enable
+desc="network API server for sysutils/restic backup software"
+
+load_rc_config $name
+
+: ${restserver_enable:="NO"}
+: ${restserver_user:="restserver"}
+: ${restserver_group:="restserver"}
+: ${restserver_store:="/var/db/restserver"}
+: ${restserver_options:="--listen 127.0.0.1:8000 --no-auth"}
+
+DAEMON=$(/usr/sbin/daemon 2>&1 | grep -q syslog ; echo $?)
+if [ ${DAEMON} -eq 0 ]; then
+        : ${restserver_syslog_output_enable:="NO"}
+        : ${restserver_syslog_output_priority:="info"}
+        : ${restserver_syslog_output_facility:="daemon"}
+        if checkyesno restserver_syslog_output_enable; then
+                restserver_syslog_output_flags="-t ${name} -T ${name}"
+
+                if [ -n "${restserver_syslog_output_priority}" ]; then
+                        restserver_syslog_output_flags="${restserver_syslog_output_flags} -s ${restserver_syslog_output_priority}"
+                fi
+
+                if [ -n "${restserver_syslog_output_facility}" ]; then
+                        restserver_syslog_output_flags="${restserver_syslog_output_flags} -l ${restserver_syslog_output_facility}"
+                fi
+        fi
+else
+        restserver_syslog_output_enable="NO"
+        restserver_syslog_output_flags=""
+fi
+
+pidfile=/var/run/restserver.pid
+procname="%%PREFIX%%/bin/rest-server"
+command="/usr/sbin/daemon"
+command_args="-f ${restserver_syslog_output_flags} -p ${pidfile} -t ${name} /usr/bin/env ${restserver_env} ${procname} --path ${restserver_store} ${restserver_options}"
+
+extra_commands="reload monitor"
+monitor_cmd=restserver_monitor
+start_precmd=restserver_startprecmd
+required_files="$restserver_config"
+
+restserver_monitor()
+{
+	sig_reload=USR1
+	run_rc_command "reload"
+}
+
+restserver_startprecmd()
+{
+        if [ ! -e ${pidfile} ]; then
+                install -o ${restserver_user} -g ${restserver_group} /dev/null ${pidfile};
+        fi
+
+        if [ ! -d ${restserver_dir} ]; then
+                install -d -o ${restserver_user} -g ${restserver_group} ${restserver_dir}
+        fi
+}
+
+run_rc_command "$1"

Added: head/sysutils/rest-server/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/rest-server/pkg-descr	Fri Jul 26 12:01:54 2019	(r507353)
@@ -0,0 +1,5 @@
+Rest Server is a high performance HTTP server that implements restic's
+REST backend API. It provides secure and efficient way to backup data
+remotely, using restic backup client via the rest: URI over the network.
+
+WWW: https://github.com/restic/rest-server



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907261201.x6QC1ttb044033>