54 lines
1.3 KiB
Bash
54 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: chef_client
|
|
# REQUIRE: DAEMON
|
|
# BEFORE: LOGIN
|
|
# KEYWORD: shutdown
|
|
|
|
# Add the following line to /etc/rc.conf to enable chef-client
|
|
#
|
|
# chef_client_enable="YES"
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="chef_client"
|
|
rcvar=chef_client_enable
|
|
|
|
# Read configuration and set defaults
|
|
load_rc_config $name
|
|
: ${chef_client_enable="NO"}
|
|
: ${chef_client_configfile="%%PREFIX%%/etc/chef/client.rb"}
|
|
: ${chef_client_interval="600"}
|
|
: ${chef_client_splay="0"}
|
|
: ${chef_client_logfile="/var/log/chef-client.log"}
|
|
: ${chef_client_loglevel="info"}
|
|
|
|
if [ -f "$chef_client_configfile" ]
|
|
then
|
|
pidfile=`awk '/^[ \t]*pid_file[ \t]+/ { print $2 }' ${chef_client_configfile}`
|
|
: ${chef_client_pidfile=$pidfile}
|
|
else
|
|
: ${chef_client_pidfile="/var/run/chef-client.pid"}
|
|
fi
|
|
|
|
if [ -n "$chef_client_nodename" ]
|
|
then
|
|
nodename="-N ${chef_client_nodename}"
|
|
else
|
|
nodename=""
|
|
fi
|
|
|
|
if [ -n "$chef_client_server" ]
|
|
then
|
|
server="-N ${chef_client_server}"
|
|
else
|
|
server=""
|
|
fi
|
|
|
|
command="%%PREFIX%%/bin/chef-client"
|
|
command_interpreter="%%RUBY%%"
|
|
pidfile=${chef_client_pidfile}
|
|
chef_client_flags="-c ${chef_client_configfile} ${nodename}${server}-d -i ${chef_client_interval} -s ${chef_client_splay} -L ${chef_client_logfile} -l ${chef_client_loglevel} -P ${chef_client_pidfile}"
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|