ironfan 3.1.3 → 3.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +6 -1
- data/Gemfile +5 -2
- data/Guardfile +9 -0
- data/README.md +21 -20
- data/VERSION +1 -1
- data/ironfan.gemspec +16 -9
- data/lib/ironfan/cloud.rb +1 -1
- data/lib/ironfan/dsl_object.rb +1 -1
- data/lib/ironfan/server_slice.rb +2 -2
- data/notes/Home.md +23 -9
- data/notes/INSTALL-cloud_setup.md +4 -4
- data/notes/INSTALL.md +58 -64
- data/notes/advanced-superpowers.md +16 -0
- data/notes/{aws_console_screenshot.jpg → aws_servers.jpg} +0 -0
- data/notes/aws_user_key.png +0 -0
- data/notes/core_concepts.md +189 -0
- data/notes/declaring_volumes.md +1 -1
- data/notes/design_notes-aspect_oriented_devops.md +36 -0
- data/notes/design_notes-cookbook_event_ordering.md +37 -0
- data/notes/design_notes-dsl_object.md +63 -9
- data/notes/homebase-layout.txt +102 -0
- data/notes/knife-cluster-commands.md +18 -0
- data/notes/opscode_org_key.png +0 -0
- data/notes/opscode_user_key.png +0 -0
- data/notes/philosophy.md +14 -0
- data/notes/{Silverware.md → silverware.md} +0 -0
- data/notes/style_guide.md +100 -51
- data/notes/tips_and_troubleshooting.md +9 -0
- data/notes/walkthrough-hadoop.md +168 -0
- data/notes/walkthrough-web.md +166 -0
- metadata +35 -36
- data/notes/Knife-Cluster-Commands.md +0 -8
- data/notes/ironfan_homebase_layout.md +0 -94
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ironfan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-02-
|
12
|
+
date: 2012-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chef
|
16
|
-
requirement: &
|
16
|
+
requirement: &70227495617500 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.10.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70227495617500
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: fog
|
27
|
-
requirement: &
|
27
|
+
requirement: &70227495615600 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.1.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70227495615600
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: formatador
|
38
|
-
requirement: &
|
38
|
+
requirement: &70227495599620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.2.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70227495599620
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: gorillib
|
49
|
-
requirement: &
|
49
|
+
requirement: &70227495597800 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.1.7
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70227495597800
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70227495596820 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '1'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70227495596820
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70227495596220 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '1.6'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70227495596220
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rspec
|
82
|
-
requirement: &
|
82
|
+
requirement: &70227495595620 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '2.5'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70227495595620
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: yard
|
93
|
-
requirement: &
|
93
|
+
requirement: &70227495595040 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0.6'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70227495595040
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: redcarpet
|
104
|
-
requirement: &
|
104
|
+
requirement: &70227495594420 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,18 +109,7 @@ dependencies:
|
|
109
109
|
version: '2'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: configliere
|
115
|
-
requirement: &70300581037720 !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
|
-
requirements:
|
118
|
-
- - ~>
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 0.4.8
|
121
|
-
type: :development
|
122
|
-
prerelease: false
|
123
|
-
version_requirements: *70300581037720
|
112
|
+
version_requirements: *70227495594420
|
124
113
|
description: ironfan allows you to orchestrate not just systems but clusters of machines.
|
125
114
|
It includes a powerful layer on top of knife and a collection of cloud cookbooks.
|
126
115
|
email: coders@infochimps.com
|
@@ -135,6 +124,7 @@ files:
|
|
135
124
|
- .yardopts
|
136
125
|
- CHANGELOG.md
|
137
126
|
- Gemfile
|
127
|
+
- Guardfile
|
138
128
|
- LICENSE.md
|
139
129
|
- README.md
|
140
130
|
- Rakefile
|
@@ -186,22 +176,31 @@ files:
|
|
186
176
|
- notes/Home.md
|
187
177
|
- notes/INSTALL-cloud_setup.md
|
188
178
|
- notes/INSTALL.md
|
189
|
-
- notes/
|
190
|
-
- notes/
|
191
|
-
- notes/
|
179
|
+
- notes/advanced-superpowers.md
|
180
|
+
- notes/aws_servers.jpg
|
181
|
+
- notes/aws_user_key.png
|
192
182
|
- notes/cookbook-versioning.md
|
183
|
+
- notes/core_concepts.md
|
193
184
|
- notes/declaring_volumes.md
|
185
|
+
- notes/design_notes-aspect_oriented_devops.md
|
194
186
|
- notes/design_notes-ci_testing.md
|
195
187
|
- notes/design_notes-cookbook_event_ordering.md
|
196
188
|
- notes/design_notes-dsl_object.md
|
197
189
|
- notes/design_notes-meta_discovery.md
|
198
190
|
- notes/ec2-pricing_and_capacity.md
|
199
|
-
- notes/
|
191
|
+
- notes/homebase-layout.txt
|
192
|
+
- notes/knife-cluster-commands.md
|
200
193
|
- notes/named-cloud-objects.md
|
194
|
+
- notes/opscode_org_key.png
|
195
|
+
- notes/opscode_user_key.png
|
196
|
+
- notes/philosophy.md
|
201
197
|
- notes/rake_tasks.md
|
202
198
|
- notes/renamed-recipes.txt
|
199
|
+
- notes/silverware.md
|
203
200
|
- notes/style_guide.md
|
204
201
|
- notes/tips_and_troubleshooting.md
|
202
|
+
- notes/walkthrough-hadoop.md
|
203
|
+
- notes/walkthrough-web.md
|
205
204
|
- spec/ironfan/cluster_spec.rb
|
206
205
|
- spec/ironfan/facet_spec.rb
|
207
206
|
- spec/ironfan/server_slice_spec.rb
|
@@ -227,7 +226,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
227
226
|
version: '0'
|
228
227
|
segments:
|
229
228
|
- 0
|
230
|
-
hash:
|
229
|
+
hash: 1126420917351030912
|
231
230
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
232
231
|
none: false
|
233
232
|
requirements:
|
@@ -1,94 +0,0 @@
|
|
1
|
-
Ironfan Homebase Layout
|
2
|
-
=========================
|
3
|
-
|
4
|
-
Chef Homebase contains several directories, and each contains a README.md file describing its purpose and use in greater detail.
|
5
|
-
|
6
|
-
These are the main assets you'll use:
|
7
|
-
|
8
|
-
* `cookbooks/` - Cookbooks you download or create. Cookbooks install components, for example `cassandra` or `java`.
|
9
|
-
* `roles/` - Roles organize cookbooks and attribute overrides to describe the specific composition of your system. For example, you install Cassandra attaching the `cassandra_server` role to your machine. (.rb or .json files)
|
10
|
-
* `clusters/` - Clusters fully describe your machines, from its construction ('an 8-core machine on the Amazon EC2 cloud') to its roles ('install Cassandra, Ganglia for monitoring, and silverware to manage its logs and firewall').
|
11
|
-
|
12
|
-
These folders hold supporting files. You're less likely to visit here regularly.
|
13
|
-
|
14
|
-
* `knife/` - Chef and cloud configuration and their myriad attendant credential files.
|
15
|
-
* `environments/` - Organization-wide attribute values. (.json or .rb files)
|
16
|
-
* `data_bags/` - Data bags are an occasionally-useful alternative to node metadata for distributing information to your machines. (.json files)
|
17
|
-
* `certificates/` - SSL certificates generated by `rake ssl_cert` live here.
|
18
|
-
* `tasks/` - Rake tasks for common administrative tasks.
|
19
|
-
* `vendor/` - cookbooks are checked out to `vendor`; symlinks in the `cookbooks/` directory select which ones will be deployed to chef server.
|
20
|
-
|
21
|
-
## Directory setup
|
22
|
-
|
23
|
-
We recommend you set up your
|
24
|
-
|
25
|
-
/path/to/{organization}-chefrepo
|
26
|
-
│
|
27
|
-
├── clusters
|
28
|
-
│ └── { actual clusters }
|
29
|
-
│
|
30
|
-
├── roles
|
31
|
-
│ ├── { roles }
|
32
|
-
│ └── { symlinks into vendor/ironfan/roles }
|
33
|
-
│
|
34
|
-
├── site-cookbooks - directories holding internal cookbooks
|
35
|
-
│ └── users
|
36
|
-
│
|
37
|
-
├── cookbooks - symlinks to externally maintained cookbooks
|
38
|
-
│ ├── @vendor/opscode/...
|
39
|
-
│ └── @vendor/ironfan/...
|
40
|
-
│
|
41
|
-
├── vendor
|
42
|
-
│ ├── opscode
|
43
|
-
│ │ └── cookbooks - git submodule of https://github.com/opscode/cookbooks
|
44
|
-
│ │
|
45
|
-
│ └── ironfan - git submodule of https://github.com/infochimps-labs/ironfan
|
46
|
-
│ ├── site-cookbooks - systems: hadoop, cassandra, provides_service, etc.
|
47
|
-
│ ├── integration-cookbooks - integration: connects systems together
|
48
|
-
│ ├── meta-cookbooks - utilities: provides_service, system_params, can_haz
|
49
|
-
│ │
|
50
|
-
│ ├── roles
|
51
|
-
│ │
|
52
|
-
│ └── examples
|
53
|
-
│ ├── clusters - example clusters
|
54
|
-
│ └── roles - roles that go with the example clusters
|
55
|
-
│
|
56
|
-
├── certificates
|
57
|
-
├── config
|
58
|
-
├── data_bags
|
59
|
-
└── environments
|
60
|
-
|
61
|
-
## Knife dir setup
|
62
|
-
|
63
|
-
~/.chef
|
64
|
-
│
|
65
|
-
├── knife.rb
|
66
|
-
├── knife-user-{user}.rb - your user-specific knife customizations
|
67
|
-
├── {user}.pem - your chef client key
|
68
|
-
├── {organization}-validator.pem - chef validator key, used to create client keys
|
69
|
-
├── {organization}-credentials.rb - secret credentials: aws_secret_access_key, etc. Do not version.
|
70
|
-
├── {organization}-cloud.rb . - cloud assets: elastic IPs, AMI image ids, etc
|
71
|
-
├── {organization}-keypairs
|
72
|
-
│ ├── bonobo.pem
|
73
|
-
│ ├── gibbon.pem
|
74
|
-
│ ├── client-bonobo-worker-0.pem
|
75
|
-
│ └── client-bonobo-worker-0.pem
|
76
|
-
└── .gitignore - make sure not to version the secret/user-specific stuff (*-keypairs, *-credentials.rb, knife-user-*.rb)
|
77
|
-
|
78
|
-
For example, I am user `mrflip` and my organization is `infochimps`, so my tree looks like:
|
79
|
-
|
80
|
-
knife_dir
|
81
|
-
│
|
82
|
-
├── knife.rb
|
83
|
-
├── knife-user-mrflip.rb
|
84
|
-
├── mrflip.pem
|
85
|
-
├── infochimps-validator.pem
|
86
|
-
├── infochimps-credentials.rb
|
87
|
-
├── infochimps-cloud.rb .
|
88
|
-
├── infochimps-keypairs
|
89
|
-
│ ├── bonobo.pem
|
90
|
-
│ ├── gibbon.pem
|
91
|
-
│ ├── client-bonobo-master-0.pem
|
92
|
-
│ └── client-bonobo-worker-1.pem
|
93
|
-
└── .gitignore
|
94
|
-
|