Skip to content

Commit

Permalink
setup chef deployment files
Browse files Browse the repository at this point in the history
  • Loading branch information
a-morales committed Sep 21, 2014
0 parents commit 83c55d6
Show file tree
Hide file tree
Showing 145 changed files with 10,972 additions and 0 deletions.
24 changes: 24 additions & 0 deletions Berksfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
DEPENDENCIES
app
path: .
metadata: true
play2
git: https://github.com/Originate/cookbooks.git
revision: a660e2104202a36e65d39ebc7b4842e82cd64f01
rel: play2

GRAPH
app (0.1.0)
play2 (~> 0.1.0)
artifact (1.10.3)
windows (~> 1.8.0)
aws (2.4.0)
chef_handler (1.1.6)
java (1.14.0)
aws (>= 0.0.0)
windows (>= 0.0.0)
play2 (0.1.0)
artifact (~> 1.10.3)
java (~> 1.14.0)
windows (1.8.10)
chef_handler (>= 0.0.0)
15 changes: 15 additions & 0 deletions app/.kitchen.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
driver:
name: vagrant

provisioner:
name: chef_solo

platforms:
- name: ubuntu-12.04
- name: centos-6.4

suites:
- name: default
run_list:
attributes:
5 changes: 5 additions & 0 deletions app/Berksfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
source "https://supermarket.getchef.com"

metadata

cookbook "play2", git: "https://github.com/Originate/cookbooks.git", rel: "play2"
24 changes: 24 additions & 0 deletions app/Berksfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
DEPENDENCIES
app
path: .
metadata: true
play2
git: https://github.com/Originate/cookbooks.git
revision: a660e2104202a36e65d39ebc7b4842e82cd64f01
rel: play2

GRAPH
app (0.1.0)
play2 (~> 0.1.0)
artifact (1.10.3)
windows (~> 1.8.0)
aws (2.4.0)
chef_handler (1.1.6)
java (1.14.0)
aws (>= 0.0.0)
windows (>= 0.0.0)
play2 (0.1.0)
artifact (~> 1.10.3)
java (~> 1.14.0)
windows (1.8.10)
chef_handler (>= 0.0.0)
3 changes: 3 additions & 0 deletions app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 0.1.0

Initial release of app
18 changes: 18 additions & 0 deletions app/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
source 'https://rubygems.org'

gem 'berkshelf'

# Uncomment these lines if you want to live on the Edge:
#
# group :development do
# gem "berkshelf", github: "berkshelf/berkshelf"
# gem "vagrant", github: "mitchellh/vagrant", tag: "v1.6.3"
# end
#
# group :plugins do
# gem "vagrant-berkshelf", github: "berkshelf/vagrant-berkshelf"
# gem "vagrant-omnibus", github: "schisamo/vagrant-omnibus"
# end

gem 'test-kitchen'
gem 'kitchen-vagrant'
3 changes: 3 additions & 0 deletions app/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Copyright (C) 2014 YOUR_NAME

All rights reserved - Do Not Redistribute
42 changes: 42 additions & 0 deletions app/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# app-cookbook

TODO: Enter the cookbook description here.

## Supported Platforms

TODO: List your supported platforms.

## Attributes

<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><tt>['app']['bacon']</tt></td>
<td>Boolean</td>
<td>whether to include bacon</td>
<td><tt>true</tt></td>
</tr>
</table>

## Usage

### app::default

Include `app` in your node's `run_list`:

```json
{
"run_list": [
"recipe[app::default]"
]
}
```

## License and Authors

Author:: YOUR_NAME (<YOUR_EMAIL>)
12 changes: 12 additions & 0 deletions app/Thorfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# encoding: utf-8

require 'bundler'
require 'bundler/setup'
require 'berkshelf/thor'

begin
require 'kitchen/thor_tasks'
Kitchen::ThorTasks.new
rescue LoadError
puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI']
end
88 changes: 88 additions & 0 deletions app/Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.require_version ">= 1.5.0"

Vagrant.configure(VAGRANTFILE_API_VERSION) 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.

config.vm.hostname = "app-berkshelf"

# Set the version of chef to install using the vagrant-omnibus plugin
config.omnibus.chef_version = :latest

# Every Vagrant virtual environment requires a box to build off of.
# If this value is a shorthand to a box in Vagrant Cloud then
# config.vm.box_url doesn't need to be specified.
config.vm.box = "chef/ubuntu-14.04"

# The url from where the 'config.vm.box' box will be fetched if it
# is not a Vagrant Cloud box and if it doesn't already exist on the
# user's system.
# config.vm.box_url = "https://vagrantcloud.com/chef/ubuntu-14.04/version/1/provider/virtualbox.box"

# 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 :private_network, type: "dhcp"

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider :virtualbox do |vb|
# # Don't boot with headless mode
# vb.gui = true
#
# # Use VBoxManage to customize the VM. For example to change memory:
# vb.customize ["modifyvm", :id, "--memory", "1024"]
# end
#
# View the documentation for the provider you're using for more
# information on available options.

# The path to the Berksfile to use with Vagrant Berkshelf
# config.berkshelf.berksfile_path = "./Berksfile"

# Enabling the Berkshelf plugin. To enable this globally, add this configuration
# option to your ~/.vagrant.d/Vagrantfile file
config.berkshelf.enabled = true

# An array of symbols representing groups of cookbook described in the Vagrantfile
# to exclusively install and copy 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.provision :chef_solo do |chef|
chef.json = {
mysql: {
server_root_password: 'rootpass',
server_debian_password: 'debpass',
server_repl_password: 'replpass'
}
}

chef.run_list = [
"recipe[app::default]"
]
end
end
94 changes: 94 additions & 0 deletions app/chefignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# 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 #
#############
cookbooks/*
tmp

# Cookbooks #
#############
CONTRIBUTING
CHANGELOG*

# Strainer #
############
Colanderfile
Strainerfile
.colander
.strainer

# Vagrant #
###########
.vagrant
Vagrantfile

# Travis #
##########
.travis.yml
1 change: 1 addition & 0 deletions app/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"app","description":"Installs/Configures app","long_description":"Installs/Configures app","maintainer":"Antonio Morales","maintainer_email":"[email protected]","license":"All rights reserved","platforms":{},"dependencies":{"play2":"~> 0.1.0"},"recommendations":{},"suggestions":{},"conflicting":{},"providing":{},"replacing":{},"attributes":{},"groupings":{},"recipes":{},"version":"0.1.0"}
10 changes: 10 additions & 0 deletions app/metadata.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name 'app'
maintainer 'Antonio Morales'
maintainer_email '[email protected]'
license 'All rights reserved'
description 'Installs/Configures app'
long_description 'Installs/Configures app'
version '0.1.0'

depends "play2", "~> 0.1.0" # add a dependnecy on Originate's play2 cookbook

8 changes: 8 additions & 0 deletions app/recipes/default.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#
# Cookbook Name:: app
# Recipe:: default
#
# Copyright (C) 2014 YOUR_NAME
#
# All rights reserved - Do Not Redistribute
#
11 changes: 11 additions & 0 deletions app/recipes/deploy.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# app/recipes/deploy.rb
#
# Cookbook Name:: app
# Recipe:: deploy
#

# This deploys the application
opsworks_play2 do
app "app"
deploy_data node[:deploy][:app]
end
8 changes: 8 additions & 0 deletions app/recipes/setub.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# app/recipes/setup.rb
#
# Cookbook Name:: app
# Recipe:: setup
#

# This installs the play framework
include_recipe "play2::setup"
Loading

0 comments on commit 83c55d6

Please sign in to comment.