mirror of
https://git.freebsd.org/ports.git
synced 2025-06-25 22:50:32 -04:00
Chef is a systems integration framework, built to bring the benefits of configuration management to your entire infrastructure. With Chef, you can: * Manage your servers by writing code, not by running commands. * Integrate tightly with your applications, databases, LDAP directories, and more. * Easily configure applications that require knowledge about your entire infrastructure ("What systems are running my application?" "What is the current master database server?") WWW: https://www.chef.io/
57 lines
1.3 KiB
Bash
57 lines
1.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# 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"
|