From owner-svn-ports-all@freebsd.org Fri Jul 26 12:01:57 2019 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1337DBE232; Fri, 26 Jul 2019 12:01:57 +0000 (UTC) (envelope-from dch@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E95508CF8D; Fri, 26 Jul 2019 12:01:56 +0000 (UTC) (envelope-from dch@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C3BF8EE03; Fri, 26 Jul 2019 12:01:56 +0000 (UTC) (envelope-from dch@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x6QC1uGa044040; Fri, 26 Jul 2019 12:01:56 GMT (envelope-from dch@FreeBSD.org) Received: (from dch@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x6QC1ttb044033; Fri, 26 Jul 2019 12:01:55 GMT (envelope-from dch@FreeBSD.org) Message-Id: <201907261201.x6QC1ttb044033@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dch set sender to dch@FreeBSD.org using -f From: Dave Cottlehuber Date: Fri, 26 Jul 2019 12:01:55 +0000 (UTC) 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 X-SVN-Group: ports-head X-SVN-Commit-Author: dch X-SVN-Commit-Paths: in head: . sysutils sysutils/rest-server sysutils/rest-server/files X-SVN-Commit-Revision: 507353 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: E95508CF8D X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.967,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jul 2019 12:01:57 -0000 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 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