ports/sysutils/rubygem-chef12/files/chef_client.in
Ryan Steinmetz 091c51ca68 New ports: sysutils/rubygem-chef12, sysutils/rubygem-chef-zero5, sysutils/rubygem-chef-config12:
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/
2018-08-09 16:13:33 +00:00

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"