cloudster 2.19.4 → 2.19.5
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/VERSION +1 -1
- data/cloudster.gemspec +2 -2
- data/lib/cloudster/chef_client.rb +16 -1
- data/spec/chef_client_spec.rb +6 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.19.
|
1
|
+
2.19.5
|
data/cloudster.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "cloudster"
|
8
|
-
s.version = "2.19.
|
8
|
+
s.version = "2.19.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Emil Soman"]
|
12
|
-
s.date = "2013-02-
|
12
|
+
s.date = "2013-02-14"
|
13
13
|
s.description = "Cloudster is a Ruby gem that was born to cut the learning curve involved \n in writing your own CloudFormation templates. If you don't know what a CloudFormation template is, \n but know about the AWS Cloud offerings, you can still use cloudster to provision your stack. \n Still in infancy , cloudster can create a very basic stack like a breeze. All kinds of contribution welcome !"
|
14
14
|
s.email = "emil.soman@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -12,6 +12,7 @@ module Cloudster
|
|
12
12
|
# :validation_key => 'asd3e33880889098asdnmnnasd8900890a8sdmasdjna9s880808asdnmnasd90-a',
|
13
13
|
# :server_url => 'http://10.50.60.70:4000',
|
14
14
|
# :node_name => 'project.environment.appserver_1',
|
15
|
+
# :validation_client_name => 'chef-validator',
|
15
16
|
# :interval => 1800
|
16
17
|
# )
|
17
18
|
#
|
@@ -20,13 +21,15 @@ module Cloudster
|
|
20
21
|
# * :validation_key: String containing the key used for validating this client with the server. This can be taken from the chef-server validation.pem file. Mandatory field
|
21
22
|
# * :server_url: String containing the fully qualified domain name of the chef-server. Mandatory field
|
22
23
|
# * :node_name: String containing the name for the chef node. It has to be unique across all nodes in the particular chef client-server ecosystem. Mandatory field
|
23
|
-
# * :interval: Integer containing the interval(in seconds) between chef-client runs.
|
24
|
+
# * :interval: Integer containing the interval(in seconds) between chef-client runs. Default value : 1800 seconds
|
25
|
+
# * :validation_client_name: String containing the name of the validation client. "ORGNAME-validator" if using hosted chef server. Default: 'chef-validator'
|
24
26
|
def initialize(options = {})
|
25
27
|
require_options(options, [:validation_key, :server_url, :node_name])
|
26
28
|
@validation_key = options[:validation_key]
|
27
29
|
@server_url = options[:server_url]
|
28
30
|
@node_name = options[:node_name]
|
29
31
|
@interval = options[:interval] || 1800
|
32
|
+
@validation_client_name = options[:validation_client_name] || 'chef-validator'
|
30
33
|
end
|
31
34
|
|
32
35
|
# Merges the required CloudFormation template for installing the Chef Client to the template of the EC2 instance
|
@@ -92,6 +95,17 @@ module Cloudster
|
|
92
95
|
" exit 1\n",
|
93
96
|
"}\n",
|
94
97
|
|
98
|
+
#Install aws sfn scripts to run cfn-init
|
99
|
+
"apt-get -y install python-setuptools\n",
|
100
|
+
"easy_install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
|
101
|
+
"cfn-init -v --region ", { "Ref" => "AWS::Region" },
|
102
|
+
" -s ", { "Ref" => "AWS::StackId" }, " -r #{@instance_name}",
|
103
|
+
" || error_exit 'Failed to run cfn-init'\n",
|
104
|
+
|
105
|
+
# Fixup path and links for the bootstrap script
|
106
|
+
"export PATH=$PATH:/var/lib/gems/1.8/bin\n",
|
107
|
+
|
108
|
+
#Bootstrap chef client
|
95
109
|
"mkdir /etc/chef\n",
|
96
110
|
"cat << EOF > /etc/chef/solo.rb\n",
|
97
111
|
"file_cache_path \"/tmp/chef-solo\"\n",
|
@@ -102,6 +116,7 @@ module Cloudster
|
|
102
116
|
"{\n",
|
103
117
|
"\"chef_client\": {\n",
|
104
118
|
" \"server_url\": \"#{@server_url}\",\n",
|
119
|
+
" \"validation_client_name\": \"#{@validation_client_name}\",\n",
|
105
120
|
" \"interval\": \"#{@interval}\"\n",
|
106
121
|
"},\n",
|
107
122
|
"\"run_list\": [\"recipe[chef-client::config]\", \"recipe[chef-client]\"]\n",
|
data/spec/chef_client_spec.rb
CHANGED
@@ -31,7 +31,11 @@ describe Cloudster::ChefClient do
|
|
31
31
|
"{\n",
|
32
32
|
" exit 1\n",
|
33
33
|
"}\n",
|
34
|
-
|
34
|
+
"apt-get -y install python-setuptools\n",
|
35
|
+
"easy_install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
|
36
|
+
"cfn-init -v --region ", {"Ref"=>"AWS::Region"}, " -s ", {"Ref"=>"AWS::StackId"},
|
37
|
+
" -r AppServer", " || error_exit 'Failed to run cfn-init'\n",
|
38
|
+
"export PATH=$PATH:/var/lib/gems/1.8/bin\n",
|
35
39
|
"mkdir /etc/chef\n",
|
36
40
|
"cat << EOF > /etc/chef/solo.rb\n",
|
37
41
|
"file_cache_path \"/tmp/chef-solo\"\n",
|
@@ -42,6 +46,7 @@ describe Cloudster::ChefClient do
|
|
42
46
|
"{\n",
|
43
47
|
"\"chef_client\": {\n",
|
44
48
|
" \"server_url\": \"testurl\",\n",
|
49
|
+
" \"validation_client_name\": \"chef-validator\",\n",
|
45
50
|
" \"interval\": \"30\"\n",
|
46
51
|
"},\n",
|
47
52
|
"\"run_list\": [\"recipe[chef-client::config]\", \"recipe[chef-client]\"]\n",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.19.
|
4
|
+
version: 2.19.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
@@ -169,7 +169,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
169
169
|
version: '0'
|
170
170
|
segments:
|
171
171
|
- 0
|
172
|
-
hash:
|
172
|
+
hash: -471412333
|
173
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
174
174
|
none: false
|
175
175
|
requirements:
|