summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Marino <marino@FreeBSD.org>2014-09-20 17:42:15 +0000
committerJohn Marino <marino@FreeBSD.org>2014-09-20 17:42:15 +0000
commit396162b8abbe4fc58041b95ab57b83f9af5dda7c (patch)
tree26372e22847c6a2145223073c6ad910599ba8467
parent- Manage config file (with @sample according to the ports guidelines) (diff)
Add new port sysutils/rundeck
PR: 191562 Submitted by: arcade (b1t.name) Welcome to Rundeck, the human interface to your operations. Rundeck features fine-grain access controls, a built-in job scheduler, and the ability to define workflows that dispatch commands and scripts to your nodes.
Notes
Notes: svn path=/head/; revision=368669
-rw-r--r--GIDs1
-rw-r--r--UIDs1
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/rundeck/Makefile50
-rw-r--r--sysutils/rundeck/distinfo2
-rw-r--r--sysutils/rundeck/files/rundeck.in84
-rw-r--r--sysutils/rundeck/pkg-descr6
7 files changed, 145 insertions, 0 deletions
diff --git a/GIDs b/GIDs
index 67a5396f1852..0259aff0d210 100644
--- a/GIDs
+++ b/GIDs
@@ -214,6 +214,7 @@ foreman_proxy:*:812:
puppet:*:814:
btsync:*:817:
jenkins:*:818:
+rundeck:*:819:
openacs:*:820:
dotlrn:*:821:
polw:*:825:
diff --git a/UIDs b/UIDs
index f8557883e002..98006c7b3625 100644
--- a/UIDs
+++ b/UIDs
@@ -218,6 +218,7 @@ foreman_proxy:*:812:812::0:0:Foreman Smart Proxy:/usr/local/share/foreman-proxy:
puppet:*:814:814::0:0:Puppet Daemon:/nonexistent:/usr/sbin/nologin
btsync:*:817:817::0:0:BitTorrent Sync Daemon:/nonexistent:/usr/sbin/nologin
jenkins:*:818:818::0:0:Jenkins CI:/usr/local/jenkins:/bin/sh
+rundeck:*:819:819::0:0:Rundeck:/usr/local/rundeck:/bin/sh
openacs:*:820:820::0:0:OpenACS Daemon User:/nonexistent:/usr/sbin/nologin
dotlrn:*:821:821::0:0:.LRN Daemon User:/nonexistent:/usr/sbin/nologin
polw:*:825:825::0:0:Policyd-weight Cache Owner:/nonexistent:/sbin/nologin
diff --git a/sysutils/Makefile b/sysutils/Makefile
index e5631a6f6995..6bb1328f239c 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -824,6 +824,7 @@
SUBDIR += rubygem-teamocil
SUBDIR += rubygem-winrm
SUBDIR += rubygem-yell
+ SUBDIR += rundeck
SUBDIR += runit
SUBDIR += runwhen
SUBDIR += safe-rm
diff --git a/sysutils/rundeck/Makefile b/sysutils/rundeck/Makefile
new file mode 100644
index 000000000000..a5055c078a8c
--- /dev/null
+++ b/sysutils/rundeck/Makefile
@@ -0,0 +1,50 @@
+# $FreeBSD$
+
+PORTNAME= rundeck
+PORTVERSION= 2.2.1
+CATEGORIES= sysutils java
+MASTER_SITES= http://dl.bintray.com/rundeck/rundeck-maven/
+DISTNAME= rundeck-launcher-${PORTVERSION}
+EXTRACT_SUFX= .jar
+
+MAINTAINER= c.kworr@gmail.com
+COMMENT= Web-console for dispatching commands and scripts to your nodes
+
+LICENSE= APACHE20
+
+USE_JAVA= yes
+JAVA_VERSION= 1.6+
+
+NO_BUILD= yes
+PLIST_FILES= rundeck/server/lib/.keep \
+ share/rundeck/rundeck-launcher.jar
+PLIST_DIRS= share/rundeck
+PLIST_DIRSTRY= rundeck/server/lib \
+ rundeck/server \
+ rundeck
+
+USE_RC_SUBR= rundeck
+
+RUNDECK_HOME= ${PREFIX}/rundeck
+RUNDECK_USER?= rundeck
+RUNDECK_GROUP?= rundeck
+RUNDECK_LOG_FILE?= /var/log/rundeck.log
+
+.if ${RUNDECK_USER} == "rundeck"
+USERS= rundeck
+.endif
+.if ${RUNDECK_GROUP} == "rundeck"
+GROUPS= rundeck
+.endif
+
+SUB_LIST+= RUNDECK_HOME=${RUNDECK_HOME} RUNDECK_USER=${RUNDECK_USER} \
+ RUNDECK_GROUP=${RUNDECK_GROUP} JAVA_HOME=${JAVA_HOME} \
+ RUNDECK_LOG_FILE=${RUNDECK_LOG_FILE}
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR} ${STAGEDIR}${RUNDECK_HOME}/server/lib
+ ${TOUCH} ${STAGEDIR}${RUNDECK_HOME}/server/lib/.keep
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX} \
+ ${STAGEDIR}${DATADIR}/rundeck-launcher${EXTRACT_SUFX}
+
+.include <bsd.port.mk>
diff --git a/sysutils/rundeck/distinfo b/sysutils/rundeck/distinfo
new file mode 100644
index 000000000000..6fecac94295b
--- /dev/null
+++ b/sysutils/rundeck/distinfo
@@ -0,0 +1,2 @@
+SHA256 (rundeck-launcher-2.2.1.jar) = 2c82a57e3795d188ac6d4e0825aebdb298a3883f070dc99c2bc08682ee652fde
+SIZE (rundeck-launcher-2.2.1.jar) = 56858931
diff --git a/sysutils/rundeck/files/rundeck.in b/sysutils/rundeck/files/rundeck.in
new file mode 100644
index 000000000000..eb719d2bea4c
--- /dev/null
+++ b/sysutils/rundeck/files/rundeck.in
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+# PROVIDE: rundeck
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+#
+# Configuration settings for rundeck in /etc/rc.conf:
+#
+# rundeck_enable (bool):
+# Set to "NO" by default.
+# Set it to "YES" to enable rundeck
+#
+# rundeck_args (str):
+# Extra arguments passed to start command
+#
+# rundeck_home (str)
+# Set to "%%RUNDECK_HOME%%" by default.
+# Set the RUNDECK_HOME variable for rundeck process
+#
+# rundeck_java_home (str):
+# Set to "%%JAVA_HOME%%" by default.
+# Set the Java virtual machine to run rundeck
+#
+# rundeck_java_opts (str):
+# Set to "" by default.
+# Java VM args to use.
+#
+# rundeck_user (str):
+# Set to "%%RUNDECK_USER%%" by default.
+# User to run rundeck as.
+#
+# rundeck_group (str):
+# Set to "%%RUNDECK_GROUP%%" by default.
+# Group for data file ownership.
+#
+# rundeck_log_file (str):
+# Set to "%%RUNDECK_LOG_FILE%%" by default.
+# Log file location.
+#
+
+. /etc/rc.subr
+
+name="rundeck"
+rcvar=rundeck_enable
+
+load_rc_config "${name}"
+
+: ${rundeck_args="-b %%RUNDECK_HOME%%"}
+: ${rundeck_enable="NO"}
+: ${rundeck_home="%%RUNDECK_HOME%%"}
+: ${rundeck_java_home="%%JAVA_HOME%%"}
+: ${rundeck_user="%%RUNDECK_USER%%"}
+: ${rundeck_group="%%RUNDECK_GROUP%%"}
+: ${rundeck_log_file="%%RUNDECK_LOG_FILE%%"}
+
+pidfile="/var/run/rundeck/rundeck.pid"
+command="/usr/sbin/daemon"
+java_cmd="${rundeck_java_home}/bin/java"
+procname="${java_cmd}"
+command_args="-p ${pidfile} ${java_cmd} ${rundeck_java_opts} -jar %%DATADIR%%/rundeck-launcher.jar ${rundeck_args} > ${rundeck_log_file} 2>&1"
+required_files="${java_cmd}"
+
+start_precmd="rundeck_prestart"
+start_cmd="rundeck_start"
+
+rundeck_prestart() {
+ if [ ! -f "${rundeck_log_file}" ]; then
+ touch "${rundeck_log_file}"
+ chown "${rundeck_user}:${rundeck_group}" "${rundeck_log_file}"
+ chmod 640 "${rundeck_log_file}"
+ fi
+ if [ ! -d "/var/run/rundeck" ]; then
+ install -d -o "${rundeck_user}" -g "${rundeck_group}" -m 750 "/var/run/rundeck"
+ fi
+}
+
+rundeck_start()
+{
+ check_startmsgs && echo "Starting ${name}."
+ su -l ${rundeck_user} -c "exec ${command} ${command_args} ${rc_arg}"
+}
+
+run_rc_command "$1"
diff --git a/sysutils/rundeck/pkg-descr b/sysutils/rundeck/pkg-descr
new file mode 100644
index 000000000000..b30537ea7a03
--- /dev/null
+++ b/sysutils/rundeck/pkg-descr
@@ -0,0 +1,6 @@
+Welcome to Rundeck, the human interface to your operations. Rundeck
+features fine-grain access controls, a built-in job scheduler, and the
+ability to define workflows that dispatch commands and scripts to your
+nodes.
+
+WWW: http://rundeck.org