-
-
Save armenr/33814cf646ed6775bfce to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Cookbook Name:: myapp-bot | |
# Recipe:: _botapp.rb | |
# | |
# | |
# | |
# | |
# | |
app_name = node['myapp']['gravbot']['app_name'] | |
# Set up application directory | |
directory '/opt/gravbot' do | |
owner 'gravbot' | |
group 'gravbot' | |
mode '0755' | |
action :create | |
end | |
# Set up logs directory | |
directory 'opt/gravbot/logs' do | |
owner 'gravbot' | |
group 'gravbot' | |
mode '0755' | |
action :create | |
end | |
# Clone application to app directory | |
git "/opt/gravbot" do | |
repository "git@github.com:redacted/hubot-fork" | |
reference "master" | |
user "gravbot" | |
action :sync | |
end | |
# Source nvm/nodejs environment for gravbot user | |
file '/home/gravbot/.bashrc' do | |
action :create | |
owner 'gravbot' | |
group 'gravbot' | |
mode '0644' | |
content <<-EOF | |
source /etc/profile.d/nvm.sh | |
EOF | |
end | |
# Install dependencies | |
execute "install gravbot dependencies" do | |
user 'gravbot' | |
command "npm install" | |
cwd "/opt/gravbot" | |
creates "/opt/gravbot/node_modules" | |
end | |
# Daemonize gravbot/configure upstart | |
template "/etc/init/#{app_name}.conf" do | |
source "upstart/gravbot-server.conf.erb" | |
owner "root" | |
group "root" | |
mode "0755" | |
variables({ | |
:path => node['myapp']['gravbot']['deploy_path'], | |
:app_name => app_name, | |
:node_env => node['myapp']['gravbot']['node_env'], | |
:user => node['myapp']['gravbot']['user'], | |
:logfile => node['myapp']['gravbot']['logfile'] | |
}) | |
end | |
# Start gravbot via upstart | |
service "gravbot" do | |
action [ :start ] | |
provider Chef::Provider::Service::Upstart | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment