ironfan 3.1.3 → 3.1.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/.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
|
-
|