conan 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -246,12 +246,32 @@ module AWS
246
246
  if lb.nil?
247
247
  puts "Creating Elastic Load Balancer #{elb_name}"
248
248
 
249
- lb = elb.load_balancers.create(:id => elb_name, :availability_zones => zones)
250
-
251
- #need to do listeners but for now stick with the default
249
+ listeners = [];
250
+
251
+ if new_conf[:listeners].nil?
252
+ list = Fog::AWS[:elb].listeners.new()
253
+ listeners << { 'Listener' => list.to_params, 'PolicyNames' => [] }
254
+ else
255
+ new_conf[:listeners].each do |listener|
256
+ listener = listener.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
257
+ list = Fog::AWS[:elb].listeners.new(listener)
258
+ listeners << { 'Listener' => list.to_params, 'PolicyNames' => [] }
259
+ end
260
+ end
252
261
 
262
+ lb = elb.load_balancers.create(:id => elb_name, :availability_zones => zones, 'ListenerDescriptions' => listeners)
263
+
253
264
  compute = Fog::Compute.new(:provider => :aws, :region => region)
254
265
 
266
+ new_conf[:ingress_for].each do |ingress|
267
+ ingress = ingress.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
268
+ port = ingress.delete(:port)
269
+ sg_name = ec2_name_tag(ingress[:group_name])
270
+ sg = compute.security_groups.get(sg_name)
271
+ lbsgparams = {:group_name => lb.source_group['GroupName'], :user_id => lb.source_group['OwnerAlias']}
272
+ sg.authorize_ip_permission(Range.new(port.to_i,port.to_i),lbsgparams)
273
+ end unless new_conf[:ingress_for].nil?
274
+
255
275
  inst_servers = new_conf[:servers].map { |s| ec2_name_tag(s) } unless new_conf[:servers].nil?
256
276
 
257
277
  list_stage_servers(region).each do |server|
@@ -1,10 +1,10 @@
1
1
  require 'rubygems'
2
- require 'fog/aws/models/compute/security_group'
2
+ # require 'fog/aws/models/compute/security_group'
3
3
 
4
4
  module Fog
5
5
  module Compute
6
6
  class AWS
7
- class SecurityGroup
7
+ class SecurityGroup < Fog::Model
8
8
  def authorize_ip_permission(port_range, options = {})
9
9
  requires :name
10
10
 
@@ -44,7 +44,7 @@ namespace :deploy do
44
44
  maintenance.start
45
45
  update_code
46
46
  migrate
47
- symlink
47
+ create_symlink
48
48
  restart
49
49
  maintenance.stop
50
50
  end
data/lib/conan/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Conan
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.4"
3
3
  end
metadata CHANGED
@@ -1,59 +1,73 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: conan
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.3
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 4
9
+ version: 0.4.4
6
10
  platform: ruby
7
- authors:
11
+ authors:
8
12
  - Paul Battley
9
13
  - Stuart Eccles
10
14
  autorequire:
11
15
  bindir: bin
12
16
  cert_chain: []
13
- date: 2012-02-29 00:00:00.000000000Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-03-27 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
16
22
  name: json
17
- requirement: &70333738810960 !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ requirements:
20
26
  - - ~>
21
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 6
31
+ - 1
22
32
  version: 1.6.1
23
33
  type: :runtime
24
- prerelease: false
25
- version_requirements: *70333738810960
26
- - !ruby/object:Gem::Dependency
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
27
36
  name: capistrano
28
- requirement: &70333738810280 !ruby/object:Gem::Requirement
29
- none: false
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
37
  prerelease: false
36
- version_requirements: *70333738810280
37
- - !ruby/object:Gem::Dependency
38
- name: fog
39
- requirement: &70333738803340 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ! '>='
43
- - !ruby/object:Gem::Version
44
- version: '0'
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 2
44
+ - 11
45
+ - 2
46
+ version: 2.11.2
45
47
  type: :runtime
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: fog
46
51
  prerelease: false
47
- version_requirements: *70333738803340
48
- description: Set up a project to enable the provision of infrastructure through AWS
49
- and the configuration of servers using Chef via Capistrano.
50
- email:
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ type: :runtime
60
+ version_requirements: *id003
61
+ description: Set up a project to enable the provision of infrastructure through AWS and the configuration of servers using Chef via Capistrano.
62
+ email:
51
63
  - stuart@madebymany.co.uk
52
- executables:
64
+ executables:
53
65
  - conan
54
66
  extensions: []
67
+
55
68
  extra_rdoc_files: []
56
- files:
69
+
70
+ files:
57
71
  - bin/conan
58
72
  - lib/conan/capistrano.rb
59
73
  - lib/conan/cloud/aws/autoscale.rb
@@ -92,28 +106,35 @@ files:
92
106
  - lib/conan/template/deploy/chef/solo.rb
93
107
  - lib/conan/version.rb
94
108
  - README.md
109
+ has_rdoc: true
95
110
  homepage: http://github.com/madebymany/conan
96
111
  licenses: []
112
+
97
113
  post_install_message:
98
114
  rdoc_options: []
99
- require_paths:
115
+
116
+ require_paths:
100
117
  - lib
101
- required_ruby_version: !ruby/object:Gem::Requirement
102
- none: false
103
- requirements:
104
- - - ! '>='
105
- - !ruby/object:Gem::Version
106
- version: '0'
107
- required_rubygems_version: !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ! '>='
111
- - !ruby/object:Gem::Version
112
- version: '0'
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ segments:
130
+ - 0
131
+ version: "0"
113
132
  requirements: []
133
+
114
134
  rubyforge_project:
115
- rubygems_version: 1.8.10
135
+ rubygems_version: 1.3.6
116
136
  signing_key:
117
137
  specification_version: 3
118
138
  summary: Conan The Deployer
119
139
  test_files: []
140
+