summaryrefslogtreecommitdiff
path: root/distro/debian/etc/init.d/chef-server
diff options
context:
space:
mode:
Diffstat (limited to 'distro/debian/etc/init.d/chef-server')
-rwxr-xr-xdistro/debian/etc/init.d/chef-server122
1 files changed, 122 insertions, 0 deletions
diff --git a/distro/debian/etc/init.d/chef-server b/distro/debian/etc/init.d/chef-server
new file mode 100755
index 0000000000..f7c1ede583
--- /dev/null
+++ b/distro/debian/etc/init.d/chef-server
@@ -0,0 +1,122 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: chef-server
+# Required-Start: $remote_fs $network rabbitmq-server couchdb
+# Required-Stop: $remote_fs $network rabbitmq-server couchdb
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start a chef-server.
+### END INIT INFO
+#
+# Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
+#
+# chef-server Startup script for chef-server.
+# chkconfig: - 90 02
+# description: starts up chef-server webui.
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=$(which chef-server)
+PIDFILE=/var/run/chef/server.%s.pid
+MAINPID=/var/run/chef/server.main.pid
+NAME=chef-server
+DESC=chef-server
+
+test -x $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+if [ ! -d /var/run/chef ]; then
+ mkdir /var/run/chef
+ chown $USER:$GROUP /var/run/chef
+fi
+
+DAEMON_OPTS="-p $PORT -e production -d -a $ADAPTER -P $PIDFILE -L $LOGFILE -C $CONFIG -u $USER -G $GROUP"
+
+running() {
+ [ ! -f "$MAINPID" ] && return 1
+ pid=`cat $MAINPID`
+ [ -z "$pid" ] && return 1
+ [ ! -d /proc/$pid ] && return 1
+ (ps -fp $pid | egrep -q "merb.*(merb : master|worker.*$PORT)") || return 1
+ return 0
+}
+
+start_server() {
+ $DAEMON $DAEMON_OPTS
+ errcode=$?
+ return $errcode
+}
+
+stop_server() {
+ $DAEMON -K all -P $PIDFILE
+ errcode=$?
+ return $errcode
+}
+
+reload_server() {
+ stop_server
+ [ -n "$DIETIME" ] && sleep $DIETIME
+ start_server
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
+}
+
+case "$1" in
+ start)
+ log_daemon_msg "Starting $DESC "
+ if running ; then
+ log_progress_msg "apparently already running"
+ log_end_msg 0
+ exit 0
+ fi
+ if start_server ; then
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ if running ; then
+ log_end_msg 0
+ else
+ log_end_msg 1
+ fi
+ else
+ log_end_msg 1
+ fi
+ ;;
+ stop)
+ log_daemon_msg "Stopping $DESC"
+ if running ; then
+ errcode=0
+ stop_server || errcode=$?
+ log_end_msg $errcode
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 0
+ exit 0
+ fi
+ ;;
+ restart|force-reload)
+ log_daemon_msg "Restarting $DESC"
+ errcode=0
+ reload_server
+ running && errcode=$?
+ log_end_msg $errcode
+ ;;
+ status)
+ log_daemon_msg "Checking status of $DESC"
+ if running ; then
+ log_progress_msg "running"
+ log_end_msg 0
+ else
+ log_progress_msg "apparently not running"
+ log_end_msg 1
+ exit 3
+ fi
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+