#!/bin/sh # run_chef_solo.sh
set -e -a
THIS_DIR=$(cd $(dirname $0); pwd)
if [ -z “$CHEF_ENV” -a -e ${THIS_DIR}/.chef_env ]; then
CHEF_ENV=$(cat ${THIS_DIR}/.chef_env)
else
CHEF_ENV=${CHEF_ENV:-dev}
fi
cd $THIS_DIR
CHEF_SOLO_DIR=$THIS_DIR SOLO=${CHEF_SOLO_DIR}/.chef/knife.rb RBENV_FILE=${RBENV_FILE:-/root/.rbenv/rbenv.sh} RUNLIST_FILE=${CHEF_SOLO_DIR}/run_list/${CHEF_ENV}/`hostname` SERVER_JSON=${CHEF_SOLO_DIR}/environments/${CHEF_ENV}/settings.json
OPTIONS=“” if [ “$#” -gt 0 ]; then
OPTIONS="$@"
elif [ -e $RUNLIST_FILE ]; then
OPTIONS="-o $(cat $RUNLIST_FILE)"
elif [ -n “$CHEF_ROLE” ]; then
OPTIONS="-o role[${CHEF_ROLE}]"
fi
# enable rbenv and chef if [ -e $RBENV_FILE ]; then
. $RBENV_FILE
fi
echo “CHEF_ENV=${CHEF_ENV}” export CHEF_ENV echo chef-solo -c $SOLO -j $SERVER_JSON $OPTIONS chef-solo -c $SOLO -j $SERVER_JSON $OPTIONS