#!/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