conan 0.4.3 → 0.4.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.
@@ -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
+