thunder_punch 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.mdown CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.0.5 (June 28, 2010)
2
+
3
+ * Rename example config to amazon.yml [Bob Burbach - github.com/peregrinator]
4
+ * Change key names in config file [Bob Burbach - github.com/peregrinator]
5
+ * Remove name-spacing of lib under critical juncture [Bob Burbach - github.com/peregrinator]
6
+ * Add deployment recipes for a git-based deployment stategy [Bob Burbach - github.com/peregrinator]
7
+ * Add recipes for bundler and database tasks (fixing bundle and downloading db) [Bob Burbach - github.com/peregrinator]
8
+
1
9
  == 0.0.4 (March 8, 2010)
2
10
 
3
11
  * Add ability to exclude specific files and directories from ami bundling [Bob Burbach - github.com/peregrinator]
data/README.mdown CHANGED
@@ -12,8 +12,8 @@ Because this collection of recipes is for Capistrano and run with the cap comman
12
12
 
13
13
  * Capistrano >=2.5.5
14
14
  * In your deploy.rb file:
15
- * Add line 'require critical\_juncture/thunder_punch'
16
- * Add line 'set :ec2\_config\_location, File.join(File.dirname(__FILE__), "ec2\_config.yml")'
15
+ * Add line 'require thunder_punch'
16
+ * Add line 'set :ec2\_config\_location, File.join(File.dirname(__FILE__), "amazon.yml")'
17
17
 
18
18
  ##Recipes
19
19
 
@@ -21,11 +21,11 @@ By creating a central and organized system for our tasks we can reduce the conte
21
21
 
22
22
  ###EC2
23
23
 
24
- * Requires a yaml file named ec2_config.yml with the appropriate passwords, etc. See the example file.
24
+ * Requires a yaml file named amazon.yml with the appropriate passwords, etc. See the example file.
25
25
 
26
26
  ####ami.rb
27
27
  * recipes for uploading necessary keys to server, bundling new AMI, uploading to S3, and registering a AMI
28
- * exclude files and directories from bundling by putting them in an array in ec2_config.yml
28
+ * exclude files and directories from bundling by putting them in an array in amazon.yml
29
29
  * `ami_excluded_items: ['/home/my_user', '/var/some_secret_stuff']`
30
30
 
31
31
  ##Known Issues
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ begin
8
8
  gem.summary = "Collection of capistano recipes for deployment and server tasks"
9
9
  gem.description = "Collection of capistano recipes for deployment and server tasks"
10
10
  gem.email = "govpulse@gmail.com"
11
- gem.homepage = "http://github.com/govpulse/thunder_punch"
11
+ gem.homepage = "http://github.com/trifecta/thunder_punch"
12
12
  gem.authors = ["Bob Burbach"]
13
13
  gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
14
14
  gem.add_dependency('capistrano', '>= 2.5.5')
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -0,0 +1,10 @@
1
+ #examples from Amazon documentation
2
+ aws_key_location: ~/.ssh #or whereever you store you aws keys - no trailing slash
3
+ ec2_private_key: pk-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem
4
+ ec2_x509_cert: cert-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem
5
+ aws_account_id: 495219933132
6
+ ec2_architecture: i386 #or x86_64
7
+ access_key_id: <aws-access-key-id>
8
+ secret_access_key: <aws-secret-access-key>
9
+ ec2_s3_bucket_name: some_bucket_for_your_ami_images
10
+ ami_excluded_items: [] #you may want to exclude files or directories like /home/my_user, etc.
File without changes
@@ -0,0 +1,10 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ namespace :bundler do
4
+ desc "Install and lock bundle"
5
+ task :fix_bundle, :roles => [:app, :worker] do
6
+ run "cd #{current_path} && bundle install"
7
+ end
8
+ end
9
+
10
+ end
@@ -0,0 +1,72 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ #############################################################
3
+ # Check for Existing Database
4
+ #############################################################
5
+
6
+ namespace :database do
7
+ desc "Check to see if database exists"
8
+ task :check_database_existence, :roles => [:database], :only => { :primary => true } do
9
+ db_exists = false
10
+ run "mysql -u root -e \"SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '#{database_to_check}';\" --batch --reconnect --show-warning --silent" do |ch, stream, data|
11
+ if stream == :err
12
+ abort "capured output on STDERR when verifying database #{database_to_check} exists: #{data}"
13
+ elsif stream == :out
14
+ return_value = data.split("\n").first.chomp
15
+
16
+ if ['0','1'].include?(return_value)
17
+ db_exists = return_value == '0' ? false : true
18
+ else
19
+ abort "Invalid response from db when checking if database exists. Expected 0 or 1, got a count of #{return_value}"
20
+ end
21
+ puts db_exists
22
+ end
23
+ end
24
+ db_exists
25
+ end
26
+ end
27
+
28
+ #############################################################
29
+ # Backup Database
30
+ #############################################################
31
+
32
+ namespace :database do
33
+ desc "Dump the current database"
34
+ task :backup, :roles => [:database], :only => { :primary => true } do
35
+ set :database_to_check, remote_db_name # used by the check_database_existence task
36
+ db_exists = find_and_execute_task('database:check_database_existence')
37
+
38
+ if db_exists
39
+ sudo "sudo mkdir -p #{db_path}"
40
+ run "mysqldump -u root --opt #{remote_db_name} > #{sql_file_path}"
41
+ else
42
+ abort "There is no database named #{remote_db_name} to backup"
43
+ end
44
+ end #end task :backup
45
+ end #end namspace
46
+
47
+ #############################################################
48
+ # Load Remote Staging Database to Local Machine
49
+ #############################################################
50
+
51
+ namespace :database do
52
+
53
+ desc "Backup remote database and load locally"
54
+ task :load_remote, :roles => [:database], :only => { :primary => true } do
55
+ backup
56
+ copy
57
+ load_copy
58
+ end
59
+
60
+ desc "Copy the current database"
61
+ task :copy, :roles => [:database], :only => { :primary => true } do
62
+ `mkdir -p tmp`
63
+ download(sql_file_path, "tmp/", :via=> :scp)
64
+ end
65
+
66
+ desc "Load the staging database locally"
67
+ task :load_copy, :roles => [:database], :only => { :primary => true } do
68
+ `script/dbconsole -p < tmp/#{remote_db_name}.sql`
69
+ end
70
+
71
+ end #end namspace
72
+ end
@@ -0,0 +1,3 @@
1
+ Dir["#{File.dirname(__FILE__)}/deployment/*.rb"].each { |lib|
2
+ Capistrano::Configuration.instance.load {load(lib)}
3
+ }
@@ -0,0 +1,60 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ namespace :deploy do
3
+ desc "Deploy the app"
4
+ task :default, :roles => [:app, :static, :worker] do
5
+ update
6
+ restart
7
+ cleanup
8
+ end
9
+
10
+ desc "Setup a GitHub-style deployment."
11
+ task :setup, :roles => [:app, :static, :worker], :except => { :no_release => true } do
12
+ run "git clone #{repository} #{current_path}"
13
+ end
14
+
15
+ desc "Update the deployed code."
16
+ task :update_code, :roles => [:app, :static, :worker], :except => { :no_release => true } do
17
+ run "cd #{current_path}; git fetch origin; git reset --hard #{branch}; git submodule update --init"
18
+ end
19
+
20
+ # "rollback" is actually a namespace with a default task
21
+ namespace :rollback do
22
+ desc "Rollback a single commit."
23
+ task :code, :roles => [:app, :static, :worker], :except => { :no_release => true } do
24
+ set :branch, "HEAD^"
25
+ deploy.default
26
+ end
27
+
28
+ task :default, :roles => [:app, :static, :worker] do
29
+ rollback.code
30
+ end
31
+ end
32
+
33
+ end
34
+
35
+ #############################################################
36
+ # Set Rake Path
37
+ #############################################################
38
+
39
+ namespace :deploy do
40
+ desc "Set rake path"
41
+ task :set_rake_path, :roles => [:app, :worker] do
42
+ run "which rake" do |ch, stream, data|
43
+ if stream == :err
44
+ abort "captured output on STDERR when setting rake path: #{data}"
45
+ elsif stream == :out
46
+ set :rake_path, data.to_s.strip
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+
53
+ # Turn of capistrano's restart in favor of passenger restart
54
+ namespace :deploy do
55
+ desc "Remove deploy:restart In Favor Of passenger:restart Task"
56
+ task :restart do
57
+ end
58
+ end
59
+
60
+ end
@@ -0,0 +1,34 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ namespace :deploy do
3
+ desc <<-DESC
4
+ Run the migrate rake task. By default, it runs this in most recently \
5
+ deployed version of the app. However, you can specify a different release \
6
+ via the migrate_target variable, which must be one of :latest (for the \
7
+ default behavior), or :current (for the release indicated by the \
8
+ `current' symlink). Strings will work for those values instead of symbols, \
9
+ too. You can also specify additional environment variables to pass to rake \
10
+ via the migrate_env variable. Finally, you can specify the full path to the \
11
+ rake executable by setting the rake variable. The defaults are:
12
+
13
+ set :rake, "rake"
14
+ set :rails_env, "production"
15
+ set :migrate_env, ""
16
+ set :migrate_target, :latest
17
+ DESC
18
+ task :migrate, :roles => :worker, :only => { :primary => true } do
19
+ rake = fetch(:rake, "rake")
20
+ rails_env = fetch(:rails_env, "production")
21
+ migrate_env = fetch(:migrate_env, "")
22
+ migrate_target = fetch(:migrate_target, :latest)
23
+
24
+ directory = case migrate_target.to_sym
25
+ when :current then current_path
26
+ when :latest then current_release
27
+ else raise ArgumentError, "unknown migration target #{migrate_target.inspect}"
28
+ end
29
+
30
+ run "cd #{directory}; #{rake} RAILS_ENV=#{rails_env} #{migrate_env} db:migrate"
31
+ end
32
+ end #namespace
33
+
34
+ end
@@ -0,0 +1,28 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ #############################################################
3
+ # Passenger Restart
4
+ #############################################################
5
+
6
+ namespace :passenger do
7
+ desc "Restart Application"
8
+ task :restart, :roles => [:app] do
9
+ run "touch #{current_path}/tmp/restart.txt"
10
+ end
11
+ end
12
+
13
+ #############################################################
14
+ # Passenger Status Checks
15
+ #############################################################
16
+
17
+ namespace :passenger do
18
+ desc "Check Passenger Status"
19
+ task :status, :roles => [:app] do
20
+ sudo 'passenger-status'
21
+ end
22
+
23
+ desc "Check Apache/Passenger Memory Usage"
24
+ task :memory_stats, :roles => [:app] do
25
+ sudo 'passenger-memory-stats'
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,39 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ # these are the usual suspects (for rails)
3
+ set :standard_symlinks, {
4
+ 'log' => 'log',
5
+ 'config/database.yml' => 'config/database.yml',
6
+ 'public/system' => 'system',
7
+ 'tmp' => 'tmp'
8
+ }
9
+
10
+ # these are project specific but still reside in shared
11
+ # e.g., 'backups' => 'db/backups'
12
+ # ==> rm -rf #{release_path}/backups && ln -s #{shared_path}/db/backups #{release_path}/backups
13
+ _cset :custom_symlinks, {}
14
+
15
+ # these are project specific but need full 'from' paths
16
+ # eg 'foo' => '/var/www/apps/project/foo'
17
+ # creates the command "rm -rf #{release_path}/foo && ln -s /var/www/apps/project/foo #{release_path}/foo"
18
+ _cset :other_symlinks, {}
19
+
20
+ namespace :symlinks do
21
+ desc "Create all sylinks (removes directories/files if they exist first)"
22
+ task :create, :roles => [:app, :static, :worker], :except => { :no_release => true } do
23
+
24
+ commands = standard_symlinks.map do |to, from|
25
+ "rm -rf #{current_path}/#{to} && ln -s #{shared_path}/#{from} #{current_path}/#{to}"
26
+ end
27
+
28
+ commands += custom_symlinks.map do |to, from|
29
+ "rm -rf #{current_path}/#{to} && ln -s #{shared_path}/#{from} #{current_path}/#{to}"
30
+ end
31
+
32
+ commands += other_symlinks.map do |to, from|
33
+ "rm -rf #{current_path}/#{to} && ln -s #{from} #{current_path}/#{to}"
34
+ end
35
+
36
+ run "cd #{current_path} && #{commands.join(" && ")}"
37
+ end
38
+ end
39
+ end
File without changes
@@ -6,28 +6,28 @@ Capistrano::Configuration.instance(:must_exist).load do |configuration|
6
6
 
7
7
  task :load_ec2_config, :roles => :app do
8
8
  alert_user('You need to set :ec2_config_location in your deploy file', :abort => true) unless ec2_config_location
9
- alert_user("You must configure your ec2 settings in config/ec2_config.yml", :abort => true) unless File.exist?(ec2_config_location)
9
+ alert_user("You must configure your ec2 settings in config/amazon.yml", :abort => true) unless File.exist?(ec2_config_location)
10
10
 
11
11
  ec2_config = YAML.load( File.open(ec2_config_location, 'r') )
12
12
 
13
- set :aws_key_location, ec2_config['aws_key_location']
14
- set :ec2_private_key, ec2_config['ec2_private_key']
15
- set :ec2_x509_cert, ec2_config['ec2_x509_cert']
16
- set :aws_account_id, ec2_config['aws_account_id']
17
- set :ec2_architecture, ec2_config['ec2_architecture']
18
- set :aws_access_key, ec2_config['aws_access_key']
19
- set :aws_secret_access_key, ec2_config['aws_secret_access_key']
20
- set :ec2_s3_bucket_name, ec2_config['ec2_s3_bucket_name']
21
- set :ami_excluded_items, ec2_config['ami_excluded_items']
13
+ set :aws_key_location, ec2_config['aws_key_location']
14
+ set :ec2_private_key, ec2_config['ec2_private_key']
15
+ set :ec2_x509_cert, ec2_config['ec2_x509_cert']
16
+ set :aws_account_id, ec2_config['aws_account_id']
17
+ set :ec2_architecture, ec2_config['ec2_architecture']
18
+ set :access_key_id, ec2_config['access_key_id']
19
+ set :secret_access_key, ec2_config['secret_access_key']
20
+ set :ec2_s3_bucket_name, ec2_config['ec2_s3_bucket_name']
21
+ set :ami_excluded_items, ec2_config['ami_excluded_items']
22
22
 
23
- alert_user('You need to set :aws_key_location in config/ec2_config.yml', :abort => true) unless :key_location
24
- alert_user('You need to set :ec2_private_key in config/ec2_config.yml', :abort => true) unless :ec2_private_key
25
- alert_user('You need to set :ec2_x509_cert in config/ec2_config.yml', :abort => true) unless :ec2_x509_cert
26
- alert_user('You need to set :aws_account_id in config/ec2_config.yml', :abort => true) unless :aws_account_id
27
- alert_user('You need to set :ec2_architecture to either "i386" or "x86_64" in config/ec2_config.yml', :abort => true) unless :ec2_architecture
28
- alert_user('You need to set :aws_access_key in config/ec2_config.yml', :abort => true) unless :aws_access_key
29
- alert_user('You need to set :aws_secret_access_key in config/ec2_config.yml', :abort => true) unless :aws_secret_access_key
30
- alert_user('You need to set :ec2_s3_bucket_name in config/ec2_config.yml', :abort => true) unless :ec2_s3_bucket_name
23
+ alert_user('You need to set :aws_key_location in config/amazon.yml', :abort => true) unless :key_location
24
+ alert_user('You need to set :ec2_private_key in config/amazon.yml', :abort => true) unless :ec2_private_key
25
+ alert_user('You need to set :ec2_x509_cert in config/amazon.yml', :abort => true) unless :ec2_x509_cert
26
+ alert_user('You need to set :aws_account_id in config/amazon.yml', :abort => true) unless :aws_account_id
27
+ alert_user('You need to set :ec2_architecture to either "i386" or "x86_64" in config/amazon.yml', :abort => true) unless :ec2_architecture
28
+ alert_user('You need to set :access_key_id in config/amazon.yml', :abort => true) unless :access_key_id
29
+ alert_user('You need to set :secret_access_key in config/amazon.yml', :abort => true) unless :secret_access_key
30
+ alert_user('You need to set :ec2_s3_bucket_name in config/amazon.yml', :abort => true) unless :ec2_s3_bucket_name
31
31
 
32
32
  set :ec2_config_loaded, true
33
33
  end
@@ -86,7 +86,7 @@ Capistrano::Configuration.instance(:must_exist).load do |configuration|
86
86
  task :upload_ami_to_s3, :roles => :app do
87
87
  load_ec2_config unless ec2_config_loaded
88
88
  alert_user("You need to set :bundle_name via the command line\n `cap ec2:upload_to_s3 -s bundle_name=sample`", :abort => true) unless configuration[:bundle_name]
89
- sudo "ec2-upload-bundle -b #{ec2_s3_bucket_name} -m /mnt/#{bundle_name}.manifest.xml -a #{aws_access_key} -s #{aws_secret_access_key}"
89
+ sudo "ec2-upload-bundle -b #{ec2_s3_bucket_name} -m /mnt/#{bundle_name}.manifest.xml -a #{access_key_id} -s #{secret_access_key}"
90
90
  end
91
91
 
92
92
  desc 'Register your bundled and upload (to S3) AMI'
@@ -0,0 +1,19 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do |configuration|
2
+
3
+ namespace :jekyll do
4
+ desc "Build static files from jekyll files"
5
+ task :build do
6
+ alert_user "Building static files from jekyll files"
7
+ run_locally "jekyll"
8
+ end
9
+
10
+ desc "Create site (less and jekyll)"
11
+ task :create do
12
+ alert_user "[START] Creating site [START]"
13
+ find_and_execute_task('less:build')
14
+ find_and_execute_task('jekyll:build')
15
+ alert_user "[END] Creating site [END]"
16
+ end
17
+ end
18
+
19
+ end
@@ -0,0 +1,18 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do |configuration|
2
+
3
+ namespace :less do
4
+ desc "Build css files from .less files"
5
+ task :build do
6
+ _cset :less_directory, '_less'
7
+ _cset :css_directory, 'css'
8
+ Dir.glob(less_directory + '/*.less').each do |file|
9
+ if File.file?(file)
10
+ file_name = file.split('/').last.split('.').first
11
+ alert_user("Creating css file for less file named #{file_name}" )
12
+ run_locally("lessc #{less_directory}/#{file_name}.less #{css_directory}/#{file_name}.css")
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,52 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ namespace :thinking_sphinx do
3
+
4
+ desc "Generate the Sphinx configuration file"
5
+ task :configure, :roles => [:app, :worker] do
6
+ rake "thinking_sphinx:configure"
7
+ end
8
+
9
+ desc "Index data"
10
+ task :index, :roles => :worker do
11
+ rake "thinking_sphinx:index"
12
+ end
13
+
14
+ desc "Start the Sphinx daemon"
15
+ task :start, :roles => :worker do
16
+ configure
17
+ rake "thinking_sphinx:start"
18
+ end
19
+
20
+ desc "Stop the Sphinx daemon"
21
+ task :stop, :roles => :worker do
22
+ configure
23
+ rake "thinking_sphinx:stop"
24
+ end
25
+
26
+ desc "Stop and then start the Sphinx daemon"
27
+ task :restart, :roles => :worker do
28
+ stop
29
+ start
30
+ end
31
+
32
+ desc "Stop, re-index and then start the Sphinx daemon"
33
+ task :rebuild, :roles => :worker do
34
+ stop
35
+ index
36
+ start
37
+ end
38
+
39
+ desc "Add the shared folder for sphinx files for the production environment"
40
+ task :shared_sphinx_folder, :roles => [:app, :worker] do
41
+ run "mkdir -p #{shared_path}/db/sphinx/production"
42
+ end
43
+
44
+ def rake(*tasks)
45
+ rails_env = fetch(:rails_env, "production")
46
+ rake = fetch(:rake, "rake")
47
+ tasks.each do |t|
48
+ run "if [ -d #{release_path} ]; then cd #{release_path}; else cd #{current_path}; fi; #{rake} RAILS_ENV=#{rails_env} #{t}"
49
+ end
50
+ end
51
+ end
52
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{thunder_punch}
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bob Burbach"]
12
- s.date = %q{2010-03-08}
12
+ s.date = %q{2010-07-02}
13
13
  s.description = %q{Collection of capistano recipes for deployment and server tasks}
14
14
  s.email = %q{govpulse@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -25,20 +25,30 @@ Gem::Specification.new do |s|
25
25
  "Rakefile",
26
26
  "TODO.mdown",
27
27
  "VERSION",
28
- "example/ec2_config.yml",
29
- "lib/critical_juncture/recipes.rb",
30
- "lib/critical_juncture/recipes/ec2.rb",
31
- "lib/critical_juncture/recipes/ec2/ami.rb",
32
- "lib/critical_juncture/thunder_punch.rb",
33
- "lib/critical_juncture/utilities/utilities.rb",
28
+ "example/amazon.yml",
29
+ "lib/recipes.rb",
30
+ "lib/recipes/bundler.rb",
31
+ "lib/recipes/database.rb",
32
+ "lib/recipes/deployment.rb",
33
+ "lib/recipes/deployment/deployment.rb",
34
+ "lib/recipes/deployment/migration.rb",
35
+ "lib/recipes/deployment/passenger.rb",
36
+ "lib/recipes/deployment/symlinks.rb",
37
+ "lib/recipes/ec2.rb",
38
+ "lib/recipes/ec2/ami.rb",
39
+ "lib/recipes/jekyll/jekyll.rb",
40
+ "lib/recipes/less/less.rb",
41
+ "lib/recipes/thinking_sphinx.rb",
42
+ "lib/thunder_punch.rb",
43
+ "lib/utilities/utilities.rb",
34
44
  "test/helper.rb",
35
45
  "test/test_thunder_punch.rb",
36
46
  "thunder_punch.gemspec"
37
47
  ]
38
- s.homepage = %q{http://github.com/govpulse/thunder_punch}
48
+ s.homepage = %q{http://github.com/trifecta/thunder_punch}
39
49
  s.rdoc_options = ["--charset=UTF-8"]
40
50
  s.require_paths = ["lib"]
41
- s.rubygems_version = %q{1.3.5}
51
+ s.rubygems_version = %q{1.3.6}
42
52
  s.summary = %q{Collection of capistano recipes for deployment and server tasks}
43
53
  s.test_files = [
44
54
  "test/helper.rb",
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thunder_punch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 5
9
+ version: 0.0.5
5
10
  platform: ruby
6
11
  authors:
7
12
  - Bob Burbach
@@ -9,29 +14,35 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-03-08 00:00:00 -08:00
17
+ date: 2010-07-02 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: thoughtbot-shoulda
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
23
29
  version: "0"
24
- version:
30
+ type: :development
31
+ version_requirements: *id001
25
32
  - !ruby/object:Gem::Dependency
26
33
  name: capistrano
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
39
+ segments:
40
+ - 2
41
+ - 5
42
+ - 5
33
43
  version: 2.5.5
34
- version:
44
+ type: :runtime
45
+ version_requirements: *id002
35
46
  description: Collection of capistano recipes for deployment and server tasks
36
47
  email: govpulse@gmail.com
37
48
  executables: []
@@ -50,17 +61,27 @@ files:
50
61
  - Rakefile
51
62
  - TODO.mdown
52
63
  - VERSION
53
- - example/ec2_config.yml
54
- - lib/critical_juncture/recipes.rb
55
- - lib/critical_juncture/recipes/ec2.rb
56
- - lib/critical_juncture/recipes/ec2/ami.rb
57
- - lib/critical_juncture/thunder_punch.rb
58
- - lib/critical_juncture/utilities/utilities.rb
64
+ - example/amazon.yml
65
+ - lib/recipes.rb
66
+ - lib/recipes/bundler.rb
67
+ - lib/recipes/database.rb
68
+ - lib/recipes/deployment.rb
69
+ - lib/recipes/deployment/deployment.rb
70
+ - lib/recipes/deployment/migration.rb
71
+ - lib/recipes/deployment/passenger.rb
72
+ - lib/recipes/deployment/symlinks.rb
73
+ - lib/recipes/ec2.rb
74
+ - lib/recipes/ec2/ami.rb
75
+ - lib/recipes/jekyll/jekyll.rb
76
+ - lib/recipes/less/less.rb
77
+ - lib/recipes/thinking_sphinx.rb
78
+ - lib/thunder_punch.rb
79
+ - lib/utilities/utilities.rb
59
80
  - test/helper.rb
60
81
  - test/test_thunder_punch.rb
61
82
  - thunder_punch.gemspec
62
83
  has_rdoc: true
63
- homepage: http://github.com/govpulse/thunder_punch
84
+ homepage: http://github.com/trifecta/thunder_punch
64
85
  licenses: []
65
86
 
66
87
  post_install_message:
@@ -72,18 +93,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
72
93
  requirements:
73
94
  - - ">="
74
95
  - !ruby/object:Gem::Version
96
+ segments:
97
+ - 0
75
98
  version: "0"
76
- version:
77
99
  required_rubygems_version: !ruby/object:Gem::Requirement
78
100
  requirements:
79
101
  - - ">="
80
102
  - !ruby/object:Gem::Version
103
+ segments:
104
+ - 0
81
105
  version: "0"
82
- version:
83
106
  requirements: []
84
107
 
85
108
  rubyforge_project:
86
- rubygems_version: 1.3.5
109
+ rubygems_version: 1.3.6
87
110
  signing_key:
88
111
  specification_version: 3
89
112
  summary: Collection of capistano recipes for deployment and server tasks
@@ -1,10 +0,0 @@
1
- #examples from Amazon documentation
2
- aws_key_location: ~/.ssh #or whereever you store you aws keys - no trailing slash
3
- ec2_private_key: pk-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem
4
- ec2_x509_cert: cert-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem
5
- aws_account_id: 495219933132
6
- ec2_architecture: i386 #or x86_64
7
- aws_access_key: <aws-access-key-id>
8
- aws_secret_access_key: <aws-secret-access-key>
9
- ec2_s3_bucket_name: some_bucket_for_your_ami_images
10
- ami_excluded_items: [] #you may want to exclude files or directories like /home/my_user, etc.