-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
let there be light; and there was light
- Loading branch information
0 parents
commit 074f253
Showing
11 changed files
with
284 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
.vagrant | ||
Berksfile.lock | ||
Gemfile.lock | ||
*~ | ||
*# | ||
.#* | ||
\#*# | ||
.*.sw[a-z] | ||
*.un~ | ||
/cookbooks |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
site :opscode | ||
|
||
metadata |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
source :rubygems | ||
|
||
gem 'berkshelf' | ||
gem 'thor-foodcritic' | ||
gem 'vagrant', '~> 1.0.5' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Copyright (C) 2013 YOUR_NAME | ||
|
||
All rights reserved - Do Not Redistribute |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# crystalline cookbook | ||
|
||
# Requirements | ||
|
||
# Usage | ||
|
||
# Attributes | ||
|
||
# Recipes | ||
|
||
# Author | ||
|
||
Author:: YOUR_NAME (<YOUR_EMAIL>) |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# encoding: utf-8 | ||
|
||
require 'bundler' | ||
require 'bundler/setup' | ||
require 'thor/foodcritic' | ||
require 'berkshelf/thor' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
require 'berkshelf/vagrant' | ||
|
||
Vagrant::Config.run do |config| | ||
# All Vagrant configuration is done here. The most common configuration | ||
# options are documented and commented below. For a complete reference, | ||
# please see the online documentation at vagrantup.com. | ||
|
||
# The path to the Berksfile to use with Vagrant Berkshelf | ||
# config.berkshelf.berksfile_path = "./Berksfile" | ||
|
||
# An array of symbols representing groups of cookbook described in the Vagrantfile | ||
# to skip installing and copying to Vagrant's shelf. | ||
# config.berkshelf.only = [] | ||
|
||
# An array of symbols representing groups of cookbook described in the Vagrantfile | ||
# to skip installing and copying to Vagrant's shelf. | ||
# config.berkshelf.except = [] | ||
|
||
config.vm.host_name = "crystalline-berkshelf" | ||
|
||
# config.vm.box = "Berkshelf-CentOS-6.3-x86_64-minimal" | ||
# config.vm.box_url = "https://dl.dropbox.com/u/31081437/Berkshelf-CentOS-6.3-x86_64-minimal.box" | ||
config.vm.box = "lucid32" | ||
|
||
# Boot with a GUI so you can see the screen. (Default is headless) | ||
# config.vm.boot_mode = :gui | ||
|
||
# Assign this VM to a host-only network IP, allowing you to access it | ||
# via the IP. Host-only networks can talk to the host machine as well as | ||
# any other machines on the same network, but cannot be accessed (through this | ||
# network interface) by any external networks. | ||
config.vm.network :hostonly, "33.33.33.10" | ||
|
||
# Assign this VM to a bridged network, allowing you to connect directly to a | ||
# network using the host's network device. This makes the VM appear as another | ||
# physical device on your network. | ||
|
||
config.vm.network :bridged | ||
|
||
# Forward a port from the guest to the host, which allows for outside | ||
# computers to access the VM, whereas host only networking does not. | ||
# config.vm.forward_port 80, 8080 | ||
|
||
# Share an additional folder to the guest VM. The first argument is | ||
# an identifier, the second is the path on the guest to mount the | ||
# folder, and the third is the path on the host to the actual folder. | ||
config.vm.share_folder "appdir", "/tmp/vagrant_data", "../crystalline" | ||
|
||
config.ssh.max_tries = 40 | ||
config.ssh.timeout = 120 | ||
|
||
config.vm.provision :chef_solo do |chef| | ||
chef.json = { | ||
:mysql => { | ||
:server_root_password => 'rootpass', | ||
:server_debian_password => 'debpass', | ||
:server_repl_password => 'replpass' | ||
} | ||
} | ||
|
||
chef.run_list = [ | ||
"recipe[crystalline::default]" | ||
] | ||
end | ||
end |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# | ||
# Cookbook Name:: crystalline | ||
# Recipe:: default | ||
# | ||
# Copyright (C) 2013 Ian Coffey | ||
# | ||
# All rights reserved - Do Not Redistribute | ||
# | ||
|
||
default[:app][:user] = 'crystalline' | ||
default[:app][:group] = 'appgroup' | ||
default[:app][:url] = 'git://github.com/iancoffey/crystalline' | ||
default[:app][:revision] = 'HEAD' | ||
default[:app][:local_config][:file] = '' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# Put files/directories that should be ignored in this file when uploading | ||
# or sharing to the community site. | ||
# Lines that start with '# ' are comments. | ||
|
||
# OS generated files # | ||
###################### | ||
.DS_Store | ||
Icon? | ||
nohup.out | ||
ehthumbs.db | ||
Thumbs.db | ||
|
||
# SASS # | ||
######## | ||
.sass-cache | ||
|
||
# EDITORS # | ||
########### | ||
\#* | ||
.#* | ||
*~ | ||
*.sw[a-z] | ||
*.bak | ||
REVISION | ||
TAGS* | ||
tmtags | ||
*_flymake.* | ||
*_flymake | ||
*.tmproj | ||
.project | ||
.settings | ||
mkmf.log | ||
|
||
## COMPILED ## | ||
############## | ||
a.out | ||
*.o | ||
*.pyc | ||
*.so | ||
*.com | ||
*.class | ||
*.dll | ||
*.exe | ||
*/rdoc/ | ||
|
||
# Testing # | ||
########### | ||
.watchr | ||
.rspec | ||
spec/* | ||
spec/fixtures/* | ||
test/* | ||
features/* | ||
Guardfile | ||
Procfile | ||
|
||
# SCM # | ||
####### | ||
.git | ||
*/.git | ||
.gitignore | ||
.gitmodules | ||
.gitconfig | ||
.gitattributes | ||
.svn | ||
*/.bzr/* | ||
*/.hg/* | ||
*/.svn/* | ||
|
||
# Berkshelf # | ||
############# | ||
Berksfile | ||
Berksfile.lock | ||
cookbooks/* | ||
tmp | ||
|
||
# Cookbooks # | ||
############# | ||
CONTRIBUTING | ||
CHANGELOG* | ||
|
||
# Strainer # | ||
############ | ||
Colanderfile | ||
Strainerfile | ||
.colander | ||
.strainer | ||
|
||
# Vagrant # | ||
########### | ||
.vagrant | ||
Vagrantfile | ||
|
||
# Travis # | ||
########## | ||
.travis.yml |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name "crystalline" | ||
maintainer "Ian Coffey" | ||
maintainer_email "[email protected]" | ||
license "BSD" | ||
description "Installs/Configures crystalline" | ||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) | ||
version "0.1.0" | ||
|
||
depends "artifact", "~> 0.10.7" | ||
depends "python", "~> 1.2.0" | ||
depends "couchdb", "~> 2.1.0" | ||
depends "git", "~> 2.1.4" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# | ||
# Cookbook Name:: crystalline | ||
# Recipe:: default | ||
# | ||
# Copyright (C) 2013 Ian Coffey | ||
# | ||
# All rights reserved - Do Not Redistribute | ||
# | ||
|
||
include_recipe "python" | ||
include_recipe "couchdb" | ||
include_recipe "git" | ||
|
||
python_mods = %w{ flask CouchDB configobj Flask-CouchDBKit } | ||
|
||
common_tools = %w{ vim curl wget } | ||
|
||
ENV['CRYSTALLINE_SETTINGS'] = node[:app][:config] | ||
|
||
group node[:app][:group] | ||
|
||
user node[:app][:user] do | ||
system true | ||
shell "/bin/bash" | ||
end | ||
|
||
python_mods.each do |mod| | ||
python_pip mod do | ||
action :install | ||
end | ||
end | ||
|
||
common_tools.each do |tool| | ||
package tool do | ||
action :install | ||
end | ||
end | ||
|
||
directory "/opt/crystalline/shared" do | ||
owner node[:app][:user] | ||
group node[:app][:group] | ||
recursive true | ||
end | ||
|
||
deploy "/opt/crystalline" do | ||
repo node[:app][:url] | ||
revision node[:app][:revision] | ||
user node[:app][:user] | ||
group node[:app][:group] | ||
enable_submodules true | ||
action :deploy | ||
restart_command "touch tmp/restart.txt" | ||
scm_provider Chef::Provider::Git | ||
symlink_before_migrate({}) | ||
end | ||
|
||
|