Large update to the init.d services for SysAdm.

Also clean up some things in the port makefile as well.
This commit is contained in:
Ken Moore
2017-01-20 12:49:59 -05:00
parent 3b2ce2ca8e
commit e8e157fb58
9 changed files with 108 additions and 135 deletions

View File

@@ -6,7 +6,7 @@ PORTVERSION= %%CHGVERSION%%
CATEGORIES= sysutils
MAINTAINER= kmoore@FreeBSD.org
COMMENT= PC-BSD SysAdm API server
COMMENT= SysAdm API server
LICENSE= BSD3CLAUSE
@@ -15,10 +15,8 @@ USE_QT5= concurrent core network buildtools qmake gui websockets
USES= pkgconfig tar:xz qmake
MAKE_ARGS= PREFIX=${STAGEDIR}${PREFIX}
USE_OPENRC_SUBR= sysadm sysadm-bridge sysadm-rest
USE_GITHUB= yes
GH_ACCOUNT= pcbsd
GH_ACCOUNT= trueos
GH_PROJECT= sysadm
GH_TAGNAME= %%GHTAG%%

View File

@@ -1,44 +0,0 @@
#!/sbin/openrc-run
# Copyright (c) 2016 Ken Moore <ken@ixsystems.com>
# Released under the 2-clause BSD license
name="SysAdm Server (Bridge)"
depend() {
after bootmisc
keyword -shutdown
}
start()
{
ebegin "Starting $name"
supervise-daemon --start -p /var/run/sysadm-bridge.pid \
%%PREFIX%%/bin/sysadm-bridge
eend $?
}
stop()
{
ebegin "Stopping $name"
start-stop-daemon --stop --exec %%PREFIX%%/bin/sysadm-bridge \
-p /var/run/sysadm-bridge.pid
eend $?
}
ssl_keygen()
{
if [ ! -d "%%PREFIX%%/etc/sysadm" ] ; then
mkdir -p %%PREFIX%%/etc/sysadm
fi
if [ ! -e "%%PREFIX%%/etc/sysadm/ws_bridge.key" ] ; then
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout %%PREFIX%%/etc/sysadm/ws_bridge.key \
-out %%PREFIX%%/etc/sysadm/ws_bridge.crt -days 102400 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
fi
}
start_pre()
{
ssl_keygen "$1"
}

View File

@@ -1,42 +0,0 @@
#!/sbin/openrc-run
# Copyright (c) 2016 Ken Moore <ken@ixsystems.com>
# Released under the 2-clause BSD license
name="SysAdm Server (REST)"
depend() {
after bootmisc
keyword -shutdown
}
start()
{
ebegin "Starting $name"
supervise-daemon --start -p /var/run/sysadm-rest.pid \
%%PREFIX%%/bin/sysadm-binary -- -rest
eend $?
}
stop()
{
ebegin "Stopping $name"
start-stop-daemon --stop --exec %%PREFIX%%/bin/sysadm-binary \
-p /var/run/sysadm-rest.pid
eend $?
}
ssl_keygen()
{
if [ ! -d "%%PREFIX%%/etc/sysadm" ] ; then
mkdir -p %%PREFIX%%/etc/sysadm
fi
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout %%PREFIX%%/etc/sysadm/restserver.key \
-out %%PREFIX%%/etc/sysadm/restserver.crt -days 1024 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
}
start_pre()
{
ssl_keygen "$1"
}

View File

@@ -1,42 +0,0 @@
#!/sbin/openrc-run
# Copyright (c) 2016 Ken Moore <ken@ixsystems.com>
# Released under the 2-clause BSD license
name="SysAdm Server (WebSocket)"
depend() {
after bootmisc
keyword -shutdown
}
start()
{
ebegin "Starting $name"
supervise-daemon --start -p /var/run/sysadm.pid \
%%PREFIX%%/bin/sysadm-binary
eend $?
}
stop()
{
ebegin "Stopping $name"
start-stop-daemon --stop --exec %%PREFIX%%/bin/sysadm-binary \
-p /var/run/sysadm.pid
eend $?
}
ssl_keygen()
{
if [ ! -d "%%PREFIX%%/etc/sysadm" ] ; then
mkdir -p %%PREFIX%%/etc/sysadm
fi
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout %%PREFIX%%/etc/sysadm/wsserver.key \
-out %%PREFIX%%/etc/sysadm/wsserver.crt -days 1024 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
}
start_pre()
{
ssl_keygen "$1"
}

View File

@@ -3,6 +3,9 @@ bin/sysadm-server
bin/sysadm-bridge
bin/sysadm-bridge-start
etc/sysadm.conf.dist
etc/init.d/sysadm
etc/init.d/sysadm-bridge
etc/init.d/sysadm-rest
etc/rc.d/sysadm
etc/rc.d/sysadm-bridge
etc/rc.d/sysadm-rest

31
src/init.d/sysadm Executable file
View File

@@ -0,0 +1,31 @@
#!/sbin/openrc-run
# Copyright (c) 2016 Ken Moore <ken@ixsystems.com>
# Released under the 2-clause BSD license
name="SysAdm Server (WebSocket)"
pidfile=/var/run/sysadm.pid
prefix=/usr/local/
command=${prefix}bin/sysadm-binary
command_args=
supervisor=supervise-daemon
depend() {
after bootmisc
keyword -shutdown
}
ssl_keygen()
{
if [ ! -d "${prefix}/etc/sysadm" ] ; then
mkdir -p ${prefix}/etc/sysadm
fi
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout ${prefix}/etc/sysadm/wsserver.key \
-out ${prefix}/etc/sysadm/wsserver.crt -days 1024 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
}
start_pre()
{
ssl_keygen "$1"
}

33
src/init.d/sysadm-bridge Executable file
View File

@@ -0,0 +1,33 @@
#!/sbin/openrc-run
# Copyright (c) 2016 Ken Moore <ken@ixsystems.com>
# Released under the 2-clause BSD license
name="SysAdm Server (Bridge)"
pidfile=/var/run/sysadm-bridge.pid
prefix=/usr/local/
command=${prefix}bin/sysadm-bridge
command_args=
supervisor=supervise-daemon
depend() {
after bootmisc
keyword -shutdown
}
ssl_keygen()
{
if [ ! -d "${prefix}/etc/sysadm" ] ; then
mkdir -p ${prefix}/etc/sysadm
fi
if [ ! -e "${prefix}/etc/sysadm/ws_bridge.key" ] ; then
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout ${prefix}/etc/sysadm/ws_bridge.key \
-out ${prefix}/etc/sysadm/ws_bridge.crt -days 102400 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
fi
}
start_pre()
{
ssl_keygen "$1"
}

31
src/init.d/sysadm-rest Executable file
View File

@@ -0,0 +1,31 @@
#!/sbin/openrc-run
# Copyright (c) 2016 Ken Moore <ken@ixsystems.com>
# Released under the 2-clause BSD license
name="SysAdm Server (REST)"
pid=/var/run/sysadm-rest.pid
prefix=/usr/local/
command=${prefix}bin/sysadm-binary
command_args="--rest"
supervisor=supervise-daemon
depend() {
after bootmisc
keyword -shutdown
}
ssl_keygen()
{
if [ ! -d "${prefix}/etc/sysadm" ] ; then
mkdir -p ${prefix}/etc/sysadm
fi
openssl req -x509 -nodes -newkey rsa:2048 \
-keyout ${prefix}/etc/sysadm/restserver.key \
-out ${prefix}/etc/sysadm/restserver.crt -days 1024 \
-subj "/C=US/ST=MY/L=NULL/O=SysAdm/OU=SysAdm/CN=SysAdm/emailAddress=none@example.org" 2>/dev/null
}
start_pre()
{
ssl_keygen "$1"
}

View File

@@ -3,11 +3,16 @@ CONFIG += recursive
SUBDIRS+= server bridge
#Standard FreeBSD RC
rcd.path = /usr/local/etc/rc.d/
rcd.files = rc.d/sysadm rc.d/sysadm-rest rc.d/sysadm-bridge
#dconf.path = /usr/local/etc/job.d/
#dconf.extra = cp job.d/* $(INSTALL_ROOT)/usr/local/etc/job.d/
#OpenRC for TrueOS
initd.path = /usr/local/etc/init.d/
initd.files = init.d/sysadm init.d/sysadm-rest init.d/sysadm-bridge
#jobd.path = /usr/local/etc/job.d/
#jobd.extra = cp job.d/* $(INSTALL_ROOT)/usr/local/etc/job.d/
#wsdaemon.path = /usr/local/etc/job.d/
#wsdaemon.extra = cp job.d/org.pcbsd.sysadm.json $(INSTALL_ROOT)/usr/local/etc/job.d/org.pcbsd.sysadm.json
@@ -18,4 +23,4 @@ rcd.files = rc.d/sysadm rc.d/sysadm-rest rc.d/sysadm-bridge
conf.path = /usr/local/etc/
conf.extra = cp conf/sysadm.conf ${INSTALL_ROOT}/usr/local/etc/sysadm.conf.dist
INSTALLS += rcd conf
INSTALLS += rcd initd conf