thunder_punch 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/CHANGELOG.mdown +4 -0
- data/MIT-LICENSE +1 -1
- data/README.mdown +10 -6
- data/VERSION +1 -1
- data/example/ec2_config.yml +4 -3
- data/lib/{govpulse → critical_juncture}/recipes/ec2/ami.rb +18 -1
- data/lib/{govpulse → critical_juncture}/recipes/ec2.rb +0 -0
- data/lib/{govpulse → critical_juncture}/recipes.rb +0 -0
- data/lib/{govpulse → critical_juncture}/thunder_punch.rb +0 -0
- data/lib/{govpulse → critical_juncture}/utilities/utilities.rb +0 -0
- data/thunder_punch.gemspec +7 -7
- metadata +7 -7
data/.gitignore
CHANGED
data/CHANGELOG.mdown
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
== 0.0.4 (March 8, 2010)
|
2
|
+
|
3
|
+
* Add ability to exclude specific files and directories from ami bundling [Bob Burbach - github.com/peregrinator]
|
4
|
+
|
1
5
|
== 0.0.3 (March 7, 2010)
|
2
6
|
|
3
7
|
* Fix error in uploading keys to EC2 - missing aws_key_location in the command and upload takes one path at a time [Bob Burbach - github.com/peregrinator]
|
data/MIT-LICENSE
CHANGED
data/README.mdown
CHANGED
@@ -1,28 +1,32 @@
|
|
1
1
|
#Thunder Punch
|
2
2
|
|
3
|
-
Collection of
|
3
|
+
Collection of Capistrano recipes for deployment and other server tasks
|
4
4
|
|
5
5
|
##Origin
|
6
6
|
|
7
7
|
"Thunder Punch" was a version of the He-Man action figure from the original 1980s Masters of the Universe toy line. Ring caps were placed in a "backpack" integrated into the figure, which contained the striking mechanism for the caps (as well as tiny vents to allow smoke from a triggered cap to escape). This mechanism was triggered by drawing the figure's spring-loaded right arm back and releasing it to swing forward; the explosion of the cap was intended to simulate a thunderous noise caused by the supposed superhuman power of the character's punch. [via wikipedia]
|
8
8
|
|
9
|
-
Because this collection of recipes is for
|
9
|
+
Because this collection of recipes is for Capistrano and run with the cap command - this seemed a good name, sans the thunderous noise of course (this was found to be disrupting in work environments and cafes).
|
10
10
|
|
11
11
|
##Requirements
|
12
12
|
|
13
13
|
* Capistrano >=2.5.5
|
14
14
|
* In your deploy.rb file:
|
15
|
-
* Add line 'require
|
15
|
+
* Add line 'require critical\_juncture/thunder_punch'
|
16
16
|
* Add line 'set :ec2\_config\_location, File.join(File.dirname(__FILE__), "ec2\_config.yml")'
|
17
17
|
|
18
18
|
##Recipes
|
19
19
|
|
20
|
-
By creating a central and organized system for our tasks we can reduce our deploy.rb files to be project specific and make the addition of new tasks
|
20
|
+
By creating a central and organized system for our tasks we can reduce the content in our deploy.rb files to be project specific and make the addition of new tasks easy and compatible.
|
21
21
|
|
22
22
|
###EC2
|
23
23
|
|
24
24
|
* Requires a yaml file named ec2_config.yml with the appropriate passwords, etc. See the example file.
|
25
|
-
|
25
|
+
|
26
|
+
####ami.rb
|
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
|
29
|
+
* `ami_excluded_items: ['/home/my_user', '/var/some_secret_stuff']`
|
26
30
|
|
27
31
|
##Known Issues
|
28
32
|
|
@@ -30,4 +34,4 @@ By creating a central and organized system for our tasks we can reduce our deplo
|
|
30
34
|
|
31
35
|
* ec2:create\_new\_ami task doesn't work at the moment due to the ec2:bundle_ami task not returning properly. See the TODO for more info.
|
32
36
|
|
33
|
-
Copyright (c) 2010
|
37
|
+
Copyright (c) 2010 Critical Juncture, released under the MIT license
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
data/example/ec2_config.yml
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
#examples from Amazon documentation
|
2
|
-
aws_key_location: ~/.ssh #or
|
2
|
+
aws_key_location: ~/.ssh #or whereever you store you aws keys - no trailing slash
|
3
3
|
ec2_private_key: pk-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem
|
4
4
|
ec2_x509_cert: cert-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem
|
5
5
|
aws_account_id: 495219933132
|
6
|
-
ec2_architecture: i386
|
6
|
+
ec2_architecture: i386 #or x86_64
|
7
7
|
aws_access_key: <aws-access-key-id>
|
8
8
|
aws_secret_access_key: <aws-secret-access-key>
|
9
|
-
ec2_s3_bucket_name: some_bucket_for_your_ami_images
|
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.
|
@@ -18,6 +18,7 @@ Capistrano::Configuration.instance(:must_exist).load do |configuration|
|
|
18
18
|
set :aws_access_key, ec2_config['aws_access_key']
|
19
19
|
set :aws_secret_access_key, ec2_config['aws_secret_access_key']
|
20
20
|
set :ec2_s3_bucket_name, ec2_config['ec2_s3_bucket_name']
|
21
|
+
set :ami_excluded_items, ec2_config['ami_excluded_items']
|
21
22
|
|
22
23
|
alert_user('You need to set :aws_key_location in config/ec2_config.yml', :abort => true) unless :key_location
|
23
24
|
alert_user('You need to set :ec2_private_key in config/ec2_config.yml', :abort => true) unless :ec2_private_key
|
@@ -62,7 +63,23 @@ Capistrano::Configuration.instance(:must_exist).load do |configuration|
|
|
62
63
|
task :bundle_ami, :roles => :app do
|
63
64
|
load_ec2_config unless ec2_config_loaded
|
64
65
|
alert_user("You need to set :bundle_name via the command line\n `cap ec2:bundle_ami -s bundle_name=sample`", :abort => true) unless configuration[:bundle_name]
|
65
|
-
|
66
|
+
default_ami_excluded_items = ['/sys/kernel/debug',
|
67
|
+
'/sys/kernel/security',
|
68
|
+
'/sys',
|
69
|
+
'/proc',
|
70
|
+
'/sys/fs/fuse/connections',
|
71
|
+
'/dev/pts',
|
72
|
+
'/dev',
|
73
|
+
'/media',
|
74
|
+
'/mnt',
|
75
|
+
'/proc',
|
76
|
+
'/sys',
|
77
|
+
'/etc/udev/rules.d/70-persistent-net.rules',
|
78
|
+
'/etc/udev/rules.d/z25_persistent-net.rules',
|
79
|
+
"/mnt/#{bundle_name}",
|
80
|
+
'/mnt/img-mnt']
|
81
|
+
|
82
|
+
sudo "ec2-bundle-vol -d /mnt --fstab /etc/fstab -k /mnt/#{ec2_private_key} -c /mnt/#{ec2_x509_cert} -u #{aws_account_id} -r #{ec2_architecture} -p #{bundle_name} --all --exclude #{(ami_excluded_items | default_ami_excluded_items).join(', ')}"
|
66
83
|
end
|
67
84
|
|
68
85
|
desc 'Upload your bundled AMI to S3'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/thunder_punch.gemspec
CHANGED
@@ -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.
|
8
|
+
s.version = "0.0.4"
|
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-
|
12
|
+
s.date = %q{2010-03-08}
|
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 = [
|
@@ -26,11 +26,11 @@ Gem::Specification.new do |s|
|
|
26
26
|
"TODO.mdown",
|
27
27
|
"VERSION",
|
28
28
|
"example/ec2_config.yml",
|
29
|
-
"lib/
|
30
|
-
"lib/
|
31
|
-
"lib/
|
32
|
-
"lib/
|
33
|
-
"lib/
|
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",
|
34
34
|
"test/helper.rb",
|
35
35
|
"test/test_thunder_punch.rb",
|
36
36
|
"thunder_punch.gemspec"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thunder_punch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bob Burbach
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-03-
|
12
|
+
date: 2010-03-08 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -51,11 +51,11 @@ files:
|
|
51
51
|
- TODO.mdown
|
52
52
|
- VERSION
|
53
53
|
- example/ec2_config.yml
|
54
|
-
- lib/
|
55
|
-
- lib/
|
56
|
-
- lib/
|
57
|
-
- lib/
|
58
|
-
- lib/
|
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
|
59
59
|
- test/helper.rb
|
60
60
|
- test/test_thunder_punch.rb
|
61
61
|
- thunder_punch.gemspec
|