capistrano-rightscale 0.1 → 0.2.0
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/.gitignore +5 -0
- data/README.markdown +1 -1
- data/Rakefile +17 -11
- data/VERSION +1 -0
- data/lib/capistrano/rightscale.rb +19 -13
- metadata +12 -38
- data/Manifest +0 -5
- data/capistrano-rightscale.gemspec +0 -38
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/README.markdown
CHANGED
@@ -14,7 +14,7 @@ At present these mappings require several api calls, which are slow.
|
|
14
14
|
Installation
|
15
15
|
============
|
16
16
|
|
17
|
-
`capistrano-
|
17
|
+
`capistrano-rightscale` is provided as a Ruby gem, with the following dependencies:
|
18
18
|
|
19
19
|
* Capistrano >= 2.1.0
|
20
20
|
* Rightscale API
|
data/Rakefile
CHANGED
@@ -1,12 +1,18 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
begin
|
2
|
+
require 'jeweler'
|
3
|
+
Jeweler::Tasks.new do |gemspec|
|
4
|
+
gemspec.name = "capistrano-rightscale"
|
5
|
+
gemspec.summary = "An extension for capistrano for integrating roles with RightScale server tags"
|
6
|
+
gemspec.description = "An extension for capistrano for integrating roles with RightScale server tags"
|
7
|
+
gemspec.email = "lachlan@ljd.cc"
|
8
|
+
gemspec.homepage = "http://github.com/99designs/capistrano-rightscale"
|
9
|
+
gemspec.authors = ["Lachlan Donald"]
|
10
|
+
gemspec.add_dependency('capistrano', '>= 2.1.0')
|
11
|
+
gemspec.add_dependency('rightscale-api')
|
12
|
+
end
|
13
|
+
Jeweler::GemcutterTasks.new
|
14
|
+
rescue LoadError
|
15
|
+
puts "Jeweler, or one of its dependencies, is not available. Install it with: gem install jeweler"
|
12
16
|
end
|
17
|
+
|
18
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.2.0
|
@@ -9,23 +9,29 @@ module Capistrano
|
|
9
9
|
# tag "x99:role=app", :app, :deployment => 45678
|
10
10
|
def tag(which, *args)
|
11
11
|
@rightscale ||= RightScale::Client.new(fetch(:rightscale_account), fetch(:rightscale_username), fetch(:rightscale_password))
|
12
|
+
@deployments ||= @rightscale.deployments
|
13
|
+
@servers ||= @rightscale.servers
|
12
14
|
|
13
|
-
|
14
|
-
|
15
|
+
logger.info "querying rightscale for deployment %s" % args[1][:deployment]
|
16
|
+
deployment = @deployments.index.find { |d| d['href'] == rightscale_url("/deployments/%d" % args[1][:deployment]) }
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
if server['state'] == 'operational' && server['deployment_href'] == deployment_url
|
21
|
-
settings = @rightscale.servers.settings(server['href'])
|
22
|
-
pp settings['dns_name']
|
23
|
-
pp server['tags']
|
24
|
-
pp server['nickname']
|
25
|
-
pp server['deployment_href']
|
18
|
+
deployment['servers'].each do |server|
|
19
|
+
if server['state'] == 'operational' && tags_for_server(server).include?(which)
|
20
|
+
settings = @servers.settings(server['href'])
|
21
|
+
logger.info "found server %s (%s) with tag %s" % [ settings['dns_name'], server['nickname'], which ]
|
26
22
|
server(settings['dns_name'], *args)
|
27
23
|
end
|
28
|
-
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def tags_for_server(server)
|
28
|
+
instance_id = server["current_instance_href"].split('/').last
|
29
|
+
tags = @rightscale.get(rightscale_url("/tags/search.js?resource_href=/ec2_instances/%d" % instance_id))
|
30
|
+
tags.collect { |x| x["name"] }
|
31
|
+
end
|
32
|
+
|
33
|
+
def rightscale_url(path)
|
34
|
+
"https://my.rightscale.com/api/acct/%d%s" % [ fetch(:rightscale_account), path ]
|
29
35
|
end
|
30
36
|
end
|
31
37
|
|
metadata
CHANGED
@@ -1,38 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-rightscale
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Lachlan Donald
|
13
14
|
autorequire:
|
14
15
|
bindir: bin
|
15
|
-
cert_chain:
|
16
|
-
- |
|
17
|
-
-----BEGIN CERTIFICATE-----
|
18
|
-
MIIDKjCCAhKgAwIBAgIBADANBgkqhkiG9w0BAQUFADA7MRAwDgYDVQQDDAdsYWNo
|
19
|
-
bGFuMRMwEQYKCZImiZPyLGQBGRYDbGpkMRIwEAYKCZImiZPyLGQBGRYCY2MwHhcN
|
20
|
-
MTAxMDEzMDIxNjE2WhcNMTExMDEzMDIxNjE2WjA7MRAwDgYDVQQDDAdsYWNobGFu
|
21
|
-
MRMwEQYKCZImiZPyLGQBGRYDbGpkMRIwEAYKCZImiZPyLGQBGRYCY2MwggEiMA0G
|
22
|
-
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCkGWt+NIfbP2/foIOCUVMkqTZUl253
|
23
|
-
haPLEu1SosHPtzeRSP6Au6V9wciGUQA7l63oJX6hRsV7tJ2K6hVf5U7McF3Nwuto
|
24
|
-
peij70OA2o8LcCtmac4uptUHCHhSMw7KoaEH0IvNOaqrCbV7D0D0a1VyJknW/KS8
|
25
|
-
ogvgrlyqwwxHvisoW4qH2OPKNHNmqZ8mwlG8VESQo7JNChDwIAB226q6mUp9dYvO
|
26
|
-
pMpfcclkX4memRJBpDbbYkySIDTPvV7i1Om0o2v7H56yWk/a+L/Eclkm5UPbJo5v
|
27
|
-
qse2XxYTywl+VuQTatLdthSWRYxHjqldL5vkhkSIZeelE+BPgXPEOkL3AgMBAAGj
|
28
|
-
OTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRITW/yuerIqtxc
|
29
|
-
hhw57oibl49J0zANBgkqhkiG9w0BAQUFAAOCAQEANeRCrTO85EFoyDTbi6bcnQIv
|
30
|
-
4mbq/nbxLURsx5x/wbKLvSdyEMN/+IgqafzqPZPmePekN+n3rcb6dP4pT2ro71zi
|
31
|
-
UIMO5hSkpBR3FpxCUf+W7U/p0qTHMTR1frnJ6FjEU7YiA931n0n68mturQxfbgP+
|
32
|
-
5QqawtnB6O4pELxOkyeI7ZgkO1/w6wUKFBpyhvx8wqtWQx1QGsgMCwOUDRQhl2kE
|
33
|
-
ATJLxkT/9706Vy8/6i1s/JKXMpUC3L6+J3KGy5L6mC6EJ9xJdAHv35QcabfKgaMH
|
34
|
-
5Dtt1ew5HAXFvbS7/eG+/M+bTAbYHSRD/dGR42fED5sK0/RPvfcqAYtM56Fplg==
|
35
|
-
-----END CERTIFICATE-----
|
16
|
+
cert_chain: []
|
36
17
|
|
37
18
|
date: 2010-10-13 00:00:00 +11:00
|
38
19
|
default_executable:
|
@@ -75,26 +56,20 @@ extensions: []
|
|
75
56
|
|
76
57
|
extra_rdoc_files:
|
77
58
|
- README.markdown
|
78
|
-
- lib/capistrano/rightscale.rb
|
79
59
|
files:
|
60
|
+
- .gitignore
|
80
61
|
- MIT-LICENSE
|
81
62
|
- README.markdown
|
82
63
|
- Rakefile
|
64
|
+
- VERSION
|
83
65
|
- lib/capistrano/rightscale.rb
|
84
|
-
- Manifest
|
85
|
-
- capistrano-rightscale.gemspec
|
86
66
|
has_rdoc: true
|
87
67
|
homepage: http://github.com/99designs/capistrano-rightscale
|
88
68
|
licenses: []
|
89
69
|
|
90
70
|
post_install_message:
|
91
71
|
rdoc_options:
|
92
|
-
- --
|
93
|
-
- --inline-source
|
94
|
-
- --title
|
95
|
-
- Capistrano-rightscale
|
96
|
-
- --main
|
97
|
-
- README.markdown
|
72
|
+
- --charset=UTF-8
|
98
73
|
require_paths:
|
99
74
|
- lib
|
100
75
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -111,14 +86,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
86
|
requirements:
|
112
87
|
- - ">="
|
113
88
|
- !ruby/object:Gem::Version
|
114
|
-
hash:
|
89
|
+
hash: 3
|
115
90
|
segments:
|
116
|
-
-
|
117
|
-
|
118
|
-
version: "1.2"
|
91
|
+
- 0
|
92
|
+
version: "0"
|
119
93
|
requirements: []
|
120
94
|
|
121
|
-
rubyforge_project:
|
95
|
+
rubyforge_project:
|
122
96
|
rubygems_version: 1.3.7
|
123
97
|
signing_key:
|
124
98
|
specification_version: 3
|
data/Manifest
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = %q{capistrano-rightscale}
|
5
|
-
s.version = "0.1"
|
6
|
-
|
7
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = ["Lachlan Donald"]
|
9
|
-
s.cert_chain = ["/home/lachlan/certs/gem-public_cert.pem"]
|
10
|
-
s.date = %q{2010-10-13}
|
11
|
-
s.description = %q{An extension for capistrano for integrating roles with RightScale server tags}
|
12
|
-
s.email = %q{lachlan@ljd.cc}
|
13
|
-
s.extra_rdoc_files = ["README.markdown", "lib/capistrano/rightscale.rb"]
|
14
|
-
s.files = ["MIT-LICENSE", "README.markdown", "Rakefile", "lib/capistrano/rightscale.rb", "Manifest", "capistrano-rightscale.gemspec"]
|
15
|
-
s.homepage = %q{http://github.com/99designs/capistrano-rightscale}
|
16
|
-
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Capistrano-rightscale", "--main", "README.markdown"]
|
17
|
-
s.require_paths = ["lib"]
|
18
|
-
s.rubyforge_project = %q{capistrano-rightscale}
|
19
|
-
s.rubygems_version = %q{1.3.7}
|
20
|
-
s.signing_key = %q{/home/lachlan/certs/gem-private_key.pem}
|
21
|
-
s.summary = %q{An extension for capistrano for integrating roles with RightScale server tags}
|
22
|
-
|
23
|
-
if s.respond_to? :specification_version then
|
24
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
25
|
-
s.specification_version = 3
|
26
|
-
|
27
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
28
|
-
s.add_runtime_dependency(%q<capistrano>, [">= 2.1.0"])
|
29
|
-
s.add_runtime_dependency(%q<rightscale-api>, [">= 0"])
|
30
|
-
else
|
31
|
-
s.add_dependency(%q<capistrano>, [">= 2.1.0"])
|
32
|
-
s.add_dependency(%q<rightscale-api>, [">= 0"])
|
33
|
-
end
|
34
|
-
else
|
35
|
-
s.add_dependency(%q<capistrano>, [">= 2.1.0"])
|
36
|
-
s.add_dependency(%q<rightscale-api>, [">= 0"])
|
37
|
-
end
|
38
|
-
end
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|