Skip to content

Instantly share code, notes, and snippets.

@emperorcezar
Created June 12, 2012 18:47
Show Gist options
  • Save emperorcezar/2919343 to your computer and use it in GitHub Desktop.
Save emperorcezar/2919343 to your computer and use it in GitHub Desktop.
Django-lms chef recipe
#
# Cookbook Name:: django-lms
# Recipe:: default
#
# Copyright 2012, Illinois Institute of Technology
#
# All rights reserved
packages = ["byobu",
"python-dev",
"libmysqlclient-dev",
"libldap2-dev",
"libsasl2-dev",
"npm",
"postgresql-9.1",
"postgresql-server-dev-9.1",
"libjpeg-dev",
]
packages.each do |p|
package p
end
# Fix PIL
script "install_something" do
interpreter "bash"
user "root"
cwd "/tmp"
code <<-EOH
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/
EOH
end
execute "installless" do
action :run
command "npm install -g less"
environment ({'HOME' => '/home/vagrant'})
end
execute "chown" do
command "chown #{node[:lms][:user]}:#{node[:lms][:user]} #{node[:lms][:deployment][:deploy_to]}"
action :run
environment ({'HOME' => '/home/vagrant'})
end
python_virtualenv "#{node[:lms][:deployment][:deploy_to]}/venv" do
owner node[:lms][:user]
group node[:lms][:user]
action :create
interpreter "python2.7"
end
# Run me some pip
execute "pip" do
command "#{node[:lms][:deployment][:deploy_to]}/venv/bin/pip install -r #{node[:lms][:deployment][:deploy_to]}/django-lms/#{node[:lms][:requirementsfile]}"
user node[:lms][:user]
action :run
environment ({'HOME' => '/home/vagrant'})
end
# Setup our postgres user and db
# template "/tmp/config.conf" do
# source "config.conf.erb"
# end
# r = package "ruby-pg" do
# package_name "libpgsql-ruby"
# action :nothing
# end
# r.run_action(:upgrade)
# Snippet from opscode to reload gems
# require 'rubygems'
# Gem.clear_paths
# require "pg"
execute "create-database-user" do
user "postgres"
command "createuser -U postgres -SdRw #{node[:lms][:user]}"
returns [0,1]
end
execute "create-database" do
user "postgres"
command "createdb -U postgres -O #{node[:lms][:user]} -E utf8 -T template0 #{node[:lms][:db]}"
returns [0,1]
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment