Skip to content

Instantly share code, notes, and snippets.

@ZenCocoon
Last active December 24, 2015 00:19
Show Gist options
  • Save ZenCocoon/6716001 to your computer and use it in GitHub Desktop.
Save ZenCocoon/6716001 to your computer and use it in GitHub Desktop.
#
# Cookbook Name:: env_vars
# Recipe:: default
#
if ['solo', 'app', 'app_master', 'util'].include?(node[:instance_role])
execute "reload-nginx" do
action :nothing
command "/etc/init.d/nginx reload"
end
node[:applications].each do |app_name, data|
template "/data/#{app_name}/shared/config/env.custom" do
source "env.custom.erb"
owner node[:users].first[:username]
group node[:users].first[:username]
mode 0744
variables({
:app_name => app_name,
:env_vars => node[:env_vars]
})
end
case node[:environment][:stack]
when /nginx_passenger/i
template "/data/#{app_name}/shared/bin/ruby_wrapper" do
source "ruby_wrapper.erb"
owner node[:users].first[:username]
group node[:users].first[:username]
mode 0755
variables({
:app_name => app_name
})
end
execute "update-nginx-passenger-ruby" do
command "echo 'passenger_ruby /data/#{app_name}/shared/bin/ruby_wrapper;' >> /etc/nginx/stack.conf"
not_if "grep passenger_ruby /etc/nginx/stack.conf"
notifies :run, resources(:execute => "reload-nginx")
end
end
end
end
# Specify environment variables for Unicorn or Passenger here
default[:env_vars] = {
:UNICORN_CONF => "/data/#{@app_name}/shared/config/custom_unicorn.rb"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment